libvips_rs/
bindings.rs

1/* automatically generated by rust-bindgen 0.69.2 */
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 G_ANALYZER_ANALYZING: u32 = 0;
84pub const FALSE: u32 = 0;
85pub const G_HAVE_GNUC_VISIBILITY: u32 = 1;
86pub const __DARWIN_ONLY_64_BIT_INO_T: u32 = 1;
87pub const __DARWIN_ONLY_UNIX_CONFORMANCE: u32 = 1;
88pub const __DARWIN_ONLY_VERS_1050: u32 = 1;
89pub const __DARWIN_UNIX03: u32 = 1;
90pub const __DARWIN_64_BIT_INO_T: u32 = 1;
91pub const __DARWIN_VERS_1050: u32 = 1;
92pub const __DARWIN_NON_CANCELABLE: u32 = 0;
93pub const __DARWIN_SUF_EXTSN: &[u8; 14] = b"$DARWIN_EXTSN\0";
94pub const __DARWIN_C_ANSI: u32 = 4096;
95pub const __DARWIN_C_FULL: u32 = 900000;
96pub const __DARWIN_C_LEVEL: u32 = 900000;
97pub const __STDC_WANT_LIB_EXT1__: u32 = 1;
98pub const __DARWIN_NO_LONG_LONG: u32 = 0;
99pub const _DARWIN_FEATURE_64_BIT_INODE: u32 = 1;
100pub const _DARWIN_FEATURE_ONLY_64_BIT_INODE: u32 = 1;
101pub const _DARWIN_FEATURE_ONLY_VERS_1050: u32 = 1;
102pub const _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE: u32 = 1;
103pub const _DARWIN_FEATURE_UNIX_CONFORMANCE: u32 = 3;
104pub const __has_ptrcheck: u32 = 0;
105pub const __DARWIN_CLK_TCK: u32 = 100;
106pub const MB_LEN_MAX: u32 = 6;
107pub const CLK_TCK: u32 = 100;
108pub const CHAR_BIT: u32 = 8;
109pub const SCHAR_MAX: u32 = 127;
110pub const SCHAR_MIN: i32 = -128;
111pub const UCHAR_MAX: u32 = 255;
112pub const CHAR_MAX: u32 = 127;
113pub const CHAR_MIN: i32 = -128;
114pub const USHRT_MAX: u32 = 65535;
115pub const SHRT_MAX: u32 = 32767;
116pub const SHRT_MIN: i32 = -32768;
117pub const UINT_MAX: u32 = 4294967295;
118pub const INT_MAX: u32 = 2147483647;
119pub const INT_MIN: i32 = -2147483648;
120pub const ULONG_MAX: i32 = -1;
121pub const LONG_MAX: u64 = 9223372036854775807;
122pub const LONG_MIN: i64 = -9223372036854775808;
123pub const ULLONG_MAX: i32 = -1;
124pub const LLONG_MAX: u64 = 9223372036854775807;
125pub const LLONG_MIN: i64 = -9223372036854775808;
126pub const LONG_BIT: u32 = 64;
127pub const SSIZE_MAX: u64 = 9223372036854775807;
128pub const WORD_BIT: u32 = 32;
129pub const SIZE_T_MAX: i32 = -1;
130pub const UQUAD_MAX: i32 = -1;
131pub const QUAD_MAX: u64 = 9223372036854775807;
132pub const QUAD_MIN: i64 = -9223372036854775808;
133pub const ARG_MAX: u32 = 1048576;
134pub const CHILD_MAX: u32 = 266;
135pub const GID_MAX: u32 = 2147483647;
136pub const LINK_MAX: u32 = 32767;
137pub const MAX_CANON: u32 = 1024;
138pub const MAX_INPUT: u32 = 1024;
139pub const NAME_MAX: u32 = 255;
140pub const NGROUPS_MAX: u32 = 16;
141pub const UID_MAX: u32 = 2147483647;
142pub const OPEN_MAX: u32 = 10240;
143pub const PATH_MAX: u32 = 1024;
144pub const PIPE_BUF: u32 = 512;
145pub const BC_BASE_MAX: u32 = 99;
146pub const BC_DIM_MAX: u32 = 2048;
147pub const BC_SCALE_MAX: u32 = 99;
148pub const BC_STRING_MAX: u32 = 1000;
149pub const CHARCLASS_NAME_MAX: u32 = 14;
150pub const COLL_WEIGHTS_MAX: u32 = 2;
151pub const EQUIV_CLASS_MAX: u32 = 2;
152pub const EXPR_NEST_MAX: u32 = 32;
153pub const LINE_MAX: u32 = 2048;
154pub const RE_DUP_MAX: u32 = 255;
155pub const NZERO: u32 = 20;
156pub const _POSIX_ARG_MAX: u32 = 4096;
157pub const _POSIX_CHILD_MAX: u32 = 25;
158pub const _POSIX_LINK_MAX: u32 = 8;
159pub const _POSIX_MAX_CANON: u32 = 255;
160pub const _POSIX_MAX_INPUT: u32 = 255;
161pub const _POSIX_NAME_MAX: u32 = 14;
162pub const _POSIX_NGROUPS_MAX: u32 = 8;
163pub const _POSIX_OPEN_MAX: u32 = 20;
164pub const _POSIX_PATH_MAX: u32 = 256;
165pub const _POSIX_PIPE_BUF: u32 = 512;
166pub const _POSIX_SSIZE_MAX: u32 = 32767;
167pub const _POSIX_STREAM_MAX: u32 = 8;
168pub const _POSIX_TZNAME_MAX: u32 = 6;
169pub const _POSIX2_BC_BASE_MAX: u32 = 99;
170pub const _POSIX2_BC_DIM_MAX: u32 = 2048;
171pub const _POSIX2_BC_SCALE_MAX: u32 = 99;
172pub const _POSIX2_BC_STRING_MAX: u32 = 1000;
173pub const _POSIX2_EQUIV_CLASS_MAX: u32 = 2;
174pub const _POSIX2_EXPR_NEST_MAX: u32 = 32;
175pub const _POSIX2_LINE_MAX: u32 = 2048;
176pub const _POSIX2_RE_DUP_MAX: u32 = 255;
177pub const _POSIX_AIO_LISTIO_MAX: u32 = 2;
178pub const _POSIX_AIO_MAX: u32 = 1;
179pub const _POSIX_DELAYTIMER_MAX: u32 = 32;
180pub const _POSIX_MQ_OPEN_MAX: u32 = 8;
181pub const _POSIX_MQ_PRIO_MAX: u32 = 32;
182pub const _POSIX_RTSIG_MAX: u32 = 8;
183pub const _POSIX_SEM_NSEMS_MAX: u32 = 256;
184pub const _POSIX_SEM_VALUE_MAX: u32 = 32767;
185pub const _POSIX_SIGQUEUE_MAX: u32 = 32;
186pub const _POSIX_TIMER_MAX: u32 = 32;
187pub const _POSIX_CLOCKRES_MIN: u32 = 20000000;
188pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
189pub const _POSIX_THREAD_KEYS_MAX: u32 = 128;
190pub const _POSIX_THREAD_THREADS_MAX: u32 = 64;
191pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
192pub const PTHREAD_KEYS_MAX: u32 = 512;
193pub const PTHREAD_STACK_MIN: u32 = 16384;
194pub const _POSIX_HOST_NAME_MAX: u32 = 255;
195pub const _POSIX_LOGIN_NAME_MAX: u32 = 9;
196pub const _POSIX_SS_REPL_MAX: u32 = 4;
197pub const _POSIX_SYMLINK_MAX: u32 = 255;
198pub const _POSIX_SYMLOOP_MAX: u32 = 8;
199pub const _POSIX_TRACE_EVENT_NAME_MAX: u32 = 30;
200pub const _POSIX_TRACE_NAME_MAX: u32 = 8;
201pub const _POSIX_TRACE_SYS_MAX: u32 = 8;
202pub const _POSIX_TRACE_USER_EVENT_MAX: u32 = 32;
203pub const _POSIX_TTY_NAME_MAX: u32 = 9;
204pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14;
205pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2;
206pub const _POSIX_RE_DUP_MAX: u32 = 255;
207pub const OFF_MIN: i64 = -9223372036854775808;
208pub const OFF_MAX: u64 = 9223372036854775807;
209pub const PASS_MAX: u32 = 128;
210pub const NL_ARGMAX: u32 = 9;
211pub const NL_LANGMAX: u32 = 14;
212pub const NL_MSGMAX: u32 = 32767;
213pub const NL_NMAX: u32 = 1;
214pub const NL_SETMAX: u32 = 255;
215pub const NL_TEXTMAX: u32 = 2048;
216pub const _XOPEN_IOV_MAX: u32 = 16;
217pub const IOV_MAX: u32 = 1024;
218pub const _XOPEN_NAME_MAX: u32 = 255;
219pub const _XOPEN_PATH_MAX: u32 = 1024;
220pub const FLT_HAS_SUBNORM: u32 = 1;
221pub const DBL_HAS_SUBNORM: u32 = 1;
222pub const LDBL_HAS_SUBNORM: u32 = 1;
223pub const G_MINSHORT: i32 = -32768;
224pub const G_MAXSHORT: u32 = 32767;
225pub const G_MAXUSHORT: u32 = 65535;
226pub const G_MININT: i32 = -2147483648;
227pub const G_MAXINT: u32 = 2147483647;
228pub const G_MAXUINT: u32 = 4294967295;
229pub const G_MINLONG: i64 = -9223372036854775808;
230pub const G_MAXLONG: u64 = 9223372036854775807;
231pub const G_MAXULONG: i32 = -1;
232pub const G_GINT16_MODIFIER: &[u8; 2] = b"h\0";
233pub const G_GINT16_FORMAT: &[u8; 3] = b"hi\0";
234pub const G_GUINT16_FORMAT: &[u8; 3] = b"hu\0";
235pub const G_GINT32_MODIFIER: &[u8; 1] = b"\0";
236pub const G_GINT32_FORMAT: &[u8; 2] = b"i\0";
237pub const G_GUINT32_FORMAT: &[u8; 2] = b"u\0";
238pub const G_HAVE_GINT64: u32 = 1;
239pub const G_GINT64_MODIFIER: &[u8; 3] = b"ll\0";
240pub const G_GINT64_FORMAT: &[u8; 4] = b"lli\0";
241pub const G_GUINT64_FORMAT: &[u8; 4] = b"llu\0";
242pub const GLIB_SIZEOF_VOID_P: u32 = 8;
243pub const GLIB_SIZEOF_LONG: u32 = 8;
244pub const GLIB_SIZEOF_SIZE_T: u32 = 8;
245pub const GLIB_SIZEOF_SSIZE_T: u32 = 8;
246pub const G_GSIZE_MODIFIER: &[u8; 2] = b"l\0";
247pub const G_GSSIZE_MODIFIER: &[u8; 2] = b"l\0";
248pub const G_GSIZE_FORMAT: &[u8; 3] = b"lu\0";
249pub const G_GSSIZE_FORMAT: &[u8; 3] = b"li\0";
250pub const G_MAXSIZE: i32 = -1;
251pub const G_MINSSIZE: i64 = -9223372036854775808;
252pub const G_MAXSSIZE: u64 = 9223372036854775807;
253pub const G_GOFFSET_MODIFIER: &[u8; 3] = b"ll\0";
254pub const G_GOFFSET_FORMAT: &[u8; 4] = b"lli\0";
255pub const G_POLLFD_FORMAT: &[u8; 3] = b"%d\0";
256pub const G_GINTPTR_MODIFIER: &[u8; 2] = b"l\0";
257pub const G_GINTPTR_FORMAT: &[u8; 3] = b"li\0";
258pub const G_GUINTPTR_FORMAT: &[u8; 3] = b"lu\0";
259pub const GLIB_MAJOR_VERSION: u32 = 2;
260pub const GLIB_MINOR_VERSION: u32 = 78;
261pub const GLIB_MICRO_VERSION: u32 = 4;
262pub const G_HAVE_ISO_VARARGS: u32 = 1;
263pub const G_HAVE_GROWING_STACK: u32 = 0;
264pub const G_HAVE_GNUC_VARARGS: u32 = 1;
265pub const G_PID_FORMAT: &[u8; 2] = b"i\0";
266pub const GLIB_SYSDEF_AF_UNIX: u32 = 1;
267pub const GLIB_SYSDEF_AF_INET: u32 = 2;
268pub const GLIB_SYSDEF_AF_INET6: u32 = 30;
269pub const GLIB_SYSDEF_MSG_OOB: u32 = 1;
270pub const GLIB_SYSDEF_MSG_PEEK: u32 = 2;
271pub const GLIB_SYSDEF_MSG_DONTROUTE: u32 = 4;
272pub const G_DIR_SEPARATOR: u8 = 47u8;
273pub const G_DIR_SEPARATOR_S: &[u8; 2] = b"/\0";
274pub const G_SEARCHPATH_SEPARATOR: u8 = 58u8;
275pub const G_SEARCHPATH_SEPARATOR_S: &[u8; 2] = b":\0";
276pub const __PTHREAD_SIZE__: u32 = 8176;
277pub const __PTHREAD_ATTR_SIZE__: u32 = 56;
278pub const __PTHREAD_MUTEXATTR_SIZE__: u32 = 8;
279pub const __PTHREAD_MUTEX_SIZE__: u32 = 56;
280pub const __PTHREAD_CONDATTR_SIZE__: u32 = 8;
281pub const __PTHREAD_COND_SIZE__: u32 = 40;
282pub const __PTHREAD_ONCE_SIZE__: u32 = 8;
283pub const __PTHREAD_RWLOCK_SIZE__: u32 = 192;
284pub const __PTHREAD_RWLOCKATTR_SIZE__: u32 = 16;
285pub const __DARWIN_WCHAR_MIN: i32 = -2147483648;
286pub const _FORTIFY_SOURCE: u32 = 2;
287pub const __API_TO_BE_DEPRECATED: u32 = 100000;
288pub const __API_TO_BE_DEPRECATED_MACOS: u32 = 100000;
289pub const __API_TO_BE_DEPRECATED_IOS: u32 = 100000;
290pub const __API_TO_BE_DEPRECATED_MACCATALYST: u32 = 100000;
291pub const __API_TO_BE_DEPRECATED_WATCHOS: u32 = 100000;
292pub const __API_TO_BE_DEPRECATED_TVOS: u32 = 100000;
293pub const __API_TO_BE_DEPRECATED_DRIVERKIT: u32 = 100000;
294pub const __API_TO_BE_DEPRECATED_VISIONOS: u32 = 100000;
295pub const __MAC_10_0: u32 = 1000;
296pub const __MAC_10_1: u32 = 1010;
297pub const __MAC_10_2: u32 = 1020;
298pub const __MAC_10_3: u32 = 1030;
299pub const __MAC_10_4: u32 = 1040;
300pub const __MAC_10_5: u32 = 1050;
301pub const __MAC_10_6: u32 = 1060;
302pub const __MAC_10_7: u32 = 1070;
303pub const __MAC_10_8: u32 = 1080;
304pub const __MAC_10_9: u32 = 1090;
305pub const __MAC_10_10: u32 = 101000;
306pub const __MAC_10_10_2: u32 = 101002;
307pub const __MAC_10_10_3: u32 = 101003;
308pub const __MAC_10_11: u32 = 101100;
309pub const __MAC_10_11_2: u32 = 101102;
310pub const __MAC_10_11_3: u32 = 101103;
311pub const __MAC_10_11_4: u32 = 101104;
312pub const __MAC_10_12: u32 = 101200;
313pub const __MAC_10_12_1: u32 = 101201;
314pub const __MAC_10_12_2: u32 = 101202;
315pub const __MAC_10_12_4: u32 = 101204;
316pub const __MAC_10_13: u32 = 101300;
317pub const __MAC_10_13_1: u32 = 101301;
318pub const __MAC_10_13_2: u32 = 101302;
319pub const __MAC_10_13_4: u32 = 101304;
320pub const __MAC_10_14: u32 = 101400;
321pub const __MAC_10_14_1: u32 = 101401;
322pub const __MAC_10_14_4: u32 = 101404;
323pub const __MAC_10_14_5: u32 = 101405;
324pub const __MAC_10_14_6: u32 = 101406;
325pub const __MAC_10_15: u32 = 101500;
326pub const __MAC_10_15_1: u32 = 101501;
327pub const __MAC_10_15_4: u32 = 101504;
328pub const __MAC_10_16: u32 = 101600;
329pub const __MAC_11_0: u32 = 110000;
330pub const __MAC_11_1: u32 = 110100;
331pub const __MAC_11_3: u32 = 110300;
332pub const __MAC_11_4: u32 = 110400;
333pub const __MAC_11_5: u32 = 110500;
334pub const __MAC_11_6: u32 = 110600;
335pub const __MAC_12_0: u32 = 120000;
336pub const __MAC_12_1: u32 = 120100;
337pub const __MAC_12_2: u32 = 120200;
338pub const __MAC_12_3: u32 = 120300;
339pub const __MAC_12_4: u32 = 120400;
340pub const __MAC_12_5: u32 = 120500;
341pub const __MAC_12_6: u32 = 120600;
342pub const __MAC_12_7: u32 = 120700;
343pub const __MAC_13_0: u32 = 130000;
344pub const __MAC_13_1: u32 = 130100;
345pub const __MAC_13_2: u32 = 130200;
346pub const __MAC_13_3: u32 = 130300;
347pub const __MAC_13_4: u32 = 130400;
348pub const __MAC_13_5: u32 = 130500;
349pub const __MAC_13_6: u32 = 130600;
350pub const __MAC_14_0: u32 = 140000;
351pub const __MAC_14_1: u32 = 140100;
352pub const __MAC_14_2: u32 = 140200;
353pub const __IPHONE_2_0: u32 = 20000;
354pub const __IPHONE_2_1: u32 = 20100;
355pub const __IPHONE_2_2: u32 = 20200;
356pub const __IPHONE_3_0: u32 = 30000;
357pub const __IPHONE_3_1: u32 = 30100;
358pub const __IPHONE_3_2: u32 = 30200;
359pub const __IPHONE_4_0: u32 = 40000;
360pub const __IPHONE_4_1: u32 = 40100;
361pub const __IPHONE_4_2: u32 = 40200;
362pub const __IPHONE_4_3: u32 = 40300;
363pub const __IPHONE_5_0: u32 = 50000;
364pub const __IPHONE_5_1: u32 = 50100;
365pub const __IPHONE_6_0: u32 = 60000;
366pub const __IPHONE_6_1: u32 = 60100;
367pub const __IPHONE_7_0: u32 = 70000;
368pub const __IPHONE_7_1: u32 = 70100;
369pub const __IPHONE_8_0: u32 = 80000;
370pub const __IPHONE_8_1: u32 = 80100;
371pub const __IPHONE_8_2: u32 = 80200;
372pub const __IPHONE_8_3: u32 = 80300;
373pub const __IPHONE_8_4: u32 = 80400;
374pub const __IPHONE_9_0: u32 = 90000;
375pub const __IPHONE_9_1: u32 = 90100;
376pub const __IPHONE_9_2: u32 = 90200;
377pub const __IPHONE_9_3: u32 = 90300;
378pub const __IPHONE_10_0: u32 = 100000;
379pub const __IPHONE_10_1: u32 = 100100;
380pub const __IPHONE_10_2: u32 = 100200;
381pub const __IPHONE_10_3: u32 = 100300;
382pub const __IPHONE_11_0: u32 = 110000;
383pub const __IPHONE_11_1: u32 = 110100;
384pub const __IPHONE_11_2: u32 = 110200;
385pub const __IPHONE_11_3: u32 = 110300;
386pub const __IPHONE_11_4: u32 = 110400;
387pub const __IPHONE_12_0: u32 = 120000;
388pub const __IPHONE_12_1: u32 = 120100;
389pub const __IPHONE_12_2: u32 = 120200;
390pub const __IPHONE_12_3: u32 = 120300;
391pub const __IPHONE_12_4: u32 = 120400;
392pub const __IPHONE_13_0: u32 = 130000;
393pub const __IPHONE_13_1: u32 = 130100;
394pub const __IPHONE_13_2: u32 = 130200;
395pub const __IPHONE_13_3: u32 = 130300;
396pub const __IPHONE_13_4: u32 = 130400;
397pub const __IPHONE_13_5: u32 = 130500;
398pub const __IPHONE_13_6: u32 = 130600;
399pub const __IPHONE_13_7: u32 = 130700;
400pub const __IPHONE_14_0: u32 = 140000;
401pub const __IPHONE_14_1: u32 = 140100;
402pub const __IPHONE_14_2: u32 = 140200;
403pub const __IPHONE_14_3: u32 = 140300;
404pub const __IPHONE_14_5: u32 = 140500;
405pub const __IPHONE_14_4: u32 = 140400;
406pub const __IPHONE_14_6: u32 = 140600;
407pub const __IPHONE_14_7: u32 = 140700;
408pub const __IPHONE_14_8: u32 = 140800;
409pub const __IPHONE_15_0: u32 = 150000;
410pub const __IPHONE_15_1: u32 = 150100;
411pub const __IPHONE_15_2: u32 = 150200;
412pub const __IPHONE_15_3: u32 = 150300;
413pub const __IPHONE_15_4: u32 = 150400;
414pub const __IPHONE_15_5: u32 = 150500;
415pub const __IPHONE_15_6: u32 = 150600;
416pub const __IPHONE_16_0: u32 = 160000;
417pub const __IPHONE_16_1: u32 = 160100;
418pub const __IPHONE_16_2: u32 = 160200;
419pub const __IPHONE_16_3: u32 = 160300;
420pub const __IPHONE_16_4: u32 = 160400;
421pub const __IPHONE_16_5: u32 = 160500;
422pub const __IPHONE_16_6: u32 = 160600;
423pub const __IPHONE_16_7: u32 = 160700;
424pub const __IPHONE_17_0: u32 = 170000;
425pub const __IPHONE_17_1: u32 = 170100;
426pub const __IPHONE_17_2: u32 = 170200;
427pub const __WATCHOS_1_0: u32 = 10000;
428pub const __WATCHOS_2_0: u32 = 20000;
429pub const __WATCHOS_2_1: u32 = 20100;
430pub const __WATCHOS_2_2: u32 = 20200;
431pub const __WATCHOS_3_0: u32 = 30000;
432pub const __WATCHOS_3_1: u32 = 30100;
433pub const __WATCHOS_3_1_1: u32 = 30101;
434pub const __WATCHOS_3_2: u32 = 30200;
435pub const __WATCHOS_4_0: u32 = 40000;
436pub const __WATCHOS_4_1: u32 = 40100;
437pub const __WATCHOS_4_2: u32 = 40200;
438pub const __WATCHOS_4_3: u32 = 40300;
439pub const __WATCHOS_5_0: u32 = 50000;
440pub const __WATCHOS_5_1: u32 = 50100;
441pub const __WATCHOS_5_2: u32 = 50200;
442pub const __WATCHOS_5_3: u32 = 50300;
443pub const __WATCHOS_6_0: u32 = 60000;
444pub const __WATCHOS_6_1: u32 = 60100;
445pub const __WATCHOS_6_2: u32 = 60200;
446pub const __WATCHOS_7_0: u32 = 70000;
447pub const __WATCHOS_7_1: u32 = 70100;
448pub const __WATCHOS_7_2: u32 = 70200;
449pub const __WATCHOS_7_3: u32 = 70300;
450pub const __WATCHOS_7_4: u32 = 70400;
451pub const __WATCHOS_7_5: u32 = 70500;
452pub const __WATCHOS_7_6: u32 = 70600;
453pub const __WATCHOS_8_0: u32 = 80000;
454pub const __WATCHOS_8_1: u32 = 80100;
455pub const __WATCHOS_8_3: u32 = 80300;
456pub const __WATCHOS_8_4: u32 = 80400;
457pub const __WATCHOS_8_5: u32 = 80500;
458pub const __WATCHOS_8_6: u32 = 80600;
459pub const __WATCHOS_8_7: u32 = 80700;
460pub const __WATCHOS_9_0: u32 = 90000;
461pub const __WATCHOS_9_1: u32 = 90100;
462pub const __WATCHOS_9_2: u32 = 90200;
463pub const __WATCHOS_9_3: u32 = 90300;
464pub const __WATCHOS_9_4: u32 = 90400;
465pub const __WATCHOS_9_5: u32 = 90500;
466pub const __WATCHOS_9_6: u32 = 90600;
467pub const __WATCHOS_10_0: u32 = 100000;
468pub const __WATCHOS_10_1: u32 = 100100;
469pub const __WATCHOS_10_2: u32 = 100200;
470pub const __TVOS_9_0: u32 = 90000;
471pub const __TVOS_9_1: u32 = 90100;
472pub const __TVOS_9_2: u32 = 90200;
473pub const __TVOS_10_0: u32 = 100000;
474pub const __TVOS_10_0_1: u32 = 100001;
475pub const __TVOS_10_1: u32 = 100100;
476pub const __TVOS_10_2: u32 = 100200;
477pub const __TVOS_11_0: u32 = 110000;
478pub const __TVOS_11_1: u32 = 110100;
479pub const __TVOS_11_2: u32 = 110200;
480pub const __TVOS_11_3: u32 = 110300;
481pub const __TVOS_11_4: u32 = 110400;
482pub const __TVOS_12_0: u32 = 120000;
483pub const __TVOS_12_1: u32 = 120100;
484pub const __TVOS_12_2: u32 = 120200;
485pub const __TVOS_12_3: u32 = 120300;
486pub const __TVOS_12_4: u32 = 120400;
487pub const __TVOS_13_0: u32 = 130000;
488pub const __TVOS_13_2: u32 = 130200;
489pub const __TVOS_13_3: u32 = 130300;
490pub const __TVOS_13_4: u32 = 130400;
491pub const __TVOS_14_0: u32 = 140000;
492pub const __TVOS_14_1: u32 = 140100;
493pub const __TVOS_14_2: u32 = 140200;
494pub const __TVOS_14_3: u32 = 140300;
495pub const __TVOS_14_5: u32 = 140500;
496pub const __TVOS_14_6: u32 = 140600;
497pub const __TVOS_14_7: u32 = 140700;
498pub const __TVOS_15_0: u32 = 150000;
499pub const __TVOS_15_1: u32 = 150100;
500pub const __TVOS_15_2: u32 = 150200;
501pub const __TVOS_15_3: u32 = 150300;
502pub const __TVOS_15_4: u32 = 150400;
503pub const __TVOS_15_5: u32 = 150500;
504pub const __TVOS_15_6: u32 = 150600;
505pub const __TVOS_16_0: u32 = 160000;
506pub const __TVOS_16_1: u32 = 160100;
507pub const __TVOS_16_2: u32 = 160200;
508pub const __TVOS_16_3: u32 = 160300;
509pub const __TVOS_16_4: u32 = 160400;
510pub const __TVOS_16_5: u32 = 160500;
511pub const __TVOS_16_6: u32 = 160600;
512pub const __TVOS_17_0: u32 = 170000;
513pub const __TVOS_17_1: u32 = 170100;
514pub const __TVOS_17_2: u32 = 170200;
515pub const __BRIDGEOS_2_0: u32 = 20000;
516pub const __BRIDGEOS_3_0: u32 = 30000;
517pub const __BRIDGEOS_3_1: u32 = 30100;
518pub const __BRIDGEOS_3_4: u32 = 30400;
519pub const __BRIDGEOS_4_0: u32 = 40000;
520pub const __BRIDGEOS_4_1: u32 = 40100;
521pub const __BRIDGEOS_5_0: u32 = 50000;
522pub const __BRIDGEOS_5_1: u32 = 50100;
523pub const __BRIDGEOS_5_3: u32 = 50300;
524pub const __BRIDGEOS_6_0: u32 = 60000;
525pub const __BRIDGEOS_6_2: u32 = 60200;
526pub const __BRIDGEOS_6_4: u32 = 60400;
527pub const __BRIDGEOS_6_5: u32 = 60500;
528pub const __BRIDGEOS_6_6: u32 = 60600;
529pub const __BRIDGEOS_7_0: u32 = 70000;
530pub const __BRIDGEOS_7_1: u32 = 70100;
531pub const __BRIDGEOS_7_2: u32 = 70200;
532pub const __BRIDGEOS_7_3: u32 = 70300;
533pub const __BRIDGEOS_7_4: u32 = 70400;
534pub const __BRIDGEOS_7_6: u32 = 70600;
535pub const __BRIDGEOS_8_0: u32 = 80000;
536pub const __BRIDGEOS_8_1: u32 = 80100;
537pub const __BRIDGEOS_8_2: u32 = 80200;
538pub const __DRIVERKIT_19_0: u32 = 190000;
539pub const __DRIVERKIT_20_0: u32 = 200000;
540pub const __DRIVERKIT_21_0: u32 = 210000;
541pub const __DRIVERKIT_22_0: u32 = 220000;
542pub const __DRIVERKIT_22_4: u32 = 220400;
543pub const __DRIVERKIT_22_5: u32 = 220500;
544pub const __DRIVERKIT_22_6: u32 = 220600;
545pub const __DRIVERKIT_23_0: u32 = 230000;
546pub const __DRIVERKIT_23_1: u32 = 230100;
547pub const __DRIVERKIT_23_2: u32 = 230200;
548pub const __VISIONOS_1_0: u32 = 10000;
549pub const MAC_OS_X_VERSION_10_0: u32 = 1000;
550pub const MAC_OS_X_VERSION_10_1: u32 = 1010;
551pub const MAC_OS_X_VERSION_10_2: u32 = 1020;
552pub const MAC_OS_X_VERSION_10_3: u32 = 1030;
553pub const MAC_OS_X_VERSION_10_4: u32 = 1040;
554pub const MAC_OS_X_VERSION_10_5: u32 = 1050;
555pub const MAC_OS_X_VERSION_10_6: u32 = 1060;
556pub const MAC_OS_X_VERSION_10_7: u32 = 1070;
557pub const MAC_OS_X_VERSION_10_8: u32 = 1080;
558pub const MAC_OS_X_VERSION_10_9: u32 = 1090;
559pub const MAC_OS_X_VERSION_10_10: u32 = 101000;
560pub const MAC_OS_X_VERSION_10_10_2: u32 = 101002;
561pub const MAC_OS_X_VERSION_10_10_3: u32 = 101003;
562pub const MAC_OS_X_VERSION_10_11: u32 = 101100;
563pub const MAC_OS_X_VERSION_10_11_2: u32 = 101102;
564pub const MAC_OS_X_VERSION_10_11_3: u32 = 101103;
565pub const MAC_OS_X_VERSION_10_11_4: u32 = 101104;
566pub const MAC_OS_X_VERSION_10_12: u32 = 101200;
567pub const MAC_OS_X_VERSION_10_12_1: u32 = 101201;
568pub const MAC_OS_X_VERSION_10_12_2: u32 = 101202;
569pub const MAC_OS_X_VERSION_10_12_4: u32 = 101204;
570pub const MAC_OS_X_VERSION_10_13: u32 = 101300;
571pub const MAC_OS_X_VERSION_10_13_1: u32 = 101301;
572pub const MAC_OS_X_VERSION_10_13_2: u32 = 101302;
573pub const MAC_OS_X_VERSION_10_13_4: u32 = 101304;
574pub const MAC_OS_X_VERSION_10_14: u32 = 101400;
575pub const MAC_OS_X_VERSION_10_14_1: u32 = 101401;
576pub const MAC_OS_X_VERSION_10_14_4: u32 = 101404;
577pub const MAC_OS_X_VERSION_10_14_5: u32 = 101405;
578pub const MAC_OS_X_VERSION_10_14_6: u32 = 101406;
579pub const MAC_OS_X_VERSION_10_15: u32 = 101500;
580pub const MAC_OS_X_VERSION_10_15_1: u32 = 101501;
581pub const MAC_OS_X_VERSION_10_15_4: u32 = 101504;
582pub const MAC_OS_X_VERSION_10_16: u32 = 101600;
583pub const MAC_OS_VERSION_11_0: u32 = 110000;
584pub const MAC_OS_VERSION_11_1: u32 = 110100;
585pub const MAC_OS_VERSION_11_3: u32 = 110300;
586pub const MAC_OS_VERSION_11_4: u32 = 110400;
587pub const MAC_OS_VERSION_11_5: u32 = 110500;
588pub const MAC_OS_VERSION_11_6: u32 = 110600;
589pub const MAC_OS_VERSION_12_0: u32 = 120000;
590pub const MAC_OS_VERSION_12_1: u32 = 120100;
591pub const MAC_OS_VERSION_12_2: u32 = 120200;
592pub const MAC_OS_VERSION_12_3: u32 = 120300;
593pub const MAC_OS_VERSION_12_4: u32 = 120400;
594pub const MAC_OS_VERSION_12_5: u32 = 120500;
595pub const MAC_OS_VERSION_12_6: u32 = 120600;
596pub const MAC_OS_VERSION_12_7: u32 = 120700;
597pub const MAC_OS_VERSION_13_0: u32 = 130000;
598pub const MAC_OS_VERSION_13_1: u32 = 130100;
599pub const MAC_OS_VERSION_13_2: u32 = 130200;
600pub const MAC_OS_VERSION_13_3: u32 = 130300;
601pub const MAC_OS_VERSION_13_4: u32 = 130400;
602pub const MAC_OS_VERSION_13_5: u32 = 130500;
603pub const MAC_OS_VERSION_13_6: u32 = 130600;
604pub const MAC_OS_VERSION_14_0: u32 = 140000;
605pub const MAC_OS_VERSION_14_1: u32 = 140100;
606pub const MAC_OS_VERSION_14_2: u32 = 140200;
607pub const __MAC_OS_X_VERSION_MAX_ALLOWED: u32 = 140200;
608pub const __ENABLE_LEGACY_MAC_AVAILABILITY: u32 = 1;
609pub const TIME_UTC: u32 = 1;
610pub const G_E: f64 = 2.718281828459045;
611pub const G_LN2: f64 = 0.6931471805599453;
612pub const G_LN10: f64 = 2.302585092994046;
613pub const G_PI: f64 = 3.141592653589793;
614pub const G_PI_2: f64 = 1.5707963267948966;
615pub const G_PI_4: f64 = 0.7853981633974483;
616pub const G_SQRT2: f64 = 1.4142135623730951;
617pub const G_LITTLE_ENDIAN: u32 = 1234;
618pub const G_BIG_ENDIAN: u32 = 4321;
619pub const G_PDP_ENDIAN: u32 = 3412;
620pub const G_IEEE754_FLOAT_BIAS: u32 = 127;
621pub const G_IEEE754_DOUBLE_BIAS: u32 = 1023;
622pub const G_LOG_2_BASE_10: f64 = 0.3010299956639812;
623pub const _USE_FORTIFY_LEVEL: u32 = 2;
624pub const __HAS_FIXED_CHK_PROTOTYPES: u32 = 1;
625pub const __GNUC_VA_LIST: u32 = 1;
626pub const __DARWIN_NSIG: u32 = 32;
627pub const NSIG: u32 = 32;
628pub const _ARM_SIGNAL_: u32 = 1;
629pub const SIGHUP: u32 = 1;
630pub const SIGINT: u32 = 2;
631pub const SIGQUIT: u32 = 3;
632pub const SIGILL: u32 = 4;
633pub const SIGTRAP: u32 = 5;
634pub const SIGABRT: u32 = 6;
635pub const SIGIOT: u32 = 6;
636pub const SIGEMT: u32 = 7;
637pub const SIGFPE: u32 = 8;
638pub const SIGKILL: u32 = 9;
639pub const SIGBUS: u32 = 10;
640pub const SIGSEGV: u32 = 11;
641pub const SIGSYS: u32 = 12;
642pub const SIGPIPE: u32 = 13;
643pub const SIGALRM: u32 = 14;
644pub const SIGTERM: u32 = 15;
645pub const SIGURG: u32 = 16;
646pub const SIGSTOP: u32 = 17;
647pub const SIGTSTP: u32 = 18;
648pub const SIGCONT: u32 = 19;
649pub const SIGCHLD: u32 = 20;
650pub const SIGTTIN: u32 = 21;
651pub const SIGTTOU: u32 = 22;
652pub const SIGIO: u32 = 23;
653pub const SIGXCPU: u32 = 24;
654pub const SIGXFSZ: u32 = 25;
655pub const SIGVTALRM: u32 = 26;
656pub const SIGPROF: u32 = 27;
657pub const SIGWINCH: u32 = 28;
658pub const SIGINFO: u32 = 29;
659pub const SIGUSR1: u32 = 30;
660pub const SIGUSR2: u32 = 31;
661pub const __DARWIN_OPAQUE_ARM_THREAD_STATE64: u32 = 0;
662pub const SIGEV_NONE: u32 = 0;
663pub const SIGEV_SIGNAL: u32 = 1;
664pub const SIGEV_THREAD: u32 = 3;
665pub const ILL_NOOP: u32 = 0;
666pub const ILL_ILLOPC: u32 = 1;
667pub const ILL_ILLTRP: u32 = 2;
668pub const ILL_PRVOPC: u32 = 3;
669pub const ILL_ILLOPN: u32 = 4;
670pub const ILL_ILLADR: u32 = 5;
671pub const ILL_PRVREG: u32 = 6;
672pub const ILL_COPROC: u32 = 7;
673pub const ILL_BADSTK: u32 = 8;
674pub const FPE_NOOP: u32 = 0;
675pub const FPE_FLTDIV: u32 = 1;
676pub const FPE_FLTOVF: u32 = 2;
677pub const FPE_FLTUND: u32 = 3;
678pub const FPE_FLTRES: u32 = 4;
679pub const FPE_FLTINV: u32 = 5;
680pub const FPE_FLTSUB: u32 = 6;
681pub const FPE_INTDIV: u32 = 7;
682pub const FPE_INTOVF: u32 = 8;
683pub const SEGV_NOOP: u32 = 0;
684pub const SEGV_MAPERR: u32 = 1;
685pub const SEGV_ACCERR: u32 = 2;
686pub const BUS_NOOP: u32 = 0;
687pub const BUS_ADRALN: u32 = 1;
688pub const BUS_ADRERR: u32 = 2;
689pub const BUS_OBJERR: u32 = 3;
690pub const TRAP_BRKPT: u32 = 1;
691pub const TRAP_TRACE: u32 = 2;
692pub const CLD_NOOP: u32 = 0;
693pub const CLD_EXITED: u32 = 1;
694pub const CLD_KILLED: u32 = 2;
695pub const CLD_DUMPED: u32 = 3;
696pub const CLD_TRAPPED: u32 = 4;
697pub const CLD_STOPPED: u32 = 5;
698pub const CLD_CONTINUED: u32 = 6;
699pub const POLL_IN: u32 = 1;
700pub const POLL_OUT: u32 = 2;
701pub const POLL_MSG: u32 = 3;
702pub const POLL_ERR: u32 = 4;
703pub const POLL_PRI: u32 = 5;
704pub const POLL_HUP: u32 = 6;
705pub const SA_ONSTACK: u32 = 1;
706pub const SA_RESTART: u32 = 2;
707pub const SA_RESETHAND: u32 = 4;
708pub const SA_NOCLDSTOP: u32 = 8;
709pub const SA_NODEFER: u32 = 16;
710pub const SA_NOCLDWAIT: u32 = 32;
711pub const SA_SIGINFO: u32 = 64;
712pub const SA_USERTRAMP: u32 = 256;
713pub const SA_64REGSET: u32 = 512;
714pub const SA_USERSPACE_MASK: u32 = 127;
715pub const SIG_BLOCK: u32 = 1;
716pub const SIG_UNBLOCK: u32 = 2;
717pub const SIG_SETMASK: u32 = 3;
718pub const SI_USER: u32 = 65537;
719pub const SI_QUEUE: u32 = 65538;
720pub const SI_TIMER: u32 = 65539;
721pub const SI_ASYNCIO: u32 = 65540;
722pub const SI_MESGQ: u32 = 65541;
723pub const SS_ONSTACK: u32 = 1;
724pub const SS_DISABLE: u32 = 4;
725pub const MINSIGSTKSZ: u32 = 32768;
726pub const SIGSTKSZ: u32 = 131072;
727pub const SV_ONSTACK: u32 = 1;
728pub const SV_INTERRUPT: u32 = 2;
729pub const SV_RESETHAND: u32 = 4;
730pub const SV_NODEFER: u32 = 16;
731pub const SV_NOCLDSTOP: u32 = 8;
732pub const SV_SIGINFO: u32 = 64;
733pub const __WORDSIZE: u32 = 64;
734pub const INT8_MAX: u32 = 127;
735pub const INT16_MAX: u32 = 32767;
736pub const INT32_MAX: u32 = 2147483647;
737pub const INT64_MAX: u64 = 9223372036854775807;
738pub const INT8_MIN: i32 = -128;
739pub const INT16_MIN: i32 = -32768;
740pub const INT32_MIN: i32 = -2147483648;
741pub const INT64_MIN: i64 = -9223372036854775808;
742pub const UINT8_MAX: u32 = 255;
743pub const UINT16_MAX: u32 = 65535;
744pub const UINT32_MAX: u32 = 4294967295;
745pub const UINT64_MAX: i32 = -1;
746pub const INT_LEAST8_MIN: i32 = -128;
747pub const INT_LEAST16_MIN: i32 = -32768;
748pub const INT_LEAST32_MIN: i32 = -2147483648;
749pub const INT_LEAST64_MIN: i64 = -9223372036854775808;
750pub const INT_LEAST8_MAX: u32 = 127;
751pub const INT_LEAST16_MAX: u32 = 32767;
752pub const INT_LEAST32_MAX: u32 = 2147483647;
753pub const INT_LEAST64_MAX: u64 = 9223372036854775807;
754pub const UINT_LEAST8_MAX: u32 = 255;
755pub const UINT_LEAST16_MAX: u32 = 65535;
756pub const UINT_LEAST32_MAX: u32 = 4294967295;
757pub const UINT_LEAST64_MAX: i32 = -1;
758pub const INT_FAST8_MIN: i32 = -128;
759pub const INT_FAST16_MIN: i32 = -32768;
760pub const INT_FAST32_MIN: i32 = -2147483648;
761pub const INT_FAST64_MIN: i64 = -9223372036854775808;
762pub const INT_FAST8_MAX: u32 = 127;
763pub const INT_FAST16_MAX: u32 = 32767;
764pub const INT_FAST32_MAX: u32 = 2147483647;
765pub const INT_FAST64_MAX: u64 = 9223372036854775807;
766pub const UINT_FAST8_MAX: u32 = 255;
767pub const UINT_FAST16_MAX: u32 = 65535;
768pub const UINT_FAST32_MAX: u32 = 4294967295;
769pub const UINT_FAST64_MAX: i32 = -1;
770pub const INTPTR_MAX: u64 = 9223372036854775807;
771pub const INTPTR_MIN: i64 = -9223372036854775808;
772pub const UINTPTR_MAX: i32 = -1;
773pub const SIZE_MAX: i32 = -1;
774pub const RSIZE_MAX: i32 = -1;
775pub const WINT_MIN: i32 = -2147483648;
776pub const WINT_MAX: u32 = 2147483647;
777pub const SIG_ATOMIC_MIN: i32 = -2147483648;
778pub const SIG_ATOMIC_MAX: u32 = 2147483647;
779pub const PRIO_PROCESS: u32 = 0;
780pub const PRIO_PGRP: u32 = 1;
781pub const PRIO_USER: u32 = 2;
782pub const PRIO_DARWIN_THREAD: u32 = 3;
783pub const PRIO_DARWIN_PROCESS: u32 = 4;
784pub const PRIO_MIN: i32 = -20;
785pub const PRIO_MAX: u32 = 20;
786pub const PRIO_DARWIN_BG: u32 = 4096;
787pub const PRIO_DARWIN_NONUI: u32 = 4097;
788pub const RUSAGE_SELF: u32 = 0;
789pub const RUSAGE_CHILDREN: i32 = -1;
790pub const RUSAGE_INFO_V0: u32 = 0;
791pub const RUSAGE_INFO_V1: u32 = 1;
792pub const RUSAGE_INFO_V2: u32 = 2;
793pub const RUSAGE_INFO_V3: u32 = 3;
794pub const RUSAGE_INFO_V4: u32 = 4;
795pub const RUSAGE_INFO_V5: u32 = 5;
796pub const RUSAGE_INFO_V6: u32 = 6;
797pub const RUSAGE_INFO_CURRENT: u32 = 6;
798pub const RU_PROC_RUNS_RESLIDE: u32 = 1;
799pub const RLIMIT_CPU: u32 = 0;
800pub const RLIMIT_FSIZE: u32 = 1;
801pub const RLIMIT_DATA: u32 = 2;
802pub const RLIMIT_STACK: u32 = 3;
803pub const RLIMIT_CORE: u32 = 4;
804pub const RLIMIT_AS: u32 = 5;
805pub const RLIMIT_RSS: u32 = 5;
806pub const RLIMIT_MEMLOCK: u32 = 6;
807pub const RLIMIT_NPROC: u32 = 7;
808pub const RLIMIT_NOFILE: u32 = 8;
809pub const RLIM_NLIMITS: u32 = 9;
810pub const _RLIMIT_POSIX_FLAG: u32 = 4096;
811pub const RLIMIT_WAKEUPS_MONITOR: u32 = 1;
812pub const RLIMIT_CPU_USAGE_MONITOR: u32 = 2;
813pub const RLIMIT_THREAD_CPULIMITS: u32 = 3;
814pub const RLIMIT_FOOTPRINT_INTERVAL: u32 = 4;
815pub const WAKEMON_ENABLE: u32 = 1;
816pub const WAKEMON_DISABLE: u32 = 2;
817pub const WAKEMON_GET_PARAMS: u32 = 4;
818pub const WAKEMON_SET_DEFAULTS: u32 = 8;
819pub const WAKEMON_MAKE_FATAL: u32 = 16;
820pub const CPUMON_MAKE_FATAL: u32 = 4096;
821pub const FOOTPRINT_INTERVAL_RESET: u32 = 1;
822pub const IOPOL_TYPE_DISK: u32 = 0;
823pub const IOPOL_TYPE_VFS_ATIME_UPDATES: u32 = 2;
824pub const IOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES: u32 = 3;
825pub const IOPOL_TYPE_VFS_STATFS_NO_DATA_VOLUME: u32 = 4;
826pub const IOPOL_TYPE_VFS_TRIGGER_RESOLVE: u32 = 5;
827pub const IOPOL_TYPE_VFS_IGNORE_CONTENT_PROTECTION: u32 = 6;
828pub const IOPOL_TYPE_VFS_IGNORE_PERMISSIONS: u32 = 7;
829pub const IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE: u32 = 8;
830pub const IOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES: u32 = 9;
831pub const IOPOL_TYPE_VFS_DISALLOW_RW_FOR_O_EVTONLY: u32 = 10;
832pub const IOPOL_SCOPE_PROCESS: u32 = 0;
833pub const IOPOL_SCOPE_THREAD: u32 = 1;
834pub const IOPOL_SCOPE_DARWIN_BG: u32 = 2;
835pub const IOPOL_DEFAULT: u32 = 0;
836pub const IOPOL_IMPORTANT: u32 = 1;
837pub const IOPOL_PASSIVE: u32 = 2;
838pub const IOPOL_THROTTLE: u32 = 3;
839pub const IOPOL_UTILITY: u32 = 4;
840pub const IOPOL_STANDARD: u32 = 5;
841pub const IOPOL_APPLICATION: u32 = 5;
842pub const IOPOL_NORMAL: u32 = 1;
843pub const IOPOL_ATIME_UPDATES_DEFAULT: u32 = 0;
844pub const IOPOL_ATIME_UPDATES_OFF: u32 = 1;
845pub const IOPOL_MATERIALIZE_DATALESS_FILES_DEFAULT: u32 = 0;
846pub const IOPOL_MATERIALIZE_DATALESS_FILES_OFF: u32 = 1;
847pub const IOPOL_MATERIALIZE_DATALESS_FILES_ON: u32 = 2;
848pub const IOPOL_VFS_STATFS_NO_DATA_VOLUME_DEFAULT: u32 = 0;
849pub const IOPOL_VFS_STATFS_FORCE_NO_DATA_VOLUME: u32 = 1;
850pub const IOPOL_VFS_TRIGGER_RESOLVE_DEFAULT: u32 = 0;
851pub const IOPOL_VFS_TRIGGER_RESOLVE_OFF: u32 = 1;
852pub const IOPOL_VFS_CONTENT_PROTECTION_DEFAULT: u32 = 0;
853pub const IOPOL_VFS_CONTENT_PROTECTION_IGNORE: u32 = 1;
854pub const IOPOL_VFS_IGNORE_PERMISSIONS_OFF: u32 = 0;
855pub const IOPOL_VFS_IGNORE_PERMISSIONS_ON: u32 = 1;
856pub const IOPOL_VFS_SKIP_MTIME_UPDATE_OFF: u32 = 0;
857pub const IOPOL_VFS_SKIP_MTIME_UPDATE_ON: u32 = 1;
858pub const IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_OFF: u32 = 0;
859pub const IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_ON: u32 = 1;
860pub const IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_DEFAULT: u32 = 0;
861pub const IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_ON: u32 = 1;
862pub const IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_DEFAULT: u32 = 0;
863pub const IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_ON: u32 = 1;
864pub const WNOHANG: u32 = 1;
865pub const WUNTRACED: u32 = 2;
866pub const WCOREFLAG: u32 = 128;
867pub const _WSTOPPED: u32 = 127;
868pub const WEXITED: u32 = 4;
869pub const WSTOPPED: u32 = 8;
870pub const WCONTINUED: u32 = 16;
871pub const WNOWAIT: u32 = 32;
872pub const WAIT_ANY: i32 = -1;
873pub const WAIT_MYPGRP: u32 = 0;
874pub const _QUAD_HIGHWORD: u32 = 1;
875pub const _QUAD_LOWWORD: u32 = 0;
876pub const __DARWIN_LITTLE_ENDIAN: u32 = 1234;
877pub const __DARWIN_BIG_ENDIAN: u32 = 4321;
878pub const __DARWIN_PDP_ENDIAN: u32 = 3412;
879pub const __DARWIN_BYTE_ORDER: u32 = 1234;
880pub const LITTLE_ENDIAN: u32 = 1234;
881pub const BIG_ENDIAN: u32 = 4321;
882pub const PDP_ENDIAN: u32 = 3412;
883pub const BYTE_ORDER: u32 = 1234;
884pub const EXIT_FAILURE: u32 = 1;
885pub const EXIT_SUCCESS: u32 = 0;
886pub const RAND_MAX: u32 = 2147483647;
887pub const G_DATALIST_FLAGS_MASK: u32 = 3;
888pub const G_DATE_BAD_JULIAN: u32 = 0;
889pub const G_DATE_BAD_DAY: u32 = 0;
890pub const G_DATE_BAD_YEAR: u32 = 0;
891pub const __DARWIN_MAXNAMLEN: u32 = 255;
892pub const __DARWIN_MAXPATHLEN: u32 = 1024;
893pub const MAXNAMLEN: u32 = 255;
894pub const DT_UNKNOWN: u32 = 0;
895pub const DT_FIFO: u32 = 1;
896pub const DT_CHR: u32 = 2;
897pub const DT_DIR: u32 = 4;
898pub const DT_BLK: u32 = 6;
899pub const DT_REG: u32 = 8;
900pub const DT_LNK: u32 = 10;
901pub const DT_SOCK: u32 = 12;
902pub const DT_WHT: u32 = 14;
903pub const DIRBLKSIZ: u32 = 1024;
904pub const DTF_HIDEW: u32 = 1;
905pub const DTF_NODUP: u32 = 2;
906pub const DTF_REWIND: u32 = 4;
907pub const __DTF_READALL: u32 = 8;
908pub const __DTF_SKIPREAD: u32 = 16;
909pub const __DTF_ATEND: u32 = 32;
910pub const G_MEM_ALIGN: u32 = 8;
911pub const G_HOOK_FLAG_USER_SHIFT: u32 = 4;
912pub const G_PRIORITY_HIGH: i32 = -100;
913pub const G_PRIORITY_DEFAULT: u32 = 0;
914pub const G_PRIORITY_HIGH_IDLE: u32 = 100;
915pub const G_PRIORITY_DEFAULT_IDLE: u32 = 200;
916pub const G_PRIORITY_LOW: u32 = 300;
917pub const G_SOURCE_REMOVE: u32 = 0;
918pub const G_UNICHAR_MAX_DECOMPOSITION_LENGTH: u32 = 18;
919pub const G_STR_DELIMITERS: &[u8; 8] = b"_-|> <.\0";
920pub const G_ASCII_DTOSTR_BUF_SIZE: u32 = 39;
921pub const G_KEY_FILE_DESKTOP_GROUP: &[u8; 14] = b"Desktop Entry\0";
922pub const G_KEY_FILE_DESKTOP_KEY_TYPE: &[u8; 5] = b"Type\0";
923pub const G_KEY_FILE_DESKTOP_KEY_VERSION: &[u8; 8] = b"Version\0";
924pub const G_KEY_FILE_DESKTOP_KEY_NAME: &[u8; 5] = b"Name\0";
925pub const G_KEY_FILE_DESKTOP_KEY_GENERIC_NAME: &[u8; 12] = b"GenericName\0";
926pub const G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY: &[u8; 10] = b"NoDisplay\0";
927pub const G_KEY_FILE_DESKTOP_KEY_COMMENT: &[u8; 8] = b"Comment\0";
928pub const G_KEY_FILE_DESKTOP_KEY_ICON: &[u8; 5] = b"Icon\0";
929pub const G_KEY_FILE_DESKTOP_KEY_HIDDEN: &[u8; 7] = b"Hidden\0";
930pub const G_KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN: &[u8; 11] = b"OnlyShowIn\0";
931pub const G_KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN: &[u8; 10] = b"NotShowIn\0";
932pub const G_KEY_FILE_DESKTOP_KEY_TRY_EXEC: &[u8; 8] = b"TryExec\0";
933pub const G_KEY_FILE_DESKTOP_KEY_EXEC: &[u8; 5] = b"Exec\0";
934pub const G_KEY_FILE_DESKTOP_KEY_PATH: &[u8; 5] = b"Path\0";
935pub const G_KEY_FILE_DESKTOP_KEY_TERMINAL: &[u8; 9] = b"Terminal\0";
936pub const G_KEY_FILE_DESKTOP_KEY_MIME_TYPE: &[u8; 9] = b"MimeType\0";
937pub const G_KEY_FILE_DESKTOP_KEY_CATEGORIES: &[u8; 11] = b"Categories\0";
938pub const G_KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY: &[u8; 14] = b"StartupNotify\0";
939pub const G_KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS: &[u8; 15] = b"StartupWMClass\0";
940pub const G_KEY_FILE_DESKTOP_KEY_URL: &[u8; 4] = b"URL\0";
941pub const G_KEY_FILE_DESKTOP_KEY_DBUS_ACTIVATABLE: &[u8; 16] = b"DBusActivatable\0";
942pub const G_KEY_FILE_DESKTOP_KEY_ACTIONS: &[u8; 8] = b"Actions\0";
943pub const G_KEY_FILE_DESKTOP_TYPE_APPLICATION: &[u8; 12] = b"Application\0";
944pub const G_KEY_FILE_DESKTOP_TYPE_LINK: &[u8; 5] = b"Link\0";
945pub const G_KEY_FILE_DESKTOP_TYPE_DIRECTORY: &[u8; 10] = b"Directory\0";
946pub const G_LOG_LEVEL_USER_SHIFT: u32 = 8;
947pub const G_OPTION_REMAINING: &[u8; 1] = b"\0";
948pub const G_CSET_A_2_Z: &[u8; 27] = b"ABCDEFGHIJKLMNOPQRSTUVWXYZ\0";
949pub const G_CSET_a_2_z: &[u8; 27] = b"abcdefghijklmnopqrstuvwxyz\0";
950pub const G_CSET_DIGITS: &[u8; 11] = b"0123456789\0";
951pub 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" ;
952pub 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" ;
953pub const EPERM: u32 = 1;
954pub const ENOENT: u32 = 2;
955pub const ESRCH: u32 = 3;
956pub const EINTR: u32 = 4;
957pub const EIO: u32 = 5;
958pub const ENXIO: u32 = 6;
959pub const E2BIG: u32 = 7;
960pub const ENOEXEC: u32 = 8;
961pub const EBADF: u32 = 9;
962pub const ECHILD: u32 = 10;
963pub const EDEADLK: u32 = 11;
964pub const ENOMEM: u32 = 12;
965pub const EACCES: u32 = 13;
966pub const EFAULT: u32 = 14;
967pub const ENOTBLK: u32 = 15;
968pub const EBUSY: u32 = 16;
969pub const EEXIST: u32 = 17;
970pub const EXDEV: u32 = 18;
971pub const ENODEV: u32 = 19;
972pub const ENOTDIR: u32 = 20;
973pub const EISDIR: u32 = 21;
974pub const EINVAL: u32 = 22;
975pub const ENFILE: u32 = 23;
976pub const EMFILE: u32 = 24;
977pub const ENOTTY: u32 = 25;
978pub const ETXTBSY: u32 = 26;
979pub const EFBIG: u32 = 27;
980pub const ENOSPC: u32 = 28;
981pub const ESPIPE: u32 = 29;
982pub const EROFS: u32 = 30;
983pub const EMLINK: u32 = 31;
984pub const EPIPE: u32 = 32;
985pub const EDOM: u32 = 33;
986pub const ERANGE: u32 = 34;
987pub const EAGAIN: u32 = 35;
988pub const EWOULDBLOCK: u32 = 35;
989pub const EINPROGRESS: u32 = 36;
990pub const EALREADY: u32 = 37;
991pub const ENOTSOCK: u32 = 38;
992pub const EDESTADDRREQ: u32 = 39;
993pub const EMSGSIZE: u32 = 40;
994pub const EPROTOTYPE: u32 = 41;
995pub const ENOPROTOOPT: u32 = 42;
996pub const EPROTONOSUPPORT: u32 = 43;
997pub const ESOCKTNOSUPPORT: u32 = 44;
998pub const ENOTSUP: u32 = 45;
999pub const EPFNOSUPPORT: u32 = 46;
1000pub const EAFNOSUPPORT: u32 = 47;
1001pub const EADDRINUSE: u32 = 48;
1002pub const EADDRNOTAVAIL: u32 = 49;
1003pub const ENETDOWN: u32 = 50;
1004pub const ENETUNREACH: u32 = 51;
1005pub const ENETRESET: u32 = 52;
1006pub const ECONNABORTED: u32 = 53;
1007pub const ECONNRESET: u32 = 54;
1008pub const ENOBUFS: u32 = 55;
1009pub const EISCONN: u32 = 56;
1010pub const ENOTCONN: u32 = 57;
1011pub const ESHUTDOWN: u32 = 58;
1012pub const ETOOMANYREFS: u32 = 59;
1013pub const ETIMEDOUT: u32 = 60;
1014pub const ECONNREFUSED: u32 = 61;
1015pub const ELOOP: u32 = 62;
1016pub const ENAMETOOLONG: u32 = 63;
1017pub const EHOSTDOWN: u32 = 64;
1018pub const EHOSTUNREACH: u32 = 65;
1019pub const ENOTEMPTY: u32 = 66;
1020pub const EPROCLIM: u32 = 67;
1021pub const EUSERS: u32 = 68;
1022pub const EDQUOT: u32 = 69;
1023pub const ESTALE: u32 = 70;
1024pub const EREMOTE: u32 = 71;
1025pub const EBADRPC: u32 = 72;
1026pub const ERPCMISMATCH: u32 = 73;
1027pub const EPROGUNAVAIL: u32 = 74;
1028pub const EPROGMISMATCH: u32 = 75;
1029pub const EPROCUNAVAIL: u32 = 76;
1030pub const ENOLCK: u32 = 77;
1031pub const ENOSYS: u32 = 78;
1032pub const EFTYPE: u32 = 79;
1033pub const EAUTH: u32 = 80;
1034pub const ENEEDAUTH: u32 = 81;
1035pub const EPWROFF: u32 = 82;
1036pub const EDEVERR: u32 = 83;
1037pub const EOVERFLOW: u32 = 84;
1038pub const EBADEXEC: u32 = 85;
1039pub const EBADARCH: u32 = 86;
1040pub const ESHLIBVERS: u32 = 87;
1041pub const EBADMACHO: u32 = 88;
1042pub const ECANCELED: u32 = 89;
1043pub const EIDRM: u32 = 90;
1044pub const ENOMSG: u32 = 91;
1045pub const EILSEQ: u32 = 92;
1046pub const ENOATTR: u32 = 93;
1047pub const EBADMSG: u32 = 94;
1048pub const EMULTIHOP: u32 = 95;
1049pub const ENODATA: u32 = 96;
1050pub const ENOLINK: u32 = 97;
1051pub const ENOSR: u32 = 98;
1052pub const ENOSTR: u32 = 99;
1053pub const EPROTO: u32 = 100;
1054pub const ETIME: u32 = 101;
1055pub const EOPNOTSUPP: u32 = 102;
1056pub const ENOPOLICY: u32 = 103;
1057pub const ENOTRECOVERABLE: u32 = 104;
1058pub const EOWNERDEAD: u32 = 105;
1059pub const EQFULL: u32 = 106;
1060pub const ELAST: u32 = 106;
1061pub const G_TEST_OPTION_ISOLATE_DIRS: &[u8; 13] = b"isolate_dirs\0";
1062pub const G_USEC_PER_SEC: u32 = 1000000;
1063pub const G_URI_RESERVED_CHARS_GENERIC_DELIMITERS: &[u8; 8] = b":/?#[]@\0";
1064pub const G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS: &[u8; 12] = b"!$&'()*+,;=\0";
1065pub const G_URI_RESERVED_CHARS_ALLOWED_IN_PATH_ELEMENT: &[u8; 14] = b"!$&'()*+,;=:@\0";
1066pub const G_URI_RESERVED_CHARS_ALLOWED_IN_PATH: &[u8; 15] = b"!$&'()*+,;=:@/\0";
1067pub const G_URI_RESERVED_CHARS_ALLOWED_IN_USERINFO: &[u8; 13] = b"!$&'()*+,;=:\0";
1068pub const G_ALLOC_ONLY: u32 = 1;
1069pub const G_ALLOC_AND_FREE: u32 = 2;
1070pub const G_ALLOCATOR_LIST: u32 = 1;
1071pub const G_ALLOCATOR_SLIST: u32 = 2;
1072pub const G_ALLOCATOR_NODE: u32 = 3;
1073pub const __DARWIN_FD_SETSIZE: u32 = 1024;
1074pub const __DARWIN_NBBY: u32 = 8;
1075pub const NBBY: u32 = 8;
1076pub const FD_SETSIZE: u32 = 1024;
1077pub const _PTHREAD_MUTEX_SIG_init: u32 = 850045863;
1078pub const _PTHREAD_ERRORCHECK_MUTEX_SIG_init: u32 = 850045857;
1079pub const _PTHREAD_RECURSIVE_MUTEX_SIG_init: u32 = 850045858;
1080pub const _PTHREAD_FIRSTFIT_MUTEX_SIG_init: u32 = 850045859;
1081pub const _PTHREAD_COND_SIG_init: u32 = 1018212795;
1082pub const _PTHREAD_ONCE_SIG_init: u32 = 816954554;
1083pub const _PTHREAD_RWLOCK_SIG_init: u32 = 766030772;
1084pub const SCHED_OTHER: u32 = 1;
1085pub const SCHED_FIFO: u32 = 4;
1086pub const SCHED_RR: u32 = 2;
1087pub const __SCHED_PARAM_SIZE__: u32 = 4;
1088pub const QOS_MIN_RELATIVE_PRIORITY: i32 = -15;
1089pub const PTHREAD_CREATE_JOINABLE: u32 = 1;
1090pub const PTHREAD_CREATE_DETACHED: u32 = 2;
1091pub const PTHREAD_INHERIT_SCHED: u32 = 1;
1092pub const PTHREAD_EXPLICIT_SCHED: u32 = 2;
1093pub const PTHREAD_CANCEL_ENABLE: u32 = 1;
1094pub const PTHREAD_CANCEL_DISABLE: u32 = 0;
1095pub const PTHREAD_CANCEL_DEFERRED: u32 = 2;
1096pub const PTHREAD_CANCEL_ASYNCHRONOUS: u32 = 0;
1097pub const PTHREAD_SCOPE_SYSTEM: u32 = 1;
1098pub const PTHREAD_SCOPE_PROCESS: u32 = 2;
1099pub const PTHREAD_PROCESS_SHARED: u32 = 1;
1100pub const PTHREAD_PROCESS_PRIVATE: u32 = 2;
1101pub const PTHREAD_PRIO_NONE: u32 = 0;
1102pub const PTHREAD_PRIO_INHERIT: u32 = 1;
1103pub const PTHREAD_PRIO_PROTECT: u32 = 2;
1104pub const PTHREAD_MUTEX_NORMAL: u32 = 0;
1105pub const PTHREAD_MUTEX_ERRORCHECK: u32 = 1;
1106pub const PTHREAD_MUTEX_RECURSIVE: u32 = 2;
1107pub const PTHREAD_MUTEX_DEFAULT: u32 = 0;
1108pub const PTHREAD_MUTEX_POLICY_FAIRSHARE_NP: u32 = 1;
1109pub const PTHREAD_MUTEX_POLICY_FIRSTFIT_NP: u32 = 3;
1110pub const RENAME_SECLUDE: u32 = 1;
1111pub const RENAME_SWAP: u32 = 2;
1112pub const RENAME_EXCL: u32 = 4;
1113pub const RENAME_RESERVED1: u32 = 8;
1114pub const RENAME_NOFOLLOW_ANY: u32 = 16;
1115pub const SEEK_SET: u32 = 0;
1116pub const SEEK_CUR: u32 = 1;
1117pub const SEEK_END: u32 = 2;
1118pub const SEEK_HOLE: u32 = 3;
1119pub const SEEK_DATA: u32 = 4;
1120pub const __SLBF: u32 = 1;
1121pub const __SNBF: u32 = 2;
1122pub const __SRD: u32 = 4;
1123pub const __SWR: u32 = 8;
1124pub const __SRW: u32 = 16;
1125pub const __SEOF: u32 = 32;
1126pub const __SERR: u32 = 64;
1127pub const __SMBF: u32 = 128;
1128pub const __SAPP: u32 = 256;
1129pub const __SSTR: u32 = 512;
1130pub const __SOPT: u32 = 1024;
1131pub const __SNPT: u32 = 2048;
1132pub const __SOFF: u32 = 4096;
1133pub const __SMOD: u32 = 8192;
1134pub const __SALC: u32 = 16384;
1135pub const __SIGN: u32 = 32768;
1136pub const _IOFBF: u32 = 0;
1137pub const _IOLBF: u32 = 1;
1138pub const _IONBF: u32 = 2;
1139pub const BUFSIZ: u32 = 1024;
1140pub const EOF: i32 = -1;
1141pub const FOPEN_MAX: u32 = 20;
1142pub const FILENAME_MAX: u32 = 1024;
1143pub const P_tmpdir: &[u8; 10] = b"/var/tmp/\0";
1144pub const L_tmpnam: u32 = 1024;
1145pub const TMP_MAX: u32 = 308915776;
1146pub const L_ctermid: u32 = 1024;
1147pub const S_IFMT: u32 = 61440;
1148pub const S_IFIFO: u32 = 4096;
1149pub const S_IFCHR: u32 = 8192;
1150pub const S_IFDIR: u32 = 16384;
1151pub const S_IFBLK: u32 = 24576;
1152pub const S_IFREG: u32 = 32768;
1153pub const S_IFLNK: u32 = 40960;
1154pub const S_IFSOCK: u32 = 49152;
1155pub const S_IFWHT: u32 = 57344;
1156pub const S_IRWXU: u32 = 448;
1157pub const S_IRUSR: u32 = 256;
1158pub const S_IWUSR: u32 = 128;
1159pub const S_IXUSR: u32 = 64;
1160pub const S_IRWXG: u32 = 56;
1161pub const S_IRGRP: u32 = 32;
1162pub const S_IWGRP: u32 = 16;
1163pub const S_IXGRP: u32 = 8;
1164pub const S_IRWXO: u32 = 7;
1165pub const S_IROTH: u32 = 4;
1166pub const S_IWOTH: u32 = 2;
1167pub const S_IXOTH: u32 = 1;
1168pub const S_ISUID: u32 = 2048;
1169pub const S_ISGID: u32 = 1024;
1170pub const S_ISVTX: u32 = 512;
1171pub const S_ISTXT: u32 = 512;
1172pub const S_IREAD: u32 = 256;
1173pub const S_IWRITE: u32 = 128;
1174pub const S_IEXEC: u32 = 64;
1175pub const ACCESSPERMS: u32 = 511;
1176pub const ALLPERMS: u32 = 4095;
1177pub const DEFFILEMODE: u32 = 438;
1178pub const S_BLKSIZE: u32 = 512;
1179pub const UF_SETTABLE: u32 = 65535;
1180pub const UF_NODUMP: u32 = 1;
1181pub const UF_IMMUTABLE: u32 = 2;
1182pub const UF_APPEND: u32 = 4;
1183pub const UF_OPAQUE: u32 = 8;
1184pub const UF_COMPRESSED: u32 = 32;
1185pub const UF_TRACKED: u32 = 64;
1186pub const UF_DATAVAULT: u32 = 128;
1187pub const UF_HIDDEN: u32 = 32768;
1188pub const SF_SUPPORTED: u32 = 10420224;
1189pub const SF_SETTABLE: u32 = 1073676288;
1190pub const SF_SYNTHETIC: u32 = 3221225472;
1191pub const SF_ARCHIVED: u32 = 65536;
1192pub const SF_IMMUTABLE: u32 = 131072;
1193pub const SF_APPEND: u32 = 262144;
1194pub const SF_RESTRICTED: u32 = 524288;
1195pub const SF_NOUNLINK: u32 = 1048576;
1196pub const SF_FIRMLINK: u32 = 8388608;
1197pub const SF_DATALESS: u32 = 1073741824;
1198pub const EF_MAY_SHARE_BLOCKS: u32 = 1;
1199pub const EF_NO_XATTRS: u32 = 2;
1200pub const EF_IS_SYNC_ROOT: u32 = 4;
1201pub const EF_IS_PURGEABLE: u32 = 8;
1202pub const EF_IS_SPARSE: u32 = 16;
1203pub const EF_IS_SYNTHETIC: u32 = 32;
1204pub const EF_SHARES_ALL_BLOCKS: u32 = 64;
1205pub const UTIME_NOW: i32 = -1;
1206pub const UTIME_OMIT: i32 = -2;
1207pub const G_TYPE_FUNDAMENTAL_SHIFT: u32 = 2;
1208pub const G_TYPE_FUNDAMENTAL_MAX: u32 = 1020;
1209pub const G_TYPE_RESERVED_GLIB_FIRST: u32 = 22;
1210pub const G_TYPE_RESERVED_GLIB_LAST: u32 = 31;
1211pub const G_TYPE_RESERVED_BSE_FIRST: u32 = 32;
1212pub const G_TYPE_RESERVED_BSE_LAST: u32 = 48;
1213pub const G_TYPE_RESERVED_USER_FIRST: u32 = 49;
1214pub const G_VALUE_NOCOPY_CONTENTS: u32 = 134217728;
1215pub const G_PARAM_MASK: u32 = 255;
1216pub const G_PARAM_USER_SHIFT: u32 = 8;
1217pub const G_SIGNAL_FLAGS_MASK: u32 = 511;
1218pub const G_SIGNAL_MATCH_MASK: u32 = 63;
1219pub const _POSIX_VERSION: u32 = 200112;
1220pub const _POSIX2_VERSION: u32 = 200112;
1221pub const F_OK: u32 = 0;
1222pub const X_OK: u32 = 1;
1223pub const W_OK: u32 = 2;
1224pub const R_OK: u32 = 4;
1225pub const _READ_OK: u32 = 512;
1226pub const _WRITE_OK: u32 = 1024;
1227pub const _EXECUTE_OK: u32 = 2048;
1228pub const _DELETE_OK: u32 = 4096;
1229pub const _APPEND_OK: u32 = 8192;
1230pub const _RMFILE_OK: u32 = 16384;
1231pub const _RATTR_OK: u32 = 32768;
1232pub const _WATTR_OK: u32 = 65536;
1233pub const _REXT_OK: u32 = 131072;
1234pub const _WEXT_OK: u32 = 262144;
1235pub const _RPERM_OK: u32 = 524288;
1236pub const _WPERM_OK: u32 = 1048576;
1237pub const _CHOWN_OK: u32 = 2097152;
1238pub const _ACCESS_EXTENDED_MASK: u32 = 4193792;
1239pub const L_SET: u32 = 0;
1240pub const L_INCR: u32 = 1;
1241pub const L_XTND: u32 = 2;
1242pub const ACCESSX_MAX_DESCRIPTORS: u32 = 100;
1243pub const ACCESSX_MAX_TABLESIZE: u32 = 16384;
1244pub const _PC_LINK_MAX: u32 = 1;
1245pub const _PC_MAX_CANON: u32 = 2;
1246pub const _PC_MAX_INPUT: u32 = 3;
1247pub const _PC_NAME_MAX: u32 = 4;
1248pub const _PC_PATH_MAX: u32 = 5;
1249pub const _PC_PIPE_BUF: u32 = 6;
1250pub const _PC_CHOWN_RESTRICTED: u32 = 7;
1251pub const _PC_NO_TRUNC: u32 = 8;
1252pub const _PC_VDISABLE: u32 = 9;
1253pub const _PC_NAME_CHARS_MAX: u32 = 10;
1254pub const _PC_CASE_SENSITIVE: u32 = 11;
1255pub const _PC_CASE_PRESERVING: u32 = 12;
1256pub const _PC_EXTENDED_SECURITY_NP: u32 = 13;
1257pub const _PC_AUTH_OPAQUE_NP: u32 = 14;
1258pub const _PC_2_SYMLINKS: u32 = 15;
1259pub const _PC_ALLOC_SIZE_MIN: u32 = 16;
1260pub const _PC_ASYNC_IO: u32 = 17;
1261pub const _PC_FILESIZEBITS: u32 = 18;
1262pub const _PC_PRIO_IO: u32 = 19;
1263pub const _PC_REC_INCR_XFER_SIZE: u32 = 20;
1264pub const _PC_REC_MAX_XFER_SIZE: u32 = 21;
1265pub const _PC_REC_MIN_XFER_SIZE: u32 = 22;
1266pub const _PC_REC_XFER_ALIGN: u32 = 23;
1267pub const _PC_SYMLINK_MAX: u32 = 24;
1268pub const _PC_SYNC_IO: u32 = 25;
1269pub const _PC_XATTR_SIZE_BITS: u32 = 26;
1270pub const _PC_MIN_HOLE_SIZE: u32 = 27;
1271pub const _CS_PATH: u32 = 1;
1272pub const STDIN_FILENO: u32 = 0;
1273pub const STDOUT_FILENO: u32 = 1;
1274pub const STDERR_FILENO: u32 = 2;
1275pub const _XOPEN_VERSION: u32 = 600;
1276pub const _XOPEN_XCU_VERSION: u32 = 4;
1277pub const _POSIX_ADVISORY_INFO: i32 = -1;
1278pub const _POSIX_ASYNCHRONOUS_IO: i32 = -1;
1279pub const _POSIX_BARRIERS: i32 = -1;
1280pub const _POSIX_CHOWN_RESTRICTED: u32 = 200112;
1281pub const _POSIX_CLOCK_SELECTION: i32 = -1;
1282pub const _POSIX_CPUTIME: i32 = -1;
1283pub const _POSIX_FSYNC: u32 = 200112;
1284pub const _POSIX_IPV6: u32 = 200112;
1285pub const _POSIX_JOB_CONTROL: u32 = 200112;
1286pub const _POSIX_MAPPED_FILES: u32 = 200112;
1287pub const _POSIX_MEMLOCK: i32 = -1;
1288pub const _POSIX_MEMLOCK_RANGE: i32 = -1;
1289pub const _POSIX_MEMORY_PROTECTION: u32 = 200112;
1290pub const _POSIX_MESSAGE_PASSING: i32 = -1;
1291pub const _POSIX_MONOTONIC_CLOCK: i32 = -1;
1292pub const _POSIX_NO_TRUNC: u32 = 200112;
1293pub const _POSIX_PRIORITIZED_IO: i32 = -1;
1294pub const _POSIX_PRIORITY_SCHEDULING: i32 = -1;
1295pub const _POSIX_RAW_SOCKETS: i32 = -1;
1296pub const _POSIX_READER_WRITER_LOCKS: u32 = 200112;
1297pub const _POSIX_REALTIME_SIGNALS: i32 = -1;
1298pub const _POSIX_REGEXP: u32 = 200112;
1299pub const _POSIX_SAVED_IDS: u32 = 200112;
1300pub const _POSIX_SEMAPHORES: i32 = -1;
1301pub const _POSIX_SHARED_MEMORY_OBJECTS: i32 = -1;
1302pub const _POSIX_SHELL: u32 = 200112;
1303pub const _POSIX_SPAWN: u32 = 200112;
1304pub const _POSIX_SPIN_LOCKS: i32 = -1;
1305pub const _POSIX_SPORADIC_SERVER: i32 = -1;
1306pub const _POSIX_SYNCHRONIZED_IO: i32 = -1;
1307pub const _POSIX_THREAD_ATTR_STACKADDR: u32 = 200112;
1308pub const _POSIX_THREAD_ATTR_STACKSIZE: u32 = 200112;
1309pub const _POSIX_THREAD_CPUTIME: i32 = -1;
1310pub const _POSIX_THREAD_PRIO_INHERIT: i32 = -1;
1311pub const _POSIX_THREAD_PRIO_PROTECT: i32 = -1;
1312pub const _POSIX_THREAD_PRIORITY_SCHEDULING: i32 = -1;
1313pub const _POSIX_THREAD_PROCESS_SHARED: u32 = 200112;
1314pub const _POSIX_THREAD_SAFE_FUNCTIONS: u32 = 200112;
1315pub const _POSIX_THREAD_SPORADIC_SERVER: i32 = -1;
1316pub const _POSIX_THREADS: u32 = 200112;
1317pub const _POSIX_TIMEOUTS: i32 = -1;
1318pub const _POSIX_TIMERS: i32 = -1;
1319pub const _POSIX_TRACE: i32 = -1;
1320pub const _POSIX_TRACE_EVENT_FILTER: i32 = -1;
1321pub const _POSIX_TRACE_INHERIT: i32 = -1;
1322pub const _POSIX_TRACE_LOG: i32 = -1;
1323pub const _POSIX_TYPED_MEMORY_OBJECTS: i32 = -1;
1324pub const _POSIX2_C_BIND: u32 = 200112;
1325pub const _POSIX2_C_DEV: u32 = 200112;
1326pub const _POSIX2_CHAR_TERM: u32 = 200112;
1327pub const _POSIX2_FORT_DEV: i32 = -1;
1328pub const _POSIX2_FORT_RUN: u32 = 200112;
1329pub const _POSIX2_LOCALEDEF: u32 = 200112;
1330pub const _POSIX2_PBS: i32 = -1;
1331pub const _POSIX2_PBS_ACCOUNTING: i32 = -1;
1332pub const _POSIX2_PBS_CHECKPOINT: i32 = -1;
1333pub const _POSIX2_PBS_LOCATE: i32 = -1;
1334pub const _POSIX2_PBS_MESSAGE: i32 = -1;
1335pub const _POSIX2_PBS_TRACK: i32 = -1;
1336pub const _POSIX2_SW_DEV: u32 = 200112;
1337pub const _POSIX2_UPE: u32 = 200112;
1338pub const __ILP32_OFF32: i32 = -1;
1339pub const __ILP32_OFFBIG: i32 = -1;
1340pub const __LP64_OFF64: u32 = 1;
1341pub const __LPBIG_OFFBIG: u32 = 1;
1342pub const _POSIX_V6_ILP32_OFF32: i32 = -1;
1343pub const _POSIX_V6_ILP32_OFFBIG: i32 = -1;
1344pub const _POSIX_V6_LP64_OFF64: u32 = 1;
1345pub const _POSIX_V6_LPBIG_OFFBIG: u32 = 1;
1346pub const _POSIX_V7_ILP32_OFF32: i32 = -1;
1347pub const _POSIX_V7_ILP32_OFFBIG: i32 = -1;
1348pub const _POSIX_V7_LP64_OFF64: u32 = 1;
1349pub const _POSIX_V7_LPBIG_OFFBIG: u32 = 1;
1350pub const _V6_ILP32_OFF32: i32 = -1;
1351pub const _V6_ILP32_OFFBIG: i32 = -1;
1352pub const _V6_LP64_OFF64: u32 = 1;
1353pub const _V6_LPBIG_OFFBIG: u32 = 1;
1354pub const _XBS5_ILP32_OFF32: i32 = -1;
1355pub const _XBS5_ILP32_OFFBIG: i32 = -1;
1356pub const _XBS5_LP64_OFF64: u32 = 1;
1357pub const _XBS5_LPBIG_OFFBIG: u32 = 1;
1358pub const _XOPEN_CRYPT: u32 = 1;
1359pub const _XOPEN_ENH_I18N: u32 = 1;
1360pub const _XOPEN_LEGACY: i32 = -1;
1361pub const _XOPEN_REALTIME: i32 = -1;
1362pub const _XOPEN_REALTIME_THREADS: i32 = -1;
1363pub const _XOPEN_SHM: u32 = 1;
1364pub const _XOPEN_STREAMS: i32 = -1;
1365pub const _XOPEN_UNIX: u32 = 1;
1366pub const _SC_ARG_MAX: u32 = 1;
1367pub const _SC_CHILD_MAX: u32 = 2;
1368pub const _SC_CLK_TCK: u32 = 3;
1369pub const _SC_NGROUPS_MAX: u32 = 4;
1370pub const _SC_OPEN_MAX: u32 = 5;
1371pub const _SC_JOB_CONTROL: u32 = 6;
1372pub const _SC_SAVED_IDS: u32 = 7;
1373pub const _SC_VERSION: u32 = 8;
1374pub const _SC_BC_BASE_MAX: u32 = 9;
1375pub const _SC_BC_DIM_MAX: u32 = 10;
1376pub const _SC_BC_SCALE_MAX: u32 = 11;
1377pub const _SC_BC_STRING_MAX: u32 = 12;
1378pub const _SC_COLL_WEIGHTS_MAX: u32 = 13;
1379pub const _SC_EXPR_NEST_MAX: u32 = 14;
1380pub const _SC_LINE_MAX: u32 = 15;
1381pub const _SC_RE_DUP_MAX: u32 = 16;
1382pub const _SC_2_VERSION: u32 = 17;
1383pub const _SC_2_C_BIND: u32 = 18;
1384pub const _SC_2_C_DEV: u32 = 19;
1385pub const _SC_2_CHAR_TERM: u32 = 20;
1386pub const _SC_2_FORT_DEV: u32 = 21;
1387pub const _SC_2_FORT_RUN: u32 = 22;
1388pub const _SC_2_LOCALEDEF: u32 = 23;
1389pub const _SC_2_SW_DEV: u32 = 24;
1390pub const _SC_2_UPE: u32 = 25;
1391pub const _SC_STREAM_MAX: u32 = 26;
1392pub const _SC_TZNAME_MAX: u32 = 27;
1393pub const _SC_ASYNCHRONOUS_IO: u32 = 28;
1394pub const _SC_PAGESIZE: u32 = 29;
1395pub const _SC_MEMLOCK: u32 = 30;
1396pub const _SC_MEMLOCK_RANGE: u32 = 31;
1397pub const _SC_MEMORY_PROTECTION: u32 = 32;
1398pub const _SC_MESSAGE_PASSING: u32 = 33;
1399pub const _SC_PRIORITIZED_IO: u32 = 34;
1400pub const _SC_PRIORITY_SCHEDULING: u32 = 35;
1401pub const _SC_REALTIME_SIGNALS: u32 = 36;
1402pub const _SC_SEMAPHORES: u32 = 37;
1403pub const _SC_FSYNC: u32 = 38;
1404pub const _SC_SHARED_MEMORY_OBJECTS: u32 = 39;
1405pub const _SC_SYNCHRONIZED_IO: u32 = 40;
1406pub const _SC_TIMERS: u32 = 41;
1407pub const _SC_AIO_LISTIO_MAX: u32 = 42;
1408pub const _SC_AIO_MAX: u32 = 43;
1409pub const _SC_AIO_PRIO_DELTA_MAX: u32 = 44;
1410pub const _SC_DELAYTIMER_MAX: u32 = 45;
1411pub const _SC_MQ_OPEN_MAX: u32 = 46;
1412pub const _SC_MAPPED_FILES: u32 = 47;
1413pub const _SC_RTSIG_MAX: u32 = 48;
1414pub const _SC_SEM_NSEMS_MAX: u32 = 49;
1415pub const _SC_SEM_VALUE_MAX: u32 = 50;
1416pub const _SC_SIGQUEUE_MAX: u32 = 51;
1417pub const _SC_TIMER_MAX: u32 = 52;
1418pub const _SC_NPROCESSORS_CONF: u32 = 57;
1419pub const _SC_NPROCESSORS_ONLN: u32 = 58;
1420pub const _SC_2_PBS: u32 = 59;
1421pub const _SC_2_PBS_ACCOUNTING: u32 = 60;
1422pub const _SC_2_PBS_CHECKPOINT: u32 = 61;
1423pub const _SC_2_PBS_LOCATE: u32 = 62;
1424pub const _SC_2_PBS_MESSAGE: u32 = 63;
1425pub const _SC_2_PBS_TRACK: u32 = 64;
1426pub const _SC_ADVISORY_INFO: u32 = 65;
1427pub const _SC_BARRIERS: u32 = 66;
1428pub const _SC_CLOCK_SELECTION: u32 = 67;
1429pub const _SC_CPUTIME: u32 = 68;
1430pub const _SC_FILE_LOCKING: u32 = 69;
1431pub const _SC_GETGR_R_SIZE_MAX: u32 = 70;
1432pub const _SC_GETPW_R_SIZE_MAX: u32 = 71;
1433pub const _SC_HOST_NAME_MAX: u32 = 72;
1434pub const _SC_LOGIN_NAME_MAX: u32 = 73;
1435pub const _SC_MONOTONIC_CLOCK: u32 = 74;
1436pub const _SC_MQ_PRIO_MAX: u32 = 75;
1437pub const _SC_READER_WRITER_LOCKS: u32 = 76;
1438pub const _SC_REGEXP: u32 = 77;
1439pub const _SC_SHELL: u32 = 78;
1440pub const _SC_SPAWN: u32 = 79;
1441pub const _SC_SPIN_LOCKS: u32 = 80;
1442pub const _SC_SPORADIC_SERVER: u32 = 81;
1443pub const _SC_THREAD_ATTR_STACKADDR: u32 = 82;
1444pub const _SC_THREAD_ATTR_STACKSIZE: u32 = 83;
1445pub const _SC_THREAD_CPUTIME: u32 = 84;
1446pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: u32 = 85;
1447pub const _SC_THREAD_KEYS_MAX: u32 = 86;
1448pub const _SC_THREAD_PRIO_INHERIT: u32 = 87;
1449pub const _SC_THREAD_PRIO_PROTECT: u32 = 88;
1450pub const _SC_THREAD_PRIORITY_SCHEDULING: u32 = 89;
1451pub const _SC_THREAD_PROCESS_SHARED: u32 = 90;
1452pub const _SC_THREAD_SAFE_FUNCTIONS: u32 = 91;
1453pub const _SC_THREAD_SPORADIC_SERVER: u32 = 92;
1454pub const _SC_THREAD_STACK_MIN: u32 = 93;
1455pub const _SC_THREAD_THREADS_MAX: u32 = 94;
1456pub const _SC_TIMEOUTS: u32 = 95;
1457pub const _SC_THREADS: u32 = 96;
1458pub const _SC_TRACE: u32 = 97;
1459pub const _SC_TRACE_EVENT_FILTER: u32 = 98;
1460pub const _SC_TRACE_INHERIT: u32 = 99;
1461pub const _SC_TRACE_LOG: u32 = 100;
1462pub const _SC_TTY_NAME_MAX: u32 = 101;
1463pub const _SC_TYPED_MEMORY_OBJECTS: u32 = 102;
1464pub const _SC_V6_ILP32_OFF32: u32 = 103;
1465pub const _SC_V6_ILP32_OFFBIG: u32 = 104;
1466pub const _SC_V6_LP64_OFF64: u32 = 105;
1467pub const _SC_V6_LPBIG_OFFBIG: u32 = 106;
1468pub const _SC_IPV6: u32 = 118;
1469pub const _SC_RAW_SOCKETS: u32 = 119;
1470pub const _SC_SYMLOOP_MAX: u32 = 120;
1471pub const _SC_ATEXIT_MAX: u32 = 107;
1472pub const _SC_IOV_MAX: u32 = 56;
1473pub const _SC_PAGE_SIZE: u32 = 29;
1474pub const _SC_XOPEN_CRYPT: u32 = 108;
1475pub const _SC_XOPEN_ENH_I18N: u32 = 109;
1476pub const _SC_XOPEN_LEGACY: u32 = 110;
1477pub const _SC_XOPEN_REALTIME: u32 = 111;
1478pub const _SC_XOPEN_REALTIME_THREADS: u32 = 112;
1479pub const _SC_XOPEN_SHM: u32 = 113;
1480pub const _SC_XOPEN_STREAMS: u32 = 114;
1481pub const _SC_XOPEN_UNIX: u32 = 115;
1482pub const _SC_XOPEN_VERSION: u32 = 116;
1483pub const _SC_XOPEN_XCU_VERSION: u32 = 121;
1484pub const _SC_XBS5_ILP32_OFF32: u32 = 122;
1485pub const _SC_XBS5_ILP32_OFFBIG: u32 = 123;
1486pub const _SC_XBS5_LP64_OFF64: u32 = 124;
1487pub const _SC_XBS5_LPBIG_OFFBIG: u32 = 125;
1488pub const _SC_SS_REPL_MAX: u32 = 126;
1489pub const _SC_TRACE_EVENT_NAME_MAX: u32 = 127;
1490pub const _SC_TRACE_NAME_MAX: u32 = 128;
1491pub const _SC_TRACE_SYS_MAX: u32 = 129;
1492pub const _SC_TRACE_USER_EVENT_MAX: u32 = 130;
1493pub const _SC_PASS_MAX: u32 = 131;
1494pub const _SC_PHYS_PAGES: u32 = 200;
1495pub const _CS_POSIX_V6_ILP32_OFF32_CFLAGS: u32 = 2;
1496pub const _CS_POSIX_V6_ILP32_OFF32_LDFLAGS: u32 = 3;
1497pub const _CS_POSIX_V6_ILP32_OFF32_LIBS: u32 = 4;
1498pub const _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS: u32 = 5;
1499pub const _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS: u32 = 6;
1500pub const _CS_POSIX_V6_ILP32_OFFBIG_LIBS: u32 = 7;
1501pub const _CS_POSIX_V6_LP64_OFF64_CFLAGS: u32 = 8;
1502pub const _CS_POSIX_V6_LP64_OFF64_LDFLAGS: u32 = 9;
1503pub const _CS_POSIX_V6_LP64_OFF64_LIBS: u32 = 10;
1504pub const _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS: u32 = 11;
1505pub const _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS: u32 = 12;
1506pub const _CS_POSIX_V6_LPBIG_OFFBIG_LIBS: u32 = 13;
1507pub const _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS: u32 = 14;
1508pub const _CS_XBS5_ILP32_OFF32_CFLAGS: u32 = 20;
1509pub const _CS_XBS5_ILP32_OFF32_LDFLAGS: u32 = 21;
1510pub const _CS_XBS5_ILP32_OFF32_LIBS: u32 = 22;
1511pub const _CS_XBS5_ILP32_OFF32_LINTFLAGS: u32 = 23;
1512pub const _CS_XBS5_ILP32_OFFBIG_CFLAGS: u32 = 24;
1513pub const _CS_XBS5_ILP32_OFFBIG_LDFLAGS: u32 = 25;
1514pub const _CS_XBS5_ILP32_OFFBIG_LIBS: u32 = 26;
1515pub const _CS_XBS5_ILP32_OFFBIG_LINTFLAGS: u32 = 27;
1516pub const _CS_XBS5_LP64_OFF64_CFLAGS: u32 = 28;
1517pub const _CS_XBS5_LP64_OFF64_LDFLAGS: u32 = 29;
1518pub const _CS_XBS5_LP64_OFF64_LIBS: u32 = 30;
1519pub const _CS_XBS5_LP64_OFF64_LINTFLAGS: u32 = 31;
1520pub const _CS_XBS5_LPBIG_OFFBIG_CFLAGS: u32 = 32;
1521pub const _CS_XBS5_LPBIG_OFFBIG_LDFLAGS: u32 = 33;
1522pub const _CS_XBS5_LPBIG_OFFBIG_LIBS: u32 = 34;
1523pub const _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS: u32 = 35;
1524pub const _CS_DARWIN_USER_DIR: u32 = 65536;
1525pub const _CS_DARWIN_USER_TEMP_DIR: u32 = 65537;
1526pub const _CS_DARWIN_USER_CACHE_DIR: u32 = 65538;
1527pub const F_ULOCK: u32 = 0;
1528pub const F_LOCK: u32 = 1;
1529pub const F_TLOCK: u32 = 2;
1530pub const F_TEST: u32 = 3;
1531pub const SYNC_VOLUME_FULLSYNC: u32 = 1;
1532pub const SYNC_VOLUME_WAIT: u32 = 2;
1533pub const G_DEBUG_CONTROLLER_EXTENSION_POINT_NAME: &[u8; 21] = b"gio-debug-controller\0";
1534pub const G_DRIVE_IDENTIFIER_KIND_UNIX_DEVICE: &[u8; 12] = b"unix-device\0";
1535pub const G_FILE_ATTRIBUTE_STANDARD_TYPE: &[u8; 15] = b"standard::type\0";
1536pub const G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN: &[u8; 20] = b"standard::is-hidden\0";
1537pub const G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP: &[u8; 20] = b"standard::is-backup\0";
1538pub const G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK: &[u8; 21] = b"standard::is-symlink\0";
1539pub const G_FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL: &[u8; 21] = b"standard::is-virtual\0";
1540pub const G_FILE_ATTRIBUTE_STANDARD_IS_VOLATILE: &[u8; 22] = b"standard::is-volatile\0";
1541pub const G_FILE_ATTRIBUTE_STANDARD_NAME: &[u8; 15] = b"standard::name\0";
1542pub const G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME: &[u8; 23] = b"standard::display-name\0";
1543pub const G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME: &[u8; 20] = b"standard::edit-name\0";
1544pub const G_FILE_ATTRIBUTE_STANDARD_COPY_NAME: &[u8; 20] = b"standard::copy-name\0";
1545pub const G_FILE_ATTRIBUTE_STANDARD_DESCRIPTION: &[u8; 22] = b"standard::description\0";
1546pub const G_FILE_ATTRIBUTE_STANDARD_ICON: &[u8; 15] = b"standard::icon\0";
1547pub const G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON: &[u8; 24] = b"standard::symbolic-icon\0";
1548pub const G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE: &[u8; 23] = b"standard::content-type\0";
1549pub const G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE: &[u8; 28] = b"standard::fast-content-type\0";
1550pub const G_FILE_ATTRIBUTE_STANDARD_SIZE: &[u8; 15] = b"standard::size\0";
1551pub const G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE: &[u8; 25] = b"standard::allocated-size\0";
1552pub const G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET: &[u8; 25] = b"standard::symlink-target\0";
1553pub const G_FILE_ATTRIBUTE_STANDARD_TARGET_URI: &[u8; 21] = b"standard::target-uri\0";
1554pub const G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER: &[u8; 21] = b"standard::sort-order\0";
1555pub const G_FILE_ATTRIBUTE_ETAG_VALUE: &[u8; 12] = b"etag::value\0";
1556pub const G_FILE_ATTRIBUTE_ID_FILE: &[u8; 9] = b"id::file\0";
1557pub const G_FILE_ATTRIBUTE_ID_FILESYSTEM: &[u8; 15] = b"id::filesystem\0";
1558pub const G_FILE_ATTRIBUTE_ACCESS_CAN_READ: &[u8; 17] = b"access::can-read\0";
1559pub const G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE: &[u8; 18] = b"access::can-write\0";
1560pub const G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE: &[u8; 20] = b"access::can-execute\0";
1561pub const G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE: &[u8; 19] = b"access::can-delete\0";
1562pub const G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH: &[u8; 18] = b"access::can-trash\0";
1563pub const G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME: &[u8; 19] = b"access::can-rename\0";
1564pub const G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT: &[u8; 21] = b"mountable::can-mount\0";
1565pub const G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT: &[u8; 23] = b"mountable::can-unmount\0";
1566pub const G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT: &[u8; 21] = b"mountable::can-eject\0";
1567pub const G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE: &[u8; 23] = b"mountable::unix-device\0";
1568pub const G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE: &[u8; 28] = b"mountable::unix-device-file\0";
1569pub const G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI: &[u8; 19] = b"mountable::hal-udi\0";
1570pub const G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START: &[u8; 21] = b"mountable::can-start\0";
1571pub const G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED: &[u8; 30] =
1572    b"mountable::can-start-degraded\0";
1573pub const G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP: &[u8; 20] = b"mountable::can-stop\0";
1574pub const G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE: &[u8; 27] = b"mountable::start-stop-type\0";
1575pub const G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL: &[u8; 20] = b"mountable::can-poll\0";
1576pub const G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC: &[u8; 36] =
1577    b"mountable::is-media-check-automatic\0";
1578pub const G_FILE_ATTRIBUTE_TIME_MODIFIED: &[u8; 15] = b"time::modified\0";
1579pub const G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC: &[u8; 20] = b"time::modified-usec\0";
1580pub const G_FILE_ATTRIBUTE_TIME_MODIFIED_NSEC: &[u8; 20] = b"time::modified-nsec\0";
1581pub const G_FILE_ATTRIBUTE_TIME_ACCESS: &[u8; 13] = b"time::access\0";
1582pub const G_FILE_ATTRIBUTE_TIME_ACCESS_USEC: &[u8; 18] = b"time::access-usec\0";
1583pub const G_FILE_ATTRIBUTE_TIME_ACCESS_NSEC: &[u8; 18] = b"time::access-nsec\0";
1584pub const G_FILE_ATTRIBUTE_TIME_CHANGED: &[u8; 14] = b"time::changed\0";
1585pub const G_FILE_ATTRIBUTE_TIME_CHANGED_USEC: &[u8; 19] = b"time::changed-usec\0";
1586pub const G_FILE_ATTRIBUTE_TIME_CHANGED_NSEC: &[u8; 19] = b"time::changed-nsec\0";
1587pub const G_FILE_ATTRIBUTE_TIME_CREATED: &[u8; 14] = b"time::created\0";
1588pub const G_FILE_ATTRIBUTE_TIME_CREATED_USEC: &[u8; 19] = b"time::created-usec\0";
1589pub const G_FILE_ATTRIBUTE_TIME_CREATED_NSEC: &[u8; 19] = b"time::created-nsec\0";
1590pub const G_FILE_ATTRIBUTE_UNIX_DEVICE: &[u8; 13] = b"unix::device\0";
1591pub const G_FILE_ATTRIBUTE_UNIX_INODE: &[u8; 12] = b"unix::inode\0";
1592pub const G_FILE_ATTRIBUTE_UNIX_MODE: &[u8; 11] = b"unix::mode\0";
1593pub const G_FILE_ATTRIBUTE_UNIX_NLINK: &[u8; 12] = b"unix::nlink\0";
1594pub const G_FILE_ATTRIBUTE_UNIX_UID: &[u8; 10] = b"unix::uid\0";
1595pub const G_FILE_ATTRIBUTE_UNIX_GID: &[u8; 10] = b"unix::gid\0";
1596pub const G_FILE_ATTRIBUTE_UNIX_RDEV: &[u8; 11] = b"unix::rdev\0";
1597pub const G_FILE_ATTRIBUTE_UNIX_BLOCK_SIZE: &[u8; 17] = b"unix::block-size\0";
1598pub const G_FILE_ATTRIBUTE_UNIX_BLOCKS: &[u8; 13] = b"unix::blocks\0";
1599pub const G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT: &[u8; 20] = b"unix::is-mountpoint\0";
1600pub const G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE: &[u8; 16] = b"dos::is-archive\0";
1601pub const G_FILE_ATTRIBUTE_DOS_IS_SYSTEM: &[u8; 15] = b"dos::is-system\0";
1602pub const G_FILE_ATTRIBUTE_DOS_IS_MOUNTPOINT: &[u8; 19] = b"dos::is-mountpoint\0";
1603pub const G_FILE_ATTRIBUTE_DOS_REPARSE_POINT_TAG: &[u8; 23] = b"dos::reparse-point-tag\0";
1604pub const G_FILE_ATTRIBUTE_OWNER_USER: &[u8; 12] = b"owner::user\0";
1605pub const G_FILE_ATTRIBUTE_OWNER_USER_REAL: &[u8; 17] = b"owner::user-real\0";
1606pub const G_FILE_ATTRIBUTE_OWNER_GROUP: &[u8; 13] = b"owner::group\0";
1607pub const G_FILE_ATTRIBUTE_THUMBNAIL_PATH: &[u8; 16] = b"thumbnail::path\0";
1608pub const G_FILE_ATTRIBUTE_THUMBNAILING_FAILED: &[u8; 18] = b"thumbnail::failed\0";
1609pub const G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID: &[u8; 20] = b"thumbnail::is-valid\0";
1610pub const G_FILE_ATTRIBUTE_THUMBNAIL_PATH_NORMAL: &[u8; 23] = b"thumbnail::path-normal\0";
1611pub const G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_NORMAL: &[u8; 25] = b"thumbnail::failed-normal\0";
1612pub const G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_NORMAL: &[u8; 27] = b"thumbnail::is-valid-normal\0";
1613pub const G_FILE_ATTRIBUTE_THUMBNAIL_PATH_LARGE: &[u8; 22] = b"thumbnail::path-large\0";
1614pub const G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_LARGE: &[u8; 24] = b"thumbnail::failed-large\0";
1615pub const G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_LARGE: &[u8; 26] = b"thumbnail::is-valid-large\0";
1616pub const G_FILE_ATTRIBUTE_THUMBNAIL_PATH_XLARGE: &[u8; 23] = b"thumbnail::path-xlarge\0";
1617pub const G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_XLARGE: &[u8; 25] = b"thumbnail::failed-xlarge\0";
1618pub const G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_XLARGE: &[u8; 27] = b"thumbnail::is-valid-xlarge\0";
1619pub const G_FILE_ATTRIBUTE_THUMBNAIL_PATH_XXLARGE: &[u8; 24] = b"thumbnail::path-xxlarge\0";
1620pub const G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_XXLARGE: &[u8; 26] = b"thumbnail::failed-xxlarge\0";
1621pub const G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_XXLARGE: &[u8; 28] = b"thumbnail::is-valid-xxlarge\0";
1622pub const G_FILE_ATTRIBUTE_PREVIEW_ICON: &[u8; 14] = b"preview::icon\0";
1623pub const G_FILE_ATTRIBUTE_FILESYSTEM_SIZE: &[u8; 17] = b"filesystem::size\0";
1624pub const G_FILE_ATTRIBUTE_FILESYSTEM_FREE: &[u8; 17] = b"filesystem::free\0";
1625pub const G_FILE_ATTRIBUTE_FILESYSTEM_USED: &[u8; 17] = b"filesystem::used\0";
1626pub const G_FILE_ATTRIBUTE_FILESYSTEM_TYPE: &[u8; 17] = b"filesystem::type\0";
1627pub const G_FILE_ATTRIBUTE_FILESYSTEM_READONLY: &[u8; 21] = b"filesystem::readonly\0";
1628pub const G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW: &[u8; 24] = b"filesystem::use-preview\0";
1629pub const G_FILE_ATTRIBUTE_FILESYSTEM_REMOTE: &[u8; 19] = b"filesystem::remote\0";
1630pub const G_FILE_ATTRIBUTE_GVFS_BACKEND: &[u8; 14] = b"gvfs::backend\0";
1631pub const G_FILE_ATTRIBUTE_SELINUX_CONTEXT: &[u8; 17] = b"selinux::context\0";
1632pub const G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT: &[u8; 18] = b"trash::item-count\0";
1633pub const G_FILE_ATTRIBUTE_TRASH_ORIG_PATH: &[u8; 17] = b"trash::orig-path\0";
1634pub const G_FILE_ATTRIBUTE_TRASH_DELETION_DATE: &[u8; 21] = b"trash::deletion-date\0";
1635pub const G_FILE_ATTRIBUTE_RECENT_MODIFIED: &[u8; 17] = b"recent::modified\0";
1636pub const G_MEMORY_MONITOR_EXTENSION_POINT_NAME: &[u8; 19] = b"gio-memory-monitor\0";
1637pub const G_MENU_ATTRIBUTE_ACTION: &[u8; 7] = b"action\0";
1638pub const G_MENU_ATTRIBUTE_ACTION_NAMESPACE: &[u8; 17] = b"action-namespace\0";
1639pub const G_MENU_ATTRIBUTE_TARGET: &[u8; 7] = b"target\0";
1640pub const G_MENU_ATTRIBUTE_LABEL: &[u8; 6] = b"label\0";
1641pub const G_MENU_ATTRIBUTE_ICON: &[u8; 5] = b"icon\0";
1642pub const G_MENU_LINK_SUBMENU: &[u8; 8] = b"submenu\0";
1643pub const G_MENU_LINK_SECTION: &[u8; 8] = b"section\0";
1644pub const G_VOLUME_MONITOR_EXTENSION_POINT_NAME: &[u8; 19] = b"gio-volume-monitor\0";
1645pub const G_NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME: &[u8; 26] = b"gio-native-volume-monitor\0";
1646pub const G_NETWORK_MONITOR_EXTENSION_POINT_NAME: &[u8; 20] = b"gio-network-monitor\0";
1647pub const G_POWER_PROFILE_MONITOR_EXTENSION_POINT_NAME: &[u8; 26] = b"gio-power-profile-monitor\0";
1648pub const G_PROXY_EXTENSION_POINT_NAME: &[u8; 10] = b"gio-proxy\0";
1649pub const G_PROXY_RESOLVER_EXTENSION_POINT_NAME: &[u8; 19] = b"gio-proxy-resolver\0";
1650pub const G_TLS_BACKEND_EXTENSION_POINT_NAME: &[u8; 16] = b"gio-tls-backend\0";
1651pub const G_TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER: &[u8; 18] = b"1.3.6.1.5.5.7.3.1\0";
1652pub const G_TLS_DATABASE_PURPOSE_AUTHENTICATE_CLIENT: &[u8; 18] = b"1.3.6.1.5.5.7.3.2\0";
1653pub const G_VFS_EXTENSION_POINT_NAME: &[u8; 8] = b"gio-vfs\0";
1654pub const G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE: &[u8; 12] = b"unix-device\0";
1655pub const G_VOLUME_IDENTIFIER_KIND_LABEL: &[u8; 6] = b"label\0";
1656pub const G_VOLUME_IDENTIFIER_KIND_UUID: &[u8; 5] = b"uuid\0";
1657pub const G_VOLUME_IDENTIFIER_KIND_NFS_MOUNT: &[u8; 10] = b"nfs-mount\0";
1658pub const G_VOLUME_IDENTIFIER_KIND_CLASS: &[u8; 6] = b"class\0";
1659pub const FP_SUPERNORMAL: u32 = 6;
1660pub const FP_FAST_FMA: u32 = 1;
1661pub const FP_FAST_FMAF: u32 = 1;
1662pub const FP_FAST_FMAL: u32 = 1;
1663pub const FP_ILOGB0: i32 = -2147483648;
1664pub const FP_ILOGBNAN: i32 = -2147483648;
1665pub const MATH_ERRNO: u32 = 1;
1666pub const MATH_ERREXCEPT: u32 = 2;
1667pub const M_E: f64 = 2.718281828459045;
1668pub const M_LOG2E: f64 = 1.4426950408889634;
1669pub const M_LOG10E: f64 = 0.4342944819032518;
1670pub const M_LN2: f64 = 0.6931471805599453;
1671pub const M_LN10: f64 = 2.302585092994046;
1672pub const M_PI: f64 = 3.141592653589793;
1673pub const M_PI_2: f64 = 1.5707963267948966;
1674pub const M_PI_4: f64 = 0.7853981633974483;
1675pub const M_1_PI: f64 = 0.3183098861837907;
1676pub const M_2_PI: f64 = 0.6366197723675814;
1677pub const M_2_SQRTPI: f64 = 1.1283791670955126;
1678pub const M_SQRT2: f64 = 1.4142135623730951;
1679pub const M_SQRT1_2: f64 = 0.7071067811865476;
1680pub const FP_SNAN: u32 = 1;
1681pub const FP_QNAN: u32 = 1;
1682pub const DOMAIN: u32 = 1;
1683pub const SING: u32 = 2;
1684pub const OVERFLOW: u32 = 3;
1685pub const UNDERFLOW: u32 = 4;
1686pub const TLOSS: u32 = 5;
1687pub const PLOSS: u32 = 6;
1688pub const VIPS_PI: f64 = 3.141592653589793;
1689pub const VIPS_PATH_MAX: u32 = 4096;
1690pub const VIPS_TARGET_BUFFER_SIZE: u32 = 8500;
1691pub const VIPS_TARGET_CUSTOM_BUFFER_SIZE: u32 = 4096;
1692pub const VIPS_SBUF_BUFFER_SIZE: u32 = 4096;
1693pub const VIPS_VERSION: &[u8; 7] = b"8.15.1\0";
1694pub const VIPS_VERSION_STRING: &[u8; 7] = b"8.15.1\0";
1695pub const VIPS_MAJOR_VERSION: u32 = 8;
1696pub const VIPS_MINOR_VERSION: u32 = 15;
1697pub const VIPS_MICRO_VERSION: u32 = 1;
1698pub const VIPS_LIBRARY_CURRENT: u32 = 59;
1699pub const VIPS_LIBRARY_REVISION: u32 = 1;
1700pub const VIPS_LIBRARY_AGE: u32 = 17;
1701pub const VIPS_CONFIG : & [u8 ; 1291] = b"enable debug: false\nenable deprecated: true\nenable modules: true\nenable cplusplus: true\nenable RAD load/save: true\nenable Analyze7 load/save: true\nenable PPM load/save: true\nenable GIF load: true\nuse fftw for FFTs: true\nSIMD support with highway: true\naccelerate loops with ORC: false\nICC profile support with lcms: true\nzlib: true\ntext rendering with pangocairo: true\nfont file support with fontconfig: true\nEXIF metadata support with libexif: true\nJPEG load/save with libjpeg: true\nJXL load/save with libjxl: true (dynamic module: true)\nJPEG2000 load/save with OpenJPEG: true\nPNG load/save with libspng: true\nPNG load/save with libpng: false\nselected quantisation package: imagequant\nTIFF load/save with libtiff: true\nimage pyramid save with libarchive: true\nHEIC/AVIF load/save with libheif: true (dynamic module: true)\nWebP load/save with libwebp: true\nPDF load with PDFium: false\nPDF load with poppler-glib: true (dynamic module: true)\nSVG load with librsvg: true\nEXR load with OpenEXR: true\nOpenSlide load: true (dynamic module: true)\nMatlab load with libmatio: true\nNIfTI load/save with niftiio: false\nFITS load/save with cfitsio: true\nGIF save with cgif: true\nselected Magick package: MagickCore (dynamic module: true)\nMagick API version: magick7\nMagick load: true\nMagick save: true\0" ;
1702pub const VIPS_ENABLE_DEPRECATED: u32 = 1;
1703pub const VIPS_SPARE: u32 = 8;
1704pub const VIPS__WINDOW_MARGIN_PIXELS: u32 = 128;
1705pub const VIPS__WINDOW_MARGIN_BYTES: u32 = 10485760;
1706pub const VIPS_SIZEOF_HEADER: u32 = 64;
1707pub const VIPS__TILE_WIDTH: u32 = 128;
1708pub const VIPS__TILE_HEIGHT: u32 = 128;
1709pub const VIPS__THINSTRIP_HEIGHT: u32 = 1;
1710pub const VIPS__FATSTRIP_HEIGHT: u32 = 16;
1711pub const VIPS_MAGIC_INTEL: u32 = 3064394248;
1712pub const VIPS_MAGIC_SPARC: u32 = 150120118;
1713pub const VIPS_MAX_COORD: u32 = 10000000;
1714pub const VIPS_TRANSFORM_SHIFT: u32 = 6;
1715pub const VIPS_TRANSFORM_SCALE: u32 = 64;
1716pub const VIPS_INTERPOLATE_SHIFT: u32 = 12;
1717pub const VIPS_INTERPOLATE_SCALE: u32 = 4096;
1718pub const VIPS_META_EXIF_NAME: &[u8; 10] = b"exif-data\0";
1719pub const VIPS_META_XMP_NAME: &[u8; 9] = b"xmp-data\0";
1720pub const VIPS_META_IPTC_NAME: &[u8; 10] = b"iptc-data\0";
1721pub const VIPS_META_PHOTOSHOP_NAME: &[u8; 15] = b"photoshop-data\0";
1722pub const VIPS_META_ICC_NAME: &[u8; 17] = b"icc-profile-data\0";
1723pub const VIPS_META_IMAGEDESCRIPTION: &[u8; 18] = b"image-description\0";
1724pub const VIPS_META_RESOLUTION_UNIT: &[u8; 16] = b"resolution-unit\0";
1725pub const VIPS_META_BITS_PER_SAMPLE: &[u8; 16] = b"bits-per-sample\0";
1726pub const VIPS_META_LOADER: &[u8; 12] = b"vips-loader\0";
1727pub const VIPS_META_SEQUENTIAL: &[u8; 16] = b"vips-sequential\0";
1728pub const VIPS_META_ORIENTATION: &[u8; 12] = b"orientation\0";
1729pub const VIPS_META_PAGE_HEIGHT: &[u8; 12] = b"page-height\0";
1730pub const VIPS_META_N_PAGES: &[u8; 8] = b"n-pages\0";
1731pub const VIPS_META_N_SUBIFDS: &[u8; 10] = b"n-subifds\0";
1732pub const VIPS_META_CONCURRENCY: &[u8; 12] = b"concurrency\0";
1733pub const VIPS_D93_X0: f64 = 89.74;
1734pub const VIPS_D93_Y0: f64 = 100.0;
1735pub const VIPS_D93_Z0: f64 = 130.77;
1736pub const VIPS_D75_X0: f64 = 94.9682;
1737pub const VIPS_D75_Y0: f64 = 100.0;
1738pub const VIPS_D75_Z0: f64 = 122.571;
1739pub const VIPS_D65_X0: f64 = 95.047;
1740pub const VIPS_D65_Y0: f64 = 100.0;
1741pub const VIPS_D65_Z0: f64 = 108.8827;
1742pub const VIPS_D55_X0: f64 = 95.6831;
1743pub const VIPS_D55_Y0: f64 = 100.0;
1744pub const VIPS_D55_Z0: f64 = 92.0871;
1745pub const VIPS_D50_X0: f64 = 96.425;
1746pub const VIPS_D50_Y0: f64 = 100.0;
1747pub const VIPS_D50_Z0: f64 = 82.468;
1748pub const VIPS_A_X0: f64 = 109.8503;
1749pub const VIPS_A_Y0: f64 = 100.0;
1750pub const VIPS_A_Z0: f64 = 35.5849;
1751pub const VIPS_B_X0: f64 = 99.072;
1752pub const VIPS_B_Y0: f64 = 100.0;
1753pub const VIPS_B_Z0: f64 = 85.223;
1754pub const VIPS_C_X0: f64 = 98.07;
1755pub const VIPS_C_Y0: f64 = 100.0;
1756pub const VIPS_C_Z0: f64 = 118.23;
1757pub const VIPS_E_X0: f64 = 100.0;
1758pub const VIPS_E_Y0: f64 = 100.0;
1759pub const VIPS_E_Z0: f64 = 100.0;
1760pub const VIPS_D3250_X0: f64 = 105.659;
1761pub const VIPS_D3250_Y0: f64 = 100.0;
1762pub const VIPS_D3250_Z0: f64 = 45.8501;
1763pub type size_t = ::std::os::raw::c_ulong;
1764pub type wchar_t = ::std::os::raw::c_int;
1765pub type gint8 = ::std::os::raw::c_schar;
1766pub type guint8 = ::std::os::raw::c_uchar;
1767pub type gint16 = ::std::os::raw::c_short;
1768pub type guint16 = ::std::os::raw::c_ushort;
1769pub type gint32 = ::std::os::raw::c_int;
1770pub type guint32 = ::std::os::raw::c_uint;
1771pub type gint64 = ::std::os::raw::c_longlong;
1772pub type guint64 = ::std::os::raw::c_ulonglong;
1773pub type gssize = ::std::os::raw::c_long;
1774pub type gsize = ::std::os::raw::c_ulong;
1775pub type goffset = gint64;
1776pub type gintptr = ::std::os::raw::c_long;
1777pub type guintptr = ::std::os::raw::c_ulong;
1778pub type GPid = ::std::os::raw::c_int;
1779pub type __int8_t = ::std::os::raw::c_schar;
1780pub type __uint8_t = ::std::os::raw::c_uchar;
1781pub type __int16_t = ::std::os::raw::c_short;
1782pub type __uint16_t = ::std::os::raw::c_ushort;
1783pub type __int32_t = ::std::os::raw::c_int;
1784pub type __uint32_t = ::std::os::raw::c_uint;
1785pub type __int64_t = ::std::os::raw::c_longlong;
1786pub type __uint64_t = ::std::os::raw::c_ulonglong;
1787pub type __darwin_intptr_t = ::std::os::raw::c_long;
1788pub type __darwin_natural_t = ::std::os::raw::c_uint;
1789pub type __darwin_ct_rune_t = ::std::os::raw::c_int;
1790#[repr(C)]
1791#[derive(Copy, Clone)]
1792pub union __mbstate_t {
1793    pub __mbstate8: [::std::os::raw::c_char; 128usize],
1794    pub _mbstateL: ::std::os::raw::c_longlong,
1795}
1796#[test]
1797fn bindgen_test_layout___mbstate_t() {
1798    const UNINIT: ::std::mem::MaybeUninit<__mbstate_t> = ::std::mem::MaybeUninit::uninit();
1799    let ptr = UNINIT.as_ptr();
1800    assert_eq!(
1801        ::std::mem::size_of::<__mbstate_t>(),
1802        128usize,
1803        concat!("Size of: ", stringify!(__mbstate_t))
1804    );
1805    assert_eq!(
1806        ::std::mem::align_of::<__mbstate_t>(),
1807        8usize,
1808        concat!("Alignment of ", stringify!(__mbstate_t))
1809    );
1810    assert_eq!(
1811        unsafe { ::std::ptr::addr_of!((*ptr).__mbstate8) as usize - ptr as usize },
1812        0usize,
1813        concat!(
1814            "Offset of field: ",
1815            stringify!(__mbstate_t),
1816            "::",
1817            stringify!(__mbstate8)
1818        )
1819    );
1820    assert_eq!(
1821        unsafe { ::std::ptr::addr_of!((*ptr)._mbstateL) as usize - ptr as usize },
1822        0usize,
1823        concat!(
1824            "Offset of field: ",
1825            stringify!(__mbstate_t),
1826            "::",
1827            stringify!(_mbstateL)
1828        )
1829    );
1830}
1831impl ::std::fmt::Debug for __mbstate_t {
1832    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1833        write!(f, "__mbstate_t {{ union }}")
1834    }
1835}
1836pub type __darwin_mbstate_t = __mbstate_t;
1837pub type __darwin_ptrdiff_t = ::std::os::raw::c_long;
1838pub type __darwin_size_t = ::std::os::raw::c_ulong;
1839pub type __darwin_va_list = __builtin_va_list;
1840pub type __darwin_wchar_t = ::std::os::raw::c_int;
1841pub type __darwin_rune_t = __darwin_wchar_t;
1842pub type __darwin_wint_t = ::std::os::raw::c_int;
1843pub type __darwin_clock_t = ::std::os::raw::c_ulong;
1844pub type __darwin_socklen_t = __uint32_t;
1845pub type __darwin_ssize_t = ::std::os::raw::c_long;
1846pub type __darwin_time_t = ::std::os::raw::c_long;
1847pub type __darwin_blkcnt_t = __int64_t;
1848pub type __darwin_blksize_t = __int32_t;
1849pub type __darwin_dev_t = __int32_t;
1850pub type __darwin_fsblkcnt_t = ::std::os::raw::c_uint;
1851pub type __darwin_fsfilcnt_t = ::std::os::raw::c_uint;
1852pub type __darwin_gid_t = __uint32_t;
1853pub type __darwin_id_t = __uint32_t;
1854pub type __darwin_ino64_t = __uint64_t;
1855pub type __darwin_ino_t = __darwin_ino64_t;
1856pub type __darwin_mach_port_name_t = __darwin_natural_t;
1857pub type __darwin_mach_port_t = __darwin_mach_port_name_t;
1858pub type __darwin_mode_t = __uint16_t;
1859pub type __darwin_off_t = __int64_t;
1860pub type __darwin_pid_t = __int32_t;
1861pub type __darwin_sigset_t = __uint32_t;
1862pub type __darwin_suseconds_t = __int32_t;
1863pub type __darwin_uid_t = __uint32_t;
1864pub type __darwin_useconds_t = __uint32_t;
1865pub type __darwin_uuid_t = [::std::os::raw::c_uchar; 16usize];
1866pub type __darwin_uuid_string_t = [::std::os::raw::c_char; 37usize];
1867#[repr(C)]
1868#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1869pub struct __darwin_pthread_handler_rec {
1870    pub __routine: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
1871    pub __arg: *mut ::std::os::raw::c_void,
1872    pub __next: *mut __darwin_pthread_handler_rec,
1873}
1874#[test]
1875fn bindgen_test_layout___darwin_pthread_handler_rec() {
1876    const UNINIT: ::std::mem::MaybeUninit<__darwin_pthread_handler_rec> =
1877        ::std::mem::MaybeUninit::uninit();
1878    let ptr = UNINIT.as_ptr();
1879    assert_eq!(
1880        ::std::mem::size_of::<__darwin_pthread_handler_rec>(),
1881        24usize,
1882        concat!("Size of: ", stringify!(__darwin_pthread_handler_rec))
1883    );
1884    assert_eq!(
1885        ::std::mem::align_of::<__darwin_pthread_handler_rec>(),
1886        8usize,
1887        concat!("Alignment of ", stringify!(__darwin_pthread_handler_rec))
1888    );
1889    assert_eq!(
1890        unsafe { ::std::ptr::addr_of!((*ptr).__routine) as usize - ptr as usize },
1891        0usize,
1892        concat!(
1893            "Offset of field: ",
1894            stringify!(__darwin_pthread_handler_rec),
1895            "::",
1896            stringify!(__routine)
1897        )
1898    );
1899    assert_eq!(
1900        unsafe { ::std::ptr::addr_of!((*ptr).__arg) as usize - ptr as usize },
1901        8usize,
1902        concat!(
1903            "Offset of field: ",
1904            stringify!(__darwin_pthread_handler_rec),
1905            "::",
1906            stringify!(__arg)
1907        )
1908    );
1909    assert_eq!(
1910        unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
1911        16usize,
1912        concat!(
1913            "Offset of field: ",
1914            stringify!(__darwin_pthread_handler_rec),
1915            "::",
1916            stringify!(__next)
1917        )
1918    );
1919}
1920#[repr(C)]
1921#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1922pub struct _opaque_pthread_attr_t {
1923    pub __sig: ::std::os::raw::c_long,
1924    pub __opaque: [::std::os::raw::c_char; 56usize],
1925}
1926#[test]
1927fn bindgen_test_layout__opaque_pthread_attr_t() {
1928    const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_attr_t> =
1929        ::std::mem::MaybeUninit::uninit();
1930    let ptr = UNINIT.as_ptr();
1931    assert_eq!(
1932        ::std::mem::size_of::<_opaque_pthread_attr_t>(),
1933        64usize,
1934        concat!("Size of: ", stringify!(_opaque_pthread_attr_t))
1935    );
1936    assert_eq!(
1937        ::std::mem::align_of::<_opaque_pthread_attr_t>(),
1938        8usize,
1939        concat!("Alignment of ", stringify!(_opaque_pthread_attr_t))
1940    );
1941    assert_eq!(
1942        unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
1943        0usize,
1944        concat!(
1945            "Offset of field: ",
1946            stringify!(_opaque_pthread_attr_t),
1947            "::",
1948            stringify!(__sig)
1949        )
1950    );
1951    assert_eq!(
1952        unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
1953        8usize,
1954        concat!(
1955            "Offset of field: ",
1956            stringify!(_opaque_pthread_attr_t),
1957            "::",
1958            stringify!(__opaque)
1959        )
1960    );
1961}
1962#[repr(C)]
1963#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1964pub struct _opaque_pthread_cond_t {
1965    pub __sig: ::std::os::raw::c_long,
1966    pub __opaque: [::std::os::raw::c_char; 40usize],
1967}
1968#[test]
1969fn bindgen_test_layout__opaque_pthread_cond_t() {
1970    const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_cond_t> =
1971        ::std::mem::MaybeUninit::uninit();
1972    let ptr = UNINIT.as_ptr();
1973    assert_eq!(
1974        ::std::mem::size_of::<_opaque_pthread_cond_t>(),
1975        48usize,
1976        concat!("Size of: ", stringify!(_opaque_pthread_cond_t))
1977    );
1978    assert_eq!(
1979        ::std::mem::align_of::<_opaque_pthread_cond_t>(),
1980        8usize,
1981        concat!("Alignment of ", stringify!(_opaque_pthread_cond_t))
1982    );
1983    assert_eq!(
1984        unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
1985        0usize,
1986        concat!(
1987            "Offset of field: ",
1988            stringify!(_opaque_pthread_cond_t),
1989            "::",
1990            stringify!(__sig)
1991        )
1992    );
1993    assert_eq!(
1994        unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
1995        8usize,
1996        concat!(
1997            "Offset of field: ",
1998            stringify!(_opaque_pthread_cond_t),
1999            "::",
2000            stringify!(__opaque)
2001        )
2002    );
2003}
2004#[repr(C)]
2005#[derive(Debug, Copy, Clone, PartialEq, Eq)]
2006pub struct _opaque_pthread_condattr_t {
2007    pub __sig: ::std::os::raw::c_long,
2008    pub __opaque: [::std::os::raw::c_char; 8usize],
2009}
2010#[test]
2011fn bindgen_test_layout__opaque_pthread_condattr_t() {
2012    const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_condattr_t> =
2013        ::std::mem::MaybeUninit::uninit();
2014    let ptr = UNINIT.as_ptr();
2015    assert_eq!(
2016        ::std::mem::size_of::<_opaque_pthread_condattr_t>(),
2017        16usize,
2018        concat!("Size of: ", stringify!(_opaque_pthread_condattr_t))
2019    );
2020    assert_eq!(
2021        ::std::mem::align_of::<_opaque_pthread_condattr_t>(),
2022        8usize,
2023        concat!("Alignment of ", stringify!(_opaque_pthread_condattr_t))
2024    );
2025    assert_eq!(
2026        unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
2027        0usize,
2028        concat!(
2029            "Offset of field: ",
2030            stringify!(_opaque_pthread_condattr_t),
2031            "::",
2032            stringify!(__sig)
2033        )
2034    );
2035    assert_eq!(
2036        unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
2037        8usize,
2038        concat!(
2039            "Offset of field: ",
2040            stringify!(_opaque_pthread_condattr_t),
2041            "::",
2042            stringify!(__opaque)
2043        )
2044    );
2045}
2046#[repr(C)]
2047#[derive(Debug, Copy, Clone, PartialEq, Eq)]
2048pub struct _opaque_pthread_mutex_t {
2049    pub __sig: ::std::os::raw::c_long,
2050    pub __opaque: [::std::os::raw::c_char; 56usize],
2051}
2052#[test]
2053fn bindgen_test_layout__opaque_pthread_mutex_t() {
2054    const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_mutex_t> =
2055        ::std::mem::MaybeUninit::uninit();
2056    let ptr = UNINIT.as_ptr();
2057    assert_eq!(
2058        ::std::mem::size_of::<_opaque_pthread_mutex_t>(),
2059        64usize,
2060        concat!("Size of: ", stringify!(_opaque_pthread_mutex_t))
2061    );
2062    assert_eq!(
2063        ::std::mem::align_of::<_opaque_pthread_mutex_t>(),
2064        8usize,
2065        concat!("Alignment of ", stringify!(_opaque_pthread_mutex_t))
2066    );
2067    assert_eq!(
2068        unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
2069        0usize,
2070        concat!(
2071            "Offset of field: ",
2072            stringify!(_opaque_pthread_mutex_t),
2073            "::",
2074            stringify!(__sig)
2075        )
2076    );
2077    assert_eq!(
2078        unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
2079        8usize,
2080        concat!(
2081            "Offset of field: ",
2082            stringify!(_opaque_pthread_mutex_t),
2083            "::",
2084            stringify!(__opaque)
2085        )
2086    );
2087}
2088#[repr(C)]
2089#[derive(Debug, Copy, Clone, PartialEq, Eq)]
2090pub struct _opaque_pthread_mutexattr_t {
2091    pub __sig: ::std::os::raw::c_long,
2092    pub __opaque: [::std::os::raw::c_char; 8usize],
2093}
2094#[test]
2095fn bindgen_test_layout__opaque_pthread_mutexattr_t() {
2096    const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_mutexattr_t> =
2097        ::std::mem::MaybeUninit::uninit();
2098    let ptr = UNINIT.as_ptr();
2099    assert_eq!(
2100        ::std::mem::size_of::<_opaque_pthread_mutexattr_t>(),
2101        16usize,
2102        concat!("Size of: ", stringify!(_opaque_pthread_mutexattr_t))
2103    );
2104    assert_eq!(
2105        ::std::mem::align_of::<_opaque_pthread_mutexattr_t>(),
2106        8usize,
2107        concat!("Alignment of ", stringify!(_opaque_pthread_mutexattr_t))
2108    );
2109    assert_eq!(
2110        unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
2111        0usize,
2112        concat!(
2113            "Offset of field: ",
2114            stringify!(_opaque_pthread_mutexattr_t),
2115            "::",
2116            stringify!(__sig)
2117        )
2118    );
2119    assert_eq!(
2120        unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
2121        8usize,
2122        concat!(
2123            "Offset of field: ",
2124            stringify!(_opaque_pthread_mutexattr_t),
2125            "::",
2126            stringify!(__opaque)
2127        )
2128    );
2129}
2130#[repr(C)]
2131#[derive(Debug, Copy, Clone, PartialEq, Eq)]
2132pub struct _opaque_pthread_once_t {
2133    pub __sig: ::std::os::raw::c_long,
2134    pub __opaque: [::std::os::raw::c_char; 8usize],
2135}
2136#[test]
2137fn bindgen_test_layout__opaque_pthread_once_t() {
2138    const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_once_t> =
2139        ::std::mem::MaybeUninit::uninit();
2140    let ptr = UNINIT.as_ptr();
2141    assert_eq!(
2142        ::std::mem::size_of::<_opaque_pthread_once_t>(),
2143        16usize,
2144        concat!("Size of: ", stringify!(_opaque_pthread_once_t))
2145    );
2146    assert_eq!(
2147        ::std::mem::align_of::<_opaque_pthread_once_t>(),
2148        8usize,
2149        concat!("Alignment of ", stringify!(_opaque_pthread_once_t))
2150    );
2151    assert_eq!(
2152        unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
2153        0usize,
2154        concat!(
2155            "Offset of field: ",
2156            stringify!(_opaque_pthread_once_t),
2157            "::",
2158            stringify!(__sig)
2159        )
2160    );
2161    assert_eq!(
2162        unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
2163        8usize,
2164        concat!(
2165            "Offset of field: ",
2166            stringify!(_opaque_pthread_once_t),
2167            "::",
2168            stringify!(__opaque)
2169        )
2170    );
2171}
2172#[repr(C)]
2173#[derive(Debug, Copy, Clone, PartialEq, Eq)]
2174pub struct _opaque_pthread_rwlock_t {
2175    pub __sig: ::std::os::raw::c_long,
2176    pub __opaque: [::std::os::raw::c_char; 192usize],
2177}
2178#[test]
2179fn bindgen_test_layout__opaque_pthread_rwlock_t() {
2180    const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_rwlock_t> =
2181        ::std::mem::MaybeUninit::uninit();
2182    let ptr = UNINIT.as_ptr();
2183    assert_eq!(
2184        ::std::mem::size_of::<_opaque_pthread_rwlock_t>(),
2185        200usize,
2186        concat!("Size of: ", stringify!(_opaque_pthread_rwlock_t))
2187    );
2188    assert_eq!(
2189        ::std::mem::align_of::<_opaque_pthread_rwlock_t>(),
2190        8usize,
2191        concat!("Alignment of ", stringify!(_opaque_pthread_rwlock_t))
2192    );
2193    assert_eq!(
2194        unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
2195        0usize,
2196        concat!(
2197            "Offset of field: ",
2198            stringify!(_opaque_pthread_rwlock_t),
2199            "::",
2200            stringify!(__sig)
2201        )
2202    );
2203    assert_eq!(
2204        unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
2205        8usize,
2206        concat!(
2207            "Offset of field: ",
2208            stringify!(_opaque_pthread_rwlock_t),
2209            "::",
2210            stringify!(__opaque)
2211        )
2212    );
2213}
2214#[repr(C)]
2215#[derive(Debug, Copy, Clone, PartialEq, Eq)]
2216pub struct _opaque_pthread_rwlockattr_t {
2217    pub __sig: ::std::os::raw::c_long,
2218    pub __opaque: [::std::os::raw::c_char; 16usize],
2219}
2220#[test]
2221fn bindgen_test_layout__opaque_pthread_rwlockattr_t() {
2222    const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_rwlockattr_t> =
2223        ::std::mem::MaybeUninit::uninit();
2224    let ptr = UNINIT.as_ptr();
2225    assert_eq!(
2226        ::std::mem::size_of::<_opaque_pthread_rwlockattr_t>(),
2227        24usize,
2228        concat!("Size of: ", stringify!(_opaque_pthread_rwlockattr_t))
2229    );
2230    assert_eq!(
2231        ::std::mem::align_of::<_opaque_pthread_rwlockattr_t>(),
2232        8usize,
2233        concat!("Alignment of ", stringify!(_opaque_pthread_rwlockattr_t))
2234    );
2235    assert_eq!(
2236        unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
2237        0usize,
2238        concat!(
2239            "Offset of field: ",
2240            stringify!(_opaque_pthread_rwlockattr_t),
2241            "::",
2242            stringify!(__sig)
2243        )
2244    );
2245    assert_eq!(
2246        unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
2247        8usize,
2248        concat!(
2249            "Offset of field: ",
2250            stringify!(_opaque_pthread_rwlockattr_t),
2251            "::",
2252            stringify!(__opaque)
2253        )
2254    );
2255}
2256#[repr(C)]
2257#[derive(Debug, Copy, Clone, PartialEq, Eq)]
2258pub struct _opaque_pthread_t {
2259    pub __sig: ::std::os::raw::c_long,
2260    pub __cleanup_stack: *mut __darwin_pthread_handler_rec,
2261    pub __opaque: [::std::os::raw::c_char; 8176usize],
2262}
2263#[test]
2264fn bindgen_test_layout__opaque_pthread_t() {
2265    const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_t> = ::std::mem::MaybeUninit::uninit();
2266    let ptr = UNINIT.as_ptr();
2267    assert_eq!(
2268        ::std::mem::size_of::<_opaque_pthread_t>(),
2269        8192usize,
2270        concat!("Size of: ", stringify!(_opaque_pthread_t))
2271    );
2272    assert_eq!(
2273        ::std::mem::align_of::<_opaque_pthread_t>(),
2274        8usize,
2275        concat!("Alignment of ", stringify!(_opaque_pthread_t))
2276    );
2277    assert_eq!(
2278        unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
2279        0usize,
2280        concat!(
2281            "Offset of field: ",
2282            stringify!(_opaque_pthread_t),
2283            "::",
2284            stringify!(__sig)
2285        )
2286    );
2287    assert_eq!(
2288        unsafe { ::std::ptr::addr_of!((*ptr).__cleanup_stack) as usize - ptr as usize },
2289        8usize,
2290        concat!(
2291            "Offset of field: ",
2292            stringify!(_opaque_pthread_t),
2293            "::",
2294            stringify!(__cleanup_stack)
2295        )
2296    );
2297    assert_eq!(
2298        unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
2299        16usize,
2300        concat!(
2301            "Offset of field: ",
2302            stringify!(_opaque_pthread_t),
2303            "::",
2304            stringify!(__opaque)
2305        )
2306    );
2307}
2308pub type __darwin_pthread_attr_t = _opaque_pthread_attr_t;
2309pub type __darwin_pthread_cond_t = _opaque_pthread_cond_t;
2310pub type __darwin_pthread_condattr_t = _opaque_pthread_condattr_t;
2311pub type __darwin_pthread_key_t = ::std::os::raw::c_ulong;
2312pub type __darwin_pthread_mutex_t = _opaque_pthread_mutex_t;
2313pub type __darwin_pthread_mutexattr_t = _opaque_pthread_mutexattr_t;
2314pub type __darwin_pthread_once_t = _opaque_pthread_once_t;
2315pub type __darwin_pthread_rwlock_t = _opaque_pthread_rwlock_t;
2316pub type __darwin_pthread_rwlockattr_t = _opaque_pthread_rwlockattr_t;
2317pub type __darwin_pthread_t = *mut _opaque_pthread_t;
2318pub type __darwin_nl_item = ::std::os::raw::c_int;
2319pub type __darwin_wctrans_t = ::std::os::raw::c_int;
2320pub type __darwin_wctype_t = __uint32_t;
2321pub type u_int8_t = ::std::os::raw::c_uchar;
2322pub type u_int16_t = ::std::os::raw::c_ushort;
2323pub type u_int32_t = ::std::os::raw::c_uint;
2324pub type u_int64_t = ::std::os::raw::c_ulonglong;
2325pub type register_t = i64;
2326pub type user_addr_t = u_int64_t;
2327pub type user_size_t = u_int64_t;
2328pub type user_ssize_t = i64;
2329pub type user_long_t = i64;
2330pub type user_ulong_t = u_int64_t;
2331pub type user_time_t = i64;
2332pub type user_off_t = i64;
2333pub type syscall_arg_t = u_int64_t;
2334pub type clock_t = __darwin_clock_t;
2335pub type time_t = __darwin_time_t;
2336#[repr(C)]
2337#[derive(Debug, Copy, Clone, PartialEq, Eq)]
2338pub struct timespec {
2339    pub tv_sec: __darwin_time_t,
2340    pub tv_nsec: ::std::os::raw::c_long,
2341}
2342#[test]
2343fn bindgen_test_layout_timespec() {
2344    const UNINIT: ::std::mem::MaybeUninit<timespec> = ::std::mem::MaybeUninit::uninit();
2345    let ptr = UNINIT.as_ptr();
2346    assert_eq!(
2347        ::std::mem::size_of::<timespec>(),
2348        16usize,
2349        concat!("Size of: ", stringify!(timespec))
2350    );
2351    assert_eq!(
2352        ::std::mem::align_of::<timespec>(),
2353        8usize,
2354        concat!("Alignment of ", stringify!(timespec))
2355    );
2356    assert_eq!(
2357        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
2358        0usize,
2359        concat!(
2360            "Offset of field: ",
2361            stringify!(timespec),
2362            "::",
2363            stringify!(tv_sec)
2364        )
2365    );
2366    assert_eq!(
2367        unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
2368        8usize,
2369        concat!(
2370            "Offset of field: ",
2371            stringify!(timespec),
2372            "::",
2373            stringify!(tv_nsec)
2374        )
2375    );
2376}
2377#[repr(C)]
2378#[derive(Debug, Copy, Clone, PartialEq, Eq)]
2379pub struct tm {
2380    pub tm_sec: ::std::os::raw::c_int,
2381    pub tm_min: ::std::os::raw::c_int,
2382    pub tm_hour: ::std::os::raw::c_int,
2383    pub tm_mday: ::std::os::raw::c_int,
2384    pub tm_mon: ::std::os::raw::c_int,
2385    pub tm_year: ::std::os::raw::c_int,
2386    pub tm_wday: ::std::os::raw::c_int,
2387    pub tm_yday: ::std::os::raw::c_int,
2388    pub tm_isdst: ::std::os::raw::c_int,
2389    pub tm_gmtoff: ::std::os::raw::c_long,
2390    pub tm_zone: *mut ::std::os::raw::c_char,
2391}
2392#[test]
2393fn bindgen_test_layout_tm() {
2394    const UNINIT: ::std::mem::MaybeUninit<tm> = ::std::mem::MaybeUninit::uninit();
2395    let ptr = UNINIT.as_ptr();
2396    assert_eq!(
2397        ::std::mem::size_of::<tm>(),
2398        56usize,
2399        concat!("Size of: ", stringify!(tm))
2400    );
2401    assert_eq!(
2402        ::std::mem::align_of::<tm>(),
2403        8usize,
2404        concat!("Alignment of ", stringify!(tm))
2405    );
2406    assert_eq!(
2407        unsafe { ::std::ptr::addr_of!((*ptr).tm_sec) as usize - ptr as usize },
2408        0usize,
2409        concat!(
2410            "Offset of field: ",
2411            stringify!(tm),
2412            "::",
2413            stringify!(tm_sec)
2414        )
2415    );
2416    assert_eq!(
2417        unsafe { ::std::ptr::addr_of!((*ptr).tm_min) as usize - ptr as usize },
2418        4usize,
2419        concat!(
2420            "Offset of field: ",
2421            stringify!(tm),
2422            "::",
2423            stringify!(tm_min)
2424        )
2425    );
2426    assert_eq!(
2427        unsafe { ::std::ptr::addr_of!((*ptr).tm_hour) as usize - ptr as usize },
2428        8usize,
2429        concat!(
2430            "Offset of field: ",
2431            stringify!(tm),
2432            "::",
2433            stringify!(tm_hour)
2434        )
2435    );
2436    assert_eq!(
2437        unsafe { ::std::ptr::addr_of!((*ptr).tm_mday) as usize - ptr as usize },
2438        12usize,
2439        concat!(
2440            "Offset of field: ",
2441            stringify!(tm),
2442            "::",
2443            stringify!(tm_mday)
2444        )
2445    );
2446    assert_eq!(
2447        unsafe { ::std::ptr::addr_of!((*ptr).tm_mon) as usize - ptr as usize },
2448        16usize,
2449        concat!(
2450            "Offset of field: ",
2451            stringify!(tm),
2452            "::",
2453            stringify!(tm_mon)
2454        )
2455    );
2456    assert_eq!(
2457        unsafe { ::std::ptr::addr_of!((*ptr).tm_year) as usize - ptr as usize },
2458        20usize,
2459        concat!(
2460            "Offset of field: ",
2461            stringify!(tm),
2462            "::",
2463            stringify!(tm_year)
2464        )
2465    );
2466    assert_eq!(
2467        unsafe { ::std::ptr::addr_of!((*ptr).tm_wday) as usize - ptr as usize },
2468        24usize,
2469        concat!(
2470            "Offset of field: ",
2471            stringify!(tm),
2472            "::",
2473            stringify!(tm_wday)
2474        )
2475    );
2476    assert_eq!(
2477        unsafe { ::std::ptr::addr_of!((*ptr).tm_yday) as usize - ptr as usize },
2478        28usize,
2479        concat!(
2480            "Offset of field: ",
2481            stringify!(tm),
2482            "::",
2483            stringify!(tm_yday)
2484        )
2485    );
2486    assert_eq!(
2487        unsafe { ::std::ptr::addr_of!((*ptr).tm_isdst) as usize - ptr as usize },
2488        32usize,
2489        concat!(
2490            "Offset of field: ",
2491            stringify!(tm),
2492            "::",
2493            stringify!(tm_isdst)
2494        )
2495    );
2496    assert_eq!(
2497        unsafe { ::std::ptr::addr_of!((*ptr).tm_gmtoff) as usize - ptr as usize },
2498        40usize,
2499        concat!(
2500            "Offset of field: ",
2501            stringify!(tm),
2502            "::",
2503            stringify!(tm_gmtoff)
2504        )
2505    );
2506    assert_eq!(
2507        unsafe { ::std::ptr::addr_of!((*ptr).tm_zone) as usize - ptr as usize },
2508        48usize,
2509        concat!(
2510            "Offset of field: ",
2511            stringify!(tm),
2512            "::",
2513            stringify!(tm_zone)
2514        )
2515    );
2516}
2517extern "C" {
2518    pub static mut tzname: [*mut ::std::os::raw::c_char; 0usize];
2519}
2520extern "C" {
2521    pub static mut getdate_err: ::std::os::raw::c_int;
2522}
2523extern "C" {
2524    pub static mut timezone: ::std::os::raw::c_long;
2525}
2526extern "C" {
2527    pub static mut daylight: ::std::os::raw::c_int;
2528}
2529extern "C" {
2530    pub fn asctime(arg1: *const tm) -> *mut ::std::os::raw::c_char;
2531}
2532extern "C" {
2533    pub fn clock() -> clock_t;
2534}
2535extern "C" {
2536    pub fn ctime(arg1: *const time_t) -> *mut ::std::os::raw::c_char;
2537}
2538extern "C" {
2539    pub fn difftime(arg1: time_t, arg2: time_t) -> f64;
2540}
2541extern "C" {
2542    pub fn getdate(arg1: *const ::std::os::raw::c_char) -> *mut tm;
2543}
2544extern "C" {
2545    pub fn gmtime(arg1: *const time_t) -> *mut tm;
2546}
2547extern "C" {
2548    pub fn localtime(arg1: *const time_t) -> *mut tm;
2549}
2550extern "C" {
2551    pub fn mktime(arg1: *mut tm) -> time_t;
2552}
2553extern "C" {
2554    pub fn strftime(
2555        arg1: *mut ::std::os::raw::c_char,
2556        arg2: size_t,
2557        arg3: *const ::std::os::raw::c_char,
2558        arg4: *const tm,
2559    ) -> size_t;
2560}
2561extern "C" {
2562    pub fn strptime(
2563        arg1: *const ::std::os::raw::c_char,
2564        arg2: *const ::std::os::raw::c_char,
2565        arg3: *mut tm,
2566    ) -> *mut ::std::os::raw::c_char;
2567}
2568extern "C" {
2569    pub fn time(arg1: *mut time_t) -> time_t;
2570}
2571extern "C" {
2572    pub fn tzset();
2573}
2574extern "C" {
2575    pub fn asctime_r(
2576        arg1: *const tm,
2577        arg2: *mut ::std::os::raw::c_char,
2578    ) -> *mut ::std::os::raw::c_char;
2579}
2580extern "C" {
2581    pub fn ctime_r(
2582        arg1: *const time_t,
2583        arg2: *mut ::std::os::raw::c_char,
2584    ) -> *mut ::std::os::raw::c_char;
2585}
2586extern "C" {
2587    pub fn gmtime_r(arg1: *const time_t, arg2: *mut tm) -> *mut tm;
2588}
2589extern "C" {
2590    pub fn localtime_r(arg1: *const time_t, arg2: *mut tm) -> *mut tm;
2591}
2592extern "C" {
2593    pub fn posix2time(arg1: time_t) -> time_t;
2594}
2595extern "C" {
2596    pub fn tzsetwall();
2597}
2598extern "C" {
2599    pub fn time2posix(arg1: time_t) -> time_t;
2600}
2601extern "C" {
2602    pub fn timelocal(arg1: *mut tm) -> time_t;
2603}
2604extern "C" {
2605    pub fn timegm(arg1: *mut tm) -> time_t;
2606}
2607extern "C" {
2608    pub fn nanosleep(__rqtp: *const timespec, __rmtp: *mut timespec) -> ::std::os::raw::c_int;
2609}
2610pub const clockid_t__CLOCK_REALTIME: clockid_t = 0;
2611pub const clockid_t__CLOCK_MONOTONIC: clockid_t = 6;
2612pub const clockid_t__CLOCK_MONOTONIC_RAW: clockid_t = 4;
2613pub const clockid_t__CLOCK_MONOTONIC_RAW_APPROX: clockid_t = 5;
2614pub const clockid_t__CLOCK_UPTIME_RAW: clockid_t = 8;
2615pub const clockid_t__CLOCK_UPTIME_RAW_APPROX: clockid_t = 9;
2616pub const clockid_t__CLOCK_PROCESS_CPUTIME_ID: clockid_t = 12;
2617pub const clockid_t__CLOCK_THREAD_CPUTIME_ID: clockid_t = 16;
2618pub type clockid_t = ::std::os::raw::c_uint;
2619extern "C" {
2620    pub fn clock_getres(__clock_id: clockid_t, __res: *mut timespec) -> ::std::os::raw::c_int;
2621}
2622extern "C" {
2623    pub fn clock_gettime(__clock_id: clockid_t, __tp: *mut timespec) -> ::std::os::raw::c_int;
2624}
2625extern "C" {
2626    pub fn clock_gettime_nsec_np(__clock_id: clockid_t) -> __uint64_t;
2627}
2628extern "C" {
2629    pub fn clock_settime(__clock_id: clockid_t, __tp: *const timespec) -> ::std::os::raw::c_int;
2630}
2631extern "C" {
2632    pub fn timespec_get(ts: *mut timespec, base: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2633}
2634pub type gchar = ::std::os::raw::c_char;
2635pub type gshort = ::std::os::raw::c_short;
2636pub type glong = ::std::os::raw::c_long;
2637pub type gint = ::std::os::raw::c_int;
2638pub type gboolean = gint;
2639pub type guchar = ::std::os::raw::c_uchar;
2640pub type gushort = ::std::os::raw::c_ushort;
2641pub type gulong = ::std::os::raw::c_ulong;
2642pub type guint = ::std::os::raw::c_uint;
2643pub type gfloat = f32;
2644pub type gdouble = f64;
2645pub type gpointer = *mut ::std::os::raw::c_void;
2646pub type gconstpointer = *const ::std::os::raw::c_void;
2647pub type GCompareFunc =
2648    ::std::option::Option<unsafe extern "C" fn(a: gconstpointer, b: gconstpointer) -> gint>;
2649pub type GCompareDataFunc = ::std::option::Option<
2650    unsafe extern "C" fn(a: gconstpointer, b: gconstpointer, user_data: gpointer) -> gint,
2651>;
2652pub type GEqualFunc =
2653    ::std::option::Option<unsafe extern "C" fn(a: gconstpointer, b: gconstpointer) -> gboolean>;
2654#[doc = " GEqualFuncFull:\n @a: a value\n @b: a value to compare with\n @user_data: user data provided by the caller\n\n Specifies the type of a function used to test two values for\n equality. The function should return %TRUE if both values are equal\n and %FALSE otherwise.\n\n This is a version of #GEqualFunc which provides a @user_data closure from\n the caller.\n\n Returns: %TRUE if @a = @b; %FALSE otherwise\n Since: 2.74"]
2655pub type GEqualFuncFull = ::std::option::Option<
2656    unsafe extern "C" fn(a: gconstpointer, b: gconstpointer, user_data: gpointer) -> gboolean,
2657>;
2658pub type GDestroyNotify = ::std::option::Option<unsafe extern "C" fn(data: gpointer)>;
2659pub type GFunc = ::std::option::Option<unsafe extern "C" fn(data: gpointer, user_data: gpointer)>;
2660pub type GHashFunc = ::std::option::Option<unsafe extern "C" fn(key: gconstpointer) -> guint>;
2661pub type GHFunc = ::std::option::Option<
2662    unsafe extern "C" fn(key: gpointer, value: gpointer, user_data: gpointer),
2663>;
2664#[doc = " GCopyFunc:\n @src: (not nullable): A pointer to the data which should be copied\n @data: Additional data\n\n A function of this signature is used to copy the node data\n when doing a deep-copy of a tree.\n\n Returns: (not nullable): A pointer to the copy\n\n Since: 2.4"]
2665pub type GCopyFunc =
2666    ::std::option::Option<unsafe extern "C" fn(src: gconstpointer, data: gpointer) -> gpointer>;
2667#[doc = " GFreeFunc:\n @data: a data pointer\n\n Declares a type of function which takes an arbitrary\n data pointer argument and has no return value. It is\n not currently used in GLib or GTK."]
2668pub type GFreeFunc = ::std::option::Option<unsafe extern "C" fn(data: gpointer)>;
2669#[doc = " GTranslateFunc:\n @str: the untranslated string\n @data: user data specified when installing the function, e.g.\n  in g_option_group_set_translate_func()\n\n The type of functions which are used to translate user-visible\n strings, for <option>--help</option> output.\n\n Returns: a translation of the string for the current locale.\n  The returned string is owned by GLib and must not be freed."]
2670pub type GTranslateFunc =
2671    ::std::option::Option<unsafe extern "C" fn(str_: *const gchar, data: gpointer) -> *const gchar>;
2672pub type GDoubleIEEE754 = _GDoubleIEEE754;
2673pub type GFloatIEEE754 = _GFloatIEEE754;
2674#[repr(C)]
2675#[derive(Copy, Clone)]
2676pub union _GFloatIEEE754 {
2677    pub v_float: gfloat,
2678    pub mpn: _GFloatIEEE754__bindgen_ty_1,
2679}
2680#[repr(C)]
2681#[repr(align(4))]
2682#[derive(Debug, Copy, Clone, PartialEq, Eq)]
2683pub struct _GFloatIEEE754__bindgen_ty_1 {
2684    pub _bitfield_align_1: [u32; 0],
2685    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
2686}
2687#[test]
2688fn bindgen_test_layout__GFloatIEEE754__bindgen_ty_1() {
2689    assert_eq!(
2690        ::std::mem::size_of::<_GFloatIEEE754__bindgen_ty_1>(),
2691        4usize,
2692        concat!("Size of: ", stringify!(_GFloatIEEE754__bindgen_ty_1))
2693    );
2694    assert_eq!(
2695        ::std::mem::align_of::<_GFloatIEEE754__bindgen_ty_1>(),
2696        4usize,
2697        concat!("Alignment of ", stringify!(_GFloatIEEE754__bindgen_ty_1))
2698    );
2699}
2700impl _GFloatIEEE754__bindgen_ty_1 {
2701    #[inline]
2702    pub fn mantissa(&self) -> guint {
2703        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 23u8) as u32) }
2704    }
2705    #[inline]
2706    pub fn set_mantissa(&mut self, val: guint) {
2707        unsafe {
2708            let val: u32 = ::std::mem::transmute(val);
2709            self._bitfield_1.set(0usize, 23u8, val as u64)
2710        }
2711    }
2712    #[inline]
2713    pub fn biased_exponent(&self) -> guint {
2714        unsafe { ::std::mem::transmute(self._bitfield_1.get(23usize, 8u8) as u32) }
2715    }
2716    #[inline]
2717    pub fn set_biased_exponent(&mut self, val: guint) {
2718        unsafe {
2719            let val: u32 = ::std::mem::transmute(val);
2720            self._bitfield_1.set(23usize, 8u8, val as u64)
2721        }
2722    }
2723    #[inline]
2724    pub fn sign(&self) -> guint {
2725        unsafe { ::std::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) }
2726    }
2727    #[inline]
2728    pub fn set_sign(&mut self, val: guint) {
2729        unsafe {
2730            let val: u32 = ::std::mem::transmute(val);
2731            self._bitfield_1.set(31usize, 1u8, val as u64)
2732        }
2733    }
2734    #[inline]
2735    pub fn new_bitfield_1(
2736        mantissa: guint,
2737        biased_exponent: guint,
2738        sign: guint,
2739    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
2740        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
2741        __bindgen_bitfield_unit.set(0usize, 23u8, {
2742            let mantissa: u32 = unsafe { ::std::mem::transmute(mantissa) };
2743            mantissa as u64
2744        });
2745        __bindgen_bitfield_unit.set(23usize, 8u8, {
2746            let biased_exponent: u32 = unsafe { ::std::mem::transmute(biased_exponent) };
2747            biased_exponent as u64
2748        });
2749        __bindgen_bitfield_unit.set(31usize, 1u8, {
2750            let sign: u32 = unsafe { ::std::mem::transmute(sign) };
2751            sign as u64
2752        });
2753        __bindgen_bitfield_unit
2754    }
2755}
2756#[test]
2757fn bindgen_test_layout__GFloatIEEE754() {
2758    const UNINIT: ::std::mem::MaybeUninit<_GFloatIEEE754> = ::std::mem::MaybeUninit::uninit();
2759    let ptr = UNINIT.as_ptr();
2760    assert_eq!(
2761        ::std::mem::size_of::<_GFloatIEEE754>(),
2762        4usize,
2763        concat!("Size of: ", stringify!(_GFloatIEEE754))
2764    );
2765    assert_eq!(
2766        ::std::mem::align_of::<_GFloatIEEE754>(),
2767        4usize,
2768        concat!("Alignment of ", stringify!(_GFloatIEEE754))
2769    );
2770    assert_eq!(
2771        unsafe { ::std::ptr::addr_of!((*ptr).v_float) as usize - ptr as usize },
2772        0usize,
2773        concat!(
2774            "Offset of field: ",
2775            stringify!(_GFloatIEEE754),
2776            "::",
2777            stringify!(v_float)
2778        )
2779    );
2780    assert_eq!(
2781        unsafe { ::std::ptr::addr_of!((*ptr).mpn) as usize - ptr as usize },
2782        0usize,
2783        concat!(
2784            "Offset of field: ",
2785            stringify!(_GFloatIEEE754),
2786            "::",
2787            stringify!(mpn)
2788        )
2789    );
2790}
2791impl ::std::fmt::Debug for _GFloatIEEE754 {
2792    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2793        write!(f, "_GFloatIEEE754 {{ union }}")
2794    }
2795}
2796#[repr(C)]
2797#[derive(Copy, Clone)]
2798pub union _GDoubleIEEE754 {
2799    pub v_double: gdouble,
2800    pub mpn: _GDoubleIEEE754__bindgen_ty_1,
2801}
2802#[repr(C)]
2803#[repr(align(4))]
2804#[derive(Debug, Copy, Clone, PartialEq, Eq)]
2805pub struct _GDoubleIEEE754__bindgen_ty_1 {
2806    pub _bitfield_align_1: [u32; 0],
2807    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
2808}
2809#[test]
2810fn bindgen_test_layout__GDoubleIEEE754__bindgen_ty_1() {
2811    assert_eq!(
2812        ::std::mem::size_of::<_GDoubleIEEE754__bindgen_ty_1>(),
2813        8usize,
2814        concat!("Size of: ", stringify!(_GDoubleIEEE754__bindgen_ty_1))
2815    );
2816    assert_eq!(
2817        ::std::mem::align_of::<_GDoubleIEEE754__bindgen_ty_1>(),
2818        4usize,
2819        concat!("Alignment of ", stringify!(_GDoubleIEEE754__bindgen_ty_1))
2820    );
2821}
2822impl _GDoubleIEEE754__bindgen_ty_1 {
2823    #[inline]
2824    pub fn mantissa_low(&self) -> guint {
2825        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 32u8) as u32) }
2826    }
2827    #[inline]
2828    pub fn set_mantissa_low(&mut self, val: guint) {
2829        unsafe {
2830            let val: u32 = ::std::mem::transmute(val);
2831            self._bitfield_1.set(0usize, 32u8, val as u64)
2832        }
2833    }
2834    #[inline]
2835    pub fn mantissa_high(&self) -> guint {
2836        unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 20u8) as u32) }
2837    }
2838    #[inline]
2839    pub fn set_mantissa_high(&mut self, val: guint) {
2840        unsafe {
2841            let val: u32 = ::std::mem::transmute(val);
2842            self._bitfield_1.set(32usize, 20u8, val as u64)
2843        }
2844    }
2845    #[inline]
2846    pub fn biased_exponent(&self) -> guint {
2847        unsafe { ::std::mem::transmute(self._bitfield_1.get(52usize, 11u8) as u32) }
2848    }
2849    #[inline]
2850    pub fn set_biased_exponent(&mut self, val: guint) {
2851        unsafe {
2852            let val: u32 = ::std::mem::transmute(val);
2853            self._bitfield_1.set(52usize, 11u8, val as u64)
2854        }
2855    }
2856    #[inline]
2857    pub fn sign(&self) -> guint {
2858        unsafe { ::std::mem::transmute(self._bitfield_1.get(63usize, 1u8) as u32) }
2859    }
2860    #[inline]
2861    pub fn set_sign(&mut self, val: guint) {
2862        unsafe {
2863            let val: u32 = ::std::mem::transmute(val);
2864            self._bitfield_1.set(63usize, 1u8, val as u64)
2865        }
2866    }
2867    #[inline]
2868    pub fn new_bitfield_1(
2869        mantissa_low: guint,
2870        mantissa_high: guint,
2871        biased_exponent: guint,
2872        sign: guint,
2873    ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
2874        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
2875        __bindgen_bitfield_unit.set(0usize, 32u8, {
2876            let mantissa_low: u32 = unsafe { ::std::mem::transmute(mantissa_low) };
2877            mantissa_low as u64
2878        });
2879        __bindgen_bitfield_unit.set(32usize, 20u8, {
2880            let mantissa_high: u32 = unsafe { ::std::mem::transmute(mantissa_high) };
2881            mantissa_high as u64
2882        });
2883        __bindgen_bitfield_unit.set(52usize, 11u8, {
2884            let biased_exponent: u32 = unsafe { ::std::mem::transmute(biased_exponent) };
2885            biased_exponent as u64
2886        });
2887        __bindgen_bitfield_unit.set(63usize, 1u8, {
2888            let sign: u32 = unsafe { ::std::mem::transmute(sign) };
2889            sign as u64
2890        });
2891        __bindgen_bitfield_unit
2892    }
2893}
2894#[test]
2895fn bindgen_test_layout__GDoubleIEEE754() {
2896    const UNINIT: ::std::mem::MaybeUninit<_GDoubleIEEE754> = ::std::mem::MaybeUninit::uninit();
2897    let ptr = UNINIT.as_ptr();
2898    assert_eq!(
2899        ::std::mem::size_of::<_GDoubleIEEE754>(),
2900        8usize,
2901        concat!("Size of: ", stringify!(_GDoubleIEEE754))
2902    );
2903    assert_eq!(
2904        ::std::mem::align_of::<_GDoubleIEEE754>(),
2905        8usize,
2906        concat!("Alignment of ", stringify!(_GDoubleIEEE754))
2907    );
2908    assert_eq!(
2909        unsafe { ::std::ptr::addr_of!((*ptr).v_double) as usize - ptr as usize },
2910        0usize,
2911        concat!(
2912            "Offset of field: ",
2913            stringify!(_GDoubleIEEE754),
2914            "::",
2915            stringify!(v_double)
2916        )
2917    );
2918    assert_eq!(
2919        unsafe { ::std::ptr::addr_of!((*ptr).mpn) as usize - ptr as usize },
2920        0usize,
2921        concat!(
2922            "Offset of field: ",
2923            stringify!(_GDoubleIEEE754),
2924            "::",
2925            stringify!(mpn)
2926        )
2927    );
2928}
2929impl ::std::fmt::Debug for _GDoubleIEEE754 {
2930    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2931        write!(f, "_GDoubleIEEE754 {{ union }}")
2932    }
2933}
2934pub type GTimeVal = _GTimeVal;
2935#[repr(C)]
2936#[derive(Debug, Copy, Clone, PartialEq, Eq)]
2937pub struct _GTimeVal {
2938    pub tv_sec: glong,
2939    pub tv_usec: glong,
2940}
2941#[test]
2942fn bindgen_test_layout__GTimeVal() {
2943    const UNINIT: ::std::mem::MaybeUninit<_GTimeVal> = ::std::mem::MaybeUninit::uninit();
2944    let ptr = UNINIT.as_ptr();
2945    assert_eq!(
2946        ::std::mem::size_of::<_GTimeVal>(),
2947        16usize,
2948        concat!("Size of: ", stringify!(_GTimeVal))
2949    );
2950    assert_eq!(
2951        ::std::mem::align_of::<_GTimeVal>(),
2952        8usize,
2953        concat!("Alignment of ", stringify!(_GTimeVal))
2954    );
2955    assert_eq!(
2956        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
2957        0usize,
2958        concat!(
2959            "Offset of field: ",
2960            stringify!(_GTimeVal),
2961            "::",
2962            stringify!(tv_sec)
2963        )
2964    );
2965    assert_eq!(
2966        unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
2967        8usize,
2968        concat!(
2969            "Offset of field: ",
2970            stringify!(_GTimeVal),
2971            "::",
2972            stringify!(tv_usec)
2973        )
2974    );
2975}
2976pub type grefcount = gint;
2977pub type gatomicrefcount = gint;
2978extern "C" {
2979    pub fn memchr(
2980        __s: *const ::std::os::raw::c_void,
2981        __c: ::std::os::raw::c_int,
2982        __n: ::std::os::raw::c_ulong,
2983    ) -> *mut ::std::os::raw::c_void;
2984}
2985extern "C" {
2986    pub fn memcmp(
2987        __s1: *const ::std::os::raw::c_void,
2988        __s2: *const ::std::os::raw::c_void,
2989        __n: ::std::os::raw::c_ulong,
2990    ) -> ::std::os::raw::c_int;
2991}
2992extern "C" {
2993    pub fn memcpy(
2994        __dst: *mut ::std::os::raw::c_void,
2995        __src: *const ::std::os::raw::c_void,
2996        __n: ::std::os::raw::c_ulong,
2997    ) -> *mut ::std::os::raw::c_void;
2998}
2999extern "C" {
3000    pub fn memmove(
3001        __dst: *mut ::std::os::raw::c_void,
3002        __src: *const ::std::os::raw::c_void,
3003        __len: ::std::os::raw::c_ulong,
3004    ) -> *mut ::std::os::raw::c_void;
3005}
3006extern "C" {
3007    pub fn memset(
3008        __b: *mut ::std::os::raw::c_void,
3009        __c: ::std::os::raw::c_int,
3010        __len: ::std::os::raw::c_ulong,
3011    ) -> *mut ::std::os::raw::c_void;
3012}
3013extern "C" {
3014    pub fn strcat(
3015        __s1: *mut ::std::os::raw::c_char,
3016        __s2: *const ::std::os::raw::c_char,
3017    ) -> *mut ::std::os::raw::c_char;
3018}
3019extern "C" {
3020    pub fn strchr(
3021        __s: *const ::std::os::raw::c_char,
3022        __c: ::std::os::raw::c_int,
3023    ) -> *mut ::std::os::raw::c_char;
3024}
3025extern "C" {
3026    pub fn strcmp(
3027        __s1: *const ::std::os::raw::c_char,
3028        __s2: *const ::std::os::raw::c_char,
3029    ) -> ::std::os::raw::c_int;
3030}
3031extern "C" {
3032    pub fn strcoll(
3033        __s1: *const ::std::os::raw::c_char,
3034        __s2: *const ::std::os::raw::c_char,
3035    ) -> ::std::os::raw::c_int;
3036}
3037extern "C" {
3038    pub fn strcpy(
3039        __dst: *mut ::std::os::raw::c_char,
3040        __src: *const ::std::os::raw::c_char,
3041    ) -> *mut ::std::os::raw::c_char;
3042}
3043extern "C" {
3044    pub fn strcspn(
3045        __s: *const ::std::os::raw::c_char,
3046        __charset: *const ::std::os::raw::c_char,
3047    ) -> ::std::os::raw::c_ulong;
3048}
3049extern "C" {
3050    pub fn strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
3051}
3052extern "C" {
3053    pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong;
3054}
3055extern "C" {
3056    pub fn strncat(
3057        __s1: *mut ::std::os::raw::c_char,
3058        __s2: *const ::std::os::raw::c_char,
3059        __n: ::std::os::raw::c_ulong,
3060    ) -> *mut ::std::os::raw::c_char;
3061}
3062extern "C" {
3063    pub fn strncmp(
3064        __s1: *const ::std::os::raw::c_char,
3065        __s2: *const ::std::os::raw::c_char,
3066        __n: ::std::os::raw::c_ulong,
3067    ) -> ::std::os::raw::c_int;
3068}
3069extern "C" {
3070    pub fn strncpy(
3071        __dst: *mut ::std::os::raw::c_char,
3072        __src: *const ::std::os::raw::c_char,
3073        __n: ::std::os::raw::c_ulong,
3074    ) -> *mut ::std::os::raw::c_char;
3075}
3076extern "C" {
3077    pub fn strpbrk(
3078        __s: *const ::std::os::raw::c_char,
3079        __charset: *const ::std::os::raw::c_char,
3080    ) -> *mut ::std::os::raw::c_char;
3081}
3082extern "C" {
3083    pub fn strrchr(
3084        __s: *const ::std::os::raw::c_char,
3085        __c: ::std::os::raw::c_int,
3086    ) -> *mut ::std::os::raw::c_char;
3087}
3088extern "C" {
3089    pub fn strspn(
3090        __s: *const ::std::os::raw::c_char,
3091        __charset: *const ::std::os::raw::c_char,
3092    ) -> ::std::os::raw::c_ulong;
3093}
3094extern "C" {
3095    pub fn strstr(
3096        __big: *const ::std::os::raw::c_char,
3097        __little: *const ::std::os::raw::c_char,
3098    ) -> *mut ::std::os::raw::c_char;
3099}
3100extern "C" {
3101    pub fn strtok(
3102        __str: *mut ::std::os::raw::c_char,
3103        __sep: *const ::std::os::raw::c_char,
3104    ) -> *mut ::std::os::raw::c_char;
3105}
3106extern "C" {
3107    pub fn strxfrm(
3108        __s1: *mut ::std::os::raw::c_char,
3109        __s2: *const ::std::os::raw::c_char,
3110        __n: ::std::os::raw::c_ulong,
3111    ) -> ::std::os::raw::c_ulong;
3112}
3113extern "C" {
3114    pub fn strtok_r(
3115        __str: *mut ::std::os::raw::c_char,
3116        __sep: *const ::std::os::raw::c_char,
3117        __lasts: *mut *mut ::std::os::raw::c_char,
3118    ) -> *mut ::std::os::raw::c_char;
3119}
3120extern "C" {
3121    pub fn strerror_r(
3122        __errnum: ::std::os::raw::c_int,
3123        __strerrbuf: *mut ::std::os::raw::c_char,
3124        __buflen: size_t,
3125    ) -> ::std::os::raw::c_int;
3126}
3127extern "C" {
3128    pub fn strdup(__s1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3129}
3130extern "C" {
3131    pub fn memccpy(
3132        __dst: *mut ::std::os::raw::c_void,
3133        __src: *const ::std::os::raw::c_void,
3134        __c: ::std::os::raw::c_int,
3135        __n: ::std::os::raw::c_ulong,
3136    ) -> *mut ::std::os::raw::c_void;
3137}
3138extern "C" {
3139    pub fn stpcpy(
3140        __dst: *mut ::std::os::raw::c_char,
3141        __src: *const ::std::os::raw::c_char,
3142    ) -> *mut ::std::os::raw::c_char;
3143}
3144extern "C" {
3145    pub fn stpncpy(
3146        __dst: *mut ::std::os::raw::c_char,
3147        __src: *const ::std::os::raw::c_char,
3148        __n: ::std::os::raw::c_ulong,
3149    ) -> *mut ::std::os::raw::c_char;
3150}
3151extern "C" {
3152    pub fn strndup(
3153        __s1: *const ::std::os::raw::c_char,
3154        __n: ::std::os::raw::c_ulong,
3155    ) -> *mut ::std::os::raw::c_char;
3156}
3157extern "C" {
3158    pub fn strnlen(__s1: *const ::std::os::raw::c_char, __n: size_t) -> size_t;
3159}
3160extern "C" {
3161    pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
3162}
3163pub type rsize_t = __darwin_size_t;
3164pub type errno_t = ::std::os::raw::c_int;
3165extern "C" {
3166    pub fn memset_s(
3167        __s: *mut ::std::os::raw::c_void,
3168        __smax: rsize_t,
3169        __c: ::std::os::raw::c_int,
3170        __n: rsize_t,
3171    ) -> errno_t;
3172}
3173pub type ssize_t = __darwin_ssize_t;
3174extern "C" {
3175    pub fn memmem(
3176        __big: *const ::std::os::raw::c_void,
3177        __big_len: size_t,
3178        __little: *const ::std::os::raw::c_void,
3179        __little_len: size_t,
3180    ) -> *mut ::std::os::raw::c_void;
3181}
3182extern "C" {
3183    pub fn memset_pattern4(
3184        __b: *mut ::std::os::raw::c_void,
3185        __pattern4: *const ::std::os::raw::c_void,
3186        __len: size_t,
3187    );
3188}
3189extern "C" {
3190    pub fn memset_pattern8(
3191        __b: *mut ::std::os::raw::c_void,
3192        __pattern8: *const ::std::os::raw::c_void,
3193        __len: size_t,
3194    );
3195}
3196extern "C" {
3197    pub fn memset_pattern16(
3198        __b: *mut ::std::os::raw::c_void,
3199        __pattern16: *const ::std::os::raw::c_void,
3200        __len: size_t,
3201    );
3202}
3203extern "C" {
3204    pub fn strcasestr(
3205        __big: *const ::std::os::raw::c_char,
3206        __little: *const ::std::os::raw::c_char,
3207    ) -> *mut ::std::os::raw::c_char;
3208}
3209extern "C" {
3210    pub fn strnstr(
3211        __big: *const ::std::os::raw::c_char,
3212        __little: *const ::std::os::raw::c_char,
3213        __len: size_t,
3214    ) -> *mut ::std::os::raw::c_char;
3215}
3216extern "C" {
3217    pub fn strlcat(
3218        __dst: *mut ::std::os::raw::c_char,
3219        __source: *const ::std::os::raw::c_char,
3220        __size: ::std::os::raw::c_ulong,
3221    ) -> ::std::os::raw::c_ulong;
3222}
3223extern "C" {
3224    pub fn strlcpy(
3225        __dst: *mut ::std::os::raw::c_char,
3226        __source: *const ::std::os::raw::c_char,
3227        __size: ::std::os::raw::c_ulong,
3228    ) -> ::std::os::raw::c_ulong;
3229}
3230extern "C" {
3231    pub fn strmode(__mode: ::std::os::raw::c_int, __bp: *mut ::std::os::raw::c_char);
3232}
3233extern "C" {
3234    pub fn strsep(
3235        __stringp: *mut *mut ::std::os::raw::c_char,
3236        __delim: *const ::std::os::raw::c_char,
3237    ) -> *mut ::std::os::raw::c_char;
3238}
3239extern "C" {
3240    pub fn swab(
3241        arg1: *const ::std::os::raw::c_void,
3242        arg2: *mut ::std::os::raw::c_void,
3243        arg3: ssize_t,
3244    );
3245}
3246extern "C" {
3247    pub fn timingsafe_bcmp(
3248        __b1: *const ::std::os::raw::c_void,
3249        __b2: *const ::std::os::raw::c_void,
3250        __len: size_t,
3251    ) -> ::std::os::raw::c_int;
3252}
3253extern "C" {
3254    pub fn strsignal_r(
3255        __sig: ::std::os::raw::c_int,
3256        __strsignalbuf: *mut ::std::os::raw::c_char,
3257        __buflen: size_t,
3258    ) -> ::std::os::raw::c_int;
3259}
3260extern "C" {
3261    pub fn bcmp(
3262        arg1: *const ::std::os::raw::c_void,
3263        arg2: *const ::std::os::raw::c_void,
3264        arg3: ::std::os::raw::c_ulong,
3265    ) -> ::std::os::raw::c_int;
3266}
3267extern "C" {
3268    pub fn bcopy(
3269        arg1: *const ::std::os::raw::c_void,
3270        arg2: *mut ::std::os::raw::c_void,
3271        arg3: size_t,
3272    );
3273}
3274extern "C" {
3275    pub fn bzero(arg1: *mut ::std::os::raw::c_void, arg2: ::std::os::raw::c_ulong);
3276}
3277extern "C" {
3278    pub fn index(
3279        arg1: *const ::std::os::raw::c_char,
3280        arg2: ::std::os::raw::c_int,
3281    ) -> *mut ::std::os::raw::c_char;
3282}
3283extern "C" {
3284    pub fn rindex(
3285        arg1: *const ::std::os::raw::c_char,
3286        arg2: ::std::os::raw::c_int,
3287    ) -> *mut ::std::os::raw::c_char;
3288}
3289extern "C" {
3290    pub fn ffs(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3291}
3292extern "C" {
3293    pub fn strcasecmp(
3294        arg1: *const ::std::os::raw::c_char,
3295        arg2: *const ::std::os::raw::c_char,
3296    ) -> ::std::os::raw::c_int;
3297}
3298extern "C" {
3299    pub fn strncasecmp(
3300        arg1: *const ::std::os::raw::c_char,
3301        arg2: *const ::std::os::raw::c_char,
3302        arg3: ::std::os::raw::c_ulong,
3303    ) -> ::std::os::raw::c_int;
3304}
3305extern "C" {
3306    pub fn ffsl(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
3307}
3308extern "C" {
3309    pub fn ffsll(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int;
3310}
3311extern "C" {
3312    pub fn fls(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3313}
3314extern "C" {
3315    pub fn flsl(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
3316}
3317extern "C" {
3318    pub fn flsll(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int;
3319}
3320#[repr(C)]
3321#[derive(Debug, Copy, Clone)]
3322pub struct _GBytes {
3323    _unused: [u8; 0],
3324}
3325pub type GBytes = _GBytes;
3326pub type GArray = _GArray;
3327pub type GByteArray = _GByteArray;
3328pub type GPtrArray = _GPtrArray;
3329#[repr(C)]
3330#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3331pub struct _GArray {
3332    pub data: *mut gchar,
3333    pub len: guint,
3334}
3335#[test]
3336fn bindgen_test_layout__GArray() {
3337    const UNINIT: ::std::mem::MaybeUninit<_GArray> = ::std::mem::MaybeUninit::uninit();
3338    let ptr = UNINIT.as_ptr();
3339    assert_eq!(
3340        ::std::mem::size_of::<_GArray>(),
3341        16usize,
3342        concat!("Size of: ", stringify!(_GArray))
3343    );
3344    assert_eq!(
3345        ::std::mem::align_of::<_GArray>(),
3346        8usize,
3347        concat!("Alignment of ", stringify!(_GArray))
3348    );
3349    assert_eq!(
3350        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
3351        0usize,
3352        concat!(
3353            "Offset of field: ",
3354            stringify!(_GArray),
3355            "::",
3356            stringify!(data)
3357        )
3358    );
3359    assert_eq!(
3360        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
3361        8usize,
3362        concat!(
3363            "Offset of field: ",
3364            stringify!(_GArray),
3365            "::",
3366            stringify!(len)
3367        )
3368    );
3369}
3370#[repr(C)]
3371#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3372pub struct _GByteArray {
3373    pub data: *mut guint8,
3374    pub len: guint,
3375}
3376#[test]
3377fn bindgen_test_layout__GByteArray() {
3378    const UNINIT: ::std::mem::MaybeUninit<_GByteArray> = ::std::mem::MaybeUninit::uninit();
3379    let ptr = UNINIT.as_ptr();
3380    assert_eq!(
3381        ::std::mem::size_of::<_GByteArray>(),
3382        16usize,
3383        concat!("Size of: ", stringify!(_GByteArray))
3384    );
3385    assert_eq!(
3386        ::std::mem::align_of::<_GByteArray>(),
3387        8usize,
3388        concat!("Alignment of ", stringify!(_GByteArray))
3389    );
3390    assert_eq!(
3391        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
3392        0usize,
3393        concat!(
3394            "Offset of field: ",
3395            stringify!(_GByteArray),
3396            "::",
3397            stringify!(data)
3398        )
3399    );
3400    assert_eq!(
3401        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
3402        8usize,
3403        concat!(
3404            "Offset of field: ",
3405            stringify!(_GByteArray),
3406            "::",
3407            stringify!(len)
3408        )
3409    );
3410}
3411#[repr(C)]
3412#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3413pub struct _GPtrArray {
3414    pub pdata: *mut gpointer,
3415    pub len: guint,
3416}
3417#[test]
3418fn bindgen_test_layout__GPtrArray() {
3419    const UNINIT: ::std::mem::MaybeUninit<_GPtrArray> = ::std::mem::MaybeUninit::uninit();
3420    let ptr = UNINIT.as_ptr();
3421    assert_eq!(
3422        ::std::mem::size_of::<_GPtrArray>(),
3423        16usize,
3424        concat!("Size of: ", stringify!(_GPtrArray))
3425    );
3426    assert_eq!(
3427        ::std::mem::align_of::<_GPtrArray>(),
3428        8usize,
3429        concat!("Alignment of ", stringify!(_GPtrArray))
3430    );
3431    assert_eq!(
3432        unsafe { ::std::ptr::addr_of!((*ptr).pdata) as usize - ptr as usize },
3433        0usize,
3434        concat!(
3435            "Offset of field: ",
3436            stringify!(_GPtrArray),
3437            "::",
3438            stringify!(pdata)
3439        )
3440    );
3441    assert_eq!(
3442        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
3443        8usize,
3444        concat!(
3445            "Offset of field: ",
3446            stringify!(_GPtrArray),
3447            "::",
3448            stringify!(len)
3449        )
3450    );
3451}
3452extern "C" {
3453    pub fn g_array_new(
3454        zero_terminated: gboolean,
3455        clear_: gboolean,
3456        element_size: guint,
3457    ) -> *mut GArray;
3458}
3459extern "C" {
3460    pub fn g_array_new_take(
3461        data: gpointer,
3462        len: gsize,
3463        clear: gboolean,
3464        element_size: gsize,
3465    ) -> *mut GArray;
3466}
3467extern "C" {
3468    pub fn g_array_new_take_zero_terminated(
3469        data: gpointer,
3470        clear: gboolean,
3471        element_size: gsize,
3472    ) -> *mut GArray;
3473}
3474extern "C" {
3475    pub fn g_array_steal(array: *mut GArray, len: *mut gsize) -> gpointer;
3476}
3477extern "C" {
3478    pub fn g_array_sized_new(
3479        zero_terminated: gboolean,
3480        clear_: gboolean,
3481        element_size: guint,
3482        reserved_size: guint,
3483    ) -> *mut GArray;
3484}
3485extern "C" {
3486    pub fn g_array_copy(array: *mut GArray) -> *mut GArray;
3487}
3488extern "C" {
3489    pub fn g_array_free(array: *mut GArray, free_segment: gboolean) -> *mut gchar;
3490}
3491extern "C" {
3492    pub fn g_array_ref(array: *mut GArray) -> *mut GArray;
3493}
3494extern "C" {
3495    pub fn g_array_unref(array: *mut GArray);
3496}
3497extern "C" {
3498    pub fn g_array_get_element_size(array: *mut GArray) -> guint;
3499}
3500extern "C" {
3501    pub fn g_array_append_vals(array: *mut GArray, data: gconstpointer, len: guint) -> *mut GArray;
3502}
3503extern "C" {
3504    pub fn g_array_prepend_vals(array: *mut GArray, data: gconstpointer, len: guint)
3505        -> *mut GArray;
3506}
3507extern "C" {
3508    pub fn g_array_insert_vals(
3509        array: *mut GArray,
3510        index_: guint,
3511        data: gconstpointer,
3512        len: guint,
3513    ) -> *mut GArray;
3514}
3515extern "C" {
3516    pub fn g_array_set_size(array: *mut GArray, length: guint) -> *mut GArray;
3517}
3518extern "C" {
3519    pub fn g_array_remove_index(array: *mut GArray, index_: guint) -> *mut GArray;
3520}
3521extern "C" {
3522    pub fn g_array_remove_index_fast(array: *mut GArray, index_: guint) -> *mut GArray;
3523}
3524extern "C" {
3525    pub fn g_array_remove_range(array: *mut GArray, index_: guint, length: guint) -> *mut GArray;
3526}
3527extern "C" {
3528    pub fn g_array_sort(array: *mut GArray, compare_func: GCompareFunc);
3529}
3530extern "C" {
3531    pub fn g_array_sort_with_data(
3532        array: *mut GArray,
3533        compare_func: GCompareDataFunc,
3534        user_data: gpointer,
3535    );
3536}
3537extern "C" {
3538    pub fn g_array_binary_search(
3539        array: *mut GArray,
3540        target: gconstpointer,
3541        compare_func: GCompareFunc,
3542        out_match_index: *mut guint,
3543    ) -> gboolean;
3544}
3545extern "C" {
3546    pub fn g_array_set_clear_func(array: *mut GArray, clear_func: GDestroyNotify);
3547}
3548extern "C" {
3549    pub fn g_ptr_array_new() -> *mut GPtrArray;
3550}
3551extern "C" {
3552    pub fn g_ptr_array_new_with_free_func(element_free_func: GDestroyNotify) -> *mut GPtrArray;
3553}
3554extern "C" {
3555    pub fn g_ptr_array_new_take(
3556        data: *mut gpointer,
3557        len: gsize,
3558        element_free_func: GDestroyNotify,
3559    ) -> *mut GPtrArray;
3560}
3561extern "C" {
3562    pub fn g_ptr_array_new_from_array(
3563        data: *mut gpointer,
3564        len: gsize,
3565        copy_func: GCopyFunc,
3566        copy_func_user_data: gpointer,
3567        element_free_func: GDestroyNotify,
3568    ) -> *mut GPtrArray;
3569}
3570extern "C" {
3571    pub fn g_ptr_array_steal(array: *mut GPtrArray, len: *mut gsize) -> *mut gpointer;
3572}
3573extern "C" {
3574    pub fn g_ptr_array_copy(
3575        array: *mut GPtrArray,
3576        func: GCopyFunc,
3577        user_data: gpointer,
3578    ) -> *mut GPtrArray;
3579}
3580extern "C" {
3581    pub fn g_ptr_array_sized_new(reserved_size: guint) -> *mut GPtrArray;
3582}
3583extern "C" {
3584    pub fn g_ptr_array_new_full(
3585        reserved_size: guint,
3586        element_free_func: GDestroyNotify,
3587    ) -> *mut GPtrArray;
3588}
3589extern "C" {
3590    pub fn g_ptr_array_new_null_terminated(
3591        reserved_size: guint,
3592        element_free_func: GDestroyNotify,
3593        null_terminated: gboolean,
3594    ) -> *mut GPtrArray;
3595}
3596extern "C" {
3597    pub fn g_ptr_array_new_take_null_terminated(
3598        data: *mut gpointer,
3599        element_free_func: GDestroyNotify,
3600    ) -> *mut GPtrArray;
3601}
3602extern "C" {
3603    pub fn g_ptr_array_new_from_null_terminated_array(
3604        data: *mut gpointer,
3605        copy_func: GCopyFunc,
3606        copy_func_user_data: gpointer,
3607        element_free_func: GDestroyNotify,
3608    ) -> *mut GPtrArray;
3609}
3610extern "C" {
3611    pub fn g_ptr_array_free(array: *mut GPtrArray, free_seg: gboolean) -> *mut gpointer;
3612}
3613extern "C" {
3614    pub fn g_ptr_array_ref(array: *mut GPtrArray) -> *mut GPtrArray;
3615}
3616extern "C" {
3617    pub fn g_ptr_array_unref(array: *mut GPtrArray);
3618}
3619extern "C" {
3620    pub fn g_ptr_array_set_free_func(array: *mut GPtrArray, element_free_func: GDestroyNotify);
3621}
3622extern "C" {
3623    pub fn g_ptr_array_set_size(array: *mut GPtrArray, length: gint);
3624}
3625extern "C" {
3626    pub fn g_ptr_array_remove_index(array: *mut GPtrArray, index_: guint) -> gpointer;
3627}
3628extern "C" {
3629    pub fn g_ptr_array_remove_index_fast(array: *mut GPtrArray, index_: guint) -> gpointer;
3630}
3631extern "C" {
3632    pub fn g_ptr_array_steal_index(array: *mut GPtrArray, index_: guint) -> gpointer;
3633}
3634extern "C" {
3635    pub fn g_ptr_array_steal_index_fast(array: *mut GPtrArray, index_: guint) -> gpointer;
3636}
3637extern "C" {
3638    pub fn g_ptr_array_remove(array: *mut GPtrArray, data: gpointer) -> gboolean;
3639}
3640extern "C" {
3641    pub fn g_ptr_array_remove_fast(array: *mut GPtrArray, data: gpointer) -> gboolean;
3642}
3643extern "C" {
3644    pub fn g_ptr_array_remove_range(
3645        array: *mut GPtrArray,
3646        index_: guint,
3647        length: guint,
3648    ) -> *mut GPtrArray;
3649}
3650extern "C" {
3651    pub fn g_ptr_array_add(array: *mut GPtrArray, data: gpointer);
3652}
3653extern "C" {
3654    pub fn g_ptr_array_extend(
3655        array_to_extend: *mut GPtrArray,
3656        array: *mut GPtrArray,
3657        func: GCopyFunc,
3658        user_data: gpointer,
3659    );
3660}
3661extern "C" {
3662    pub fn g_ptr_array_extend_and_steal(array_to_extend: *mut GPtrArray, array: *mut GPtrArray);
3663}
3664extern "C" {
3665    pub fn g_ptr_array_insert(array: *mut GPtrArray, index_: gint, data: gpointer);
3666}
3667extern "C" {
3668    pub fn g_ptr_array_sort(array: *mut GPtrArray, compare_func: GCompareFunc);
3669}
3670extern "C" {
3671    pub fn g_ptr_array_sort_with_data(
3672        array: *mut GPtrArray,
3673        compare_func: GCompareDataFunc,
3674        user_data: gpointer,
3675    );
3676}
3677extern "C" {
3678    pub fn g_ptr_array_sort_values(array: *mut GPtrArray, compare_func: GCompareFunc);
3679}
3680extern "C" {
3681    pub fn g_ptr_array_sort_values_with_data(
3682        array: *mut GPtrArray,
3683        compare_func: GCompareDataFunc,
3684        user_data: gpointer,
3685    );
3686}
3687extern "C" {
3688    pub fn g_ptr_array_foreach(array: *mut GPtrArray, func: GFunc, user_data: gpointer);
3689}
3690extern "C" {
3691    pub fn g_ptr_array_find(
3692        haystack: *mut GPtrArray,
3693        needle: gconstpointer,
3694        index_: *mut guint,
3695    ) -> gboolean;
3696}
3697extern "C" {
3698    pub fn g_ptr_array_find_with_equal_func(
3699        haystack: *mut GPtrArray,
3700        needle: gconstpointer,
3701        equal_func: GEqualFunc,
3702        index_: *mut guint,
3703    ) -> gboolean;
3704}
3705extern "C" {
3706    pub fn g_ptr_array_is_null_terminated(array: *mut GPtrArray) -> gboolean;
3707}
3708extern "C" {
3709    pub fn g_byte_array_new() -> *mut GByteArray;
3710}
3711extern "C" {
3712    pub fn g_byte_array_new_take(data: *mut guint8, len: gsize) -> *mut GByteArray;
3713}
3714extern "C" {
3715    pub fn g_byte_array_steal(array: *mut GByteArray, len: *mut gsize) -> *mut guint8;
3716}
3717extern "C" {
3718    pub fn g_byte_array_sized_new(reserved_size: guint) -> *mut GByteArray;
3719}
3720extern "C" {
3721    pub fn g_byte_array_free(array: *mut GByteArray, free_segment: gboolean) -> *mut guint8;
3722}
3723extern "C" {
3724    pub fn g_byte_array_free_to_bytes(array: *mut GByteArray) -> *mut GBytes;
3725}
3726extern "C" {
3727    pub fn g_byte_array_ref(array: *mut GByteArray) -> *mut GByteArray;
3728}
3729extern "C" {
3730    pub fn g_byte_array_unref(array: *mut GByteArray);
3731}
3732extern "C" {
3733    pub fn g_byte_array_append(
3734        array: *mut GByteArray,
3735        data: *const guint8,
3736        len: guint,
3737    ) -> *mut GByteArray;
3738}
3739extern "C" {
3740    pub fn g_byte_array_prepend(
3741        array: *mut GByteArray,
3742        data: *const guint8,
3743        len: guint,
3744    ) -> *mut GByteArray;
3745}
3746extern "C" {
3747    pub fn g_byte_array_set_size(array: *mut GByteArray, length: guint) -> *mut GByteArray;
3748}
3749extern "C" {
3750    pub fn g_byte_array_remove_index(array: *mut GByteArray, index_: guint) -> *mut GByteArray;
3751}
3752extern "C" {
3753    pub fn g_byte_array_remove_index_fast(array: *mut GByteArray, index_: guint)
3754        -> *mut GByteArray;
3755}
3756extern "C" {
3757    pub fn g_byte_array_remove_range(
3758        array: *mut GByteArray,
3759        index_: guint,
3760        length: guint,
3761    ) -> *mut GByteArray;
3762}
3763extern "C" {
3764    pub fn g_byte_array_sort(array: *mut GByteArray, compare_func: GCompareFunc);
3765}
3766extern "C" {
3767    pub fn g_byte_array_sort_with_data(
3768        array: *mut GByteArray,
3769        compare_func: GCompareDataFunc,
3770        user_data: gpointer,
3771    );
3772}
3773extern "C" {
3774    pub fn g_atomic_int_get(atomic: *const gint) -> gint;
3775}
3776extern "C" {
3777    pub fn g_atomic_int_set(atomic: *mut gint, newval: gint);
3778}
3779extern "C" {
3780    pub fn g_atomic_int_inc(atomic: *mut gint);
3781}
3782extern "C" {
3783    pub fn g_atomic_int_dec_and_test(atomic: *mut gint) -> gboolean;
3784}
3785extern "C" {
3786    pub fn g_atomic_int_compare_and_exchange(
3787        atomic: *mut gint,
3788        oldval: gint,
3789        newval: gint,
3790    ) -> gboolean;
3791}
3792extern "C" {
3793    pub fn g_atomic_int_compare_and_exchange_full(
3794        atomic: *mut gint,
3795        oldval: gint,
3796        newval: gint,
3797        preval: *mut gint,
3798    ) -> gboolean;
3799}
3800extern "C" {
3801    pub fn g_atomic_int_exchange(atomic: *mut gint, newval: gint) -> gint;
3802}
3803extern "C" {
3804    pub fn g_atomic_int_add(atomic: *mut gint, val: gint) -> gint;
3805}
3806extern "C" {
3807    pub fn g_atomic_int_and(atomic: *mut guint, val: guint) -> guint;
3808}
3809extern "C" {
3810    pub fn g_atomic_int_or(atomic: *mut guint, val: guint) -> guint;
3811}
3812extern "C" {
3813    pub fn g_atomic_int_xor(atomic: *mut guint, val: guint) -> guint;
3814}
3815extern "C" {
3816    pub fn g_atomic_pointer_get(atomic: *const ::std::os::raw::c_void) -> gpointer;
3817}
3818extern "C" {
3819    pub fn g_atomic_pointer_set(atomic: *mut ::std::os::raw::c_void, newval: gpointer);
3820}
3821extern "C" {
3822    pub fn g_atomic_pointer_compare_and_exchange(
3823        atomic: *mut ::std::os::raw::c_void,
3824        oldval: gpointer,
3825        newval: gpointer,
3826    ) -> gboolean;
3827}
3828extern "C" {
3829    pub fn g_atomic_pointer_compare_and_exchange_full(
3830        atomic: *mut ::std::os::raw::c_void,
3831        oldval: gpointer,
3832        newval: gpointer,
3833        preval: *mut ::std::os::raw::c_void,
3834    ) -> gboolean;
3835}
3836extern "C" {
3837    pub fn g_atomic_pointer_exchange(
3838        atomic: *mut ::std::os::raw::c_void,
3839        newval: gpointer,
3840    ) -> gpointer;
3841}
3842extern "C" {
3843    pub fn g_atomic_pointer_add(atomic: *mut ::std::os::raw::c_void, val: gssize) -> gssize;
3844}
3845extern "C" {
3846    pub fn g_atomic_pointer_and(atomic: *mut ::std::os::raw::c_void, val: gsize) -> gsize;
3847}
3848extern "C" {
3849    pub fn g_atomic_pointer_or(atomic: *mut ::std::os::raw::c_void, val: gsize) -> gsize;
3850}
3851extern "C" {
3852    pub fn g_atomic_pointer_xor(atomic: *mut ::std::os::raw::c_void, val: gsize) -> gsize;
3853}
3854extern "C" {
3855    pub fn g_atomic_int_exchange_and_add(atomic: *mut gint, val: gint) -> gint;
3856}
3857pub type va_list = __builtin_va_list;
3858pub type __gnuc_va_list = __builtin_va_list;
3859pub type GQuark = guint32;
3860extern "C" {
3861    pub fn g_quark_try_string(string: *const gchar) -> GQuark;
3862}
3863extern "C" {
3864    pub fn g_quark_from_static_string(string: *const gchar) -> GQuark;
3865}
3866extern "C" {
3867    pub fn g_quark_from_string(string: *const gchar) -> GQuark;
3868}
3869extern "C" {
3870    pub fn g_quark_to_string(quark: GQuark) -> *const gchar;
3871}
3872extern "C" {
3873    pub fn g_intern_string(string: *const gchar) -> *const gchar;
3874}
3875extern "C" {
3876    pub fn g_intern_static_string(string: *const gchar) -> *const gchar;
3877}
3878#[doc = " GError:\n @domain: error domain, e.g. %G_FILE_ERROR\n @code: error code, e.g. %G_FILE_ERROR_NOENT\n @message: human-readable informative error message\n\n The `GError` structure contains information about\n an error that has occurred."]
3879pub type GError = _GError;
3880#[repr(C)]
3881#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3882pub struct _GError {
3883    pub domain: GQuark,
3884    pub code: gint,
3885    pub message: *mut gchar,
3886}
3887#[test]
3888fn bindgen_test_layout__GError() {
3889    const UNINIT: ::std::mem::MaybeUninit<_GError> = ::std::mem::MaybeUninit::uninit();
3890    let ptr = UNINIT.as_ptr();
3891    assert_eq!(
3892        ::std::mem::size_of::<_GError>(),
3893        16usize,
3894        concat!("Size of: ", stringify!(_GError))
3895    );
3896    assert_eq!(
3897        ::std::mem::align_of::<_GError>(),
3898        8usize,
3899        concat!("Alignment of ", stringify!(_GError))
3900    );
3901    assert_eq!(
3902        unsafe { ::std::ptr::addr_of!((*ptr).domain) as usize - ptr as usize },
3903        0usize,
3904        concat!(
3905            "Offset of field: ",
3906            stringify!(_GError),
3907            "::",
3908            stringify!(domain)
3909        )
3910    );
3911    assert_eq!(
3912        unsafe { ::std::ptr::addr_of!((*ptr).code) as usize - ptr as usize },
3913        4usize,
3914        concat!(
3915            "Offset of field: ",
3916            stringify!(_GError),
3917            "::",
3918            stringify!(code)
3919        )
3920    );
3921    assert_eq!(
3922        unsafe { ::std::ptr::addr_of!((*ptr).message) as usize - ptr as usize },
3923        8usize,
3924        concat!(
3925            "Offset of field: ",
3926            stringify!(_GError),
3927            "::",
3928            stringify!(message)
3929        )
3930    );
3931}
3932#[doc = " GErrorInitFunc:\n @error: extended error\n\n Specifies the type of function which is called just after an\n extended error instance is created and its fields filled. It should\n only initialize the fields in the private data, which can be\n received with the generated `*_get_private()` function.\n\n Normally, it is better to use G_DEFINE_EXTENDED_ERROR(), as it\n already takes care of getting the private data from @error.\n\n Since: 2.68"]
3933pub type GErrorInitFunc = ::std::option::Option<unsafe extern "C" fn(error: *mut GError)>;
3934#[doc = " GErrorCopyFunc:\n @src_error: source extended error\n @dest_error: destination extended error\n\n Specifies the type of function which is called when an extended\n error instance is copied. It is passed the pointer to the\n destination error and source error, and should copy only the fields\n of the private data from @src_error to @dest_error.\n\n Normally, it is better to use G_DEFINE_EXTENDED_ERROR(), as it\n already takes care of getting the private data from @src_error and\n @dest_error.\n\n Since: 2.68"]
3935pub type GErrorCopyFunc =
3936    ::std::option::Option<unsafe extern "C" fn(src_error: *const GError, dest_error: *mut GError)>;
3937#[doc = " GErrorClearFunc:\n @error: extended error to clear\n\n Specifies the type of function which is called when an extended\n error instance is freed. It is passed the error pointer about to be\n freed, and should free the error's private data fields.\n\n Normally, it is better to use G_DEFINE_EXTENDED_ERROR(), as it\n already takes care of getting the private data from @error.\n\n Since: 2.68"]
3938pub type GErrorClearFunc = ::std::option::Option<unsafe extern "C" fn(error: *mut GError)>;
3939extern "C" {
3940    pub fn g_error_domain_register_static(
3941        error_type_name: *const ::std::os::raw::c_char,
3942        error_type_private_size: gsize,
3943        error_type_init: GErrorInitFunc,
3944        error_type_copy: GErrorCopyFunc,
3945        error_type_clear: GErrorClearFunc,
3946    ) -> GQuark;
3947}
3948extern "C" {
3949    pub fn g_error_domain_register(
3950        error_type_name: *const ::std::os::raw::c_char,
3951        error_type_private_size: gsize,
3952        error_type_init: GErrorInitFunc,
3953        error_type_copy: GErrorCopyFunc,
3954        error_type_clear: GErrorClearFunc,
3955    ) -> GQuark;
3956}
3957extern "C" {
3958    pub fn g_error_new(domain: GQuark, code: gint, format: *const gchar, ...) -> *mut GError;
3959}
3960extern "C" {
3961    pub fn g_error_new_literal(domain: GQuark, code: gint, message: *const gchar) -> *mut GError;
3962}
3963extern "C" {
3964    pub fn g_error_new_valist(
3965        domain: GQuark,
3966        code: gint,
3967        format: *const gchar,
3968        args: va_list,
3969    ) -> *mut GError;
3970}
3971extern "C" {
3972    pub fn g_error_free(error: *mut GError);
3973}
3974extern "C" {
3975    pub fn g_error_copy(error: *const GError) -> *mut GError;
3976}
3977extern "C" {
3978    pub fn g_error_matches(error: *const GError, domain: GQuark, code: gint) -> gboolean;
3979}
3980extern "C" {
3981    pub fn g_set_error(
3982        err: *mut *mut GError,
3983        domain: GQuark,
3984        code: gint,
3985        format: *const gchar,
3986        ...
3987    );
3988}
3989extern "C" {
3990    pub fn g_set_error_literal(
3991        err: *mut *mut GError,
3992        domain: GQuark,
3993        code: gint,
3994        message: *const gchar,
3995    );
3996}
3997extern "C" {
3998    pub fn g_propagate_error(dest: *mut *mut GError, src: *mut GError);
3999}
4000extern "C" {
4001    pub fn g_clear_error(err: *mut *mut GError);
4002}
4003extern "C" {
4004    pub fn g_prefix_error(err: *mut *mut GError, format: *const gchar, ...);
4005}
4006extern "C" {
4007    pub fn g_prefix_error_literal(err: *mut *mut GError, prefix: *const gchar);
4008}
4009extern "C" {
4010    pub fn g_propagate_prefixed_error(
4011        dest: *mut *mut GError,
4012        src: *mut GError,
4013        format: *const gchar,
4014        ...
4015    );
4016}
4017extern "C" {
4018    pub fn g_get_user_name() -> *const gchar;
4019}
4020extern "C" {
4021    pub fn g_get_real_name() -> *const gchar;
4022}
4023extern "C" {
4024    pub fn g_get_home_dir() -> *const gchar;
4025}
4026extern "C" {
4027    pub fn g_get_tmp_dir() -> *const gchar;
4028}
4029extern "C" {
4030    pub fn g_get_host_name() -> *const gchar;
4031}
4032extern "C" {
4033    pub fn g_get_prgname() -> *const gchar;
4034}
4035extern "C" {
4036    pub fn g_set_prgname(prgname: *const gchar);
4037}
4038extern "C" {
4039    pub fn g_get_application_name() -> *const gchar;
4040}
4041extern "C" {
4042    pub fn g_set_application_name(application_name: *const gchar);
4043}
4044extern "C" {
4045    pub fn g_get_os_info(key_name: *const gchar) -> *mut gchar;
4046}
4047extern "C" {
4048    pub fn g_reload_user_special_dirs_cache();
4049}
4050extern "C" {
4051    pub fn g_get_user_data_dir() -> *const gchar;
4052}
4053extern "C" {
4054    pub fn g_get_user_config_dir() -> *const gchar;
4055}
4056extern "C" {
4057    pub fn g_get_user_cache_dir() -> *const gchar;
4058}
4059extern "C" {
4060    pub fn g_get_user_state_dir() -> *const gchar;
4061}
4062extern "C" {
4063    pub fn g_get_system_data_dirs() -> *const *const gchar;
4064}
4065extern "C" {
4066    pub fn g_get_system_config_dirs() -> *const *const gchar;
4067}
4068extern "C" {
4069    pub fn g_get_user_runtime_dir() -> *const gchar;
4070}
4071pub const GUserDirectory_G_USER_DIRECTORY_DESKTOP: GUserDirectory = 0;
4072pub const GUserDirectory_G_USER_DIRECTORY_DOCUMENTS: GUserDirectory = 1;
4073pub const GUserDirectory_G_USER_DIRECTORY_DOWNLOAD: GUserDirectory = 2;
4074pub const GUserDirectory_G_USER_DIRECTORY_MUSIC: GUserDirectory = 3;
4075pub const GUserDirectory_G_USER_DIRECTORY_PICTURES: GUserDirectory = 4;
4076pub const GUserDirectory_G_USER_DIRECTORY_PUBLIC_SHARE: GUserDirectory = 5;
4077pub const GUserDirectory_G_USER_DIRECTORY_TEMPLATES: GUserDirectory = 6;
4078pub const GUserDirectory_G_USER_DIRECTORY_VIDEOS: GUserDirectory = 7;
4079pub const GUserDirectory_G_USER_N_DIRECTORIES: GUserDirectory = 8;
4080#[doc = " GUserDirectory:\n @G_USER_DIRECTORY_DESKTOP: the user's Desktop directory\n @G_USER_DIRECTORY_DOCUMENTS: the user's Documents directory\n @G_USER_DIRECTORY_DOWNLOAD: the user's Downloads directory\n @G_USER_DIRECTORY_MUSIC: the user's Music directory\n @G_USER_DIRECTORY_PICTURES: the user's Pictures directory\n @G_USER_DIRECTORY_PUBLIC_SHARE: the user's shared directory\n @G_USER_DIRECTORY_TEMPLATES: the user's Templates directory\n @G_USER_DIRECTORY_VIDEOS: the user's Movies directory\n @G_USER_N_DIRECTORIES: the number of enum values\n\n These are logical ids for special directories which are defined\n depending on the platform used. You should use g_get_user_special_dir()\n to retrieve the full path associated to the logical id.\n\n The #GUserDirectory enumeration can be extended at later date. Not\n every platform has a directory for every logical id in this\n enumeration.\n\n Since: 2.14"]
4081pub type GUserDirectory = ::std::os::raw::c_uint;
4082extern "C" {
4083    pub fn g_get_user_special_dir(directory: GUserDirectory) -> *const gchar;
4084}
4085#[doc = " GDebugKey:\n @key: the string\n @value: the flag\n\n Associates a string with a bit flag.\n Used in g_parse_debug_string()."]
4086pub type GDebugKey = _GDebugKey;
4087#[repr(C)]
4088#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4089pub struct _GDebugKey {
4090    pub key: *const gchar,
4091    pub value: guint,
4092}
4093#[test]
4094fn bindgen_test_layout__GDebugKey() {
4095    const UNINIT: ::std::mem::MaybeUninit<_GDebugKey> = ::std::mem::MaybeUninit::uninit();
4096    let ptr = UNINIT.as_ptr();
4097    assert_eq!(
4098        ::std::mem::size_of::<_GDebugKey>(),
4099        16usize,
4100        concat!("Size of: ", stringify!(_GDebugKey))
4101    );
4102    assert_eq!(
4103        ::std::mem::align_of::<_GDebugKey>(),
4104        8usize,
4105        concat!("Alignment of ", stringify!(_GDebugKey))
4106    );
4107    assert_eq!(
4108        unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
4109        0usize,
4110        concat!(
4111            "Offset of field: ",
4112            stringify!(_GDebugKey),
4113            "::",
4114            stringify!(key)
4115        )
4116    );
4117    assert_eq!(
4118        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
4119        8usize,
4120        concat!(
4121            "Offset of field: ",
4122            stringify!(_GDebugKey),
4123            "::",
4124            stringify!(value)
4125        )
4126    );
4127}
4128extern "C" {
4129    pub fn g_parse_debug_string(
4130        string: *const gchar,
4131        keys: *const GDebugKey,
4132        nkeys: guint,
4133    ) -> guint;
4134}
4135extern "C" {
4136    pub fn g_snprintf(string: *mut gchar, n: gulong, format: *const gchar, ...) -> gint;
4137}
4138extern "C" {
4139    pub fn g_vsnprintf(string: *mut gchar, n: gulong, format: *const gchar, args: va_list) -> gint;
4140}
4141extern "C" {
4142    pub fn g_nullify_pointer(nullify_location: *mut gpointer);
4143}
4144pub const GFormatSizeFlags_G_FORMAT_SIZE_DEFAULT: GFormatSizeFlags = 0;
4145pub const GFormatSizeFlags_G_FORMAT_SIZE_LONG_FORMAT: GFormatSizeFlags = 1;
4146pub const GFormatSizeFlags_G_FORMAT_SIZE_IEC_UNITS: GFormatSizeFlags = 2;
4147pub const GFormatSizeFlags_G_FORMAT_SIZE_BITS: GFormatSizeFlags = 4;
4148pub const GFormatSizeFlags_G_FORMAT_SIZE_ONLY_VALUE: GFormatSizeFlags = 8;
4149pub const GFormatSizeFlags_G_FORMAT_SIZE_ONLY_UNIT: GFormatSizeFlags = 16;
4150pub type GFormatSizeFlags = ::std::os::raw::c_uint;
4151extern "C" {
4152    pub fn g_format_size_full(size: guint64, flags: GFormatSizeFlags) -> *mut gchar;
4153}
4154extern "C" {
4155    pub fn g_format_size(size: guint64) -> *mut gchar;
4156}
4157extern "C" {
4158    pub fn g_format_size_for_display(size: goffset) -> *mut gchar;
4159}
4160#[doc = " GVoidFunc:\n\n Declares a type of function which takes no arguments\n and has no return value. It is used to specify the type\n function passed to g_atexit()."]
4161pub type GVoidFunc = ::std::option::Option<unsafe extern "C" fn()>;
4162extern "C" {
4163    pub fn g_atexit(func: GVoidFunc);
4164}
4165extern "C" {
4166    pub fn g_find_program_in_path(program: *const gchar) -> *mut gchar;
4167}
4168extern "C" {
4169    pub fn g_bit_nth_lsf(mask: gulong, nth_bit: gint) -> gint;
4170}
4171extern "C" {
4172    pub fn g_bit_nth_msf(mask: gulong, nth_bit: gint) -> gint;
4173}
4174extern "C" {
4175    pub fn g_bit_storage(number: gulong) -> guint;
4176}
4177pub const idtype_t_P_ALL: idtype_t = 0;
4178pub const idtype_t_P_PID: idtype_t = 1;
4179pub const idtype_t_P_PGID: idtype_t = 2;
4180pub type idtype_t = ::std::os::raw::c_uint;
4181pub type pid_t = __darwin_pid_t;
4182pub type id_t = __darwin_id_t;
4183pub type sig_atomic_t = ::std::os::raw::c_int;
4184#[repr(C)]
4185#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4186pub struct __darwin_arm_exception_state {
4187    pub __exception: __uint32_t,
4188    pub __fsr: __uint32_t,
4189    pub __far: __uint32_t,
4190}
4191#[test]
4192fn bindgen_test_layout___darwin_arm_exception_state() {
4193    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_exception_state> =
4194        ::std::mem::MaybeUninit::uninit();
4195    let ptr = UNINIT.as_ptr();
4196    assert_eq!(
4197        ::std::mem::size_of::<__darwin_arm_exception_state>(),
4198        12usize,
4199        concat!("Size of: ", stringify!(__darwin_arm_exception_state))
4200    );
4201    assert_eq!(
4202        ::std::mem::align_of::<__darwin_arm_exception_state>(),
4203        4usize,
4204        concat!("Alignment of ", stringify!(__darwin_arm_exception_state))
4205    );
4206    assert_eq!(
4207        unsafe { ::std::ptr::addr_of!((*ptr).__exception) as usize - ptr as usize },
4208        0usize,
4209        concat!(
4210            "Offset of field: ",
4211            stringify!(__darwin_arm_exception_state),
4212            "::",
4213            stringify!(__exception)
4214        )
4215    );
4216    assert_eq!(
4217        unsafe { ::std::ptr::addr_of!((*ptr).__fsr) as usize - ptr as usize },
4218        4usize,
4219        concat!(
4220            "Offset of field: ",
4221            stringify!(__darwin_arm_exception_state),
4222            "::",
4223            stringify!(__fsr)
4224        )
4225    );
4226    assert_eq!(
4227        unsafe { ::std::ptr::addr_of!((*ptr).__far) as usize - ptr as usize },
4228        8usize,
4229        concat!(
4230            "Offset of field: ",
4231            stringify!(__darwin_arm_exception_state),
4232            "::",
4233            stringify!(__far)
4234        )
4235    );
4236}
4237#[repr(C)]
4238#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4239pub struct __darwin_arm_exception_state64 {
4240    pub __far: __uint64_t,
4241    pub __esr: __uint32_t,
4242    pub __exception: __uint32_t,
4243}
4244#[test]
4245fn bindgen_test_layout___darwin_arm_exception_state64() {
4246    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_exception_state64> =
4247        ::std::mem::MaybeUninit::uninit();
4248    let ptr = UNINIT.as_ptr();
4249    assert_eq!(
4250        ::std::mem::size_of::<__darwin_arm_exception_state64>(),
4251        16usize,
4252        concat!("Size of: ", stringify!(__darwin_arm_exception_state64))
4253    );
4254    assert_eq!(
4255        ::std::mem::align_of::<__darwin_arm_exception_state64>(),
4256        8usize,
4257        concat!("Alignment of ", stringify!(__darwin_arm_exception_state64))
4258    );
4259    assert_eq!(
4260        unsafe { ::std::ptr::addr_of!((*ptr).__far) as usize - ptr as usize },
4261        0usize,
4262        concat!(
4263            "Offset of field: ",
4264            stringify!(__darwin_arm_exception_state64),
4265            "::",
4266            stringify!(__far)
4267        )
4268    );
4269    assert_eq!(
4270        unsafe { ::std::ptr::addr_of!((*ptr).__esr) as usize - ptr as usize },
4271        8usize,
4272        concat!(
4273            "Offset of field: ",
4274            stringify!(__darwin_arm_exception_state64),
4275            "::",
4276            stringify!(__esr)
4277        )
4278    );
4279    assert_eq!(
4280        unsafe { ::std::ptr::addr_of!((*ptr).__exception) as usize - ptr as usize },
4281        12usize,
4282        concat!(
4283            "Offset of field: ",
4284            stringify!(__darwin_arm_exception_state64),
4285            "::",
4286            stringify!(__exception)
4287        )
4288    );
4289}
4290#[repr(C)]
4291#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4292pub struct __darwin_arm_thread_state {
4293    pub __r: [__uint32_t; 13usize],
4294    pub __sp: __uint32_t,
4295    pub __lr: __uint32_t,
4296    pub __pc: __uint32_t,
4297    pub __cpsr: __uint32_t,
4298}
4299#[test]
4300fn bindgen_test_layout___darwin_arm_thread_state() {
4301    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_thread_state> =
4302        ::std::mem::MaybeUninit::uninit();
4303    let ptr = UNINIT.as_ptr();
4304    assert_eq!(
4305        ::std::mem::size_of::<__darwin_arm_thread_state>(),
4306        68usize,
4307        concat!("Size of: ", stringify!(__darwin_arm_thread_state))
4308    );
4309    assert_eq!(
4310        ::std::mem::align_of::<__darwin_arm_thread_state>(),
4311        4usize,
4312        concat!("Alignment of ", stringify!(__darwin_arm_thread_state))
4313    );
4314    assert_eq!(
4315        unsafe { ::std::ptr::addr_of!((*ptr).__r) as usize - ptr as usize },
4316        0usize,
4317        concat!(
4318            "Offset of field: ",
4319            stringify!(__darwin_arm_thread_state),
4320            "::",
4321            stringify!(__r)
4322        )
4323    );
4324    assert_eq!(
4325        unsafe { ::std::ptr::addr_of!((*ptr).__sp) as usize - ptr as usize },
4326        52usize,
4327        concat!(
4328            "Offset of field: ",
4329            stringify!(__darwin_arm_thread_state),
4330            "::",
4331            stringify!(__sp)
4332        )
4333    );
4334    assert_eq!(
4335        unsafe { ::std::ptr::addr_of!((*ptr).__lr) as usize - ptr as usize },
4336        56usize,
4337        concat!(
4338            "Offset of field: ",
4339            stringify!(__darwin_arm_thread_state),
4340            "::",
4341            stringify!(__lr)
4342        )
4343    );
4344    assert_eq!(
4345        unsafe { ::std::ptr::addr_of!((*ptr).__pc) as usize - ptr as usize },
4346        60usize,
4347        concat!(
4348            "Offset of field: ",
4349            stringify!(__darwin_arm_thread_state),
4350            "::",
4351            stringify!(__pc)
4352        )
4353    );
4354    assert_eq!(
4355        unsafe { ::std::ptr::addr_of!((*ptr).__cpsr) as usize - ptr as usize },
4356        64usize,
4357        concat!(
4358            "Offset of field: ",
4359            stringify!(__darwin_arm_thread_state),
4360            "::",
4361            stringify!(__cpsr)
4362        )
4363    );
4364}
4365#[repr(C)]
4366#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4367pub struct __darwin_arm_thread_state64 {
4368    pub __x: [__uint64_t; 29usize],
4369    pub __fp: __uint64_t,
4370    pub __lr: __uint64_t,
4371    pub __sp: __uint64_t,
4372    pub __pc: __uint64_t,
4373    pub __cpsr: __uint32_t,
4374    pub __pad: __uint32_t,
4375}
4376#[test]
4377fn bindgen_test_layout___darwin_arm_thread_state64() {
4378    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_thread_state64> =
4379        ::std::mem::MaybeUninit::uninit();
4380    let ptr = UNINIT.as_ptr();
4381    assert_eq!(
4382        ::std::mem::size_of::<__darwin_arm_thread_state64>(),
4383        272usize,
4384        concat!("Size of: ", stringify!(__darwin_arm_thread_state64))
4385    );
4386    assert_eq!(
4387        ::std::mem::align_of::<__darwin_arm_thread_state64>(),
4388        8usize,
4389        concat!("Alignment of ", stringify!(__darwin_arm_thread_state64))
4390    );
4391    assert_eq!(
4392        unsafe { ::std::ptr::addr_of!((*ptr).__x) as usize - ptr as usize },
4393        0usize,
4394        concat!(
4395            "Offset of field: ",
4396            stringify!(__darwin_arm_thread_state64),
4397            "::",
4398            stringify!(__x)
4399        )
4400    );
4401    assert_eq!(
4402        unsafe { ::std::ptr::addr_of!((*ptr).__fp) as usize - ptr as usize },
4403        232usize,
4404        concat!(
4405            "Offset of field: ",
4406            stringify!(__darwin_arm_thread_state64),
4407            "::",
4408            stringify!(__fp)
4409        )
4410    );
4411    assert_eq!(
4412        unsafe { ::std::ptr::addr_of!((*ptr).__lr) as usize - ptr as usize },
4413        240usize,
4414        concat!(
4415            "Offset of field: ",
4416            stringify!(__darwin_arm_thread_state64),
4417            "::",
4418            stringify!(__lr)
4419        )
4420    );
4421    assert_eq!(
4422        unsafe { ::std::ptr::addr_of!((*ptr).__sp) as usize - ptr as usize },
4423        248usize,
4424        concat!(
4425            "Offset of field: ",
4426            stringify!(__darwin_arm_thread_state64),
4427            "::",
4428            stringify!(__sp)
4429        )
4430    );
4431    assert_eq!(
4432        unsafe { ::std::ptr::addr_of!((*ptr).__pc) as usize - ptr as usize },
4433        256usize,
4434        concat!(
4435            "Offset of field: ",
4436            stringify!(__darwin_arm_thread_state64),
4437            "::",
4438            stringify!(__pc)
4439        )
4440    );
4441    assert_eq!(
4442        unsafe { ::std::ptr::addr_of!((*ptr).__cpsr) as usize - ptr as usize },
4443        264usize,
4444        concat!(
4445            "Offset of field: ",
4446            stringify!(__darwin_arm_thread_state64),
4447            "::",
4448            stringify!(__cpsr)
4449        )
4450    );
4451    assert_eq!(
4452        unsafe { ::std::ptr::addr_of!((*ptr).__pad) as usize - ptr as usize },
4453        268usize,
4454        concat!(
4455            "Offset of field: ",
4456            stringify!(__darwin_arm_thread_state64),
4457            "::",
4458            stringify!(__pad)
4459        )
4460    );
4461}
4462#[repr(C)]
4463#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4464pub struct __darwin_arm_vfp_state {
4465    pub __r: [__uint32_t; 64usize],
4466    pub __fpscr: __uint32_t,
4467}
4468#[test]
4469fn bindgen_test_layout___darwin_arm_vfp_state() {
4470    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_vfp_state> =
4471        ::std::mem::MaybeUninit::uninit();
4472    let ptr = UNINIT.as_ptr();
4473    assert_eq!(
4474        ::std::mem::size_of::<__darwin_arm_vfp_state>(),
4475        260usize,
4476        concat!("Size of: ", stringify!(__darwin_arm_vfp_state))
4477    );
4478    assert_eq!(
4479        ::std::mem::align_of::<__darwin_arm_vfp_state>(),
4480        4usize,
4481        concat!("Alignment of ", stringify!(__darwin_arm_vfp_state))
4482    );
4483    assert_eq!(
4484        unsafe { ::std::ptr::addr_of!((*ptr).__r) as usize - ptr as usize },
4485        0usize,
4486        concat!(
4487            "Offset of field: ",
4488            stringify!(__darwin_arm_vfp_state),
4489            "::",
4490            stringify!(__r)
4491        )
4492    );
4493    assert_eq!(
4494        unsafe { ::std::ptr::addr_of!((*ptr).__fpscr) as usize - ptr as usize },
4495        256usize,
4496        concat!(
4497            "Offset of field: ",
4498            stringify!(__darwin_arm_vfp_state),
4499            "::",
4500            stringify!(__fpscr)
4501        )
4502    );
4503}
4504#[repr(C)]
4505#[repr(align(16))]
4506#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4507pub struct __darwin_arm_neon_state64 {
4508    pub __v: [__uint128_t; 32usize],
4509    pub __fpsr: __uint32_t,
4510    pub __fpcr: __uint32_t,
4511}
4512#[test]
4513fn bindgen_test_layout___darwin_arm_neon_state64() {
4514    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_neon_state64> =
4515        ::std::mem::MaybeUninit::uninit();
4516    let ptr = UNINIT.as_ptr();
4517    assert_eq!(
4518        ::std::mem::size_of::<__darwin_arm_neon_state64>(),
4519        528usize,
4520        concat!("Size of: ", stringify!(__darwin_arm_neon_state64))
4521    );
4522    assert_eq!(
4523        ::std::mem::align_of::<__darwin_arm_neon_state64>(),
4524        16usize,
4525        concat!("Alignment of ", stringify!(__darwin_arm_neon_state64))
4526    );
4527    assert_eq!(
4528        unsafe { ::std::ptr::addr_of!((*ptr).__v) as usize - ptr as usize },
4529        0usize,
4530        concat!(
4531            "Offset of field: ",
4532            stringify!(__darwin_arm_neon_state64),
4533            "::",
4534            stringify!(__v)
4535        )
4536    );
4537    assert_eq!(
4538        unsafe { ::std::ptr::addr_of!((*ptr).__fpsr) as usize - ptr as usize },
4539        512usize,
4540        concat!(
4541            "Offset of field: ",
4542            stringify!(__darwin_arm_neon_state64),
4543            "::",
4544            stringify!(__fpsr)
4545        )
4546    );
4547    assert_eq!(
4548        unsafe { ::std::ptr::addr_of!((*ptr).__fpcr) as usize - ptr as usize },
4549        516usize,
4550        concat!(
4551            "Offset of field: ",
4552            stringify!(__darwin_arm_neon_state64),
4553            "::",
4554            stringify!(__fpcr)
4555        )
4556    );
4557}
4558#[repr(C)]
4559#[repr(align(16))]
4560#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4561pub struct __darwin_arm_neon_state {
4562    pub __v: [__uint128_t; 16usize],
4563    pub __fpsr: __uint32_t,
4564    pub __fpcr: __uint32_t,
4565}
4566#[test]
4567fn bindgen_test_layout___darwin_arm_neon_state() {
4568    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_neon_state> =
4569        ::std::mem::MaybeUninit::uninit();
4570    let ptr = UNINIT.as_ptr();
4571    assert_eq!(
4572        ::std::mem::size_of::<__darwin_arm_neon_state>(),
4573        272usize,
4574        concat!("Size of: ", stringify!(__darwin_arm_neon_state))
4575    );
4576    assert_eq!(
4577        ::std::mem::align_of::<__darwin_arm_neon_state>(),
4578        16usize,
4579        concat!("Alignment of ", stringify!(__darwin_arm_neon_state))
4580    );
4581    assert_eq!(
4582        unsafe { ::std::ptr::addr_of!((*ptr).__v) as usize - ptr as usize },
4583        0usize,
4584        concat!(
4585            "Offset of field: ",
4586            stringify!(__darwin_arm_neon_state),
4587            "::",
4588            stringify!(__v)
4589        )
4590    );
4591    assert_eq!(
4592        unsafe { ::std::ptr::addr_of!((*ptr).__fpsr) as usize - ptr as usize },
4593        256usize,
4594        concat!(
4595            "Offset of field: ",
4596            stringify!(__darwin_arm_neon_state),
4597            "::",
4598            stringify!(__fpsr)
4599        )
4600    );
4601    assert_eq!(
4602        unsafe { ::std::ptr::addr_of!((*ptr).__fpcr) as usize - ptr as usize },
4603        260usize,
4604        concat!(
4605            "Offset of field: ",
4606            stringify!(__darwin_arm_neon_state),
4607            "::",
4608            stringify!(__fpcr)
4609        )
4610    );
4611}
4612#[repr(C)]
4613#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4614pub struct __arm_pagein_state {
4615    pub __pagein_error: ::std::os::raw::c_int,
4616}
4617#[test]
4618fn bindgen_test_layout___arm_pagein_state() {
4619    const UNINIT: ::std::mem::MaybeUninit<__arm_pagein_state> = ::std::mem::MaybeUninit::uninit();
4620    let ptr = UNINIT.as_ptr();
4621    assert_eq!(
4622        ::std::mem::size_of::<__arm_pagein_state>(),
4623        4usize,
4624        concat!("Size of: ", stringify!(__arm_pagein_state))
4625    );
4626    assert_eq!(
4627        ::std::mem::align_of::<__arm_pagein_state>(),
4628        4usize,
4629        concat!("Alignment of ", stringify!(__arm_pagein_state))
4630    );
4631    assert_eq!(
4632        unsafe { ::std::ptr::addr_of!((*ptr).__pagein_error) as usize - ptr as usize },
4633        0usize,
4634        concat!(
4635            "Offset of field: ",
4636            stringify!(__arm_pagein_state),
4637            "::",
4638            stringify!(__pagein_error)
4639        )
4640    );
4641}
4642#[repr(C)]
4643#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4644pub struct __arm_legacy_debug_state {
4645    pub __bvr: [__uint32_t; 16usize],
4646    pub __bcr: [__uint32_t; 16usize],
4647    pub __wvr: [__uint32_t; 16usize],
4648    pub __wcr: [__uint32_t; 16usize],
4649}
4650#[test]
4651fn bindgen_test_layout___arm_legacy_debug_state() {
4652    const UNINIT: ::std::mem::MaybeUninit<__arm_legacy_debug_state> =
4653        ::std::mem::MaybeUninit::uninit();
4654    let ptr = UNINIT.as_ptr();
4655    assert_eq!(
4656        ::std::mem::size_of::<__arm_legacy_debug_state>(),
4657        256usize,
4658        concat!("Size of: ", stringify!(__arm_legacy_debug_state))
4659    );
4660    assert_eq!(
4661        ::std::mem::align_of::<__arm_legacy_debug_state>(),
4662        4usize,
4663        concat!("Alignment of ", stringify!(__arm_legacy_debug_state))
4664    );
4665    assert_eq!(
4666        unsafe { ::std::ptr::addr_of!((*ptr).__bvr) as usize - ptr as usize },
4667        0usize,
4668        concat!(
4669            "Offset of field: ",
4670            stringify!(__arm_legacy_debug_state),
4671            "::",
4672            stringify!(__bvr)
4673        )
4674    );
4675    assert_eq!(
4676        unsafe { ::std::ptr::addr_of!((*ptr).__bcr) as usize - ptr as usize },
4677        64usize,
4678        concat!(
4679            "Offset of field: ",
4680            stringify!(__arm_legacy_debug_state),
4681            "::",
4682            stringify!(__bcr)
4683        )
4684    );
4685    assert_eq!(
4686        unsafe { ::std::ptr::addr_of!((*ptr).__wvr) as usize - ptr as usize },
4687        128usize,
4688        concat!(
4689            "Offset of field: ",
4690            stringify!(__arm_legacy_debug_state),
4691            "::",
4692            stringify!(__wvr)
4693        )
4694    );
4695    assert_eq!(
4696        unsafe { ::std::ptr::addr_of!((*ptr).__wcr) as usize - ptr as usize },
4697        192usize,
4698        concat!(
4699            "Offset of field: ",
4700            stringify!(__arm_legacy_debug_state),
4701            "::",
4702            stringify!(__wcr)
4703        )
4704    );
4705}
4706#[repr(C)]
4707#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4708pub struct __darwin_arm_debug_state32 {
4709    pub __bvr: [__uint32_t; 16usize],
4710    pub __bcr: [__uint32_t; 16usize],
4711    pub __wvr: [__uint32_t; 16usize],
4712    pub __wcr: [__uint32_t; 16usize],
4713    pub __mdscr_el1: __uint64_t,
4714}
4715#[test]
4716fn bindgen_test_layout___darwin_arm_debug_state32() {
4717    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_debug_state32> =
4718        ::std::mem::MaybeUninit::uninit();
4719    let ptr = UNINIT.as_ptr();
4720    assert_eq!(
4721        ::std::mem::size_of::<__darwin_arm_debug_state32>(),
4722        264usize,
4723        concat!("Size of: ", stringify!(__darwin_arm_debug_state32))
4724    );
4725    assert_eq!(
4726        ::std::mem::align_of::<__darwin_arm_debug_state32>(),
4727        8usize,
4728        concat!("Alignment of ", stringify!(__darwin_arm_debug_state32))
4729    );
4730    assert_eq!(
4731        unsafe { ::std::ptr::addr_of!((*ptr).__bvr) as usize - ptr as usize },
4732        0usize,
4733        concat!(
4734            "Offset of field: ",
4735            stringify!(__darwin_arm_debug_state32),
4736            "::",
4737            stringify!(__bvr)
4738        )
4739    );
4740    assert_eq!(
4741        unsafe { ::std::ptr::addr_of!((*ptr).__bcr) as usize - ptr as usize },
4742        64usize,
4743        concat!(
4744            "Offset of field: ",
4745            stringify!(__darwin_arm_debug_state32),
4746            "::",
4747            stringify!(__bcr)
4748        )
4749    );
4750    assert_eq!(
4751        unsafe { ::std::ptr::addr_of!((*ptr).__wvr) as usize - ptr as usize },
4752        128usize,
4753        concat!(
4754            "Offset of field: ",
4755            stringify!(__darwin_arm_debug_state32),
4756            "::",
4757            stringify!(__wvr)
4758        )
4759    );
4760    assert_eq!(
4761        unsafe { ::std::ptr::addr_of!((*ptr).__wcr) as usize - ptr as usize },
4762        192usize,
4763        concat!(
4764            "Offset of field: ",
4765            stringify!(__darwin_arm_debug_state32),
4766            "::",
4767            stringify!(__wcr)
4768        )
4769    );
4770    assert_eq!(
4771        unsafe { ::std::ptr::addr_of!((*ptr).__mdscr_el1) as usize - ptr as usize },
4772        256usize,
4773        concat!(
4774            "Offset of field: ",
4775            stringify!(__darwin_arm_debug_state32),
4776            "::",
4777            stringify!(__mdscr_el1)
4778        )
4779    );
4780}
4781#[repr(C)]
4782#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4783pub struct __darwin_arm_debug_state64 {
4784    pub __bvr: [__uint64_t; 16usize],
4785    pub __bcr: [__uint64_t; 16usize],
4786    pub __wvr: [__uint64_t; 16usize],
4787    pub __wcr: [__uint64_t; 16usize],
4788    pub __mdscr_el1: __uint64_t,
4789}
4790#[test]
4791fn bindgen_test_layout___darwin_arm_debug_state64() {
4792    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_debug_state64> =
4793        ::std::mem::MaybeUninit::uninit();
4794    let ptr = UNINIT.as_ptr();
4795    assert_eq!(
4796        ::std::mem::size_of::<__darwin_arm_debug_state64>(),
4797        520usize,
4798        concat!("Size of: ", stringify!(__darwin_arm_debug_state64))
4799    );
4800    assert_eq!(
4801        ::std::mem::align_of::<__darwin_arm_debug_state64>(),
4802        8usize,
4803        concat!("Alignment of ", stringify!(__darwin_arm_debug_state64))
4804    );
4805    assert_eq!(
4806        unsafe { ::std::ptr::addr_of!((*ptr).__bvr) as usize - ptr as usize },
4807        0usize,
4808        concat!(
4809            "Offset of field: ",
4810            stringify!(__darwin_arm_debug_state64),
4811            "::",
4812            stringify!(__bvr)
4813        )
4814    );
4815    assert_eq!(
4816        unsafe { ::std::ptr::addr_of!((*ptr).__bcr) as usize - ptr as usize },
4817        128usize,
4818        concat!(
4819            "Offset of field: ",
4820            stringify!(__darwin_arm_debug_state64),
4821            "::",
4822            stringify!(__bcr)
4823        )
4824    );
4825    assert_eq!(
4826        unsafe { ::std::ptr::addr_of!((*ptr).__wvr) as usize - ptr as usize },
4827        256usize,
4828        concat!(
4829            "Offset of field: ",
4830            stringify!(__darwin_arm_debug_state64),
4831            "::",
4832            stringify!(__wvr)
4833        )
4834    );
4835    assert_eq!(
4836        unsafe { ::std::ptr::addr_of!((*ptr).__wcr) as usize - ptr as usize },
4837        384usize,
4838        concat!(
4839            "Offset of field: ",
4840            stringify!(__darwin_arm_debug_state64),
4841            "::",
4842            stringify!(__wcr)
4843        )
4844    );
4845    assert_eq!(
4846        unsafe { ::std::ptr::addr_of!((*ptr).__mdscr_el1) as usize - ptr as usize },
4847        512usize,
4848        concat!(
4849            "Offset of field: ",
4850            stringify!(__darwin_arm_debug_state64),
4851            "::",
4852            stringify!(__mdscr_el1)
4853        )
4854    );
4855}
4856#[repr(C)]
4857#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4858pub struct __darwin_arm_cpmu_state64 {
4859    pub __ctrs: [__uint64_t; 16usize],
4860}
4861#[test]
4862fn bindgen_test_layout___darwin_arm_cpmu_state64() {
4863    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_cpmu_state64> =
4864        ::std::mem::MaybeUninit::uninit();
4865    let ptr = UNINIT.as_ptr();
4866    assert_eq!(
4867        ::std::mem::size_of::<__darwin_arm_cpmu_state64>(),
4868        128usize,
4869        concat!("Size of: ", stringify!(__darwin_arm_cpmu_state64))
4870    );
4871    assert_eq!(
4872        ::std::mem::align_of::<__darwin_arm_cpmu_state64>(),
4873        8usize,
4874        concat!("Alignment of ", stringify!(__darwin_arm_cpmu_state64))
4875    );
4876    assert_eq!(
4877        unsafe { ::std::ptr::addr_of!((*ptr).__ctrs) as usize - ptr as usize },
4878        0usize,
4879        concat!(
4880            "Offset of field: ",
4881            stringify!(__darwin_arm_cpmu_state64),
4882            "::",
4883            stringify!(__ctrs)
4884        )
4885    );
4886}
4887#[repr(C)]
4888#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4889pub struct __darwin_mcontext32 {
4890    pub __es: __darwin_arm_exception_state,
4891    pub __ss: __darwin_arm_thread_state,
4892    pub __fs: __darwin_arm_vfp_state,
4893}
4894#[test]
4895fn bindgen_test_layout___darwin_mcontext32() {
4896    const UNINIT: ::std::mem::MaybeUninit<__darwin_mcontext32> = ::std::mem::MaybeUninit::uninit();
4897    let ptr = UNINIT.as_ptr();
4898    assert_eq!(
4899        ::std::mem::size_of::<__darwin_mcontext32>(),
4900        340usize,
4901        concat!("Size of: ", stringify!(__darwin_mcontext32))
4902    );
4903    assert_eq!(
4904        ::std::mem::align_of::<__darwin_mcontext32>(),
4905        4usize,
4906        concat!("Alignment of ", stringify!(__darwin_mcontext32))
4907    );
4908    assert_eq!(
4909        unsafe { ::std::ptr::addr_of!((*ptr).__es) as usize - ptr as usize },
4910        0usize,
4911        concat!(
4912            "Offset of field: ",
4913            stringify!(__darwin_mcontext32),
4914            "::",
4915            stringify!(__es)
4916        )
4917    );
4918    assert_eq!(
4919        unsafe { ::std::ptr::addr_of!((*ptr).__ss) as usize - ptr as usize },
4920        12usize,
4921        concat!(
4922            "Offset of field: ",
4923            stringify!(__darwin_mcontext32),
4924            "::",
4925            stringify!(__ss)
4926        )
4927    );
4928    assert_eq!(
4929        unsafe { ::std::ptr::addr_of!((*ptr).__fs) as usize - ptr as usize },
4930        80usize,
4931        concat!(
4932            "Offset of field: ",
4933            stringify!(__darwin_mcontext32),
4934            "::",
4935            stringify!(__fs)
4936        )
4937    );
4938}
4939#[repr(C)]
4940#[repr(align(16))]
4941#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4942pub struct __darwin_mcontext64 {
4943    pub __es: __darwin_arm_exception_state64,
4944    pub __ss: __darwin_arm_thread_state64,
4945    pub __ns: __darwin_arm_neon_state64,
4946}
4947#[test]
4948fn bindgen_test_layout___darwin_mcontext64() {
4949    const UNINIT: ::std::mem::MaybeUninit<__darwin_mcontext64> = ::std::mem::MaybeUninit::uninit();
4950    let ptr = UNINIT.as_ptr();
4951    assert_eq!(
4952        ::std::mem::size_of::<__darwin_mcontext64>(),
4953        816usize,
4954        concat!("Size of: ", stringify!(__darwin_mcontext64))
4955    );
4956    assert_eq!(
4957        ::std::mem::align_of::<__darwin_mcontext64>(),
4958        16usize,
4959        concat!("Alignment of ", stringify!(__darwin_mcontext64))
4960    );
4961    assert_eq!(
4962        unsafe { ::std::ptr::addr_of!((*ptr).__es) as usize - ptr as usize },
4963        0usize,
4964        concat!(
4965            "Offset of field: ",
4966            stringify!(__darwin_mcontext64),
4967            "::",
4968            stringify!(__es)
4969        )
4970    );
4971    assert_eq!(
4972        unsafe { ::std::ptr::addr_of!((*ptr).__ss) as usize - ptr as usize },
4973        16usize,
4974        concat!(
4975            "Offset of field: ",
4976            stringify!(__darwin_mcontext64),
4977            "::",
4978            stringify!(__ss)
4979        )
4980    );
4981    assert_eq!(
4982        unsafe { ::std::ptr::addr_of!((*ptr).__ns) as usize - ptr as usize },
4983        288usize,
4984        concat!(
4985            "Offset of field: ",
4986            stringify!(__darwin_mcontext64),
4987            "::",
4988            stringify!(__ns)
4989        )
4990    );
4991}
4992pub type mcontext_t = *mut __darwin_mcontext64;
4993pub type pthread_attr_t = __darwin_pthread_attr_t;
4994#[repr(C)]
4995#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4996pub struct __darwin_sigaltstack {
4997    pub ss_sp: *mut ::std::os::raw::c_void,
4998    pub ss_size: __darwin_size_t,
4999    pub ss_flags: ::std::os::raw::c_int,
5000}
5001#[test]
5002fn bindgen_test_layout___darwin_sigaltstack() {
5003    const UNINIT: ::std::mem::MaybeUninit<__darwin_sigaltstack> = ::std::mem::MaybeUninit::uninit();
5004    let ptr = UNINIT.as_ptr();
5005    assert_eq!(
5006        ::std::mem::size_of::<__darwin_sigaltstack>(),
5007        24usize,
5008        concat!("Size of: ", stringify!(__darwin_sigaltstack))
5009    );
5010    assert_eq!(
5011        ::std::mem::align_of::<__darwin_sigaltstack>(),
5012        8usize,
5013        concat!("Alignment of ", stringify!(__darwin_sigaltstack))
5014    );
5015    assert_eq!(
5016        unsafe { ::std::ptr::addr_of!((*ptr).ss_sp) as usize - ptr as usize },
5017        0usize,
5018        concat!(
5019            "Offset of field: ",
5020            stringify!(__darwin_sigaltstack),
5021            "::",
5022            stringify!(ss_sp)
5023        )
5024    );
5025    assert_eq!(
5026        unsafe { ::std::ptr::addr_of!((*ptr).ss_size) as usize - ptr as usize },
5027        8usize,
5028        concat!(
5029            "Offset of field: ",
5030            stringify!(__darwin_sigaltstack),
5031            "::",
5032            stringify!(ss_size)
5033        )
5034    );
5035    assert_eq!(
5036        unsafe { ::std::ptr::addr_of!((*ptr).ss_flags) as usize - ptr as usize },
5037        16usize,
5038        concat!(
5039            "Offset of field: ",
5040            stringify!(__darwin_sigaltstack),
5041            "::",
5042            stringify!(ss_flags)
5043        )
5044    );
5045}
5046pub type stack_t = __darwin_sigaltstack;
5047#[repr(C)]
5048#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5049pub struct __darwin_ucontext {
5050    pub uc_onstack: ::std::os::raw::c_int,
5051    pub uc_sigmask: __darwin_sigset_t,
5052    pub uc_stack: __darwin_sigaltstack,
5053    pub uc_link: *mut __darwin_ucontext,
5054    pub uc_mcsize: __darwin_size_t,
5055    pub uc_mcontext: *mut __darwin_mcontext64,
5056}
5057#[test]
5058fn bindgen_test_layout___darwin_ucontext() {
5059    const UNINIT: ::std::mem::MaybeUninit<__darwin_ucontext> = ::std::mem::MaybeUninit::uninit();
5060    let ptr = UNINIT.as_ptr();
5061    assert_eq!(
5062        ::std::mem::size_of::<__darwin_ucontext>(),
5063        56usize,
5064        concat!("Size of: ", stringify!(__darwin_ucontext))
5065    );
5066    assert_eq!(
5067        ::std::mem::align_of::<__darwin_ucontext>(),
5068        8usize,
5069        concat!("Alignment of ", stringify!(__darwin_ucontext))
5070    );
5071    assert_eq!(
5072        unsafe { ::std::ptr::addr_of!((*ptr).uc_onstack) as usize - ptr as usize },
5073        0usize,
5074        concat!(
5075            "Offset of field: ",
5076            stringify!(__darwin_ucontext),
5077            "::",
5078            stringify!(uc_onstack)
5079        )
5080    );
5081    assert_eq!(
5082        unsafe { ::std::ptr::addr_of!((*ptr).uc_sigmask) as usize - ptr as usize },
5083        4usize,
5084        concat!(
5085            "Offset of field: ",
5086            stringify!(__darwin_ucontext),
5087            "::",
5088            stringify!(uc_sigmask)
5089        )
5090    );
5091    assert_eq!(
5092        unsafe { ::std::ptr::addr_of!((*ptr).uc_stack) as usize - ptr as usize },
5093        8usize,
5094        concat!(
5095            "Offset of field: ",
5096            stringify!(__darwin_ucontext),
5097            "::",
5098            stringify!(uc_stack)
5099        )
5100    );
5101    assert_eq!(
5102        unsafe { ::std::ptr::addr_of!((*ptr).uc_link) as usize - ptr as usize },
5103        32usize,
5104        concat!(
5105            "Offset of field: ",
5106            stringify!(__darwin_ucontext),
5107            "::",
5108            stringify!(uc_link)
5109        )
5110    );
5111    assert_eq!(
5112        unsafe { ::std::ptr::addr_of!((*ptr).uc_mcsize) as usize - ptr as usize },
5113        40usize,
5114        concat!(
5115            "Offset of field: ",
5116            stringify!(__darwin_ucontext),
5117            "::",
5118            stringify!(uc_mcsize)
5119        )
5120    );
5121    assert_eq!(
5122        unsafe { ::std::ptr::addr_of!((*ptr).uc_mcontext) as usize - ptr as usize },
5123        48usize,
5124        concat!(
5125            "Offset of field: ",
5126            stringify!(__darwin_ucontext),
5127            "::",
5128            stringify!(uc_mcontext)
5129        )
5130    );
5131}
5132pub type ucontext_t = __darwin_ucontext;
5133pub type sigset_t = __darwin_sigset_t;
5134pub type uid_t = __darwin_uid_t;
5135#[repr(C)]
5136#[derive(Copy, Clone)]
5137pub union sigval {
5138    pub sival_int: ::std::os::raw::c_int,
5139    pub sival_ptr: *mut ::std::os::raw::c_void,
5140}
5141#[test]
5142fn bindgen_test_layout_sigval() {
5143    const UNINIT: ::std::mem::MaybeUninit<sigval> = ::std::mem::MaybeUninit::uninit();
5144    let ptr = UNINIT.as_ptr();
5145    assert_eq!(
5146        ::std::mem::size_of::<sigval>(),
5147        8usize,
5148        concat!("Size of: ", stringify!(sigval))
5149    );
5150    assert_eq!(
5151        ::std::mem::align_of::<sigval>(),
5152        8usize,
5153        concat!("Alignment of ", stringify!(sigval))
5154    );
5155    assert_eq!(
5156        unsafe { ::std::ptr::addr_of!((*ptr).sival_int) as usize - ptr as usize },
5157        0usize,
5158        concat!(
5159            "Offset of field: ",
5160            stringify!(sigval),
5161            "::",
5162            stringify!(sival_int)
5163        )
5164    );
5165    assert_eq!(
5166        unsafe { ::std::ptr::addr_of!((*ptr).sival_ptr) as usize - ptr as usize },
5167        0usize,
5168        concat!(
5169            "Offset of field: ",
5170            stringify!(sigval),
5171            "::",
5172            stringify!(sival_ptr)
5173        )
5174    );
5175}
5176impl ::std::fmt::Debug for sigval {
5177    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5178        write!(f, "sigval {{ union }}")
5179    }
5180}
5181#[repr(C)]
5182#[derive(Copy, Clone)]
5183pub struct sigevent {
5184    pub sigev_notify: ::std::os::raw::c_int,
5185    pub sigev_signo: ::std::os::raw::c_int,
5186    pub sigev_value: sigval,
5187    pub sigev_notify_function: ::std::option::Option<unsafe extern "C" fn(arg1: sigval)>,
5188    pub sigev_notify_attributes: *mut pthread_attr_t,
5189}
5190#[test]
5191fn bindgen_test_layout_sigevent() {
5192    const UNINIT: ::std::mem::MaybeUninit<sigevent> = ::std::mem::MaybeUninit::uninit();
5193    let ptr = UNINIT.as_ptr();
5194    assert_eq!(
5195        ::std::mem::size_of::<sigevent>(),
5196        32usize,
5197        concat!("Size of: ", stringify!(sigevent))
5198    );
5199    assert_eq!(
5200        ::std::mem::align_of::<sigevent>(),
5201        8usize,
5202        concat!("Alignment of ", stringify!(sigevent))
5203    );
5204    assert_eq!(
5205        unsafe { ::std::ptr::addr_of!((*ptr).sigev_notify) as usize - ptr as usize },
5206        0usize,
5207        concat!(
5208            "Offset of field: ",
5209            stringify!(sigevent),
5210            "::",
5211            stringify!(sigev_notify)
5212        )
5213    );
5214    assert_eq!(
5215        unsafe { ::std::ptr::addr_of!((*ptr).sigev_signo) as usize - ptr as usize },
5216        4usize,
5217        concat!(
5218            "Offset of field: ",
5219            stringify!(sigevent),
5220            "::",
5221            stringify!(sigev_signo)
5222        )
5223    );
5224    assert_eq!(
5225        unsafe { ::std::ptr::addr_of!((*ptr).sigev_value) as usize - ptr as usize },
5226        8usize,
5227        concat!(
5228            "Offset of field: ",
5229            stringify!(sigevent),
5230            "::",
5231            stringify!(sigev_value)
5232        )
5233    );
5234    assert_eq!(
5235        unsafe { ::std::ptr::addr_of!((*ptr).sigev_notify_function) as usize - ptr as usize },
5236        16usize,
5237        concat!(
5238            "Offset of field: ",
5239            stringify!(sigevent),
5240            "::",
5241            stringify!(sigev_notify_function)
5242        )
5243    );
5244    assert_eq!(
5245        unsafe { ::std::ptr::addr_of!((*ptr).sigev_notify_attributes) as usize - ptr as usize },
5246        24usize,
5247        concat!(
5248            "Offset of field: ",
5249            stringify!(sigevent),
5250            "::",
5251            stringify!(sigev_notify_attributes)
5252        )
5253    );
5254}
5255impl ::std::fmt::Debug for sigevent {
5256    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5257        write ! (f , "sigevent {{ sigev_notify: {:?}, sigev_signo: {:?}, sigev_value: {:?}, sigev_notify_function: {:?}, sigev_notify_attributes: {:?} }}" , self . sigev_notify , self . sigev_signo , self . sigev_value , self . sigev_notify_function , self . sigev_notify_attributes)
5258    }
5259}
5260#[repr(C)]
5261#[derive(Copy, Clone)]
5262pub struct __siginfo {
5263    pub si_signo: ::std::os::raw::c_int,
5264    pub si_errno: ::std::os::raw::c_int,
5265    pub si_code: ::std::os::raw::c_int,
5266    pub si_pid: pid_t,
5267    pub si_uid: uid_t,
5268    pub si_status: ::std::os::raw::c_int,
5269    pub si_addr: *mut ::std::os::raw::c_void,
5270    pub si_value: sigval,
5271    pub si_band: ::std::os::raw::c_long,
5272    pub __pad: [::std::os::raw::c_ulong; 7usize],
5273}
5274#[test]
5275fn bindgen_test_layout___siginfo() {
5276    const UNINIT: ::std::mem::MaybeUninit<__siginfo> = ::std::mem::MaybeUninit::uninit();
5277    let ptr = UNINIT.as_ptr();
5278    assert_eq!(
5279        ::std::mem::size_of::<__siginfo>(),
5280        104usize,
5281        concat!("Size of: ", stringify!(__siginfo))
5282    );
5283    assert_eq!(
5284        ::std::mem::align_of::<__siginfo>(),
5285        8usize,
5286        concat!("Alignment of ", stringify!(__siginfo))
5287    );
5288    assert_eq!(
5289        unsafe { ::std::ptr::addr_of!((*ptr).si_signo) as usize - ptr as usize },
5290        0usize,
5291        concat!(
5292            "Offset of field: ",
5293            stringify!(__siginfo),
5294            "::",
5295            stringify!(si_signo)
5296        )
5297    );
5298    assert_eq!(
5299        unsafe { ::std::ptr::addr_of!((*ptr).si_errno) as usize - ptr as usize },
5300        4usize,
5301        concat!(
5302            "Offset of field: ",
5303            stringify!(__siginfo),
5304            "::",
5305            stringify!(si_errno)
5306        )
5307    );
5308    assert_eq!(
5309        unsafe { ::std::ptr::addr_of!((*ptr).si_code) as usize - ptr as usize },
5310        8usize,
5311        concat!(
5312            "Offset of field: ",
5313            stringify!(__siginfo),
5314            "::",
5315            stringify!(si_code)
5316        )
5317    );
5318    assert_eq!(
5319        unsafe { ::std::ptr::addr_of!((*ptr).si_pid) as usize - ptr as usize },
5320        12usize,
5321        concat!(
5322            "Offset of field: ",
5323            stringify!(__siginfo),
5324            "::",
5325            stringify!(si_pid)
5326        )
5327    );
5328    assert_eq!(
5329        unsafe { ::std::ptr::addr_of!((*ptr).si_uid) as usize - ptr as usize },
5330        16usize,
5331        concat!(
5332            "Offset of field: ",
5333            stringify!(__siginfo),
5334            "::",
5335            stringify!(si_uid)
5336        )
5337    );
5338    assert_eq!(
5339        unsafe { ::std::ptr::addr_of!((*ptr).si_status) as usize - ptr as usize },
5340        20usize,
5341        concat!(
5342            "Offset of field: ",
5343            stringify!(__siginfo),
5344            "::",
5345            stringify!(si_status)
5346        )
5347    );
5348    assert_eq!(
5349        unsafe { ::std::ptr::addr_of!((*ptr).si_addr) as usize - ptr as usize },
5350        24usize,
5351        concat!(
5352            "Offset of field: ",
5353            stringify!(__siginfo),
5354            "::",
5355            stringify!(si_addr)
5356        )
5357    );
5358    assert_eq!(
5359        unsafe { ::std::ptr::addr_of!((*ptr).si_value) as usize - ptr as usize },
5360        32usize,
5361        concat!(
5362            "Offset of field: ",
5363            stringify!(__siginfo),
5364            "::",
5365            stringify!(si_value)
5366        )
5367    );
5368    assert_eq!(
5369        unsafe { ::std::ptr::addr_of!((*ptr).si_band) as usize - ptr as usize },
5370        40usize,
5371        concat!(
5372            "Offset of field: ",
5373            stringify!(__siginfo),
5374            "::",
5375            stringify!(si_band)
5376        )
5377    );
5378    assert_eq!(
5379        unsafe { ::std::ptr::addr_of!((*ptr).__pad) as usize - ptr as usize },
5380        48usize,
5381        concat!(
5382            "Offset of field: ",
5383            stringify!(__siginfo),
5384            "::",
5385            stringify!(__pad)
5386        )
5387    );
5388}
5389impl ::std::fmt::Debug for __siginfo {
5390    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5391        write ! (f , "__siginfo {{ si_signo: {:?}, si_errno: {:?}, si_code: {:?}, si_pid: {:?}, si_uid: {:?}, si_status: {:?}, si_addr: {:?}, si_value: {:?}, si_band: {:?}, __pad: {:?} }}" , self . si_signo , self . si_errno , self . si_code , self . si_pid , self . si_uid , self . si_status , self . si_addr , self . si_value , self . si_band , self . __pad)
5392    }
5393}
5394pub type siginfo_t = __siginfo;
5395#[repr(C)]
5396#[derive(Copy, Clone)]
5397pub union __sigaction_u {
5398    pub __sa_handler: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
5399    pub __sa_sigaction: ::std::option::Option<
5400        unsafe extern "C" fn(
5401            arg1: ::std::os::raw::c_int,
5402            arg2: *mut __siginfo,
5403            arg3: *mut ::std::os::raw::c_void,
5404        ),
5405    >,
5406}
5407#[test]
5408fn bindgen_test_layout___sigaction_u() {
5409    const UNINIT: ::std::mem::MaybeUninit<__sigaction_u> = ::std::mem::MaybeUninit::uninit();
5410    let ptr = UNINIT.as_ptr();
5411    assert_eq!(
5412        ::std::mem::size_of::<__sigaction_u>(),
5413        8usize,
5414        concat!("Size of: ", stringify!(__sigaction_u))
5415    );
5416    assert_eq!(
5417        ::std::mem::align_of::<__sigaction_u>(),
5418        8usize,
5419        concat!("Alignment of ", stringify!(__sigaction_u))
5420    );
5421    assert_eq!(
5422        unsafe { ::std::ptr::addr_of!((*ptr).__sa_handler) as usize - ptr as usize },
5423        0usize,
5424        concat!(
5425            "Offset of field: ",
5426            stringify!(__sigaction_u),
5427            "::",
5428            stringify!(__sa_handler)
5429        )
5430    );
5431    assert_eq!(
5432        unsafe { ::std::ptr::addr_of!((*ptr).__sa_sigaction) as usize - ptr as usize },
5433        0usize,
5434        concat!(
5435            "Offset of field: ",
5436            stringify!(__sigaction_u),
5437            "::",
5438            stringify!(__sa_sigaction)
5439        )
5440    );
5441}
5442impl ::std::fmt::Debug for __sigaction_u {
5443    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5444        write!(f, "__sigaction_u {{ union }}")
5445    }
5446}
5447#[repr(C)]
5448#[derive(Copy, Clone)]
5449pub struct __sigaction {
5450    pub __sigaction_u: __sigaction_u,
5451    pub sa_tramp: ::std::option::Option<
5452        unsafe extern "C" fn(
5453            arg1: *mut ::std::os::raw::c_void,
5454            arg2: ::std::os::raw::c_int,
5455            arg3: ::std::os::raw::c_int,
5456            arg4: *mut siginfo_t,
5457            arg5: *mut ::std::os::raw::c_void,
5458        ),
5459    >,
5460    pub sa_mask: sigset_t,
5461    pub sa_flags: ::std::os::raw::c_int,
5462}
5463#[test]
5464fn bindgen_test_layout___sigaction() {
5465    const UNINIT: ::std::mem::MaybeUninit<__sigaction> = ::std::mem::MaybeUninit::uninit();
5466    let ptr = UNINIT.as_ptr();
5467    assert_eq!(
5468        ::std::mem::size_of::<__sigaction>(),
5469        24usize,
5470        concat!("Size of: ", stringify!(__sigaction))
5471    );
5472    assert_eq!(
5473        ::std::mem::align_of::<__sigaction>(),
5474        8usize,
5475        concat!("Alignment of ", stringify!(__sigaction))
5476    );
5477    assert_eq!(
5478        unsafe { ::std::ptr::addr_of!((*ptr).__sigaction_u) as usize - ptr as usize },
5479        0usize,
5480        concat!(
5481            "Offset of field: ",
5482            stringify!(__sigaction),
5483            "::",
5484            stringify!(__sigaction_u)
5485        )
5486    );
5487    assert_eq!(
5488        unsafe { ::std::ptr::addr_of!((*ptr).sa_tramp) as usize - ptr as usize },
5489        8usize,
5490        concat!(
5491            "Offset of field: ",
5492            stringify!(__sigaction),
5493            "::",
5494            stringify!(sa_tramp)
5495        )
5496    );
5497    assert_eq!(
5498        unsafe { ::std::ptr::addr_of!((*ptr).sa_mask) as usize - ptr as usize },
5499        16usize,
5500        concat!(
5501            "Offset of field: ",
5502            stringify!(__sigaction),
5503            "::",
5504            stringify!(sa_mask)
5505        )
5506    );
5507    assert_eq!(
5508        unsafe { ::std::ptr::addr_of!((*ptr).sa_flags) as usize - ptr as usize },
5509        20usize,
5510        concat!(
5511            "Offset of field: ",
5512            stringify!(__sigaction),
5513            "::",
5514            stringify!(sa_flags)
5515        )
5516    );
5517}
5518impl ::std::fmt::Debug for __sigaction {
5519    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5520        write!(
5521            f,
5522            "__sigaction {{ __sigaction_u: {:?}, sa_tramp: {:?}, sa_mask: {:?}, sa_flags: {:?} }}",
5523            self.__sigaction_u, self.sa_tramp, self.sa_mask, self.sa_flags
5524        )
5525    }
5526}
5527#[repr(C)]
5528#[derive(Copy, Clone)]
5529pub struct sigaction {
5530    pub __sigaction_u: __sigaction_u,
5531    pub sa_mask: sigset_t,
5532    pub sa_flags: ::std::os::raw::c_int,
5533}
5534#[test]
5535fn bindgen_test_layout_sigaction() {
5536    const UNINIT: ::std::mem::MaybeUninit<sigaction> = ::std::mem::MaybeUninit::uninit();
5537    let ptr = UNINIT.as_ptr();
5538    assert_eq!(
5539        ::std::mem::size_of::<sigaction>(),
5540        16usize,
5541        concat!("Size of: ", stringify!(sigaction))
5542    );
5543    assert_eq!(
5544        ::std::mem::align_of::<sigaction>(),
5545        8usize,
5546        concat!("Alignment of ", stringify!(sigaction))
5547    );
5548    assert_eq!(
5549        unsafe { ::std::ptr::addr_of!((*ptr).__sigaction_u) as usize - ptr as usize },
5550        0usize,
5551        concat!(
5552            "Offset of field: ",
5553            stringify!(sigaction),
5554            "::",
5555            stringify!(__sigaction_u)
5556        )
5557    );
5558    assert_eq!(
5559        unsafe { ::std::ptr::addr_of!((*ptr).sa_mask) as usize - ptr as usize },
5560        8usize,
5561        concat!(
5562            "Offset of field: ",
5563            stringify!(sigaction),
5564            "::",
5565            stringify!(sa_mask)
5566        )
5567    );
5568    assert_eq!(
5569        unsafe { ::std::ptr::addr_of!((*ptr).sa_flags) as usize - ptr as usize },
5570        12usize,
5571        concat!(
5572            "Offset of field: ",
5573            stringify!(sigaction),
5574            "::",
5575            stringify!(sa_flags)
5576        )
5577    );
5578}
5579impl ::std::fmt::Debug for sigaction {
5580    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5581        write!(
5582            f,
5583            "sigaction {{ __sigaction_u: {:?}, sa_mask: {:?}, sa_flags: {:?} }}",
5584            self.__sigaction_u, self.sa_mask, self.sa_flags
5585        )
5586    }
5587}
5588pub type sig_t = ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
5589#[repr(C)]
5590#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5591pub struct sigvec {
5592    pub sv_handler: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
5593    pub sv_mask: ::std::os::raw::c_int,
5594    pub sv_flags: ::std::os::raw::c_int,
5595}
5596#[test]
5597fn bindgen_test_layout_sigvec() {
5598    const UNINIT: ::std::mem::MaybeUninit<sigvec> = ::std::mem::MaybeUninit::uninit();
5599    let ptr = UNINIT.as_ptr();
5600    assert_eq!(
5601        ::std::mem::size_of::<sigvec>(),
5602        16usize,
5603        concat!("Size of: ", stringify!(sigvec))
5604    );
5605    assert_eq!(
5606        ::std::mem::align_of::<sigvec>(),
5607        8usize,
5608        concat!("Alignment of ", stringify!(sigvec))
5609    );
5610    assert_eq!(
5611        unsafe { ::std::ptr::addr_of!((*ptr).sv_handler) as usize - ptr as usize },
5612        0usize,
5613        concat!(
5614            "Offset of field: ",
5615            stringify!(sigvec),
5616            "::",
5617            stringify!(sv_handler)
5618        )
5619    );
5620    assert_eq!(
5621        unsafe { ::std::ptr::addr_of!((*ptr).sv_mask) as usize - ptr as usize },
5622        8usize,
5623        concat!(
5624            "Offset of field: ",
5625            stringify!(sigvec),
5626            "::",
5627            stringify!(sv_mask)
5628        )
5629    );
5630    assert_eq!(
5631        unsafe { ::std::ptr::addr_of!((*ptr).sv_flags) as usize - ptr as usize },
5632        12usize,
5633        concat!(
5634            "Offset of field: ",
5635            stringify!(sigvec),
5636            "::",
5637            stringify!(sv_flags)
5638        )
5639    );
5640}
5641#[repr(C)]
5642#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5643pub struct sigstack {
5644    pub ss_sp: *mut ::std::os::raw::c_char,
5645    pub ss_onstack: ::std::os::raw::c_int,
5646}
5647#[test]
5648fn bindgen_test_layout_sigstack() {
5649    const UNINIT: ::std::mem::MaybeUninit<sigstack> = ::std::mem::MaybeUninit::uninit();
5650    let ptr = UNINIT.as_ptr();
5651    assert_eq!(
5652        ::std::mem::size_of::<sigstack>(),
5653        16usize,
5654        concat!("Size of: ", stringify!(sigstack))
5655    );
5656    assert_eq!(
5657        ::std::mem::align_of::<sigstack>(),
5658        8usize,
5659        concat!("Alignment of ", stringify!(sigstack))
5660    );
5661    assert_eq!(
5662        unsafe { ::std::ptr::addr_of!((*ptr).ss_sp) as usize - ptr as usize },
5663        0usize,
5664        concat!(
5665            "Offset of field: ",
5666            stringify!(sigstack),
5667            "::",
5668            stringify!(ss_sp)
5669        )
5670    );
5671    assert_eq!(
5672        unsafe { ::std::ptr::addr_of!((*ptr).ss_onstack) as usize - ptr as usize },
5673        8usize,
5674        concat!(
5675            "Offset of field: ",
5676            stringify!(sigstack),
5677            "::",
5678            stringify!(ss_onstack)
5679        )
5680    );
5681}
5682extern "C" {
5683    pub fn signal(
5684        arg1: ::std::os::raw::c_int,
5685        arg2: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
5686    ) -> ::std::option::Option<
5687        unsafe extern "C" fn(
5688            arg1: ::std::os::raw::c_int,
5689            arg2: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
5690        ),
5691    >;
5692}
5693pub type int_least8_t = i8;
5694pub type int_least16_t = i16;
5695pub type int_least32_t = i32;
5696pub type int_least64_t = i64;
5697pub type uint_least8_t = u8;
5698pub type uint_least16_t = u16;
5699pub type uint_least32_t = u32;
5700pub type uint_least64_t = u64;
5701pub type int_fast8_t = i8;
5702pub type int_fast16_t = i16;
5703pub type int_fast32_t = i32;
5704pub type int_fast64_t = i64;
5705pub type uint_fast8_t = u8;
5706pub type uint_fast16_t = u16;
5707pub type uint_fast32_t = u32;
5708pub type uint_fast64_t = u64;
5709pub type intmax_t = ::std::os::raw::c_long;
5710pub type uintmax_t = ::std::os::raw::c_ulong;
5711#[repr(C)]
5712#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5713pub struct timeval {
5714    pub tv_sec: __darwin_time_t,
5715    pub tv_usec: __darwin_suseconds_t,
5716}
5717#[test]
5718fn bindgen_test_layout_timeval() {
5719    const UNINIT: ::std::mem::MaybeUninit<timeval> = ::std::mem::MaybeUninit::uninit();
5720    let ptr = UNINIT.as_ptr();
5721    assert_eq!(
5722        ::std::mem::size_of::<timeval>(),
5723        16usize,
5724        concat!("Size of: ", stringify!(timeval))
5725    );
5726    assert_eq!(
5727        ::std::mem::align_of::<timeval>(),
5728        8usize,
5729        concat!("Alignment of ", stringify!(timeval))
5730    );
5731    assert_eq!(
5732        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
5733        0usize,
5734        concat!(
5735            "Offset of field: ",
5736            stringify!(timeval),
5737            "::",
5738            stringify!(tv_sec)
5739        )
5740    );
5741    assert_eq!(
5742        unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
5743        8usize,
5744        concat!(
5745            "Offset of field: ",
5746            stringify!(timeval),
5747            "::",
5748            stringify!(tv_usec)
5749        )
5750    );
5751}
5752pub type rlim_t = __uint64_t;
5753#[repr(C)]
5754#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5755pub struct rusage {
5756    pub ru_utime: timeval,
5757    pub ru_stime: timeval,
5758    pub ru_maxrss: ::std::os::raw::c_long,
5759    pub ru_ixrss: ::std::os::raw::c_long,
5760    pub ru_idrss: ::std::os::raw::c_long,
5761    pub ru_isrss: ::std::os::raw::c_long,
5762    pub ru_minflt: ::std::os::raw::c_long,
5763    pub ru_majflt: ::std::os::raw::c_long,
5764    pub ru_nswap: ::std::os::raw::c_long,
5765    pub ru_inblock: ::std::os::raw::c_long,
5766    pub ru_oublock: ::std::os::raw::c_long,
5767    pub ru_msgsnd: ::std::os::raw::c_long,
5768    pub ru_msgrcv: ::std::os::raw::c_long,
5769    pub ru_nsignals: ::std::os::raw::c_long,
5770    pub ru_nvcsw: ::std::os::raw::c_long,
5771    pub ru_nivcsw: ::std::os::raw::c_long,
5772}
5773#[test]
5774fn bindgen_test_layout_rusage() {
5775    const UNINIT: ::std::mem::MaybeUninit<rusage> = ::std::mem::MaybeUninit::uninit();
5776    let ptr = UNINIT.as_ptr();
5777    assert_eq!(
5778        ::std::mem::size_of::<rusage>(),
5779        144usize,
5780        concat!("Size of: ", stringify!(rusage))
5781    );
5782    assert_eq!(
5783        ::std::mem::align_of::<rusage>(),
5784        8usize,
5785        concat!("Alignment of ", stringify!(rusage))
5786    );
5787    assert_eq!(
5788        unsafe { ::std::ptr::addr_of!((*ptr).ru_utime) as usize - ptr as usize },
5789        0usize,
5790        concat!(
5791            "Offset of field: ",
5792            stringify!(rusage),
5793            "::",
5794            stringify!(ru_utime)
5795        )
5796    );
5797    assert_eq!(
5798        unsafe { ::std::ptr::addr_of!((*ptr).ru_stime) as usize - ptr as usize },
5799        16usize,
5800        concat!(
5801            "Offset of field: ",
5802            stringify!(rusage),
5803            "::",
5804            stringify!(ru_stime)
5805        )
5806    );
5807    assert_eq!(
5808        unsafe { ::std::ptr::addr_of!((*ptr).ru_maxrss) as usize - ptr as usize },
5809        32usize,
5810        concat!(
5811            "Offset of field: ",
5812            stringify!(rusage),
5813            "::",
5814            stringify!(ru_maxrss)
5815        )
5816    );
5817    assert_eq!(
5818        unsafe { ::std::ptr::addr_of!((*ptr).ru_ixrss) as usize - ptr as usize },
5819        40usize,
5820        concat!(
5821            "Offset of field: ",
5822            stringify!(rusage),
5823            "::",
5824            stringify!(ru_ixrss)
5825        )
5826    );
5827    assert_eq!(
5828        unsafe { ::std::ptr::addr_of!((*ptr).ru_idrss) as usize - ptr as usize },
5829        48usize,
5830        concat!(
5831            "Offset of field: ",
5832            stringify!(rusage),
5833            "::",
5834            stringify!(ru_idrss)
5835        )
5836    );
5837    assert_eq!(
5838        unsafe { ::std::ptr::addr_of!((*ptr).ru_isrss) as usize - ptr as usize },
5839        56usize,
5840        concat!(
5841            "Offset of field: ",
5842            stringify!(rusage),
5843            "::",
5844            stringify!(ru_isrss)
5845        )
5846    );
5847    assert_eq!(
5848        unsafe { ::std::ptr::addr_of!((*ptr).ru_minflt) as usize - ptr as usize },
5849        64usize,
5850        concat!(
5851            "Offset of field: ",
5852            stringify!(rusage),
5853            "::",
5854            stringify!(ru_minflt)
5855        )
5856    );
5857    assert_eq!(
5858        unsafe { ::std::ptr::addr_of!((*ptr).ru_majflt) as usize - ptr as usize },
5859        72usize,
5860        concat!(
5861            "Offset of field: ",
5862            stringify!(rusage),
5863            "::",
5864            stringify!(ru_majflt)
5865        )
5866    );
5867    assert_eq!(
5868        unsafe { ::std::ptr::addr_of!((*ptr).ru_nswap) as usize - ptr as usize },
5869        80usize,
5870        concat!(
5871            "Offset of field: ",
5872            stringify!(rusage),
5873            "::",
5874            stringify!(ru_nswap)
5875        )
5876    );
5877    assert_eq!(
5878        unsafe { ::std::ptr::addr_of!((*ptr).ru_inblock) as usize - ptr as usize },
5879        88usize,
5880        concat!(
5881            "Offset of field: ",
5882            stringify!(rusage),
5883            "::",
5884            stringify!(ru_inblock)
5885        )
5886    );
5887    assert_eq!(
5888        unsafe { ::std::ptr::addr_of!((*ptr).ru_oublock) as usize - ptr as usize },
5889        96usize,
5890        concat!(
5891            "Offset of field: ",
5892            stringify!(rusage),
5893            "::",
5894            stringify!(ru_oublock)
5895        )
5896    );
5897    assert_eq!(
5898        unsafe { ::std::ptr::addr_of!((*ptr).ru_msgsnd) as usize - ptr as usize },
5899        104usize,
5900        concat!(
5901            "Offset of field: ",
5902            stringify!(rusage),
5903            "::",
5904            stringify!(ru_msgsnd)
5905        )
5906    );
5907    assert_eq!(
5908        unsafe { ::std::ptr::addr_of!((*ptr).ru_msgrcv) as usize - ptr as usize },
5909        112usize,
5910        concat!(
5911            "Offset of field: ",
5912            stringify!(rusage),
5913            "::",
5914            stringify!(ru_msgrcv)
5915        )
5916    );
5917    assert_eq!(
5918        unsafe { ::std::ptr::addr_of!((*ptr).ru_nsignals) as usize - ptr as usize },
5919        120usize,
5920        concat!(
5921            "Offset of field: ",
5922            stringify!(rusage),
5923            "::",
5924            stringify!(ru_nsignals)
5925        )
5926    );
5927    assert_eq!(
5928        unsafe { ::std::ptr::addr_of!((*ptr).ru_nvcsw) as usize - ptr as usize },
5929        128usize,
5930        concat!(
5931            "Offset of field: ",
5932            stringify!(rusage),
5933            "::",
5934            stringify!(ru_nvcsw)
5935        )
5936    );
5937    assert_eq!(
5938        unsafe { ::std::ptr::addr_of!((*ptr).ru_nivcsw) as usize - ptr as usize },
5939        136usize,
5940        concat!(
5941            "Offset of field: ",
5942            stringify!(rusage),
5943            "::",
5944            stringify!(ru_nivcsw)
5945        )
5946    );
5947}
5948pub type rusage_info_t = *mut ::std::os::raw::c_void;
5949#[repr(C)]
5950#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5951pub struct rusage_info_v0 {
5952    pub ri_uuid: [u8; 16usize],
5953    pub ri_user_time: u64,
5954    pub ri_system_time: u64,
5955    pub ri_pkg_idle_wkups: u64,
5956    pub ri_interrupt_wkups: u64,
5957    pub ri_pageins: u64,
5958    pub ri_wired_size: u64,
5959    pub ri_resident_size: u64,
5960    pub ri_phys_footprint: u64,
5961    pub ri_proc_start_abstime: u64,
5962    pub ri_proc_exit_abstime: u64,
5963}
5964#[test]
5965fn bindgen_test_layout_rusage_info_v0() {
5966    const UNINIT: ::std::mem::MaybeUninit<rusage_info_v0> = ::std::mem::MaybeUninit::uninit();
5967    let ptr = UNINIT.as_ptr();
5968    assert_eq!(
5969        ::std::mem::size_of::<rusage_info_v0>(),
5970        96usize,
5971        concat!("Size of: ", stringify!(rusage_info_v0))
5972    );
5973    assert_eq!(
5974        ::std::mem::align_of::<rusage_info_v0>(),
5975        8usize,
5976        concat!("Alignment of ", stringify!(rusage_info_v0))
5977    );
5978    assert_eq!(
5979        unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize },
5980        0usize,
5981        concat!(
5982            "Offset of field: ",
5983            stringify!(rusage_info_v0),
5984            "::",
5985            stringify!(ri_uuid)
5986        )
5987    );
5988    assert_eq!(
5989        unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize },
5990        16usize,
5991        concat!(
5992            "Offset of field: ",
5993            stringify!(rusage_info_v0),
5994            "::",
5995            stringify!(ri_user_time)
5996        )
5997    );
5998    assert_eq!(
5999        unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize },
6000        24usize,
6001        concat!(
6002            "Offset of field: ",
6003            stringify!(rusage_info_v0),
6004            "::",
6005            stringify!(ri_system_time)
6006        )
6007    );
6008    assert_eq!(
6009        unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize },
6010        32usize,
6011        concat!(
6012            "Offset of field: ",
6013            stringify!(rusage_info_v0),
6014            "::",
6015            stringify!(ri_pkg_idle_wkups)
6016        )
6017    );
6018    assert_eq!(
6019        unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize },
6020        40usize,
6021        concat!(
6022            "Offset of field: ",
6023            stringify!(rusage_info_v0),
6024            "::",
6025            stringify!(ri_interrupt_wkups)
6026        )
6027    );
6028    assert_eq!(
6029        unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize },
6030        48usize,
6031        concat!(
6032            "Offset of field: ",
6033            stringify!(rusage_info_v0),
6034            "::",
6035            stringify!(ri_pageins)
6036        )
6037    );
6038    assert_eq!(
6039        unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize },
6040        56usize,
6041        concat!(
6042            "Offset of field: ",
6043            stringify!(rusage_info_v0),
6044            "::",
6045            stringify!(ri_wired_size)
6046        )
6047    );
6048    assert_eq!(
6049        unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize },
6050        64usize,
6051        concat!(
6052            "Offset of field: ",
6053            stringify!(rusage_info_v0),
6054            "::",
6055            stringify!(ri_resident_size)
6056        )
6057    );
6058    assert_eq!(
6059        unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize },
6060        72usize,
6061        concat!(
6062            "Offset of field: ",
6063            stringify!(rusage_info_v0),
6064            "::",
6065            stringify!(ri_phys_footprint)
6066        )
6067    );
6068    assert_eq!(
6069        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize },
6070        80usize,
6071        concat!(
6072            "Offset of field: ",
6073            stringify!(rusage_info_v0),
6074            "::",
6075            stringify!(ri_proc_start_abstime)
6076        )
6077    );
6078    assert_eq!(
6079        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize },
6080        88usize,
6081        concat!(
6082            "Offset of field: ",
6083            stringify!(rusage_info_v0),
6084            "::",
6085            stringify!(ri_proc_exit_abstime)
6086        )
6087    );
6088}
6089#[repr(C)]
6090#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6091pub struct rusage_info_v1 {
6092    pub ri_uuid: [u8; 16usize],
6093    pub ri_user_time: u64,
6094    pub ri_system_time: u64,
6095    pub ri_pkg_idle_wkups: u64,
6096    pub ri_interrupt_wkups: u64,
6097    pub ri_pageins: u64,
6098    pub ri_wired_size: u64,
6099    pub ri_resident_size: u64,
6100    pub ri_phys_footprint: u64,
6101    pub ri_proc_start_abstime: u64,
6102    pub ri_proc_exit_abstime: u64,
6103    pub ri_child_user_time: u64,
6104    pub ri_child_system_time: u64,
6105    pub ri_child_pkg_idle_wkups: u64,
6106    pub ri_child_interrupt_wkups: u64,
6107    pub ri_child_pageins: u64,
6108    pub ri_child_elapsed_abstime: u64,
6109}
6110#[test]
6111fn bindgen_test_layout_rusage_info_v1() {
6112    const UNINIT: ::std::mem::MaybeUninit<rusage_info_v1> = ::std::mem::MaybeUninit::uninit();
6113    let ptr = UNINIT.as_ptr();
6114    assert_eq!(
6115        ::std::mem::size_of::<rusage_info_v1>(),
6116        144usize,
6117        concat!("Size of: ", stringify!(rusage_info_v1))
6118    );
6119    assert_eq!(
6120        ::std::mem::align_of::<rusage_info_v1>(),
6121        8usize,
6122        concat!("Alignment of ", stringify!(rusage_info_v1))
6123    );
6124    assert_eq!(
6125        unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize },
6126        0usize,
6127        concat!(
6128            "Offset of field: ",
6129            stringify!(rusage_info_v1),
6130            "::",
6131            stringify!(ri_uuid)
6132        )
6133    );
6134    assert_eq!(
6135        unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize },
6136        16usize,
6137        concat!(
6138            "Offset of field: ",
6139            stringify!(rusage_info_v1),
6140            "::",
6141            stringify!(ri_user_time)
6142        )
6143    );
6144    assert_eq!(
6145        unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize },
6146        24usize,
6147        concat!(
6148            "Offset of field: ",
6149            stringify!(rusage_info_v1),
6150            "::",
6151            stringify!(ri_system_time)
6152        )
6153    );
6154    assert_eq!(
6155        unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize },
6156        32usize,
6157        concat!(
6158            "Offset of field: ",
6159            stringify!(rusage_info_v1),
6160            "::",
6161            stringify!(ri_pkg_idle_wkups)
6162        )
6163    );
6164    assert_eq!(
6165        unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize },
6166        40usize,
6167        concat!(
6168            "Offset of field: ",
6169            stringify!(rusage_info_v1),
6170            "::",
6171            stringify!(ri_interrupt_wkups)
6172        )
6173    );
6174    assert_eq!(
6175        unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize },
6176        48usize,
6177        concat!(
6178            "Offset of field: ",
6179            stringify!(rusage_info_v1),
6180            "::",
6181            stringify!(ri_pageins)
6182        )
6183    );
6184    assert_eq!(
6185        unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize },
6186        56usize,
6187        concat!(
6188            "Offset of field: ",
6189            stringify!(rusage_info_v1),
6190            "::",
6191            stringify!(ri_wired_size)
6192        )
6193    );
6194    assert_eq!(
6195        unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize },
6196        64usize,
6197        concat!(
6198            "Offset of field: ",
6199            stringify!(rusage_info_v1),
6200            "::",
6201            stringify!(ri_resident_size)
6202        )
6203    );
6204    assert_eq!(
6205        unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize },
6206        72usize,
6207        concat!(
6208            "Offset of field: ",
6209            stringify!(rusage_info_v1),
6210            "::",
6211            stringify!(ri_phys_footprint)
6212        )
6213    );
6214    assert_eq!(
6215        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize },
6216        80usize,
6217        concat!(
6218            "Offset of field: ",
6219            stringify!(rusage_info_v1),
6220            "::",
6221            stringify!(ri_proc_start_abstime)
6222        )
6223    );
6224    assert_eq!(
6225        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize },
6226        88usize,
6227        concat!(
6228            "Offset of field: ",
6229            stringify!(rusage_info_v1),
6230            "::",
6231            stringify!(ri_proc_exit_abstime)
6232        )
6233    );
6234    assert_eq!(
6235        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize },
6236        96usize,
6237        concat!(
6238            "Offset of field: ",
6239            stringify!(rusage_info_v1),
6240            "::",
6241            stringify!(ri_child_user_time)
6242        )
6243    );
6244    assert_eq!(
6245        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize },
6246        104usize,
6247        concat!(
6248            "Offset of field: ",
6249            stringify!(rusage_info_v1),
6250            "::",
6251            stringify!(ri_child_system_time)
6252        )
6253    );
6254    assert_eq!(
6255        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize },
6256        112usize,
6257        concat!(
6258            "Offset of field: ",
6259            stringify!(rusage_info_v1),
6260            "::",
6261            stringify!(ri_child_pkg_idle_wkups)
6262        )
6263    );
6264    assert_eq!(
6265        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize },
6266        120usize,
6267        concat!(
6268            "Offset of field: ",
6269            stringify!(rusage_info_v1),
6270            "::",
6271            stringify!(ri_child_interrupt_wkups)
6272        )
6273    );
6274    assert_eq!(
6275        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize },
6276        128usize,
6277        concat!(
6278            "Offset of field: ",
6279            stringify!(rusage_info_v1),
6280            "::",
6281            stringify!(ri_child_pageins)
6282        )
6283    );
6284    assert_eq!(
6285        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize },
6286        136usize,
6287        concat!(
6288            "Offset of field: ",
6289            stringify!(rusage_info_v1),
6290            "::",
6291            stringify!(ri_child_elapsed_abstime)
6292        )
6293    );
6294}
6295#[repr(C)]
6296#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6297pub struct rusage_info_v2 {
6298    pub ri_uuid: [u8; 16usize],
6299    pub ri_user_time: u64,
6300    pub ri_system_time: u64,
6301    pub ri_pkg_idle_wkups: u64,
6302    pub ri_interrupt_wkups: u64,
6303    pub ri_pageins: u64,
6304    pub ri_wired_size: u64,
6305    pub ri_resident_size: u64,
6306    pub ri_phys_footprint: u64,
6307    pub ri_proc_start_abstime: u64,
6308    pub ri_proc_exit_abstime: u64,
6309    pub ri_child_user_time: u64,
6310    pub ri_child_system_time: u64,
6311    pub ri_child_pkg_idle_wkups: u64,
6312    pub ri_child_interrupt_wkups: u64,
6313    pub ri_child_pageins: u64,
6314    pub ri_child_elapsed_abstime: u64,
6315    pub ri_diskio_bytesread: u64,
6316    pub ri_diskio_byteswritten: u64,
6317}
6318#[test]
6319fn bindgen_test_layout_rusage_info_v2() {
6320    const UNINIT: ::std::mem::MaybeUninit<rusage_info_v2> = ::std::mem::MaybeUninit::uninit();
6321    let ptr = UNINIT.as_ptr();
6322    assert_eq!(
6323        ::std::mem::size_of::<rusage_info_v2>(),
6324        160usize,
6325        concat!("Size of: ", stringify!(rusage_info_v2))
6326    );
6327    assert_eq!(
6328        ::std::mem::align_of::<rusage_info_v2>(),
6329        8usize,
6330        concat!("Alignment of ", stringify!(rusage_info_v2))
6331    );
6332    assert_eq!(
6333        unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize },
6334        0usize,
6335        concat!(
6336            "Offset of field: ",
6337            stringify!(rusage_info_v2),
6338            "::",
6339            stringify!(ri_uuid)
6340        )
6341    );
6342    assert_eq!(
6343        unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize },
6344        16usize,
6345        concat!(
6346            "Offset of field: ",
6347            stringify!(rusage_info_v2),
6348            "::",
6349            stringify!(ri_user_time)
6350        )
6351    );
6352    assert_eq!(
6353        unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize },
6354        24usize,
6355        concat!(
6356            "Offset of field: ",
6357            stringify!(rusage_info_v2),
6358            "::",
6359            stringify!(ri_system_time)
6360        )
6361    );
6362    assert_eq!(
6363        unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize },
6364        32usize,
6365        concat!(
6366            "Offset of field: ",
6367            stringify!(rusage_info_v2),
6368            "::",
6369            stringify!(ri_pkg_idle_wkups)
6370        )
6371    );
6372    assert_eq!(
6373        unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize },
6374        40usize,
6375        concat!(
6376            "Offset of field: ",
6377            stringify!(rusage_info_v2),
6378            "::",
6379            stringify!(ri_interrupt_wkups)
6380        )
6381    );
6382    assert_eq!(
6383        unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize },
6384        48usize,
6385        concat!(
6386            "Offset of field: ",
6387            stringify!(rusage_info_v2),
6388            "::",
6389            stringify!(ri_pageins)
6390        )
6391    );
6392    assert_eq!(
6393        unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize },
6394        56usize,
6395        concat!(
6396            "Offset of field: ",
6397            stringify!(rusage_info_v2),
6398            "::",
6399            stringify!(ri_wired_size)
6400        )
6401    );
6402    assert_eq!(
6403        unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize },
6404        64usize,
6405        concat!(
6406            "Offset of field: ",
6407            stringify!(rusage_info_v2),
6408            "::",
6409            stringify!(ri_resident_size)
6410        )
6411    );
6412    assert_eq!(
6413        unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize },
6414        72usize,
6415        concat!(
6416            "Offset of field: ",
6417            stringify!(rusage_info_v2),
6418            "::",
6419            stringify!(ri_phys_footprint)
6420        )
6421    );
6422    assert_eq!(
6423        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize },
6424        80usize,
6425        concat!(
6426            "Offset of field: ",
6427            stringify!(rusage_info_v2),
6428            "::",
6429            stringify!(ri_proc_start_abstime)
6430        )
6431    );
6432    assert_eq!(
6433        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize },
6434        88usize,
6435        concat!(
6436            "Offset of field: ",
6437            stringify!(rusage_info_v2),
6438            "::",
6439            stringify!(ri_proc_exit_abstime)
6440        )
6441    );
6442    assert_eq!(
6443        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize },
6444        96usize,
6445        concat!(
6446            "Offset of field: ",
6447            stringify!(rusage_info_v2),
6448            "::",
6449            stringify!(ri_child_user_time)
6450        )
6451    );
6452    assert_eq!(
6453        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize },
6454        104usize,
6455        concat!(
6456            "Offset of field: ",
6457            stringify!(rusage_info_v2),
6458            "::",
6459            stringify!(ri_child_system_time)
6460        )
6461    );
6462    assert_eq!(
6463        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize },
6464        112usize,
6465        concat!(
6466            "Offset of field: ",
6467            stringify!(rusage_info_v2),
6468            "::",
6469            stringify!(ri_child_pkg_idle_wkups)
6470        )
6471    );
6472    assert_eq!(
6473        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize },
6474        120usize,
6475        concat!(
6476            "Offset of field: ",
6477            stringify!(rusage_info_v2),
6478            "::",
6479            stringify!(ri_child_interrupt_wkups)
6480        )
6481    );
6482    assert_eq!(
6483        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize },
6484        128usize,
6485        concat!(
6486            "Offset of field: ",
6487            stringify!(rusage_info_v2),
6488            "::",
6489            stringify!(ri_child_pageins)
6490        )
6491    );
6492    assert_eq!(
6493        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize },
6494        136usize,
6495        concat!(
6496            "Offset of field: ",
6497            stringify!(rusage_info_v2),
6498            "::",
6499            stringify!(ri_child_elapsed_abstime)
6500        )
6501    );
6502    assert_eq!(
6503        unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_bytesread) as usize - ptr as usize },
6504        144usize,
6505        concat!(
6506            "Offset of field: ",
6507            stringify!(rusage_info_v2),
6508            "::",
6509            stringify!(ri_diskio_bytesread)
6510        )
6511    );
6512    assert_eq!(
6513        unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_byteswritten) as usize - ptr as usize },
6514        152usize,
6515        concat!(
6516            "Offset of field: ",
6517            stringify!(rusage_info_v2),
6518            "::",
6519            stringify!(ri_diskio_byteswritten)
6520        )
6521    );
6522}
6523#[repr(C)]
6524#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6525pub struct rusage_info_v3 {
6526    pub ri_uuid: [u8; 16usize],
6527    pub ri_user_time: u64,
6528    pub ri_system_time: u64,
6529    pub ri_pkg_idle_wkups: u64,
6530    pub ri_interrupt_wkups: u64,
6531    pub ri_pageins: u64,
6532    pub ri_wired_size: u64,
6533    pub ri_resident_size: u64,
6534    pub ri_phys_footprint: u64,
6535    pub ri_proc_start_abstime: u64,
6536    pub ri_proc_exit_abstime: u64,
6537    pub ri_child_user_time: u64,
6538    pub ri_child_system_time: u64,
6539    pub ri_child_pkg_idle_wkups: u64,
6540    pub ri_child_interrupt_wkups: u64,
6541    pub ri_child_pageins: u64,
6542    pub ri_child_elapsed_abstime: u64,
6543    pub ri_diskio_bytesread: u64,
6544    pub ri_diskio_byteswritten: u64,
6545    pub ri_cpu_time_qos_default: u64,
6546    pub ri_cpu_time_qos_maintenance: u64,
6547    pub ri_cpu_time_qos_background: u64,
6548    pub ri_cpu_time_qos_utility: u64,
6549    pub ri_cpu_time_qos_legacy: u64,
6550    pub ri_cpu_time_qos_user_initiated: u64,
6551    pub ri_cpu_time_qos_user_interactive: u64,
6552    pub ri_billed_system_time: u64,
6553    pub ri_serviced_system_time: u64,
6554}
6555#[test]
6556fn bindgen_test_layout_rusage_info_v3() {
6557    const UNINIT: ::std::mem::MaybeUninit<rusage_info_v3> = ::std::mem::MaybeUninit::uninit();
6558    let ptr = UNINIT.as_ptr();
6559    assert_eq!(
6560        ::std::mem::size_of::<rusage_info_v3>(),
6561        232usize,
6562        concat!("Size of: ", stringify!(rusage_info_v3))
6563    );
6564    assert_eq!(
6565        ::std::mem::align_of::<rusage_info_v3>(),
6566        8usize,
6567        concat!("Alignment of ", stringify!(rusage_info_v3))
6568    );
6569    assert_eq!(
6570        unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize },
6571        0usize,
6572        concat!(
6573            "Offset of field: ",
6574            stringify!(rusage_info_v3),
6575            "::",
6576            stringify!(ri_uuid)
6577        )
6578    );
6579    assert_eq!(
6580        unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize },
6581        16usize,
6582        concat!(
6583            "Offset of field: ",
6584            stringify!(rusage_info_v3),
6585            "::",
6586            stringify!(ri_user_time)
6587        )
6588    );
6589    assert_eq!(
6590        unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize },
6591        24usize,
6592        concat!(
6593            "Offset of field: ",
6594            stringify!(rusage_info_v3),
6595            "::",
6596            stringify!(ri_system_time)
6597        )
6598    );
6599    assert_eq!(
6600        unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize },
6601        32usize,
6602        concat!(
6603            "Offset of field: ",
6604            stringify!(rusage_info_v3),
6605            "::",
6606            stringify!(ri_pkg_idle_wkups)
6607        )
6608    );
6609    assert_eq!(
6610        unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize },
6611        40usize,
6612        concat!(
6613            "Offset of field: ",
6614            stringify!(rusage_info_v3),
6615            "::",
6616            stringify!(ri_interrupt_wkups)
6617        )
6618    );
6619    assert_eq!(
6620        unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize },
6621        48usize,
6622        concat!(
6623            "Offset of field: ",
6624            stringify!(rusage_info_v3),
6625            "::",
6626            stringify!(ri_pageins)
6627        )
6628    );
6629    assert_eq!(
6630        unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize },
6631        56usize,
6632        concat!(
6633            "Offset of field: ",
6634            stringify!(rusage_info_v3),
6635            "::",
6636            stringify!(ri_wired_size)
6637        )
6638    );
6639    assert_eq!(
6640        unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize },
6641        64usize,
6642        concat!(
6643            "Offset of field: ",
6644            stringify!(rusage_info_v3),
6645            "::",
6646            stringify!(ri_resident_size)
6647        )
6648    );
6649    assert_eq!(
6650        unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize },
6651        72usize,
6652        concat!(
6653            "Offset of field: ",
6654            stringify!(rusage_info_v3),
6655            "::",
6656            stringify!(ri_phys_footprint)
6657        )
6658    );
6659    assert_eq!(
6660        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize },
6661        80usize,
6662        concat!(
6663            "Offset of field: ",
6664            stringify!(rusage_info_v3),
6665            "::",
6666            stringify!(ri_proc_start_abstime)
6667        )
6668    );
6669    assert_eq!(
6670        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize },
6671        88usize,
6672        concat!(
6673            "Offset of field: ",
6674            stringify!(rusage_info_v3),
6675            "::",
6676            stringify!(ri_proc_exit_abstime)
6677        )
6678    );
6679    assert_eq!(
6680        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize },
6681        96usize,
6682        concat!(
6683            "Offset of field: ",
6684            stringify!(rusage_info_v3),
6685            "::",
6686            stringify!(ri_child_user_time)
6687        )
6688    );
6689    assert_eq!(
6690        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize },
6691        104usize,
6692        concat!(
6693            "Offset of field: ",
6694            stringify!(rusage_info_v3),
6695            "::",
6696            stringify!(ri_child_system_time)
6697        )
6698    );
6699    assert_eq!(
6700        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize },
6701        112usize,
6702        concat!(
6703            "Offset of field: ",
6704            stringify!(rusage_info_v3),
6705            "::",
6706            stringify!(ri_child_pkg_idle_wkups)
6707        )
6708    );
6709    assert_eq!(
6710        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize },
6711        120usize,
6712        concat!(
6713            "Offset of field: ",
6714            stringify!(rusage_info_v3),
6715            "::",
6716            stringify!(ri_child_interrupt_wkups)
6717        )
6718    );
6719    assert_eq!(
6720        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize },
6721        128usize,
6722        concat!(
6723            "Offset of field: ",
6724            stringify!(rusage_info_v3),
6725            "::",
6726            stringify!(ri_child_pageins)
6727        )
6728    );
6729    assert_eq!(
6730        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize },
6731        136usize,
6732        concat!(
6733            "Offset of field: ",
6734            stringify!(rusage_info_v3),
6735            "::",
6736            stringify!(ri_child_elapsed_abstime)
6737        )
6738    );
6739    assert_eq!(
6740        unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_bytesread) as usize - ptr as usize },
6741        144usize,
6742        concat!(
6743            "Offset of field: ",
6744            stringify!(rusage_info_v3),
6745            "::",
6746            stringify!(ri_diskio_bytesread)
6747        )
6748    );
6749    assert_eq!(
6750        unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_byteswritten) as usize - ptr as usize },
6751        152usize,
6752        concat!(
6753            "Offset of field: ",
6754            stringify!(rusage_info_v3),
6755            "::",
6756            stringify!(ri_diskio_byteswritten)
6757        )
6758    );
6759    assert_eq!(
6760        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_default) as usize - ptr as usize },
6761        160usize,
6762        concat!(
6763            "Offset of field: ",
6764            stringify!(rusage_info_v3),
6765            "::",
6766            stringify!(ri_cpu_time_qos_default)
6767        )
6768    );
6769    assert_eq!(
6770        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_maintenance) as usize - ptr as usize },
6771        168usize,
6772        concat!(
6773            "Offset of field: ",
6774            stringify!(rusage_info_v3),
6775            "::",
6776            stringify!(ri_cpu_time_qos_maintenance)
6777        )
6778    );
6779    assert_eq!(
6780        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_background) as usize - ptr as usize },
6781        176usize,
6782        concat!(
6783            "Offset of field: ",
6784            stringify!(rusage_info_v3),
6785            "::",
6786            stringify!(ri_cpu_time_qos_background)
6787        )
6788    );
6789    assert_eq!(
6790        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_utility) as usize - ptr as usize },
6791        184usize,
6792        concat!(
6793            "Offset of field: ",
6794            stringify!(rusage_info_v3),
6795            "::",
6796            stringify!(ri_cpu_time_qos_utility)
6797        )
6798    );
6799    assert_eq!(
6800        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_legacy) as usize - ptr as usize },
6801        192usize,
6802        concat!(
6803            "Offset of field: ",
6804            stringify!(rusage_info_v3),
6805            "::",
6806            stringify!(ri_cpu_time_qos_legacy)
6807        )
6808    );
6809    assert_eq!(
6810        unsafe {
6811            ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_initiated) as usize - ptr as usize
6812        },
6813        200usize,
6814        concat!(
6815            "Offset of field: ",
6816            stringify!(rusage_info_v3),
6817            "::",
6818            stringify!(ri_cpu_time_qos_user_initiated)
6819        )
6820    );
6821    assert_eq!(
6822        unsafe {
6823            ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_interactive) as usize - ptr as usize
6824        },
6825        208usize,
6826        concat!(
6827            "Offset of field: ",
6828            stringify!(rusage_info_v3),
6829            "::",
6830            stringify!(ri_cpu_time_qos_user_interactive)
6831        )
6832    );
6833    assert_eq!(
6834        unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_system_time) as usize - ptr as usize },
6835        216usize,
6836        concat!(
6837            "Offset of field: ",
6838            stringify!(rusage_info_v3),
6839            "::",
6840            stringify!(ri_billed_system_time)
6841        )
6842    );
6843    assert_eq!(
6844        unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_system_time) as usize - ptr as usize },
6845        224usize,
6846        concat!(
6847            "Offset of field: ",
6848            stringify!(rusage_info_v3),
6849            "::",
6850            stringify!(ri_serviced_system_time)
6851        )
6852    );
6853}
6854#[repr(C)]
6855#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6856pub struct rusage_info_v4 {
6857    pub ri_uuid: [u8; 16usize],
6858    pub ri_user_time: u64,
6859    pub ri_system_time: u64,
6860    pub ri_pkg_idle_wkups: u64,
6861    pub ri_interrupt_wkups: u64,
6862    pub ri_pageins: u64,
6863    pub ri_wired_size: u64,
6864    pub ri_resident_size: u64,
6865    pub ri_phys_footprint: u64,
6866    pub ri_proc_start_abstime: u64,
6867    pub ri_proc_exit_abstime: u64,
6868    pub ri_child_user_time: u64,
6869    pub ri_child_system_time: u64,
6870    pub ri_child_pkg_idle_wkups: u64,
6871    pub ri_child_interrupt_wkups: u64,
6872    pub ri_child_pageins: u64,
6873    pub ri_child_elapsed_abstime: u64,
6874    pub ri_diskio_bytesread: u64,
6875    pub ri_diskio_byteswritten: u64,
6876    pub ri_cpu_time_qos_default: u64,
6877    pub ri_cpu_time_qos_maintenance: u64,
6878    pub ri_cpu_time_qos_background: u64,
6879    pub ri_cpu_time_qos_utility: u64,
6880    pub ri_cpu_time_qos_legacy: u64,
6881    pub ri_cpu_time_qos_user_initiated: u64,
6882    pub ri_cpu_time_qos_user_interactive: u64,
6883    pub ri_billed_system_time: u64,
6884    pub ri_serviced_system_time: u64,
6885    pub ri_logical_writes: u64,
6886    pub ri_lifetime_max_phys_footprint: u64,
6887    pub ri_instructions: u64,
6888    pub ri_cycles: u64,
6889    pub ri_billed_energy: u64,
6890    pub ri_serviced_energy: u64,
6891    pub ri_interval_max_phys_footprint: u64,
6892    pub ri_runnable_time: u64,
6893}
6894#[test]
6895fn bindgen_test_layout_rusage_info_v4() {
6896    const UNINIT: ::std::mem::MaybeUninit<rusage_info_v4> = ::std::mem::MaybeUninit::uninit();
6897    let ptr = UNINIT.as_ptr();
6898    assert_eq!(
6899        ::std::mem::size_of::<rusage_info_v4>(),
6900        296usize,
6901        concat!("Size of: ", stringify!(rusage_info_v4))
6902    );
6903    assert_eq!(
6904        ::std::mem::align_of::<rusage_info_v4>(),
6905        8usize,
6906        concat!("Alignment of ", stringify!(rusage_info_v4))
6907    );
6908    assert_eq!(
6909        unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize },
6910        0usize,
6911        concat!(
6912            "Offset of field: ",
6913            stringify!(rusage_info_v4),
6914            "::",
6915            stringify!(ri_uuid)
6916        )
6917    );
6918    assert_eq!(
6919        unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize },
6920        16usize,
6921        concat!(
6922            "Offset of field: ",
6923            stringify!(rusage_info_v4),
6924            "::",
6925            stringify!(ri_user_time)
6926        )
6927    );
6928    assert_eq!(
6929        unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize },
6930        24usize,
6931        concat!(
6932            "Offset of field: ",
6933            stringify!(rusage_info_v4),
6934            "::",
6935            stringify!(ri_system_time)
6936        )
6937    );
6938    assert_eq!(
6939        unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize },
6940        32usize,
6941        concat!(
6942            "Offset of field: ",
6943            stringify!(rusage_info_v4),
6944            "::",
6945            stringify!(ri_pkg_idle_wkups)
6946        )
6947    );
6948    assert_eq!(
6949        unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize },
6950        40usize,
6951        concat!(
6952            "Offset of field: ",
6953            stringify!(rusage_info_v4),
6954            "::",
6955            stringify!(ri_interrupt_wkups)
6956        )
6957    );
6958    assert_eq!(
6959        unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize },
6960        48usize,
6961        concat!(
6962            "Offset of field: ",
6963            stringify!(rusage_info_v4),
6964            "::",
6965            stringify!(ri_pageins)
6966        )
6967    );
6968    assert_eq!(
6969        unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize },
6970        56usize,
6971        concat!(
6972            "Offset of field: ",
6973            stringify!(rusage_info_v4),
6974            "::",
6975            stringify!(ri_wired_size)
6976        )
6977    );
6978    assert_eq!(
6979        unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize },
6980        64usize,
6981        concat!(
6982            "Offset of field: ",
6983            stringify!(rusage_info_v4),
6984            "::",
6985            stringify!(ri_resident_size)
6986        )
6987    );
6988    assert_eq!(
6989        unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize },
6990        72usize,
6991        concat!(
6992            "Offset of field: ",
6993            stringify!(rusage_info_v4),
6994            "::",
6995            stringify!(ri_phys_footprint)
6996        )
6997    );
6998    assert_eq!(
6999        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize },
7000        80usize,
7001        concat!(
7002            "Offset of field: ",
7003            stringify!(rusage_info_v4),
7004            "::",
7005            stringify!(ri_proc_start_abstime)
7006        )
7007    );
7008    assert_eq!(
7009        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize },
7010        88usize,
7011        concat!(
7012            "Offset of field: ",
7013            stringify!(rusage_info_v4),
7014            "::",
7015            stringify!(ri_proc_exit_abstime)
7016        )
7017    );
7018    assert_eq!(
7019        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize },
7020        96usize,
7021        concat!(
7022            "Offset of field: ",
7023            stringify!(rusage_info_v4),
7024            "::",
7025            stringify!(ri_child_user_time)
7026        )
7027    );
7028    assert_eq!(
7029        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize },
7030        104usize,
7031        concat!(
7032            "Offset of field: ",
7033            stringify!(rusage_info_v4),
7034            "::",
7035            stringify!(ri_child_system_time)
7036        )
7037    );
7038    assert_eq!(
7039        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize },
7040        112usize,
7041        concat!(
7042            "Offset of field: ",
7043            stringify!(rusage_info_v4),
7044            "::",
7045            stringify!(ri_child_pkg_idle_wkups)
7046        )
7047    );
7048    assert_eq!(
7049        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize },
7050        120usize,
7051        concat!(
7052            "Offset of field: ",
7053            stringify!(rusage_info_v4),
7054            "::",
7055            stringify!(ri_child_interrupt_wkups)
7056        )
7057    );
7058    assert_eq!(
7059        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize },
7060        128usize,
7061        concat!(
7062            "Offset of field: ",
7063            stringify!(rusage_info_v4),
7064            "::",
7065            stringify!(ri_child_pageins)
7066        )
7067    );
7068    assert_eq!(
7069        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize },
7070        136usize,
7071        concat!(
7072            "Offset of field: ",
7073            stringify!(rusage_info_v4),
7074            "::",
7075            stringify!(ri_child_elapsed_abstime)
7076        )
7077    );
7078    assert_eq!(
7079        unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_bytesread) as usize - ptr as usize },
7080        144usize,
7081        concat!(
7082            "Offset of field: ",
7083            stringify!(rusage_info_v4),
7084            "::",
7085            stringify!(ri_diskio_bytesread)
7086        )
7087    );
7088    assert_eq!(
7089        unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_byteswritten) as usize - ptr as usize },
7090        152usize,
7091        concat!(
7092            "Offset of field: ",
7093            stringify!(rusage_info_v4),
7094            "::",
7095            stringify!(ri_diskio_byteswritten)
7096        )
7097    );
7098    assert_eq!(
7099        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_default) as usize - ptr as usize },
7100        160usize,
7101        concat!(
7102            "Offset of field: ",
7103            stringify!(rusage_info_v4),
7104            "::",
7105            stringify!(ri_cpu_time_qos_default)
7106        )
7107    );
7108    assert_eq!(
7109        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_maintenance) as usize - ptr as usize },
7110        168usize,
7111        concat!(
7112            "Offset of field: ",
7113            stringify!(rusage_info_v4),
7114            "::",
7115            stringify!(ri_cpu_time_qos_maintenance)
7116        )
7117    );
7118    assert_eq!(
7119        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_background) as usize - ptr as usize },
7120        176usize,
7121        concat!(
7122            "Offset of field: ",
7123            stringify!(rusage_info_v4),
7124            "::",
7125            stringify!(ri_cpu_time_qos_background)
7126        )
7127    );
7128    assert_eq!(
7129        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_utility) as usize - ptr as usize },
7130        184usize,
7131        concat!(
7132            "Offset of field: ",
7133            stringify!(rusage_info_v4),
7134            "::",
7135            stringify!(ri_cpu_time_qos_utility)
7136        )
7137    );
7138    assert_eq!(
7139        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_legacy) as usize - ptr as usize },
7140        192usize,
7141        concat!(
7142            "Offset of field: ",
7143            stringify!(rusage_info_v4),
7144            "::",
7145            stringify!(ri_cpu_time_qos_legacy)
7146        )
7147    );
7148    assert_eq!(
7149        unsafe {
7150            ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_initiated) as usize - ptr as usize
7151        },
7152        200usize,
7153        concat!(
7154            "Offset of field: ",
7155            stringify!(rusage_info_v4),
7156            "::",
7157            stringify!(ri_cpu_time_qos_user_initiated)
7158        )
7159    );
7160    assert_eq!(
7161        unsafe {
7162            ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_interactive) as usize - ptr as usize
7163        },
7164        208usize,
7165        concat!(
7166            "Offset of field: ",
7167            stringify!(rusage_info_v4),
7168            "::",
7169            stringify!(ri_cpu_time_qos_user_interactive)
7170        )
7171    );
7172    assert_eq!(
7173        unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_system_time) as usize - ptr as usize },
7174        216usize,
7175        concat!(
7176            "Offset of field: ",
7177            stringify!(rusage_info_v4),
7178            "::",
7179            stringify!(ri_billed_system_time)
7180        )
7181    );
7182    assert_eq!(
7183        unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_system_time) as usize - ptr as usize },
7184        224usize,
7185        concat!(
7186            "Offset of field: ",
7187            stringify!(rusage_info_v4),
7188            "::",
7189            stringify!(ri_serviced_system_time)
7190        )
7191    );
7192    assert_eq!(
7193        unsafe { ::std::ptr::addr_of!((*ptr).ri_logical_writes) as usize - ptr as usize },
7194        232usize,
7195        concat!(
7196            "Offset of field: ",
7197            stringify!(rusage_info_v4),
7198            "::",
7199            stringify!(ri_logical_writes)
7200        )
7201    );
7202    assert_eq!(
7203        unsafe {
7204            ::std::ptr::addr_of!((*ptr).ri_lifetime_max_phys_footprint) as usize - ptr as usize
7205        },
7206        240usize,
7207        concat!(
7208            "Offset of field: ",
7209            stringify!(rusage_info_v4),
7210            "::",
7211            stringify!(ri_lifetime_max_phys_footprint)
7212        )
7213    );
7214    assert_eq!(
7215        unsafe { ::std::ptr::addr_of!((*ptr).ri_instructions) as usize - ptr as usize },
7216        248usize,
7217        concat!(
7218            "Offset of field: ",
7219            stringify!(rusage_info_v4),
7220            "::",
7221            stringify!(ri_instructions)
7222        )
7223    );
7224    assert_eq!(
7225        unsafe { ::std::ptr::addr_of!((*ptr).ri_cycles) as usize - ptr as usize },
7226        256usize,
7227        concat!(
7228            "Offset of field: ",
7229            stringify!(rusage_info_v4),
7230            "::",
7231            stringify!(ri_cycles)
7232        )
7233    );
7234    assert_eq!(
7235        unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_energy) as usize - ptr as usize },
7236        264usize,
7237        concat!(
7238            "Offset of field: ",
7239            stringify!(rusage_info_v4),
7240            "::",
7241            stringify!(ri_billed_energy)
7242        )
7243    );
7244    assert_eq!(
7245        unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_energy) as usize - ptr as usize },
7246        272usize,
7247        concat!(
7248            "Offset of field: ",
7249            stringify!(rusage_info_v4),
7250            "::",
7251            stringify!(ri_serviced_energy)
7252        )
7253    );
7254    assert_eq!(
7255        unsafe {
7256            ::std::ptr::addr_of!((*ptr).ri_interval_max_phys_footprint) as usize - ptr as usize
7257        },
7258        280usize,
7259        concat!(
7260            "Offset of field: ",
7261            stringify!(rusage_info_v4),
7262            "::",
7263            stringify!(ri_interval_max_phys_footprint)
7264        )
7265    );
7266    assert_eq!(
7267        unsafe { ::std::ptr::addr_of!((*ptr).ri_runnable_time) as usize - ptr as usize },
7268        288usize,
7269        concat!(
7270            "Offset of field: ",
7271            stringify!(rusage_info_v4),
7272            "::",
7273            stringify!(ri_runnable_time)
7274        )
7275    );
7276}
7277#[repr(C)]
7278#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7279pub struct rusage_info_v5 {
7280    pub ri_uuid: [u8; 16usize],
7281    pub ri_user_time: u64,
7282    pub ri_system_time: u64,
7283    pub ri_pkg_idle_wkups: u64,
7284    pub ri_interrupt_wkups: u64,
7285    pub ri_pageins: u64,
7286    pub ri_wired_size: u64,
7287    pub ri_resident_size: u64,
7288    pub ri_phys_footprint: u64,
7289    pub ri_proc_start_abstime: u64,
7290    pub ri_proc_exit_abstime: u64,
7291    pub ri_child_user_time: u64,
7292    pub ri_child_system_time: u64,
7293    pub ri_child_pkg_idle_wkups: u64,
7294    pub ri_child_interrupt_wkups: u64,
7295    pub ri_child_pageins: u64,
7296    pub ri_child_elapsed_abstime: u64,
7297    pub ri_diskio_bytesread: u64,
7298    pub ri_diskio_byteswritten: u64,
7299    pub ri_cpu_time_qos_default: u64,
7300    pub ri_cpu_time_qos_maintenance: u64,
7301    pub ri_cpu_time_qos_background: u64,
7302    pub ri_cpu_time_qos_utility: u64,
7303    pub ri_cpu_time_qos_legacy: u64,
7304    pub ri_cpu_time_qos_user_initiated: u64,
7305    pub ri_cpu_time_qos_user_interactive: u64,
7306    pub ri_billed_system_time: u64,
7307    pub ri_serviced_system_time: u64,
7308    pub ri_logical_writes: u64,
7309    pub ri_lifetime_max_phys_footprint: u64,
7310    pub ri_instructions: u64,
7311    pub ri_cycles: u64,
7312    pub ri_billed_energy: u64,
7313    pub ri_serviced_energy: u64,
7314    pub ri_interval_max_phys_footprint: u64,
7315    pub ri_runnable_time: u64,
7316    pub ri_flags: u64,
7317}
7318#[test]
7319fn bindgen_test_layout_rusage_info_v5() {
7320    const UNINIT: ::std::mem::MaybeUninit<rusage_info_v5> = ::std::mem::MaybeUninit::uninit();
7321    let ptr = UNINIT.as_ptr();
7322    assert_eq!(
7323        ::std::mem::size_of::<rusage_info_v5>(),
7324        304usize,
7325        concat!("Size of: ", stringify!(rusage_info_v5))
7326    );
7327    assert_eq!(
7328        ::std::mem::align_of::<rusage_info_v5>(),
7329        8usize,
7330        concat!("Alignment of ", stringify!(rusage_info_v5))
7331    );
7332    assert_eq!(
7333        unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize },
7334        0usize,
7335        concat!(
7336            "Offset of field: ",
7337            stringify!(rusage_info_v5),
7338            "::",
7339            stringify!(ri_uuid)
7340        )
7341    );
7342    assert_eq!(
7343        unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize },
7344        16usize,
7345        concat!(
7346            "Offset of field: ",
7347            stringify!(rusage_info_v5),
7348            "::",
7349            stringify!(ri_user_time)
7350        )
7351    );
7352    assert_eq!(
7353        unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize },
7354        24usize,
7355        concat!(
7356            "Offset of field: ",
7357            stringify!(rusage_info_v5),
7358            "::",
7359            stringify!(ri_system_time)
7360        )
7361    );
7362    assert_eq!(
7363        unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize },
7364        32usize,
7365        concat!(
7366            "Offset of field: ",
7367            stringify!(rusage_info_v5),
7368            "::",
7369            stringify!(ri_pkg_idle_wkups)
7370        )
7371    );
7372    assert_eq!(
7373        unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize },
7374        40usize,
7375        concat!(
7376            "Offset of field: ",
7377            stringify!(rusage_info_v5),
7378            "::",
7379            stringify!(ri_interrupt_wkups)
7380        )
7381    );
7382    assert_eq!(
7383        unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize },
7384        48usize,
7385        concat!(
7386            "Offset of field: ",
7387            stringify!(rusage_info_v5),
7388            "::",
7389            stringify!(ri_pageins)
7390        )
7391    );
7392    assert_eq!(
7393        unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize },
7394        56usize,
7395        concat!(
7396            "Offset of field: ",
7397            stringify!(rusage_info_v5),
7398            "::",
7399            stringify!(ri_wired_size)
7400        )
7401    );
7402    assert_eq!(
7403        unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize },
7404        64usize,
7405        concat!(
7406            "Offset of field: ",
7407            stringify!(rusage_info_v5),
7408            "::",
7409            stringify!(ri_resident_size)
7410        )
7411    );
7412    assert_eq!(
7413        unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize },
7414        72usize,
7415        concat!(
7416            "Offset of field: ",
7417            stringify!(rusage_info_v5),
7418            "::",
7419            stringify!(ri_phys_footprint)
7420        )
7421    );
7422    assert_eq!(
7423        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize },
7424        80usize,
7425        concat!(
7426            "Offset of field: ",
7427            stringify!(rusage_info_v5),
7428            "::",
7429            stringify!(ri_proc_start_abstime)
7430        )
7431    );
7432    assert_eq!(
7433        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize },
7434        88usize,
7435        concat!(
7436            "Offset of field: ",
7437            stringify!(rusage_info_v5),
7438            "::",
7439            stringify!(ri_proc_exit_abstime)
7440        )
7441    );
7442    assert_eq!(
7443        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize },
7444        96usize,
7445        concat!(
7446            "Offset of field: ",
7447            stringify!(rusage_info_v5),
7448            "::",
7449            stringify!(ri_child_user_time)
7450        )
7451    );
7452    assert_eq!(
7453        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize },
7454        104usize,
7455        concat!(
7456            "Offset of field: ",
7457            stringify!(rusage_info_v5),
7458            "::",
7459            stringify!(ri_child_system_time)
7460        )
7461    );
7462    assert_eq!(
7463        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize },
7464        112usize,
7465        concat!(
7466            "Offset of field: ",
7467            stringify!(rusage_info_v5),
7468            "::",
7469            stringify!(ri_child_pkg_idle_wkups)
7470        )
7471    );
7472    assert_eq!(
7473        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize },
7474        120usize,
7475        concat!(
7476            "Offset of field: ",
7477            stringify!(rusage_info_v5),
7478            "::",
7479            stringify!(ri_child_interrupt_wkups)
7480        )
7481    );
7482    assert_eq!(
7483        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize },
7484        128usize,
7485        concat!(
7486            "Offset of field: ",
7487            stringify!(rusage_info_v5),
7488            "::",
7489            stringify!(ri_child_pageins)
7490        )
7491    );
7492    assert_eq!(
7493        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize },
7494        136usize,
7495        concat!(
7496            "Offset of field: ",
7497            stringify!(rusage_info_v5),
7498            "::",
7499            stringify!(ri_child_elapsed_abstime)
7500        )
7501    );
7502    assert_eq!(
7503        unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_bytesread) as usize - ptr as usize },
7504        144usize,
7505        concat!(
7506            "Offset of field: ",
7507            stringify!(rusage_info_v5),
7508            "::",
7509            stringify!(ri_diskio_bytesread)
7510        )
7511    );
7512    assert_eq!(
7513        unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_byteswritten) as usize - ptr as usize },
7514        152usize,
7515        concat!(
7516            "Offset of field: ",
7517            stringify!(rusage_info_v5),
7518            "::",
7519            stringify!(ri_diskio_byteswritten)
7520        )
7521    );
7522    assert_eq!(
7523        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_default) as usize - ptr as usize },
7524        160usize,
7525        concat!(
7526            "Offset of field: ",
7527            stringify!(rusage_info_v5),
7528            "::",
7529            stringify!(ri_cpu_time_qos_default)
7530        )
7531    );
7532    assert_eq!(
7533        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_maintenance) as usize - ptr as usize },
7534        168usize,
7535        concat!(
7536            "Offset of field: ",
7537            stringify!(rusage_info_v5),
7538            "::",
7539            stringify!(ri_cpu_time_qos_maintenance)
7540        )
7541    );
7542    assert_eq!(
7543        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_background) as usize - ptr as usize },
7544        176usize,
7545        concat!(
7546            "Offset of field: ",
7547            stringify!(rusage_info_v5),
7548            "::",
7549            stringify!(ri_cpu_time_qos_background)
7550        )
7551    );
7552    assert_eq!(
7553        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_utility) as usize - ptr as usize },
7554        184usize,
7555        concat!(
7556            "Offset of field: ",
7557            stringify!(rusage_info_v5),
7558            "::",
7559            stringify!(ri_cpu_time_qos_utility)
7560        )
7561    );
7562    assert_eq!(
7563        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_legacy) as usize - ptr as usize },
7564        192usize,
7565        concat!(
7566            "Offset of field: ",
7567            stringify!(rusage_info_v5),
7568            "::",
7569            stringify!(ri_cpu_time_qos_legacy)
7570        )
7571    );
7572    assert_eq!(
7573        unsafe {
7574            ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_initiated) as usize - ptr as usize
7575        },
7576        200usize,
7577        concat!(
7578            "Offset of field: ",
7579            stringify!(rusage_info_v5),
7580            "::",
7581            stringify!(ri_cpu_time_qos_user_initiated)
7582        )
7583    );
7584    assert_eq!(
7585        unsafe {
7586            ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_interactive) as usize - ptr as usize
7587        },
7588        208usize,
7589        concat!(
7590            "Offset of field: ",
7591            stringify!(rusage_info_v5),
7592            "::",
7593            stringify!(ri_cpu_time_qos_user_interactive)
7594        )
7595    );
7596    assert_eq!(
7597        unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_system_time) as usize - ptr as usize },
7598        216usize,
7599        concat!(
7600            "Offset of field: ",
7601            stringify!(rusage_info_v5),
7602            "::",
7603            stringify!(ri_billed_system_time)
7604        )
7605    );
7606    assert_eq!(
7607        unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_system_time) as usize - ptr as usize },
7608        224usize,
7609        concat!(
7610            "Offset of field: ",
7611            stringify!(rusage_info_v5),
7612            "::",
7613            stringify!(ri_serviced_system_time)
7614        )
7615    );
7616    assert_eq!(
7617        unsafe { ::std::ptr::addr_of!((*ptr).ri_logical_writes) as usize - ptr as usize },
7618        232usize,
7619        concat!(
7620            "Offset of field: ",
7621            stringify!(rusage_info_v5),
7622            "::",
7623            stringify!(ri_logical_writes)
7624        )
7625    );
7626    assert_eq!(
7627        unsafe {
7628            ::std::ptr::addr_of!((*ptr).ri_lifetime_max_phys_footprint) as usize - ptr as usize
7629        },
7630        240usize,
7631        concat!(
7632            "Offset of field: ",
7633            stringify!(rusage_info_v5),
7634            "::",
7635            stringify!(ri_lifetime_max_phys_footprint)
7636        )
7637    );
7638    assert_eq!(
7639        unsafe { ::std::ptr::addr_of!((*ptr).ri_instructions) as usize - ptr as usize },
7640        248usize,
7641        concat!(
7642            "Offset of field: ",
7643            stringify!(rusage_info_v5),
7644            "::",
7645            stringify!(ri_instructions)
7646        )
7647    );
7648    assert_eq!(
7649        unsafe { ::std::ptr::addr_of!((*ptr).ri_cycles) as usize - ptr as usize },
7650        256usize,
7651        concat!(
7652            "Offset of field: ",
7653            stringify!(rusage_info_v5),
7654            "::",
7655            stringify!(ri_cycles)
7656        )
7657    );
7658    assert_eq!(
7659        unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_energy) as usize - ptr as usize },
7660        264usize,
7661        concat!(
7662            "Offset of field: ",
7663            stringify!(rusage_info_v5),
7664            "::",
7665            stringify!(ri_billed_energy)
7666        )
7667    );
7668    assert_eq!(
7669        unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_energy) as usize - ptr as usize },
7670        272usize,
7671        concat!(
7672            "Offset of field: ",
7673            stringify!(rusage_info_v5),
7674            "::",
7675            stringify!(ri_serviced_energy)
7676        )
7677    );
7678    assert_eq!(
7679        unsafe {
7680            ::std::ptr::addr_of!((*ptr).ri_interval_max_phys_footprint) as usize - ptr as usize
7681        },
7682        280usize,
7683        concat!(
7684            "Offset of field: ",
7685            stringify!(rusage_info_v5),
7686            "::",
7687            stringify!(ri_interval_max_phys_footprint)
7688        )
7689    );
7690    assert_eq!(
7691        unsafe { ::std::ptr::addr_of!((*ptr).ri_runnable_time) as usize - ptr as usize },
7692        288usize,
7693        concat!(
7694            "Offset of field: ",
7695            stringify!(rusage_info_v5),
7696            "::",
7697            stringify!(ri_runnable_time)
7698        )
7699    );
7700    assert_eq!(
7701        unsafe { ::std::ptr::addr_of!((*ptr).ri_flags) as usize - ptr as usize },
7702        296usize,
7703        concat!(
7704            "Offset of field: ",
7705            stringify!(rusage_info_v5),
7706            "::",
7707            stringify!(ri_flags)
7708        )
7709    );
7710}
7711#[repr(C)]
7712#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7713pub struct rusage_info_v6 {
7714    pub ri_uuid: [u8; 16usize],
7715    pub ri_user_time: u64,
7716    pub ri_system_time: u64,
7717    pub ri_pkg_idle_wkups: u64,
7718    pub ri_interrupt_wkups: u64,
7719    pub ri_pageins: u64,
7720    pub ri_wired_size: u64,
7721    pub ri_resident_size: u64,
7722    pub ri_phys_footprint: u64,
7723    pub ri_proc_start_abstime: u64,
7724    pub ri_proc_exit_abstime: u64,
7725    pub ri_child_user_time: u64,
7726    pub ri_child_system_time: u64,
7727    pub ri_child_pkg_idle_wkups: u64,
7728    pub ri_child_interrupt_wkups: u64,
7729    pub ri_child_pageins: u64,
7730    pub ri_child_elapsed_abstime: u64,
7731    pub ri_diskio_bytesread: u64,
7732    pub ri_diskio_byteswritten: u64,
7733    pub ri_cpu_time_qos_default: u64,
7734    pub ri_cpu_time_qos_maintenance: u64,
7735    pub ri_cpu_time_qos_background: u64,
7736    pub ri_cpu_time_qos_utility: u64,
7737    pub ri_cpu_time_qos_legacy: u64,
7738    pub ri_cpu_time_qos_user_initiated: u64,
7739    pub ri_cpu_time_qos_user_interactive: u64,
7740    pub ri_billed_system_time: u64,
7741    pub ri_serviced_system_time: u64,
7742    pub ri_logical_writes: u64,
7743    pub ri_lifetime_max_phys_footprint: u64,
7744    pub ri_instructions: u64,
7745    pub ri_cycles: u64,
7746    pub ri_billed_energy: u64,
7747    pub ri_serviced_energy: u64,
7748    pub ri_interval_max_phys_footprint: u64,
7749    pub ri_runnable_time: u64,
7750    pub ri_flags: u64,
7751    pub ri_user_ptime: u64,
7752    pub ri_system_ptime: u64,
7753    pub ri_pinstructions: u64,
7754    pub ri_pcycles: u64,
7755    pub ri_energy_nj: u64,
7756    pub ri_penergy_nj: u64,
7757    pub ri_reserved: [u64; 14usize],
7758}
7759#[test]
7760fn bindgen_test_layout_rusage_info_v6() {
7761    const UNINIT: ::std::mem::MaybeUninit<rusage_info_v6> = ::std::mem::MaybeUninit::uninit();
7762    let ptr = UNINIT.as_ptr();
7763    assert_eq!(
7764        ::std::mem::size_of::<rusage_info_v6>(),
7765        464usize,
7766        concat!("Size of: ", stringify!(rusage_info_v6))
7767    );
7768    assert_eq!(
7769        ::std::mem::align_of::<rusage_info_v6>(),
7770        8usize,
7771        concat!("Alignment of ", stringify!(rusage_info_v6))
7772    );
7773    assert_eq!(
7774        unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize },
7775        0usize,
7776        concat!(
7777            "Offset of field: ",
7778            stringify!(rusage_info_v6),
7779            "::",
7780            stringify!(ri_uuid)
7781        )
7782    );
7783    assert_eq!(
7784        unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize },
7785        16usize,
7786        concat!(
7787            "Offset of field: ",
7788            stringify!(rusage_info_v6),
7789            "::",
7790            stringify!(ri_user_time)
7791        )
7792    );
7793    assert_eq!(
7794        unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize },
7795        24usize,
7796        concat!(
7797            "Offset of field: ",
7798            stringify!(rusage_info_v6),
7799            "::",
7800            stringify!(ri_system_time)
7801        )
7802    );
7803    assert_eq!(
7804        unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize },
7805        32usize,
7806        concat!(
7807            "Offset of field: ",
7808            stringify!(rusage_info_v6),
7809            "::",
7810            stringify!(ri_pkg_idle_wkups)
7811        )
7812    );
7813    assert_eq!(
7814        unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize },
7815        40usize,
7816        concat!(
7817            "Offset of field: ",
7818            stringify!(rusage_info_v6),
7819            "::",
7820            stringify!(ri_interrupt_wkups)
7821        )
7822    );
7823    assert_eq!(
7824        unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize },
7825        48usize,
7826        concat!(
7827            "Offset of field: ",
7828            stringify!(rusage_info_v6),
7829            "::",
7830            stringify!(ri_pageins)
7831        )
7832    );
7833    assert_eq!(
7834        unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize },
7835        56usize,
7836        concat!(
7837            "Offset of field: ",
7838            stringify!(rusage_info_v6),
7839            "::",
7840            stringify!(ri_wired_size)
7841        )
7842    );
7843    assert_eq!(
7844        unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize },
7845        64usize,
7846        concat!(
7847            "Offset of field: ",
7848            stringify!(rusage_info_v6),
7849            "::",
7850            stringify!(ri_resident_size)
7851        )
7852    );
7853    assert_eq!(
7854        unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize },
7855        72usize,
7856        concat!(
7857            "Offset of field: ",
7858            stringify!(rusage_info_v6),
7859            "::",
7860            stringify!(ri_phys_footprint)
7861        )
7862    );
7863    assert_eq!(
7864        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize },
7865        80usize,
7866        concat!(
7867            "Offset of field: ",
7868            stringify!(rusage_info_v6),
7869            "::",
7870            stringify!(ri_proc_start_abstime)
7871        )
7872    );
7873    assert_eq!(
7874        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize },
7875        88usize,
7876        concat!(
7877            "Offset of field: ",
7878            stringify!(rusage_info_v6),
7879            "::",
7880            stringify!(ri_proc_exit_abstime)
7881        )
7882    );
7883    assert_eq!(
7884        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize },
7885        96usize,
7886        concat!(
7887            "Offset of field: ",
7888            stringify!(rusage_info_v6),
7889            "::",
7890            stringify!(ri_child_user_time)
7891        )
7892    );
7893    assert_eq!(
7894        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize },
7895        104usize,
7896        concat!(
7897            "Offset of field: ",
7898            stringify!(rusage_info_v6),
7899            "::",
7900            stringify!(ri_child_system_time)
7901        )
7902    );
7903    assert_eq!(
7904        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize },
7905        112usize,
7906        concat!(
7907            "Offset of field: ",
7908            stringify!(rusage_info_v6),
7909            "::",
7910            stringify!(ri_child_pkg_idle_wkups)
7911        )
7912    );
7913    assert_eq!(
7914        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize },
7915        120usize,
7916        concat!(
7917            "Offset of field: ",
7918            stringify!(rusage_info_v6),
7919            "::",
7920            stringify!(ri_child_interrupt_wkups)
7921        )
7922    );
7923    assert_eq!(
7924        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize },
7925        128usize,
7926        concat!(
7927            "Offset of field: ",
7928            stringify!(rusage_info_v6),
7929            "::",
7930            stringify!(ri_child_pageins)
7931        )
7932    );
7933    assert_eq!(
7934        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize },
7935        136usize,
7936        concat!(
7937            "Offset of field: ",
7938            stringify!(rusage_info_v6),
7939            "::",
7940            stringify!(ri_child_elapsed_abstime)
7941        )
7942    );
7943    assert_eq!(
7944        unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_bytesread) as usize - ptr as usize },
7945        144usize,
7946        concat!(
7947            "Offset of field: ",
7948            stringify!(rusage_info_v6),
7949            "::",
7950            stringify!(ri_diskio_bytesread)
7951        )
7952    );
7953    assert_eq!(
7954        unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_byteswritten) as usize - ptr as usize },
7955        152usize,
7956        concat!(
7957            "Offset of field: ",
7958            stringify!(rusage_info_v6),
7959            "::",
7960            stringify!(ri_diskio_byteswritten)
7961        )
7962    );
7963    assert_eq!(
7964        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_default) as usize - ptr as usize },
7965        160usize,
7966        concat!(
7967            "Offset of field: ",
7968            stringify!(rusage_info_v6),
7969            "::",
7970            stringify!(ri_cpu_time_qos_default)
7971        )
7972    );
7973    assert_eq!(
7974        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_maintenance) as usize - ptr as usize },
7975        168usize,
7976        concat!(
7977            "Offset of field: ",
7978            stringify!(rusage_info_v6),
7979            "::",
7980            stringify!(ri_cpu_time_qos_maintenance)
7981        )
7982    );
7983    assert_eq!(
7984        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_background) as usize - ptr as usize },
7985        176usize,
7986        concat!(
7987            "Offset of field: ",
7988            stringify!(rusage_info_v6),
7989            "::",
7990            stringify!(ri_cpu_time_qos_background)
7991        )
7992    );
7993    assert_eq!(
7994        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_utility) as usize - ptr as usize },
7995        184usize,
7996        concat!(
7997            "Offset of field: ",
7998            stringify!(rusage_info_v6),
7999            "::",
8000            stringify!(ri_cpu_time_qos_utility)
8001        )
8002    );
8003    assert_eq!(
8004        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_legacy) as usize - ptr as usize },
8005        192usize,
8006        concat!(
8007            "Offset of field: ",
8008            stringify!(rusage_info_v6),
8009            "::",
8010            stringify!(ri_cpu_time_qos_legacy)
8011        )
8012    );
8013    assert_eq!(
8014        unsafe {
8015            ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_initiated) as usize - ptr as usize
8016        },
8017        200usize,
8018        concat!(
8019            "Offset of field: ",
8020            stringify!(rusage_info_v6),
8021            "::",
8022            stringify!(ri_cpu_time_qos_user_initiated)
8023        )
8024    );
8025    assert_eq!(
8026        unsafe {
8027            ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_interactive) as usize - ptr as usize
8028        },
8029        208usize,
8030        concat!(
8031            "Offset of field: ",
8032            stringify!(rusage_info_v6),
8033            "::",
8034            stringify!(ri_cpu_time_qos_user_interactive)
8035        )
8036    );
8037    assert_eq!(
8038        unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_system_time) as usize - ptr as usize },
8039        216usize,
8040        concat!(
8041            "Offset of field: ",
8042            stringify!(rusage_info_v6),
8043            "::",
8044            stringify!(ri_billed_system_time)
8045        )
8046    );
8047    assert_eq!(
8048        unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_system_time) as usize - ptr as usize },
8049        224usize,
8050        concat!(
8051            "Offset of field: ",
8052            stringify!(rusage_info_v6),
8053            "::",
8054            stringify!(ri_serviced_system_time)
8055        )
8056    );
8057    assert_eq!(
8058        unsafe { ::std::ptr::addr_of!((*ptr).ri_logical_writes) as usize - ptr as usize },
8059        232usize,
8060        concat!(
8061            "Offset of field: ",
8062            stringify!(rusage_info_v6),
8063            "::",
8064            stringify!(ri_logical_writes)
8065        )
8066    );
8067    assert_eq!(
8068        unsafe {
8069            ::std::ptr::addr_of!((*ptr).ri_lifetime_max_phys_footprint) as usize - ptr as usize
8070        },
8071        240usize,
8072        concat!(
8073            "Offset of field: ",
8074            stringify!(rusage_info_v6),
8075            "::",
8076            stringify!(ri_lifetime_max_phys_footprint)
8077        )
8078    );
8079    assert_eq!(
8080        unsafe { ::std::ptr::addr_of!((*ptr).ri_instructions) as usize - ptr as usize },
8081        248usize,
8082        concat!(
8083            "Offset of field: ",
8084            stringify!(rusage_info_v6),
8085            "::",
8086            stringify!(ri_instructions)
8087        )
8088    );
8089    assert_eq!(
8090        unsafe { ::std::ptr::addr_of!((*ptr).ri_cycles) as usize - ptr as usize },
8091        256usize,
8092        concat!(
8093            "Offset of field: ",
8094            stringify!(rusage_info_v6),
8095            "::",
8096            stringify!(ri_cycles)
8097        )
8098    );
8099    assert_eq!(
8100        unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_energy) as usize - ptr as usize },
8101        264usize,
8102        concat!(
8103            "Offset of field: ",
8104            stringify!(rusage_info_v6),
8105            "::",
8106            stringify!(ri_billed_energy)
8107        )
8108    );
8109    assert_eq!(
8110        unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_energy) as usize - ptr as usize },
8111        272usize,
8112        concat!(
8113            "Offset of field: ",
8114            stringify!(rusage_info_v6),
8115            "::",
8116            stringify!(ri_serviced_energy)
8117        )
8118    );
8119    assert_eq!(
8120        unsafe {
8121            ::std::ptr::addr_of!((*ptr).ri_interval_max_phys_footprint) as usize - ptr as usize
8122        },
8123        280usize,
8124        concat!(
8125            "Offset of field: ",
8126            stringify!(rusage_info_v6),
8127            "::",
8128            stringify!(ri_interval_max_phys_footprint)
8129        )
8130    );
8131    assert_eq!(
8132        unsafe { ::std::ptr::addr_of!((*ptr).ri_runnable_time) as usize - ptr as usize },
8133        288usize,
8134        concat!(
8135            "Offset of field: ",
8136            stringify!(rusage_info_v6),
8137            "::",
8138            stringify!(ri_runnable_time)
8139        )
8140    );
8141    assert_eq!(
8142        unsafe { ::std::ptr::addr_of!((*ptr).ri_flags) as usize - ptr as usize },
8143        296usize,
8144        concat!(
8145            "Offset of field: ",
8146            stringify!(rusage_info_v6),
8147            "::",
8148            stringify!(ri_flags)
8149        )
8150    );
8151    assert_eq!(
8152        unsafe { ::std::ptr::addr_of!((*ptr).ri_user_ptime) as usize - ptr as usize },
8153        304usize,
8154        concat!(
8155            "Offset of field: ",
8156            stringify!(rusage_info_v6),
8157            "::",
8158            stringify!(ri_user_ptime)
8159        )
8160    );
8161    assert_eq!(
8162        unsafe { ::std::ptr::addr_of!((*ptr).ri_system_ptime) as usize - ptr as usize },
8163        312usize,
8164        concat!(
8165            "Offset of field: ",
8166            stringify!(rusage_info_v6),
8167            "::",
8168            stringify!(ri_system_ptime)
8169        )
8170    );
8171    assert_eq!(
8172        unsafe { ::std::ptr::addr_of!((*ptr).ri_pinstructions) as usize - ptr as usize },
8173        320usize,
8174        concat!(
8175            "Offset of field: ",
8176            stringify!(rusage_info_v6),
8177            "::",
8178            stringify!(ri_pinstructions)
8179        )
8180    );
8181    assert_eq!(
8182        unsafe { ::std::ptr::addr_of!((*ptr).ri_pcycles) as usize - ptr as usize },
8183        328usize,
8184        concat!(
8185            "Offset of field: ",
8186            stringify!(rusage_info_v6),
8187            "::",
8188            stringify!(ri_pcycles)
8189        )
8190    );
8191    assert_eq!(
8192        unsafe { ::std::ptr::addr_of!((*ptr).ri_energy_nj) as usize - ptr as usize },
8193        336usize,
8194        concat!(
8195            "Offset of field: ",
8196            stringify!(rusage_info_v6),
8197            "::",
8198            stringify!(ri_energy_nj)
8199        )
8200    );
8201    assert_eq!(
8202        unsafe { ::std::ptr::addr_of!((*ptr).ri_penergy_nj) as usize - ptr as usize },
8203        344usize,
8204        concat!(
8205            "Offset of field: ",
8206            stringify!(rusage_info_v6),
8207            "::",
8208            stringify!(ri_penergy_nj)
8209        )
8210    );
8211    assert_eq!(
8212        unsafe { ::std::ptr::addr_of!((*ptr).ri_reserved) as usize - ptr as usize },
8213        352usize,
8214        concat!(
8215            "Offset of field: ",
8216            stringify!(rusage_info_v6),
8217            "::",
8218            stringify!(ri_reserved)
8219        )
8220    );
8221}
8222pub type rusage_info_current = rusage_info_v6;
8223#[repr(C)]
8224#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8225pub struct rlimit {
8226    pub rlim_cur: rlim_t,
8227    pub rlim_max: rlim_t,
8228}
8229#[test]
8230fn bindgen_test_layout_rlimit() {
8231    const UNINIT: ::std::mem::MaybeUninit<rlimit> = ::std::mem::MaybeUninit::uninit();
8232    let ptr = UNINIT.as_ptr();
8233    assert_eq!(
8234        ::std::mem::size_of::<rlimit>(),
8235        16usize,
8236        concat!("Size of: ", stringify!(rlimit))
8237    );
8238    assert_eq!(
8239        ::std::mem::align_of::<rlimit>(),
8240        8usize,
8241        concat!("Alignment of ", stringify!(rlimit))
8242    );
8243    assert_eq!(
8244        unsafe { ::std::ptr::addr_of!((*ptr).rlim_cur) as usize - ptr as usize },
8245        0usize,
8246        concat!(
8247            "Offset of field: ",
8248            stringify!(rlimit),
8249            "::",
8250            stringify!(rlim_cur)
8251        )
8252    );
8253    assert_eq!(
8254        unsafe { ::std::ptr::addr_of!((*ptr).rlim_max) as usize - ptr as usize },
8255        8usize,
8256        concat!(
8257            "Offset of field: ",
8258            stringify!(rlimit),
8259            "::",
8260            stringify!(rlim_max)
8261        )
8262    );
8263}
8264#[repr(C)]
8265#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8266pub struct proc_rlimit_control_wakeupmon {
8267    pub wm_flags: u32,
8268    pub wm_rate: i32,
8269}
8270#[test]
8271fn bindgen_test_layout_proc_rlimit_control_wakeupmon() {
8272    const UNINIT: ::std::mem::MaybeUninit<proc_rlimit_control_wakeupmon> =
8273        ::std::mem::MaybeUninit::uninit();
8274    let ptr = UNINIT.as_ptr();
8275    assert_eq!(
8276        ::std::mem::size_of::<proc_rlimit_control_wakeupmon>(),
8277        8usize,
8278        concat!("Size of: ", stringify!(proc_rlimit_control_wakeupmon))
8279    );
8280    assert_eq!(
8281        ::std::mem::align_of::<proc_rlimit_control_wakeupmon>(),
8282        4usize,
8283        concat!("Alignment of ", stringify!(proc_rlimit_control_wakeupmon))
8284    );
8285    assert_eq!(
8286        unsafe { ::std::ptr::addr_of!((*ptr).wm_flags) as usize - ptr as usize },
8287        0usize,
8288        concat!(
8289            "Offset of field: ",
8290            stringify!(proc_rlimit_control_wakeupmon),
8291            "::",
8292            stringify!(wm_flags)
8293        )
8294    );
8295    assert_eq!(
8296        unsafe { ::std::ptr::addr_of!((*ptr).wm_rate) as usize - ptr as usize },
8297        4usize,
8298        concat!(
8299            "Offset of field: ",
8300            stringify!(proc_rlimit_control_wakeupmon),
8301            "::",
8302            stringify!(wm_rate)
8303        )
8304    );
8305}
8306extern "C" {
8307    pub fn getpriority(arg1: ::std::os::raw::c_int, arg2: id_t) -> ::std::os::raw::c_int;
8308}
8309extern "C" {
8310    pub fn getiopolicy_np(
8311        arg1: ::std::os::raw::c_int,
8312        arg2: ::std::os::raw::c_int,
8313    ) -> ::std::os::raw::c_int;
8314}
8315extern "C" {
8316    pub fn getrlimit(arg1: ::std::os::raw::c_int, arg2: *mut rlimit) -> ::std::os::raw::c_int;
8317}
8318extern "C" {
8319    pub fn getrusage(arg1: ::std::os::raw::c_int, arg2: *mut rusage) -> ::std::os::raw::c_int;
8320}
8321extern "C" {
8322    pub fn setpriority(
8323        arg1: ::std::os::raw::c_int,
8324        arg2: id_t,
8325        arg3: ::std::os::raw::c_int,
8326    ) -> ::std::os::raw::c_int;
8327}
8328extern "C" {
8329    pub fn setiopolicy_np(
8330        arg1: ::std::os::raw::c_int,
8331        arg2: ::std::os::raw::c_int,
8332        arg3: ::std::os::raw::c_int,
8333    ) -> ::std::os::raw::c_int;
8334}
8335extern "C" {
8336    pub fn setrlimit(arg1: ::std::os::raw::c_int, arg2: *const rlimit) -> ::std::os::raw::c_int;
8337}
8338#[repr(C, packed)]
8339#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8340pub struct _OSUnalignedU16 {
8341    pub __val: u16,
8342}
8343#[test]
8344fn bindgen_test_layout__OSUnalignedU16() {
8345    const UNINIT: ::std::mem::MaybeUninit<_OSUnalignedU16> = ::std::mem::MaybeUninit::uninit();
8346    let ptr = UNINIT.as_ptr();
8347    assert_eq!(
8348        ::std::mem::size_of::<_OSUnalignedU16>(),
8349        2usize,
8350        concat!("Size of: ", stringify!(_OSUnalignedU16))
8351    );
8352    assert_eq!(
8353        ::std::mem::align_of::<_OSUnalignedU16>(),
8354        1usize,
8355        concat!("Alignment of ", stringify!(_OSUnalignedU16))
8356    );
8357    assert_eq!(
8358        unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
8359        0usize,
8360        concat!(
8361            "Offset of field: ",
8362            stringify!(_OSUnalignedU16),
8363            "::",
8364            stringify!(__val)
8365        )
8366    );
8367}
8368#[repr(C, packed)]
8369#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8370pub struct _OSUnalignedU32 {
8371    pub __val: u32,
8372}
8373#[test]
8374fn bindgen_test_layout__OSUnalignedU32() {
8375    const UNINIT: ::std::mem::MaybeUninit<_OSUnalignedU32> = ::std::mem::MaybeUninit::uninit();
8376    let ptr = UNINIT.as_ptr();
8377    assert_eq!(
8378        ::std::mem::size_of::<_OSUnalignedU32>(),
8379        4usize,
8380        concat!("Size of: ", stringify!(_OSUnalignedU32))
8381    );
8382    assert_eq!(
8383        ::std::mem::align_of::<_OSUnalignedU32>(),
8384        1usize,
8385        concat!("Alignment of ", stringify!(_OSUnalignedU32))
8386    );
8387    assert_eq!(
8388        unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
8389        0usize,
8390        concat!(
8391            "Offset of field: ",
8392            stringify!(_OSUnalignedU32),
8393            "::",
8394            stringify!(__val)
8395        )
8396    );
8397}
8398#[repr(C, packed)]
8399#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8400pub struct _OSUnalignedU64 {
8401    pub __val: u64,
8402}
8403#[test]
8404fn bindgen_test_layout__OSUnalignedU64() {
8405    const UNINIT: ::std::mem::MaybeUninit<_OSUnalignedU64> = ::std::mem::MaybeUninit::uninit();
8406    let ptr = UNINIT.as_ptr();
8407    assert_eq!(
8408        ::std::mem::size_of::<_OSUnalignedU64>(),
8409        8usize,
8410        concat!("Size of: ", stringify!(_OSUnalignedU64))
8411    );
8412    assert_eq!(
8413        ::std::mem::align_of::<_OSUnalignedU64>(),
8414        1usize,
8415        concat!("Alignment of ", stringify!(_OSUnalignedU64))
8416    );
8417    assert_eq!(
8418        unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
8419        0usize,
8420        concat!(
8421            "Offset of field: ",
8422            stringify!(_OSUnalignedU64),
8423            "::",
8424            stringify!(__val)
8425        )
8426    );
8427}
8428#[repr(C)]
8429#[derive(Copy, Clone)]
8430pub union wait {
8431    pub w_status: ::std::os::raw::c_int,
8432    pub w_T: wait__bindgen_ty_1,
8433    pub w_S: wait__bindgen_ty_2,
8434}
8435#[repr(C)]
8436#[repr(align(4))]
8437#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8438pub struct wait__bindgen_ty_1 {
8439    pub _bitfield_align_1: [u16; 0],
8440    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
8441}
8442#[test]
8443fn bindgen_test_layout_wait__bindgen_ty_1() {
8444    assert_eq!(
8445        ::std::mem::size_of::<wait__bindgen_ty_1>(),
8446        4usize,
8447        concat!("Size of: ", stringify!(wait__bindgen_ty_1))
8448    );
8449    assert_eq!(
8450        ::std::mem::align_of::<wait__bindgen_ty_1>(),
8451        4usize,
8452        concat!("Alignment of ", stringify!(wait__bindgen_ty_1))
8453    );
8454}
8455impl wait__bindgen_ty_1 {
8456    #[inline]
8457    pub fn w_Termsig(&self) -> ::std::os::raw::c_uint {
8458        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 7u8) as u32) }
8459    }
8460    #[inline]
8461    pub fn set_w_Termsig(&mut self, val: ::std::os::raw::c_uint) {
8462        unsafe {
8463            let val: u32 = ::std::mem::transmute(val);
8464            self._bitfield_1.set(0usize, 7u8, val as u64)
8465        }
8466    }
8467    #[inline]
8468    pub fn w_Coredump(&self) -> ::std::os::raw::c_uint {
8469        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
8470    }
8471    #[inline]
8472    pub fn set_w_Coredump(&mut self, val: ::std::os::raw::c_uint) {
8473        unsafe {
8474            let val: u32 = ::std::mem::transmute(val);
8475            self._bitfield_1.set(7usize, 1u8, val as u64)
8476        }
8477    }
8478    #[inline]
8479    pub fn w_Retcode(&self) -> ::std::os::raw::c_uint {
8480        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) }
8481    }
8482    #[inline]
8483    pub fn set_w_Retcode(&mut self, val: ::std::os::raw::c_uint) {
8484        unsafe {
8485            let val: u32 = ::std::mem::transmute(val);
8486            self._bitfield_1.set(8usize, 8u8, val as u64)
8487        }
8488    }
8489    #[inline]
8490    pub fn w_Filler(&self) -> ::std::os::raw::c_uint {
8491        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) }
8492    }
8493    #[inline]
8494    pub fn set_w_Filler(&mut self, val: ::std::os::raw::c_uint) {
8495        unsafe {
8496            let val: u32 = ::std::mem::transmute(val);
8497            self._bitfield_1.set(16usize, 16u8, val as u64)
8498        }
8499    }
8500    #[inline]
8501    pub fn new_bitfield_1(
8502        w_Termsig: ::std::os::raw::c_uint,
8503        w_Coredump: ::std::os::raw::c_uint,
8504        w_Retcode: ::std::os::raw::c_uint,
8505        w_Filler: ::std::os::raw::c_uint,
8506    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
8507        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
8508        __bindgen_bitfield_unit.set(0usize, 7u8, {
8509            let w_Termsig: u32 = unsafe { ::std::mem::transmute(w_Termsig) };
8510            w_Termsig as u64
8511        });
8512        __bindgen_bitfield_unit.set(7usize, 1u8, {
8513            let w_Coredump: u32 = unsafe { ::std::mem::transmute(w_Coredump) };
8514            w_Coredump as u64
8515        });
8516        __bindgen_bitfield_unit.set(8usize, 8u8, {
8517            let w_Retcode: u32 = unsafe { ::std::mem::transmute(w_Retcode) };
8518            w_Retcode as u64
8519        });
8520        __bindgen_bitfield_unit.set(16usize, 16u8, {
8521            let w_Filler: u32 = unsafe { ::std::mem::transmute(w_Filler) };
8522            w_Filler as u64
8523        });
8524        __bindgen_bitfield_unit
8525    }
8526}
8527#[repr(C)]
8528#[repr(align(4))]
8529#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8530pub struct wait__bindgen_ty_2 {
8531    pub _bitfield_align_1: [u16; 0],
8532    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
8533}
8534#[test]
8535fn bindgen_test_layout_wait__bindgen_ty_2() {
8536    assert_eq!(
8537        ::std::mem::size_of::<wait__bindgen_ty_2>(),
8538        4usize,
8539        concat!("Size of: ", stringify!(wait__bindgen_ty_2))
8540    );
8541    assert_eq!(
8542        ::std::mem::align_of::<wait__bindgen_ty_2>(),
8543        4usize,
8544        concat!("Alignment of ", stringify!(wait__bindgen_ty_2))
8545    );
8546}
8547impl wait__bindgen_ty_2 {
8548    #[inline]
8549    pub fn w_Stopval(&self) -> ::std::os::raw::c_uint {
8550        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) }
8551    }
8552    #[inline]
8553    pub fn set_w_Stopval(&mut self, val: ::std::os::raw::c_uint) {
8554        unsafe {
8555            let val: u32 = ::std::mem::transmute(val);
8556            self._bitfield_1.set(0usize, 8u8, val as u64)
8557        }
8558    }
8559    #[inline]
8560    pub fn w_Stopsig(&self) -> ::std::os::raw::c_uint {
8561        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) }
8562    }
8563    #[inline]
8564    pub fn set_w_Stopsig(&mut self, val: ::std::os::raw::c_uint) {
8565        unsafe {
8566            let val: u32 = ::std::mem::transmute(val);
8567            self._bitfield_1.set(8usize, 8u8, val as u64)
8568        }
8569    }
8570    #[inline]
8571    pub fn w_Filler(&self) -> ::std::os::raw::c_uint {
8572        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) }
8573    }
8574    #[inline]
8575    pub fn set_w_Filler(&mut self, val: ::std::os::raw::c_uint) {
8576        unsafe {
8577            let val: u32 = ::std::mem::transmute(val);
8578            self._bitfield_1.set(16usize, 16u8, val as u64)
8579        }
8580    }
8581    #[inline]
8582    pub fn new_bitfield_1(
8583        w_Stopval: ::std::os::raw::c_uint,
8584        w_Stopsig: ::std::os::raw::c_uint,
8585        w_Filler: ::std::os::raw::c_uint,
8586    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
8587        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
8588        __bindgen_bitfield_unit.set(0usize, 8u8, {
8589            let w_Stopval: u32 = unsafe { ::std::mem::transmute(w_Stopval) };
8590            w_Stopval as u64
8591        });
8592        __bindgen_bitfield_unit.set(8usize, 8u8, {
8593            let w_Stopsig: u32 = unsafe { ::std::mem::transmute(w_Stopsig) };
8594            w_Stopsig as u64
8595        });
8596        __bindgen_bitfield_unit.set(16usize, 16u8, {
8597            let w_Filler: u32 = unsafe { ::std::mem::transmute(w_Filler) };
8598            w_Filler as u64
8599        });
8600        __bindgen_bitfield_unit
8601    }
8602}
8603#[test]
8604fn bindgen_test_layout_wait() {
8605    const UNINIT: ::std::mem::MaybeUninit<wait> = ::std::mem::MaybeUninit::uninit();
8606    let ptr = UNINIT.as_ptr();
8607    assert_eq!(
8608        ::std::mem::size_of::<wait>(),
8609        4usize,
8610        concat!("Size of: ", stringify!(wait))
8611    );
8612    assert_eq!(
8613        ::std::mem::align_of::<wait>(),
8614        4usize,
8615        concat!("Alignment of ", stringify!(wait))
8616    );
8617    assert_eq!(
8618        unsafe { ::std::ptr::addr_of!((*ptr).w_status) as usize - ptr as usize },
8619        0usize,
8620        concat!(
8621            "Offset of field: ",
8622            stringify!(wait),
8623            "::",
8624            stringify!(w_status)
8625        )
8626    );
8627    assert_eq!(
8628        unsafe { ::std::ptr::addr_of!((*ptr).w_T) as usize - ptr as usize },
8629        0usize,
8630        concat!("Offset of field: ", stringify!(wait), "::", stringify!(w_T))
8631    );
8632    assert_eq!(
8633        unsafe { ::std::ptr::addr_of!((*ptr).w_S) as usize - ptr as usize },
8634        0usize,
8635        concat!("Offset of field: ", stringify!(wait), "::", stringify!(w_S))
8636    );
8637}
8638impl ::std::fmt::Debug for wait {
8639    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8640        write!(f, "wait {{ union }}")
8641    }
8642}
8643extern "C" {
8644    pub fn wait(arg1: *mut ::std::os::raw::c_int) -> pid_t;
8645}
8646extern "C" {
8647    pub fn waitpid(
8648        arg1: pid_t,
8649        arg2: *mut ::std::os::raw::c_int,
8650        arg3: ::std::os::raw::c_int,
8651    ) -> pid_t;
8652}
8653extern "C" {
8654    pub fn waitid(
8655        arg1: idtype_t,
8656        arg2: id_t,
8657        arg3: *mut siginfo_t,
8658        arg4: ::std::os::raw::c_int,
8659    ) -> ::std::os::raw::c_int;
8660}
8661extern "C" {
8662    pub fn wait3(
8663        arg1: *mut ::std::os::raw::c_int,
8664        arg2: ::std::os::raw::c_int,
8665        arg3: *mut rusage,
8666    ) -> pid_t;
8667}
8668extern "C" {
8669    pub fn wait4(
8670        arg1: pid_t,
8671        arg2: *mut ::std::os::raw::c_int,
8672        arg3: ::std::os::raw::c_int,
8673        arg4: *mut rusage,
8674    ) -> pid_t;
8675}
8676extern "C" {
8677    pub fn __builtin_alloca(arg1: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
8678}
8679pub type ct_rune_t = __darwin_ct_rune_t;
8680pub type rune_t = __darwin_rune_t;
8681#[repr(C)]
8682#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8683pub struct div_t {
8684    pub quot: ::std::os::raw::c_int,
8685    pub rem: ::std::os::raw::c_int,
8686}
8687#[test]
8688fn bindgen_test_layout_div_t() {
8689    const UNINIT: ::std::mem::MaybeUninit<div_t> = ::std::mem::MaybeUninit::uninit();
8690    let ptr = UNINIT.as_ptr();
8691    assert_eq!(
8692        ::std::mem::size_of::<div_t>(),
8693        8usize,
8694        concat!("Size of: ", stringify!(div_t))
8695    );
8696    assert_eq!(
8697        ::std::mem::align_of::<div_t>(),
8698        4usize,
8699        concat!("Alignment of ", stringify!(div_t))
8700    );
8701    assert_eq!(
8702        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
8703        0usize,
8704        concat!(
8705            "Offset of field: ",
8706            stringify!(div_t),
8707            "::",
8708            stringify!(quot)
8709        )
8710    );
8711    assert_eq!(
8712        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
8713        4usize,
8714        concat!(
8715            "Offset of field: ",
8716            stringify!(div_t),
8717            "::",
8718            stringify!(rem)
8719        )
8720    );
8721}
8722#[repr(C)]
8723#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8724pub struct ldiv_t {
8725    pub quot: ::std::os::raw::c_long,
8726    pub rem: ::std::os::raw::c_long,
8727}
8728#[test]
8729fn bindgen_test_layout_ldiv_t() {
8730    const UNINIT: ::std::mem::MaybeUninit<ldiv_t> = ::std::mem::MaybeUninit::uninit();
8731    let ptr = UNINIT.as_ptr();
8732    assert_eq!(
8733        ::std::mem::size_of::<ldiv_t>(),
8734        16usize,
8735        concat!("Size of: ", stringify!(ldiv_t))
8736    );
8737    assert_eq!(
8738        ::std::mem::align_of::<ldiv_t>(),
8739        8usize,
8740        concat!("Alignment of ", stringify!(ldiv_t))
8741    );
8742    assert_eq!(
8743        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
8744        0usize,
8745        concat!(
8746            "Offset of field: ",
8747            stringify!(ldiv_t),
8748            "::",
8749            stringify!(quot)
8750        )
8751    );
8752    assert_eq!(
8753        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
8754        8usize,
8755        concat!(
8756            "Offset of field: ",
8757            stringify!(ldiv_t),
8758            "::",
8759            stringify!(rem)
8760        )
8761    );
8762}
8763#[repr(C)]
8764#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8765pub struct lldiv_t {
8766    pub quot: ::std::os::raw::c_longlong,
8767    pub rem: ::std::os::raw::c_longlong,
8768}
8769#[test]
8770fn bindgen_test_layout_lldiv_t() {
8771    const UNINIT: ::std::mem::MaybeUninit<lldiv_t> = ::std::mem::MaybeUninit::uninit();
8772    let ptr = UNINIT.as_ptr();
8773    assert_eq!(
8774        ::std::mem::size_of::<lldiv_t>(),
8775        16usize,
8776        concat!("Size of: ", stringify!(lldiv_t))
8777    );
8778    assert_eq!(
8779        ::std::mem::align_of::<lldiv_t>(),
8780        8usize,
8781        concat!("Alignment of ", stringify!(lldiv_t))
8782    );
8783    assert_eq!(
8784        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
8785        0usize,
8786        concat!(
8787            "Offset of field: ",
8788            stringify!(lldiv_t),
8789            "::",
8790            stringify!(quot)
8791        )
8792    );
8793    assert_eq!(
8794        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
8795        8usize,
8796        concat!(
8797            "Offset of field: ",
8798            stringify!(lldiv_t),
8799            "::",
8800            stringify!(rem)
8801        )
8802    );
8803}
8804extern "C" {
8805    pub static mut __mb_cur_max: ::std::os::raw::c_int;
8806}
8807pub type malloc_type_id_t = ::std::os::raw::c_ulonglong;
8808extern "C" {
8809    pub fn malloc_type_malloc(
8810        size: size_t,
8811        type_id: malloc_type_id_t,
8812    ) -> *mut ::std::os::raw::c_void;
8813}
8814extern "C" {
8815    pub fn malloc_type_calloc(
8816        count: size_t,
8817        size: size_t,
8818        type_id: malloc_type_id_t,
8819    ) -> *mut ::std::os::raw::c_void;
8820}
8821extern "C" {
8822    pub fn malloc_type_free(ptr: *mut ::std::os::raw::c_void, type_id: malloc_type_id_t);
8823}
8824extern "C" {
8825    pub fn malloc_type_realloc(
8826        ptr: *mut ::std::os::raw::c_void,
8827        size: size_t,
8828        type_id: malloc_type_id_t,
8829    ) -> *mut ::std::os::raw::c_void;
8830}
8831extern "C" {
8832    pub fn malloc_type_valloc(
8833        size: size_t,
8834        type_id: malloc_type_id_t,
8835    ) -> *mut ::std::os::raw::c_void;
8836}
8837extern "C" {
8838    pub fn malloc_type_aligned_alloc(
8839        alignment: size_t,
8840        size: size_t,
8841        type_id: malloc_type_id_t,
8842    ) -> *mut ::std::os::raw::c_void;
8843}
8844extern "C" {
8845    pub fn malloc_type_posix_memalign(
8846        memptr: *mut *mut ::std::os::raw::c_void,
8847        alignment: size_t,
8848        size: size_t,
8849        type_id: malloc_type_id_t,
8850    ) -> ::std::os::raw::c_int;
8851}
8852#[repr(C)]
8853#[derive(Debug, Copy, Clone)]
8854pub struct _malloc_zone_t {
8855    _unused: [u8; 0],
8856}
8857pub type malloc_zone_t = _malloc_zone_t;
8858extern "C" {
8859    pub fn malloc_type_zone_malloc(
8860        zone: *mut malloc_zone_t,
8861        size: size_t,
8862        type_id: malloc_type_id_t,
8863    ) -> *mut ::std::os::raw::c_void;
8864}
8865extern "C" {
8866    pub fn malloc_type_zone_calloc(
8867        zone: *mut malloc_zone_t,
8868        count: size_t,
8869        size: size_t,
8870        type_id: malloc_type_id_t,
8871    ) -> *mut ::std::os::raw::c_void;
8872}
8873extern "C" {
8874    pub fn malloc_type_zone_free(
8875        zone: *mut malloc_zone_t,
8876        ptr: *mut ::std::os::raw::c_void,
8877        type_id: malloc_type_id_t,
8878    );
8879}
8880extern "C" {
8881    pub fn malloc_type_zone_realloc(
8882        zone: *mut malloc_zone_t,
8883        ptr: *mut ::std::os::raw::c_void,
8884        size: size_t,
8885        type_id: malloc_type_id_t,
8886    ) -> *mut ::std::os::raw::c_void;
8887}
8888extern "C" {
8889    pub fn malloc_type_zone_valloc(
8890        zone: *mut malloc_zone_t,
8891        size: size_t,
8892        type_id: malloc_type_id_t,
8893    ) -> *mut ::std::os::raw::c_void;
8894}
8895extern "C" {
8896    pub fn malloc_type_zone_memalign(
8897        zone: *mut malloc_zone_t,
8898        alignment: size_t,
8899        size: size_t,
8900        type_id: malloc_type_id_t,
8901    ) -> *mut ::std::os::raw::c_void;
8902}
8903extern "C" {
8904    pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
8905}
8906extern "C" {
8907    pub fn calloc(
8908        __count: ::std::os::raw::c_ulong,
8909        __size: ::std::os::raw::c_ulong,
8910    ) -> *mut ::std::os::raw::c_void;
8911}
8912extern "C" {
8913    pub fn free(arg1: *mut ::std::os::raw::c_void);
8914}
8915extern "C" {
8916    pub fn realloc(
8917        __ptr: *mut ::std::os::raw::c_void,
8918        __size: ::std::os::raw::c_ulong,
8919    ) -> *mut ::std::os::raw::c_void;
8920}
8921extern "C" {
8922    pub fn valloc(arg1: size_t) -> *mut ::std::os::raw::c_void;
8923}
8924extern "C" {
8925    pub fn aligned_alloc(
8926        __alignment: ::std::os::raw::c_ulong,
8927        __size: ::std::os::raw::c_ulong,
8928    ) -> *mut ::std::os::raw::c_void;
8929}
8930extern "C" {
8931    pub fn posix_memalign(
8932        __memptr: *mut *mut ::std::os::raw::c_void,
8933        __alignment: size_t,
8934        __size: size_t,
8935    ) -> ::std::os::raw::c_int;
8936}
8937extern "C" {
8938    pub fn abort() -> !;
8939}
8940extern "C" {
8941    pub fn abs(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8942}
8943extern "C" {
8944    pub fn atexit(arg1: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
8945}
8946extern "C" {
8947    pub fn atof(arg1: *const ::std::os::raw::c_char) -> f64;
8948}
8949extern "C" {
8950    pub fn atoi(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
8951}
8952extern "C" {
8953    pub fn atol(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
8954}
8955extern "C" {
8956    pub fn atoll(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
8957}
8958extern "C" {
8959    pub fn bsearch(
8960        __key: *const ::std::os::raw::c_void,
8961        __base: *const ::std::os::raw::c_void,
8962        __nel: size_t,
8963        __width: size_t,
8964        __compar: ::std::option::Option<
8965            unsafe extern "C" fn(
8966                arg1: *const ::std::os::raw::c_void,
8967                arg2: *const ::std::os::raw::c_void,
8968            ) -> ::std::os::raw::c_int,
8969        >,
8970    ) -> *mut ::std::os::raw::c_void;
8971}
8972extern "C" {
8973    pub fn div(arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int) -> div_t;
8974}
8975extern "C" {
8976    pub fn exit(arg1: ::std::os::raw::c_int) -> !;
8977}
8978extern "C" {
8979    pub fn getenv(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
8980}
8981extern "C" {
8982    pub fn labs(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
8983}
8984extern "C" {
8985    pub fn ldiv(arg1: ::std::os::raw::c_long, arg2: ::std::os::raw::c_long) -> ldiv_t;
8986}
8987extern "C" {
8988    pub fn llabs(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
8989}
8990extern "C" {
8991    pub fn lldiv(arg1: ::std::os::raw::c_longlong, arg2: ::std::os::raw::c_longlong) -> lldiv_t;
8992}
8993extern "C" {
8994    pub fn mblen(__s: *const ::std::os::raw::c_char, __n: size_t) -> ::std::os::raw::c_int;
8995}
8996extern "C" {
8997    pub fn mbstowcs(
8998        arg1: *mut wchar_t,
8999        arg2: *const ::std::os::raw::c_char,
9000        arg3: size_t,
9001    ) -> size_t;
9002}
9003extern "C" {
9004    pub fn mbtowc(
9005        arg1: *mut wchar_t,
9006        arg2: *const ::std::os::raw::c_char,
9007        arg3: size_t,
9008    ) -> ::std::os::raw::c_int;
9009}
9010extern "C" {
9011    pub fn qsort(
9012        __base: *mut ::std::os::raw::c_void,
9013        __nel: size_t,
9014        __width: size_t,
9015        __compar: ::std::option::Option<
9016            unsafe extern "C" fn(
9017                arg1: *const ::std::os::raw::c_void,
9018                arg2: *const ::std::os::raw::c_void,
9019            ) -> ::std::os::raw::c_int,
9020        >,
9021    );
9022}
9023extern "C" {
9024    pub fn rand() -> ::std::os::raw::c_int;
9025}
9026extern "C" {
9027    pub fn srand(arg1: ::std::os::raw::c_uint);
9028}
9029extern "C" {
9030    pub fn strtod(
9031        arg1: *const ::std::os::raw::c_char,
9032        arg2: *mut *mut ::std::os::raw::c_char,
9033    ) -> f64;
9034}
9035extern "C" {
9036    pub fn strtof(
9037        arg1: *const ::std::os::raw::c_char,
9038        arg2: *mut *mut ::std::os::raw::c_char,
9039    ) -> f32;
9040}
9041extern "C" {
9042    pub fn strtol(
9043        __str: *const ::std::os::raw::c_char,
9044        __endptr: *mut *mut ::std::os::raw::c_char,
9045        __base: ::std::os::raw::c_int,
9046    ) -> ::std::os::raw::c_long;
9047}
9048extern "C" {
9049    pub fn strtold(
9050        arg1: *const ::std::os::raw::c_char,
9051        arg2: *mut *mut ::std::os::raw::c_char,
9052    ) -> f64;
9053}
9054extern "C" {
9055    pub fn strtoll(
9056        __str: *const ::std::os::raw::c_char,
9057        __endptr: *mut *mut ::std::os::raw::c_char,
9058        __base: ::std::os::raw::c_int,
9059    ) -> ::std::os::raw::c_longlong;
9060}
9061extern "C" {
9062    pub fn strtoul(
9063        __str: *const ::std::os::raw::c_char,
9064        __endptr: *mut *mut ::std::os::raw::c_char,
9065        __base: ::std::os::raw::c_int,
9066    ) -> ::std::os::raw::c_ulong;
9067}
9068extern "C" {
9069    pub fn strtoull(
9070        __str: *const ::std::os::raw::c_char,
9071        __endptr: *mut *mut ::std::os::raw::c_char,
9072        __base: ::std::os::raw::c_int,
9073    ) -> ::std::os::raw::c_ulonglong;
9074}
9075extern "C" {
9076    pub fn system(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9077}
9078extern "C" {
9079    pub fn wcstombs(
9080        arg1: *mut ::std::os::raw::c_char,
9081        arg2: *const wchar_t,
9082        arg3: size_t,
9083    ) -> size_t;
9084}
9085extern "C" {
9086    pub fn wctomb(arg1: *mut ::std::os::raw::c_char, arg2: wchar_t) -> ::std::os::raw::c_int;
9087}
9088extern "C" {
9089    pub fn _Exit(arg1: ::std::os::raw::c_int) -> !;
9090}
9091extern "C" {
9092    pub fn a64l(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
9093}
9094extern "C" {
9095    pub fn drand48() -> f64;
9096}
9097extern "C" {
9098    pub fn ecvt(
9099        arg1: f64,
9100        arg2: ::std::os::raw::c_int,
9101        arg3: *mut ::std::os::raw::c_int,
9102        arg4: *mut ::std::os::raw::c_int,
9103    ) -> *mut ::std::os::raw::c_char;
9104}
9105extern "C" {
9106    pub fn erand48(arg1: *mut ::std::os::raw::c_ushort) -> f64;
9107}
9108extern "C" {
9109    pub fn fcvt(
9110        arg1: f64,
9111        arg2: ::std::os::raw::c_int,
9112        arg3: *mut ::std::os::raw::c_int,
9113        arg4: *mut ::std::os::raw::c_int,
9114    ) -> *mut ::std::os::raw::c_char;
9115}
9116extern "C" {
9117    pub fn gcvt(
9118        arg1: f64,
9119        arg2: ::std::os::raw::c_int,
9120        arg3: *mut ::std::os::raw::c_char,
9121    ) -> *mut ::std::os::raw::c_char;
9122}
9123extern "C" {
9124    pub fn getsubopt(
9125        arg1: *mut *mut ::std::os::raw::c_char,
9126        arg2: *const *mut ::std::os::raw::c_char,
9127        arg3: *mut *mut ::std::os::raw::c_char,
9128    ) -> ::std::os::raw::c_int;
9129}
9130extern "C" {
9131    pub fn grantpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
9132}
9133extern "C" {
9134    pub fn initstate(
9135        arg1: ::std::os::raw::c_uint,
9136        arg2: *mut ::std::os::raw::c_char,
9137        arg3: size_t,
9138    ) -> *mut ::std::os::raw::c_char;
9139}
9140extern "C" {
9141    pub fn jrand48(arg1: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
9142}
9143extern "C" {
9144    pub fn l64a(arg1: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char;
9145}
9146extern "C" {
9147    pub fn lcong48(arg1: *mut ::std::os::raw::c_ushort);
9148}
9149extern "C" {
9150    pub fn lrand48() -> ::std::os::raw::c_long;
9151}
9152extern "C" {
9153    pub fn mktemp(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
9154}
9155extern "C" {
9156    pub fn mkstemp(arg1: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9157}
9158extern "C" {
9159    pub fn mrand48() -> ::std::os::raw::c_long;
9160}
9161extern "C" {
9162    pub fn nrand48(arg1: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
9163}
9164extern "C" {
9165    pub fn posix_openpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
9166}
9167extern "C" {
9168    pub fn ptsname(arg1: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
9169}
9170extern "C" {
9171    pub fn ptsname_r(
9172        fildes: ::std::os::raw::c_int,
9173        buffer: *mut ::std::os::raw::c_char,
9174        buflen: size_t,
9175    ) -> ::std::os::raw::c_int;
9176}
9177extern "C" {
9178    pub fn putenv(arg1: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9179}
9180extern "C" {
9181    pub fn random() -> ::std::os::raw::c_long;
9182}
9183extern "C" {
9184    pub fn rand_r(arg1: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
9185}
9186extern "C" {
9187    #[link_name = "\u{1}_realpath$DARWIN_EXTSN"]
9188    pub fn realpath(
9189        arg1: *const ::std::os::raw::c_char,
9190        arg2: *mut ::std::os::raw::c_char,
9191    ) -> *mut ::std::os::raw::c_char;
9192}
9193extern "C" {
9194    pub fn seed48(arg1: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
9195}
9196extern "C" {
9197    pub fn setenv(
9198        __name: *const ::std::os::raw::c_char,
9199        __value: *const ::std::os::raw::c_char,
9200        __overwrite: ::std::os::raw::c_int,
9201    ) -> ::std::os::raw::c_int;
9202}
9203extern "C" {
9204    pub fn setkey(arg1: *const ::std::os::raw::c_char);
9205}
9206extern "C" {
9207    pub fn setstate(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
9208}
9209extern "C" {
9210    pub fn srand48(arg1: ::std::os::raw::c_long);
9211}
9212extern "C" {
9213    pub fn srandom(arg1: ::std::os::raw::c_uint);
9214}
9215extern "C" {
9216    pub fn unlockpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
9217}
9218extern "C" {
9219    pub fn unsetenv(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9220}
9221pub type dev_t = __darwin_dev_t;
9222pub type mode_t = __darwin_mode_t;
9223extern "C" {
9224    pub fn arc4random() -> u32;
9225}
9226extern "C" {
9227    pub fn arc4random_addrandom(arg1: *mut ::std::os::raw::c_uchar, arg2: ::std::os::raw::c_int);
9228}
9229extern "C" {
9230    pub fn arc4random_buf(__buf: *mut ::std::os::raw::c_void, __nbytes: size_t);
9231}
9232extern "C" {
9233    pub fn arc4random_stir();
9234}
9235extern "C" {
9236    pub fn arc4random_uniform(__upper_bound: u32) -> u32;
9237}
9238extern "C" {
9239    pub fn atexit_b(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
9240}
9241extern "C" {
9242    pub fn bsearch_b(
9243        __key: *const ::std::os::raw::c_void,
9244        __base: *const ::std::os::raw::c_void,
9245        __nel: size_t,
9246        __width: size_t,
9247        __compar: *mut ::std::os::raw::c_void,
9248    ) -> *mut ::std::os::raw::c_void;
9249}
9250extern "C" {
9251    pub fn cgetcap(
9252        arg1: *mut ::std::os::raw::c_char,
9253        arg2: *const ::std::os::raw::c_char,
9254        arg3: ::std::os::raw::c_int,
9255    ) -> *mut ::std::os::raw::c_char;
9256}
9257extern "C" {
9258    pub fn cgetclose() -> ::std::os::raw::c_int;
9259}
9260extern "C" {
9261    pub fn cgetent(
9262        arg1: *mut *mut ::std::os::raw::c_char,
9263        arg2: *mut *mut ::std::os::raw::c_char,
9264        arg3: *const ::std::os::raw::c_char,
9265    ) -> ::std::os::raw::c_int;
9266}
9267extern "C" {
9268    pub fn cgetfirst(
9269        arg1: *mut *mut ::std::os::raw::c_char,
9270        arg2: *mut *mut ::std::os::raw::c_char,
9271    ) -> ::std::os::raw::c_int;
9272}
9273extern "C" {
9274    pub fn cgetmatch(
9275        arg1: *const ::std::os::raw::c_char,
9276        arg2: *const ::std::os::raw::c_char,
9277    ) -> ::std::os::raw::c_int;
9278}
9279extern "C" {
9280    pub fn cgetnext(
9281        arg1: *mut *mut ::std::os::raw::c_char,
9282        arg2: *mut *mut ::std::os::raw::c_char,
9283    ) -> ::std::os::raw::c_int;
9284}
9285extern "C" {
9286    pub fn cgetnum(
9287        arg1: *mut ::std::os::raw::c_char,
9288        arg2: *const ::std::os::raw::c_char,
9289        arg3: *mut ::std::os::raw::c_long,
9290    ) -> ::std::os::raw::c_int;
9291}
9292extern "C" {
9293    pub fn cgetset(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9294}
9295extern "C" {
9296    pub fn cgetstr(
9297        arg1: *mut ::std::os::raw::c_char,
9298        arg2: *const ::std::os::raw::c_char,
9299        arg3: *mut *mut ::std::os::raw::c_char,
9300    ) -> ::std::os::raw::c_int;
9301}
9302extern "C" {
9303    pub fn cgetustr(
9304        arg1: *mut ::std::os::raw::c_char,
9305        arg2: *const ::std::os::raw::c_char,
9306        arg3: *mut *mut ::std::os::raw::c_char,
9307    ) -> ::std::os::raw::c_int;
9308}
9309extern "C" {
9310    pub fn daemon(
9311        arg1: ::std::os::raw::c_int,
9312        arg2: ::std::os::raw::c_int,
9313    ) -> ::std::os::raw::c_int;
9314}
9315extern "C" {
9316    pub fn devname(arg1: dev_t, arg2: mode_t) -> *mut ::std::os::raw::c_char;
9317}
9318extern "C" {
9319    pub fn devname_r(
9320        arg1: dev_t,
9321        arg2: mode_t,
9322        buf: *mut ::std::os::raw::c_char,
9323        len: ::std::os::raw::c_int,
9324    ) -> *mut ::std::os::raw::c_char;
9325}
9326extern "C" {
9327    pub fn getbsize(
9328        arg1: *mut ::std::os::raw::c_int,
9329        arg2: *mut ::std::os::raw::c_long,
9330    ) -> *mut ::std::os::raw::c_char;
9331}
9332extern "C" {
9333    pub fn getloadavg(arg1: *mut f64, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
9334}
9335extern "C" {
9336    pub fn getprogname() -> *const ::std::os::raw::c_char;
9337}
9338extern "C" {
9339    pub fn setprogname(arg1: *const ::std::os::raw::c_char);
9340}
9341extern "C" {
9342    pub fn heapsort(
9343        __base: *mut ::std::os::raw::c_void,
9344        __nel: size_t,
9345        __width: size_t,
9346        __compar: ::std::option::Option<
9347            unsafe extern "C" fn(
9348                arg1: *const ::std::os::raw::c_void,
9349                arg2: *const ::std::os::raw::c_void,
9350            ) -> ::std::os::raw::c_int,
9351        >,
9352    ) -> ::std::os::raw::c_int;
9353}
9354extern "C" {
9355    pub fn heapsort_b(
9356        __base: *mut ::std::os::raw::c_void,
9357        __nel: size_t,
9358        __width: size_t,
9359        __compar: *mut ::std::os::raw::c_void,
9360    ) -> ::std::os::raw::c_int;
9361}
9362extern "C" {
9363    pub fn mergesort(
9364        __base: *mut ::std::os::raw::c_void,
9365        __nel: size_t,
9366        __width: size_t,
9367        __compar: ::std::option::Option<
9368            unsafe extern "C" fn(
9369                arg1: *const ::std::os::raw::c_void,
9370                arg2: *const ::std::os::raw::c_void,
9371            ) -> ::std::os::raw::c_int,
9372        >,
9373    ) -> ::std::os::raw::c_int;
9374}
9375extern "C" {
9376    pub fn mergesort_b(
9377        __base: *mut ::std::os::raw::c_void,
9378        __nel: size_t,
9379        __width: size_t,
9380        __compar: *mut ::std::os::raw::c_void,
9381    ) -> ::std::os::raw::c_int;
9382}
9383extern "C" {
9384    pub fn psort(
9385        __base: *mut ::std::os::raw::c_void,
9386        __nel: size_t,
9387        __width: size_t,
9388        __compar: ::std::option::Option<
9389            unsafe extern "C" fn(
9390                arg1: *const ::std::os::raw::c_void,
9391                arg2: *const ::std::os::raw::c_void,
9392            ) -> ::std::os::raw::c_int,
9393        >,
9394    );
9395}
9396extern "C" {
9397    pub fn psort_b(
9398        __base: *mut ::std::os::raw::c_void,
9399        __nel: size_t,
9400        __width: size_t,
9401        __compar: *mut ::std::os::raw::c_void,
9402    );
9403}
9404extern "C" {
9405    pub fn psort_r(
9406        __base: *mut ::std::os::raw::c_void,
9407        __nel: size_t,
9408        __width: size_t,
9409        arg1: *mut ::std::os::raw::c_void,
9410        __compar: ::std::option::Option<
9411            unsafe extern "C" fn(
9412                arg1: *mut ::std::os::raw::c_void,
9413                arg2: *const ::std::os::raw::c_void,
9414                arg3: *const ::std::os::raw::c_void,
9415            ) -> ::std::os::raw::c_int,
9416        >,
9417    );
9418}
9419extern "C" {
9420    pub fn qsort_b(
9421        __base: *mut ::std::os::raw::c_void,
9422        __nel: size_t,
9423        __width: size_t,
9424        __compar: *mut ::std::os::raw::c_void,
9425    );
9426}
9427extern "C" {
9428    pub fn qsort_r(
9429        __base: *mut ::std::os::raw::c_void,
9430        __nel: size_t,
9431        __width: size_t,
9432        arg1: *mut ::std::os::raw::c_void,
9433        __compar: ::std::option::Option<
9434            unsafe extern "C" fn(
9435                arg1: *mut ::std::os::raw::c_void,
9436                arg2: *const ::std::os::raw::c_void,
9437                arg3: *const ::std::os::raw::c_void,
9438            ) -> ::std::os::raw::c_int,
9439        >,
9440    );
9441}
9442extern "C" {
9443    pub fn radixsort(
9444        __base: *mut *const ::std::os::raw::c_uchar,
9445        __nel: ::std::os::raw::c_int,
9446        __table: *const ::std::os::raw::c_uchar,
9447        __endbyte: ::std::os::raw::c_uint,
9448    ) -> ::std::os::raw::c_int;
9449}
9450extern "C" {
9451    pub fn rpmatch(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9452}
9453extern "C" {
9454    pub fn sradixsort(
9455        __base: *mut *const ::std::os::raw::c_uchar,
9456        __nel: ::std::os::raw::c_int,
9457        __table: *const ::std::os::raw::c_uchar,
9458        __endbyte: ::std::os::raw::c_uint,
9459    ) -> ::std::os::raw::c_int;
9460}
9461extern "C" {
9462    pub fn sranddev();
9463}
9464extern "C" {
9465    pub fn srandomdev();
9466}
9467extern "C" {
9468    pub fn reallocf(
9469        __ptr: *mut ::std::os::raw::c_void,
9470        __size: size_t,
9471    ) -> *mut ::std::os::raw::c_void;
9472}
9473extern "C" {
9474    pub fn strtonum(
9475        __numstr: *const ::std::os::raw::c_char,
9476        __minval: ::std::os::raw::c_longlong,
9477        __maxval: ::std::os::raw::c_longlong,
9478        __errstrp: *mut *const ::std::os::raw::c_char,
9479    ) -> ::std::os::raw::c_longlong;
9480}
9481extern "C" {
9482    pub fn strtoq(
9483        __str: *const ::std::os::raw::c_char,
9484        __endptr: *mut *mut ::std::os::raw::c_char,
9485        __base: ::std::os::raw::c_int,
9486    ) -> ::std::os::raw::c_longlong;
9487}
9488extern "C" {
9489    pub fn strtouq(
9490        __str: *const ::std::os::raw::c_char,
9491        __endptr: *mut *mut ::std::os::raw::c_char,
9492        __base: ::std::os::raw::c_int,
9493    ) -> ::std::os::raw::c_ulonglong;
9494}
9495extern "C" {
9496    pub static mut suboptarg: *mut ::std::os::raw::c_char;
9497}
9498extern "C" {
9499    pub fn g_thread_error_quark() -> GQuark;
9500}
9501pub const GThreadError_G_THREAD_ERROR_AGAIN: GThreadError = 0;
9502pub type GThreadError = ::std::os::raw::c_uint;
9503pub type GThreadFunc = ::std::option::Option<unsafe extern "C" fn(data: gpointer) -> gpointer>;
9504pub type GThread = _GThread;
9505pub type GMutex = _GMutex;
9506pub type GRecMutex = _GRecMutex;
9507pub type GRWLock = _GRWLock;
9508pub type GCond = _GCond;
9509pub type GPrivate = _GPrivate;
9510pub type GOnce = _GOnce;
9511#[repr(C)]
9512#[derive(Copy, Clone)]
9513pub union _GMutex {
9514    pub p: gpointer,
9515    pub i: [guint; 2usize],
9516}
9517#[test]
9518fn bindgen_test_layout__GMutex() {
9519    const UNINIT: ::std::mem::MaybeUninit<_GMutex> = ::std::mem::MaybeUninit::uninit();
9520    let ptr = UNINIT.as_ptr();
9521    assert_eq!(
9522        ::std::mem::size_of::<_GMutex>(),
9523        8usize,
9524        concat!("Size of: ", stringify!(_GMutex))
9525    );
9526    assert_eq!(
9527        ::std::mem::align_of::<_GMutex>(),
9528        8usize,
9529        concat!("Alignment of ", stringify!(_GMutex))
9530    );
9531    assert_eq!(
9532        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
9533        0usize,
9534        concat!(
9535            "Offset of field: ",
9536            stringify!(_GMutex),
9537            "::",
9538            stringify!(p)
9539        )
9540    );
9541    assert_eq!(
9542        unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize },
9543        0usize,
9544        concat!(
9545            "Offset of field: ",
9546            stringify!(_GMutex),
9547            "::",
9548            stringify!(i)
9549        )
9550    );
9551}
9552impl ::std::fmt::Debug for _GMutex {
9553    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9554        write!(f, "_GMutex {{ union }}")
9555    }
9556}
9557#[repr(C)]
9558#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9559pub struct _GRWLock {
9560    pub p: gpointer,
9561    pub i: [guint; 2usize],
9562}
9563#[test]
9564fn bindgen_test_layout__GRWLock() {
9565    const UNINIT: ::std::mem::MaybeUninit<_GRWLock> = ::std::mem::MaybeUninit::uninit();
9566    let ptr = UNINIT.as_ptr();
9567    assert_eq!(
9568        ::std::mem::size_of::<_GRWLock>(),
9569        16usize,
9570        concat!("Size of: ", stringify!(_GRWLock))
9571    );
9572    assert_eq!(
9573        ::std::mem::align_of::<_GRWLock>(),
9574        8usize,
9575        concat!("Alignment of ", stringify!(_GRWLock))
9576    );
9577    assert_eq!(
9578        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
9579        0usize,
9580        concat!(
9581            "Offset of field: ",
9582            stringify!(_GRWLock),
9583            "::",
9584            stringify!(p)
9585        )
9586    );
9587    assert_eq!(
9588        unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize },
9589        8usize,
9590        concat!(
9591            "Offset of field: ",
9592            stringify!(_GRWLock),
9593            "::",
9594            stringify!(i)
9595        )
9596    );
9597}
9598#[repr(C)]
9599#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9600pub struct _GCond {
9601    pub p: gpointer,
9602    pub i: [guint; 2usize],
9603}
9604#[test]
9605fn bindgen_test_layout__GCond() {
9606    const UNINIT: ::std::mem::MaybeUninit<_GCond> = ::std::mem::MaybeUninit::uninit();
9607    let ptr = UNINIT.as_ptr();
9608    assert_eq!(
9609        ::std::mem::size_of::<_GCond>(),
9610        16usize,
9611        concat!("Size of: ", stringify!(_GCond))
9612    );
9613    assert_eq!(
9614        ::std::mem::align_of::<_GCond>(),
9615        8usize,
9616        concat!("Alignment of ", stringify!(_GCond))
9617    );
9618    assert_eq!(
9619        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
9620        0usize,
9621        concat!("Offset of field: ", stringify!(_GCond), "::", stringify!(p))
9622    );
9623    assert_eq!(
9624        unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize },
9625        8usize,
9626        concat!("Offset of field: ", stringify!(_GCond), "::", stringify!(i))
9627    );
9628}
9629#[repr(C)]
9630#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9631pub struct _GRecMutex {
9632    pub p: gpointer,
9633    pub i: [guint; 2usize],
9634}
9635#[test]
9636fn bindgen_test_layout__GRecMutex() {
9637    const UNINIT: ::std::mem::MaybeUninit<_GRecMutex> = ::std::mem::MaybeUninit::uninit();
9638    let ptr = UNINIT.as_ptr();
9639    assert_eq!(
9640        ::std::mem::size_of::<_GRecMutex>(),
9641        16usize,
9642        concat!("Size of: ", stringify!(_GRecMutex))
9643    );
9644    assert_eq!(
9645        ::std::mem::align_of::<_GRecMutex>(),
9646        8usize,
9647        concat!("Alignment of ", stringify!(_GRecMutex))
9648    );
9649    assert_eq!(
9650        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
9651        0usize,
9652        concat!(
9653            "Offset of field: ",
9654            stringify!(_GRecMutex),
9655            "::",
9656            stringify!(p)
9657        )
9658    );
9659    assert_eq!(
9660        unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize },
9661        8usize,
9662        concat!(
9663            "Offset of field: ",
9664            stringify!(_GRecMutex),
9665            "::",
9666            stringify!(i)
9667        )
9668    );
9669}
9670#[repr(C)]
9671#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9672pub struct _GPrivate {
9673    pub p: gpointer,
9674    pub notify: GDestroyNotify,
9675    pub future: [gpointer; 2usize],
9676}
9677#[test]
9678fn bindgen_test_layout__GPrivate() {
9679    const UNINIT: ::std::mem::MaybeUninit<_GPrivate> = ::std::mem::MaybeUninit::uninit();
9680    let ptr = UNINIT.as_ptr();
9681    assert_eq!(
9682        ::std::mem::size_of::<_GPrivate>(),
9683        32usize,
9684        concat!("Size of: ", stringify!(_GPrivate))
9685    );
9686    assert_eq!(
9687        ::std::mem::align_of::<_GPrivate>(),
9688        8usize,
9689        concat!("Alignment of ", stringify!(_GPrivate))
9690    );
9691    assert_eq!(
9692        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
9693        0usize,
9694        concat!(
9695            "Offset of field: ",
9696            stringify!(_GPrivate),
9697            "::",
9698            stringify!(p)
9699        )
9700    );
9701    assert_eq!(
9702        unsafe { ::std::ptr::addr_of!((*ptr).notify) as usize - ptr as usize },
9703        8usize,
9704        concat!(
9705            "Offset of field: ",
9706            stringify!(_GPrivate),
9707            "::",
9708            stringify!(notify)
9709        )
9710    );
9711    assert_eq!(
9712        unsafe { ::std::ptr::addr_of!((*ptr).future) as usize - ptr as usize },
9713        16usize,
9714        concat!(
9715            "Offset of field: ",
9716            stringify!(_GPrivate),
9717            "::",
9718            stringify!(future)
9719        )
9720    );
9721}
9722pub const GOnceStatus_G_ONCE_STATUS_NOTCALLED: GOnceStatus = 0;
9723pub const GOnceStatus_G_ONCE_STATUS_PROGRESS: GOnceStatus = 1;
9724pub const GOnceStatus_G_ONCE_STATUS_READY: GOnceStatus = 2;
9725pub type GOnceStatus = ::std::os::raw::c_uint;
9726#[repr(C)]
9727#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9728pub struct _GOnce {
9729    pub status: GOnceStatus,
9730    pub retval: gpointer,
9731}
9732#[test]
9733fn bindgen_test_layout__GOnce() {
9734    const UNINIT: ::std::mem::MaybeUninit<_GOnce> = ::std::mem::MaybeUninit::uninit();
9735    let ptr = UNINIT.as_ptr();
9736    assert_eq!(
9737        ::std::mem::size_of::<_GOnce>(),
9738        16usize,
9739        concat!("Size of: ", stringify!(_GOnce))
9740    );
9741    assert_eq!(
9742        ::std::mem::align_of::<_GOnce>(),
9743        8usize,
9744        concat!("Alignment of ", stringify!(_GOnce))
9745    );
9746    assert_eq!(
9747        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
9748        0usize,
9749        concat!(
9750            "Offset of field: ",
9751            stringify!(_GOnce),
9752            "::",
9753            stringify!(status)
9754        )
9755    );
9756    assert_eq!(
9757        unsafe { ::std::ptr::addr_of!((*ptr).retval) as usize - ptr as usize },
9758        8usize,
9759        concat!(
9760            "Offset of field: ",
9761            stringify!(_GOnce),
9762            "::",
9763            stringify!(retval)
9764        )
9765    );
9766}
9767extern "C" {
9768    pub fn g_thread_ref(thread: *mut GThread) -> *mut GThread;
9769}
9770extern "C" {
9771    pub fn g_thread_unref(thread: *mut GThread);
9772}
9773extern "C" {
9774    pub fn g_thread_new(name: *const gchar, func: GThreadFunc, data: gpointer) -> *mut GThread;
9775}
9776extern "C" {
9777    pub fn g_thread_try_new(
9778        name: *const gchar,
9779        func: GThreadFunc,
9780        data: gpointer,
9781        error: *mut *mut GError,
9782    ) -> *mut GThread;
9783}
9784extern "C" {
9785    pub fn g_thread_self() -> *mut GThread;
9786}
9787extern "C" {
9788    pub fn g_thread_exit(retval: gpointer) -> !;
9789}
9790extern "C" {
9791    pub fn g_thread_join(thread: *mut GThread) -> gpointer;
9792}
9793extern "C" {
9794    pub fn g_thread_yield();
9795}
9796extern "C" {
9797    pub fn g_mutex_init(mutex: *mut GMutex);
9798}
9799extern "C" {
9800    pub fn g_mutex_clear(mutex: *mut GMutex);
9801}
9802extern "C" {
9803    pub fn g_mutex_lock(mutex: *mut GMutex);
9804}
9805extern "C" {
9806    pub fn g_mutex_trylock(mutex: *mut GMutex) -> gboolean;
9807}
9808extern "C" {
9809    pub fn g_mutex_unlock(mutex: *mut GMutex);
9810}
9811extern "C" {
9812    pub fn g_rw_lock_init(rw_lock: *mut GRWLock);
9813}
9814extern "C" {
9815    pub fn g_rw_lock_clear(rw_lock: *mut GRWLock);
9816}
9817extern "C" {
9818    pub fn g_rw_lock_writer_lock(rw_lock: *mut GRWLock);
9819}
9820extern "C" {
9821    pub fn g_rw_lock_writer_trylock(rw_lock: *mut GRWLock) -> gboolean;
9822}
9823extern "C" {
9824    pub fn g_rw_lock_writer_unlock(rw_lock: *mut GRWLock);
9825}
9826extern "C" {
9827    pub fn g_rw_lock_reader_lock(rw_lock: *mut GRWLock);
9828}
9829extern "C" {
9830    pub fn g_rw_lock_reader_trylock(rw_lock: *mut GRWLock) -> gboolean;
9831}
9832extern "C" {
9833    pub fn g_rw_lock_reader_unlock(rw_lock: *mut GRWLock);
9834}
9835extern "C" {
9836    pub fn g_rec_mutex_init(rec_mutex: *mut GRecMutex);
9837}
9838extern "C" {
9839    pub fn g_rec_mutex_clear(rec_mutex: *mut GRecMutex);
9840}
9841extern "C" {
9842    pub fn g_rec_mutex_lock(rec_mutex: *mut GRecMutex);
9843}
9844extern "C" {
9845    pub fn g_rec_mutex_trylock(rec_mutex: *mut GRecMutex) -> gboolean;
9846}
9847extern "C" {
9848    pub fn g_rec_mutex_unlock(rec_mutex: *mut GRecMutex);
9849}
9850extern "C" {
9851    pub fn g_cond_init(cond: *mut GCond);
9852}
9853extern "C" {
9854    pub fn g_cond_clear(cond: *mut GCond);
9855}
9856extern "C" {
9857    pub fn g_cond_wait(cond: *mut GCond, mutex: *mut GMutex);
9858}
9859extern "C" {
9860    pub fn g_cond_signal(cond: *mut GCond);
9861}
9862extern "C" {
9863    pub fn g_cond_broadcast(cond: *mut GCond);
9864}
9865extern "C" {
9866    pub fn g_cond_wait_until(cond: *mut GCond, mutex: *mut GMutex, end_time: gint64) -> gboolean;
9867}
9868extern "C" {
9869    pub fn g_private_get(key: *mut GPrivate) -> gpointer;
9870}
9871extern "C" {
9872    pub fn g_private_set(key: *mut GPrivate, value: gpointer);
9873}
9874extern "C" {
9875    pub fn g_private_replace(key: *mut GPrivate, value: gpointer);
9876}
9877extern "C" {
9878    pub fn g_once_impl(once: *mut GOnce, func: GThreadFunc, arg: gpointer) -> gpointer;
9879}
9880extern "C" {
9881    pub fn g_once_init_enter(location: *mut ::std::os::raw::c_void) -> gboolean;
9882}
9883extern "C" {
9884    pub fn g_once_init_leave(location: *mut ::std::os::raw::c_void, result: gsize);
9885}
9886extern "C" {
9887    pub fn g_get_num_processors() -> guint;
9888}
9889#[doc = " GMutexLocker:\n\n Opaque type. See g_mutex_locker_new() for details.\n Since: 2.44"]
9890pub type GMutexLocker = ::std::os::raw::c_void;
9891#[doc = " GRecMutexLocker:\n\n Opaque type. See g_rec_mutex_locker_new() for details.\n Since: 2.60"]
9892pub type GRecMutexLocker = ::std::os::raw::c_void;
9893#[doc = " GRWLockWriterLocker:\n\n Opaque type. See g_rw_lock_writer_locker_new() for details.\n Since: 2.62"]
9894pub type GRWLockWriterLocker = ::std::os::raw::c_void;
9895#[doc = " GRWLockReaderLocker:\n\n Opaque type. See g_rw_lock_reader_locker_new() for details.\n Since: 2.62"]
9896pub type GRWLockReaderLocker = ::std::os::raw::c_void;
9897#[repr(C)]
9898#[derive(Debug, Copy, Clone)]
9899pub struct _GAsyncQueue {
9900    _unused: [u8; 0],
9901}
9902pub type GAsyncQueue = _GAsyncQueue;
9903extern "C" {
9904    pub fn g_async_queue_new() -> *mut GAsyncQueue;
9905}
9906extern "C" {
9907    pub fn g_async_queue_new_full(item_free_func: GDestroyNotify) -> *mut GAsyncQueue;
9908}
9909extern "C" {
9910    pub fn g_async_queue_lock(queue: *mut GAsyncQueue);
9911}
9912extern "C" {
9913    pub fn g_async_queue_unlock(queue: *mut GAsyncQueue);
9914}
9915extern "C" {
9916    pub fn g_async_queue_ref(queue: *mut GAsyncQueue) -> *mut GAsyncQueue;
9917}
9918extern "C" {
9919    pub fn g_async_queue_unref(queue: *mut GAsyncQueue);
9920}
9921extern "C" {
9922    pub fn g_async_queue_ref_unlocked(queue: *mut GAsyncQueue);
9923}
9924extern "C" {
9925    pub fn g_async_queue_unref_and_unlock(queue: *mut GAsyncQueue);
9926}
9927extern "C" {
9928    pub fn g_async_queue_push(queue: *mut GAsyncQueue, data: gpointer);
9929}
9930extern "C" {
9931    pub fn g_async_queue_push_unlocked(queue: *mut GAsyncQueue, data: gpointer);
9932}
9933extern "C" {
9934    pub fn g_async_queue_push_sorted(
9935        queue: *mut GAsyncQueue,
9936        data: gpointer,
9937        func: GCompareDataFunc,
9938        user_data: gpointer,
9939    );
9940}
9941extern "C" {
9942    pub fn g_async_queue_push_sorted_unlocked(
9943        queue: *mut GAsyncQueue,
9944        data: gpointer,
9945        func: GCompareDataFunc,
9946        user_data: gpointer,
9947    );
9948}
9949extern "C" {
9950    pub fn g_async_queue_pop(queue: *mut GAsyncQueue) -> gpointer;
9951}
9952extern "C" {
9953    pub fn g_async_queue_pop_unlocked(queue: *mut GAsyncQueue) -> gpointer;
9954}
9955extern "C" {
9956    pub fn g_async_queue_try_pop(queue: *mut GAsyncQueue) -> gpointer;
9957}
9958extern "C" {
9959    pub fn g_async_queue_try_pop_unlocked(queue: *mut GAsyncQueue) -> gpointer;
9960}
9961extern "C" {
9962    pub fn g_async_queue_timeout_pop(queue: *mut GAsyncQueue, timeout: guint64) -> gpointer;
9963}
9964extern "C" {
9965    pub fn g_async_queue_timeout_pop_unlocked(
9966        queue: *mut GAsyncQueue,
9967        timeout: guint64,
9968    ) -> gpointer;
9969}
9970extern "C" {
9971    pub fn g_async_queue_length(queue: *mut GAsyncQueue) -> gint;
9972}
9973extern "C" {
9974    pub fn g_async_queue_length_unlocked(queue: *mut GAsyncQueue) -> gint;
9975}
9976extern "C" {
9977    pub fn g_async_queue_sort(queue: *mut GAsyncQueue, func: GCompareDataFunc, user_data: gpointer);
9978}
9979extern "C" {
9980    pub fn g_async_queue_sort_unlocked(
9981        queue: *mut GAsyncQueue,
9982        func: GCompareDataFunc,
9983        user_data: gpointer,
9984    );
9985}
9986extern "C" {
9987    pub fn g_async_queue_remove(queue: *mut GAsyncQueue, item: gpointer) -> gboolean;
9988}
9989extern "C" {
9990    pub fn g_async_queue_remove_unlocked(queue: *mut GAsyncQueue, item: gpointer) -> gboolean;
9991}
9992extern "C" {
9993    pub fn g_async_queue_push_front(queue: *mut GAsyncQueue, item: gpointer);
9994}
9995extern "C" {
9996    pub fn g_async_queue_push_front_unlocked(queue: *mut GAsyncQueue, item: gpointer);
9997}
9998extern "C" {
9999    pub fn g_async_queue_timed_pop(queue: *mut GAsyncQueue, end_time: *mut GTimeVal) -> gpointer;
10000}
10001extern "C" {
10002    pub fn g_async_queue_timed_pop_unlocked(
10003        queue: *mut GAsyncQueue,
10004        end_time: *mut GTimeVal,
10005    ) -> gpointer;
10006}
10007pub type pthread_t = __darwin_pthread_t;
10008extern "C" {
10009    pub static sys_signame: [*const ::std::os::raw::c_char; 32usize];
10010}
10011extern "C" {
10012    pub static sys_siglist: [*const ::std::os::raw::c_char; 32usize];
10013}
10014extern "C" {
10015    pub fn raise(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10016}
10017extern "C" {
10018    pub fn bsd_signal(
10019        arg1: ::std::os::raw::c_int,
10020        arg2: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
10021    ) -> ::std::option::Option<
10022        unsafe extern "C" fn(
10023            arg1: ::std::os::raw::c_int,
10024            arg2: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
10025        ),
10026    >;
10027}
10028extern "C" {
10029    pub fn kill(arg1: pid_t, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10030}
10031extern "C" {
10032    pub fn killpg(arg1: pid_t, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10033}
10034extern "C" {
10035    pub fn pthread_kill(arg1: pthread_t, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10036}
10037extern "C" {
10038    pub fn pthread_sigmask(
10039        arg1: ::std::os::raw::c_int,
10040        arg2: *const sigset_t,
10041        arg3: *mut sigset_t,
10042    ) -> ::std::os::raw::c_int;
10043}
10044extern "C" {
10045    pub fn sigaction(
10046        arg1: ::std::os::raw::c_int,
10047        arg2: *const sigaction,
10048        arg3: *mut sigaction,
10049    ) -> ::std::os::raw::c_int;
10050}
10051extern "C" {
10052    pub fn sigaddset(arg1: *mut sigset_t, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10053}
10054extern "C" {
10055    pub fn sigaltstack(arg1: *const stack_t, arg2: *mut stack_t) -> ::std::os::raw::c_int;
10056}
10057extern "C" {
10058    pub fn sigdelset(arg1: *mut sigset_t, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10059}
10060extern "C" {
10061    pub fn sigemptyset(arg1: *mut sigset_t) -> ::std::os::raw::c_int;
10062}
10063extern "C" {
10064    pub fn sigfillset(arg1: *mut sigset_t) -> ::std::os::raw::c_int;
10065}
10066extern "C" {
10067    pub fn sighold(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10068}
10069extern "C" {
10070    pub fn sigignore(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10071}
10072extern "C" {
10073    pub fn siginterrupt(
10074        arg1: ::std::os::raw::c_int,
10075        arg2: ::std::os::raw::c_int,
10076    ) -> ::std::os::raw::c_int;
10077}
10078extern "C" {
10079    pub fn sigismember(arg1: *const sigset_t, arg2: ::std::os::raw::c_int)
10080        -> ::std::os::raw::c_int;
10081}
10082extern "C" {
10083    pub fn sigpause(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10084}
10085extern "C" {
10086    pub fn sigpending(arg1: *mut sigset_t) -> ::std::os::raw::c_int;
10087}
10088extern "C" {
10089    pub fn sigprocmask(
10090        arg1: ::std::os::raw::c_int,
10091        arg2: *const sigset_t,
10092        arg3: *mut sigset_t,
10093    ) -> ::std::os::raw::c_int;
10094}
10095extern "C" {
10096    pub fn sigrelse(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10097}
10098extern "C" {
10099    pub fn sigset(
10100        arg1: ::std::os::raw::c_int,
10101        arg2: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
10102    ) -> ::std::option::Option<
10103        unsafe extern "C" fn(
10104            arg1: ::std::os::raw::c_int,
10105            arg2: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
10106        ),
10107    >;
10108}
10109extern "C" {
10110    pub fn sigsuspend(arg1: *const sigset_t) -> ::std::os::raw::c_int;
10111}
10112extern "C" {
10113    pub fn sigwait(
10114        arg1: *const sigset_t,
10115        arg2: *mut ::std::os::raw::c_int,
10116    ) -> ::std::os::raw::c_int;
10117}
10118extern "C" {
10119    pub fn psignal(arg1: ::std::os::raw::c_int, arg2: *const ::std::os::raw::c_char);
10120}
10121extern "C" {
10122    pub fn sigblock(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10123}
10124extern "C" {
10125    pub fn sigsetmask(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10126}
10127extern "C" {
10128    pub fn sigvec(
10129        arg1: ::std::os::raw::c_int,
10130        arg2: *mut sigvec,
10131        arg3: *mut sigvec,
10132    ) -> ::std::os::raw::c_int;
10133}
10134extern "C" {
10135    pub fn g_on_error_query(prg_name: *const gchar);
10136}
10137extern "C" {
10138    pub fn g_on_error_stack_trace(prg_name: *const gchar);
10139}
10140extern "C" {
10141    pub fn g_base64_encode_step(
10142        in_: *const guchar,
10143        len: gsize,
10144        break_lines: gboolean,
10145        out: *mut gchar,
10146        state: *mut gint,
10147        save: *mut gint,
10148    ) -> gsize;
10149}
10150extern "C" {
10151    pub fn g_base64_encode_close(
10152        break_lines: gboolean,
10153        out: *mut gchar,
10154        state: *mut gint,
10155        save: *mut gint,
10156    ) -> gsize;
10157}
10158extern "C" {
10159    pub fn g_base64_encode(data: *const guchar, len: gsize) -> *mut gchar;
10160}
10161extern "C" {
10162    pub fn g_base64_decode_step(
10163        in_: *const gchar,
10164        len: gsize,
10165        out: *mut guchar,
10166        state: *mut gint,
10167        save: *mut guint,
10168    ) -> gsize;
10169}
10170extern "C" {
10171    pub fn g_base64_decode(text: *const gchar, out_len: *mut gsize) -> *mut guchar;
10172}
10173extern "C" {
10174    pub fn g_base64_decode_inplace(text: *mut gchar, out_len: *mut gsize) -> *mut guchar;
10175}
10176extern "C" {
10177    pub fn g_bit_lock(address: *mut gint, lock_bit: gint);
10178}
10179extern "C" {
10180    pub fn g_bit_trylock(address: *mut gint, lock_bit: gint) -> gboolean;
10181}
10182extern "C" {
10183    pub fn g_bit_unlock(address: *mut gint, lock_bit: gint);
10184}
10185extern "C" {
10186    pub fn g_pointer_bit_lock(address: *mut ::std::os::raw::c_void, lock_bit: gint);
10187}
10188extern "C" {
10189    pub fn g_pointer_bit_trylock(address: *mut ::std::os::raw::c_void, lock_bit: gint) -> gboolean;
10190}
10191extern "C" {
10192    pub fn g_pointer_bit_unlock(address: *mut ::std::os::raw::c_void, lock_bit: gint);
10193}
10194#[repr(C)]
10195#[derive(Debug, Copy, Clone)]
10196pub struct _GTimeZone {
10197    _unused: [u8; 0],
10198}
10199pub type GTimeZone = _GTimeZone;
10200pub const GTimeType_G_TIME_TYPE_STANDARD: GTimeType = 0;
10201pub const GTimeType_G_TIME_TYPE_DAYLIGHT: GTimeType = 1;
10202pub const GTimeType_G_TIME_TYPE_UNIVERSAL: GTimeType = 2;
10203#[doc = " GTimeType:\n @G_TIME_TYPE_STANDARD: the time is in local standard time\n @G_TIME_TYPE_DAYLIGHT: the time is in local daylight time\n @G_TIME_TYPE_UNIVERSAL: the time is in UTC\n\n Disambiguates a given time in two ways.\n\n First, specifies if the given time is in universal or local time.\n\n Second, if the time is in local time, specifies if it is local\n standard time or local daylight time.  This is important for the case\n where the same local time occurs twice (during daylight savings time\n transitions, for example)."]
10204pub type GTimeType = ::std::os::raw::c_uint;
10205extern "C" {
10206    pub fn g_time_zone_new(identifier: *const gchar) -> *mut GTimeZone;
10207}
10208extern "C" {
10209    pub fn g_time_zone_new_identifier(identifier: *const gchar) -> *mut GTimeZone;
10210}
10211extern "C" {
10212    pub fn g_time_zone_new_utc() -> *mut GTimeZone;
10213}
10214extern "C" {
10215    pub fn g_time_zone_new_local() -> *mut GTimeZone;
10216}
10217extern "C" {
10218    pub fn g_time_zone_new_offset(seconds: gint32) -> *mut GTimeZone;
10219}
10220extern "C" {
10221    pub fn g_time_zone_ref(tz: *mut GTimeZone) -> *mut GTimeZone;
10222}
10223extern "C" {
10224    pub fn g_time_zone_unref(tz: *mut GTimeZone);
10225}
10226extern "C" {
10227    pub fn g_time_zone_find_interval(tz: *mut GTimeZone, type_: GTimeType, time_: gint64) -> gint;
10228}
10229extern "C" {
10230    pub fn g_time_zone_adjust_time(
10231        tz: *mut GTimeZone,
10232        type_: GTimeType,
10233        time_: *mut gint64,
10234    ) -> gint;
10235}
10236extern "C" {
10237    pub fn g_time_zone_get_abbreviation(tz: *mut GTimeZone, interval: gint) -> *const gchar;
10238}
10239extern "C" {
10240    pub fn g_time_zone_get_offset(tz: *mut GTimeZone, interval: gint) -> gint32;
10241}
10242extern "C" {
10243    pub fn g_time_zone_is_dst(tz: *mut GTimeZone, interval: gint) -> gboolean;
10244}
10245extern "C" {
10246    pub fn g_time_zone_get_identifier(tz: *mut GTimeZone) -> *const gchar;
10247}
10248#[doc = " GTimeSpan:\n\n A value representing an interval of time, in microseconds.\n\n Since: 2.26"]
10249pub type GTimeSpan = gint64;
10250#[repr(C)]
10251#[derive(Debug, Copy, Clone)]
10252pub struct _GDateTime {
10253    _unused: [u8; 0],
10254}
10255#[doc = " GDateTime:\n\n An opaque structure that represents a date and time, including a time zone.\n\n Since: 2.26"]
10256pub type GDateTime = _GDateTime;
10257extern "C" {
10258    pub fn g_date_time_unref(datetime: *mut GDateTime);
10259}
10260extern "C" {
10261    pub fn g_date_time_ref(datetime: *mut GDateTime) -> *mut GDateTime;
10262}
10263extern "C" {
10264    pub fn g_date_time_new_now(tz: *mut GTimeZone) -> *mut GDateTime;
10265}
10266extern "C" {
10267    pub fn g_date_time_new_now_local() -> *mut GDateTime;
10268}
10269extern "C" {
10270    pub fn g_date_time_new_now_utc() -> *mut GDateTime;
10271}
10272extern "C" {
10273    pub fn g_date_time_new_from_unix_local(t: gint64) -> *mut GDateTime;
10274}
10275extern "C" {
10276    pub fn g_date_time_new_from_unix_utc(t: gint64) -> *mut GDateTime;
10277}
10278extern "C" {
10279    pub fn g_date_time_new_from_timeval_local(tv: *const GTimeVal) -> *mut GDateTime;
10280}
10281extern "C" {
10282    pub fn g_date_time_new_from_timeval_utc(tv: *const GTimeVal) -> *mut GDateTime;
10283}
10284extern "C" {
10285    pub fn g_date_time_new_from_iso8601(
10286        text: *const gchar,
10287        default_tz: *mut GTimeZone,
10288    ) -> *mut GDateTime;
10289}
10290extern "C" {
10291    pub fn g_date_time_new(
10292        tz: *mut GTimeZone,
10293        year: gint,
10294        month: gint,
10295        day: gint,
10296        hour: gint,
10297        minute: gint,
10298        seconds: gdouble,
10299    ) -> *mut GDateTime;
10300}
10301extern "C" {
10302    pub fn g_date_time_new_local(
10303        year: gint,
10304        month: gint,
10305        day: gint,
10306        hour: gint,
10307        minute: gint,
10308        seconds: gdouble,
10309    ) -> *mut GDateTime;
10310}
10311extern "C" {
10312    pub fn g_date_time_new_utc(
10313        year: gint,
10314        month: gint,
10315        day: gint,
10316        hour: gint,
10317        minute: gint,
10318        seconds: gdouble,
10319    ) -> *mut GDateTime;
10320}
10321extern "C" {
10322    pub fn g_date_time_add(datetime: *mut GDateTime, timespan: GTimeSpan) -> *mut GDateTime;
10323}
10324extern "C" {
10325    pub fn g_date_time_add_years(datetime: *mut GDateTime, years: gint) -> *mut GDateTime;
10326}
10327extern "C" {
10328    pub fn g_date_time_add_months(datetime: *mut GDateTime, months: gint) -> *mut GDateTime;
10329}
10330extern "C" {
10331    pub fn g_date_time_add_weeks(datetime: *mut GDateTime, weeks: gint) -> *mut GDateTime;
10332}
10333extern "C" {
10334    pub fn g_date_time_add_days(datetime: *mut GDateTime, days: gint) -> *mut GDateTime;
10335}
10336extern "C" {
10337    pub fn g_date_time_add_hours(datetime: *mut GDateTime, hours: gint) -> *mut GDateTime;
10338}
10339extern "C" {
10340    pub fn g_date_time_add_minutes(datetime: *mut GDateTime, minutes: gint) -> *mut GDateTime;
10341}
10342extern "C" {
10343    pub fn g_date_time_add_seconds(datetime: *mut GDateTime, seconds: gdouble) -> *mut GDateTime;
10344}
10345extern "C" {
10346    pub fn g_date_time_add_full(
10347        datetime: *mut GDateTime,
10348        years: gint,
10349        months: gint,
10350        days: gint,
10351        hours: gint,
10352        minutes: gint,
10353        seconds: gdouble,
10354    ) -> *mut GDateTime;
10355}
10356extern "C" {
10357    pub fn g_date_time_compare(dt1: gconstpointer, dt2: gconstpointer) -> gint;
10358}
10359extern "C" {
10360    pub fn g_date_time_difference(end: *mut GDateTime, begin: *mut GDateTime) -> GTimeSpan;
10361}
10362extern "C" {
10363    pub fn g_date_time_hash(datetime: gconstpointer) -> guint;
10364}
10365extern "C" {
10366    pub fn g_date_time_equal(dt1: gconstpointer, dt2: gconstpointer) -> gboolean;
10367}
10368extern "C" {
10369    pub fn g_date_time_get_ymd(
10370        datetime: *mut GDateTime,
10371        year: *mut gint,
10372        month: *mut gint,
10373        day: *mut gint,
10374    );
10375}
10376extern "C" {
10377    pub fn g_date_time_get_year(datetime: *mut GDateTime) -> gint;
10378}
10379extern "C" {
10380    pub fn g_date_time_get_month(datetime: *mut GDateTime) -> gint;
10381}
10382extern "C" {
10383    pub fn g_date_time_get_day_of_month(datetime: *mut GDateTime) -> gint;
10384}
10385extern "C" {
10386    pub fn g_date_time_get_week_numbering_year(datetime: *mut GDateTime) -> gint;
10387}
10388extern "C" {
10389    pub fn g_date_time_get_week_of_year(datetime: *mut GDateTime) -> gint;
10390}
10391extern "C" {
10392    pub fn g_date_time_get_day_of_week(datetime: *mut GDateTime) -> gint;
10393}
10394extern "C" {
10395    pub fn g_date_time_get_day_of_year(datetime: *mut GDateTime) -> gint;
10396}
10397extern "C" {
10398    pub fn g_date_time_get_hour(datetime: *mut GDateTime) -> gint;
10399}
10400extern "C" {
10401    pub fn g_date_time_get_minute(datetime: *mut GDateTime) -> gint;
10402}
10403extern "C" {
10404    pub fn g_date_time_get_second(datetime: *mut GDateTime) -> gint;
10405}
10406extern "C" {
10407    pub fn g_date_time_get_microsecond(datetime: *mut GDateTime) -> gint;
10408}
10409extern "C" {
10410    pub fn g_date_time_get_seconds(datetime: *mut GDateTime) -> gdouble;
10411}
10412extern "C" {
10413    pub fn g_date_time_to_unix(datetime: *mut GDateTime) -> gint64;
10414}
10415extern "C" {
10416    pub fn g_date_time_to_timeval(datetime: *mut GDateTime, tv: *mut GTimeVal) -> gboolean;
10417}
10418extern "C" {
10419    pub fn g_date_time_get_utc_offset(datetime: *mut GDateTime) -> GTimeSpan;
10420}
10421extern "C" {
10422    pub fn g_date_time_get_timezone(datetime: *mut GDateTime) -> *mut GTimeZone;
10423}
10424extern "C" {
10425    pub fn g_date_time_get_timezone_abbreviation(datetime: *mut GDateTime) -> *const gchar;
10426}
10427extern "C" {
10428    pub fn g_date_time_is_daylight_savings(datetime: *mut GDateTime) -> gboolean;
10429}
10430extern "C" {
10431    pub fn g_date_time_to_timezone(datetime: *mut GDateTime, tz: *mut GTimeZone) -> *mut GDateTime;
10432}
10433extern "C" {
10434    pub fn g_date_time_to_local(datetime: *mut GDateTime) -> *mut GDateTime;
10435}
10436extern "C" {
10437    pub fn g_date_time_to_utc(datetime: *mut GDateTime) -> *mut GDateTime;
10438}
10439extern "C" {
10440    pub fn g_date_time_format(datetime: *mut GDateTime, format: *const gchar) -> *mut gchar;
10441}
10442extern "C" {
10443    pub fn g_date_time_format_iso8601(datetime: *mut GDateTime) -> *mut gchar;
10444}
10445pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_INVALID_URI: GBookmarkFileError = 0;
10446pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_INVALID_VALUE: GBookmarkFileError = 1;
10447pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED: GBookmarkFileError = 2;
10448pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND: GBookmarkFileError = 3;
10449pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_READ: GBookmarkFileError = 4;
10450pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING: GBookmarkFileError = 5;
10451pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_WRITE: GBookmarkFileError = 6;
10452pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND: GBookmarkFileError = 7;
10453#[doc = " GBookmarkFileError:\n @G_BOOKMARK_FILE_ERROR_INVALID_URI: URI was ill-formed\n @G_BOOKMARK_FILE_ERROR_INVALID_VALUE: a requested field was not found\n @G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED: a requested application did\n     not register a bookmark\n @G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND: a requested URI was not found\n @G_BOOKMARK_FILE_ERROR_READ: document was ill formed\n @G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING: the text being parsed was\n     in an unknown encoding\n @G_BOOKMARK_FILE_ERROR_WRITE: an error occurred while writing\n @G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND: requested file was not found\n\n Error codes returned by bookmark file parsing."]
10454pub type GBookmarkFileError = ::std::os::raw::c_uint;
10455extern "C" {
10456    pub fn g_bookmark_file_error_quark() -> GQuark;
10457}
10458#[repr(C)]
10459#[derive(Debug, Copy, Clone)]
10460pub struct _GBookmarkFile {
10461    _unused: [u8; 0],
10462}
10463#[doc = " GBookmarkFile:\n\n An opaque data structure representing a set of bookmarks."]
10464pub type GBookmarkFile = _GBookmarkFile;
10465extern "C" {
10466    pub fn g_bookmark_file_new() -> *mut GBookmarkFile;
10467}
10468extern "C" {
10469    pub fn g_bookmark_file_free(bookmark: *mut GBookmarkFile);
10470}
10471extern "C" {
10472    pub fn g_bookmark_file_copy(bookmark: *mut GBookmarkFile) -> *mut GBookmarkFile;
10473}
10474extern "C" {
10475    pub fn g_bookmark_file_load_from_file(
10476        bookmark: *mut GBookmarkFile,
10477        filename: *const gchar,
10478        error: *mut *mut GError,
10479    ) -> gboolean;
10480}
10481extern "C" {
10482    pub fn g_bookmark_file_load_from_data(
10483        bookmark: *mut GBookmarkFile,
10484        data: *const gchar,
10485        length: gsize,
10486        error: *mut *mut GError,
10487    ) -> gboolean;
10488}
10489extern "C" {
10490    pub fn g_bookmark_file_load_from_data_dirs(
10491        bookmark: *mut GBookmarkFile,
10492        file: *const gchar,
10493        full_path: *mut *mut gchar,
10494        error: *mut *mut GError,
10495    ) -> gboolean;
10496}
10497extern "C" {
10498    pub fn g_bookmark_file_to_data(
10499        bookmark: *mut GBookmarkFile,
10500        length: *mut gsize,
10501        error: *mut *mut GError,
10502    ) -> *mut gchar;
10503}
10504extern "C" {
10505    pub fn g_bookmark_file_to_file(
10506        bookmark: *mut GBookmarkFile,
10507        filename: *const gchar,
10508        error: *mut *mut GError,
10509    ) -> gboolean;
10510}
10511extern "C" {
10512    pub fn g_bookmark_file_set_title(
10513        bookmark: *mut GBookmarkFile,
10514        uri: *const gchar,
10515        title: *const gchar,
10516    );
10517}
10518extern "C" {
10519    pub fn g_bookmark_file_get_title(
10520        bookmark: *mut GBookmarkFile,
10521        uri: *const gchar,
10522        error: *mut *mut GError,
10523    ) -> *mut gchar;
10524}
10525extern "C" {
10526    pub fn g_bookmark_file_set_description(
10527        bookmark: *mut GBookmarkFile,
10528        uri: *const gchar,
10529        description: *const gchar,
10530    );
10531}
10532extern "C" {
10533    pub fn g_bookmark_file_get_description(
10534        bookmark: *mut GBookmarkFile,
10535        uri: *const gchar,
10536        error: *mut *mut GError,
10537    ) -> *mut gchar;
10538}
10539extern "C" {
10540    pub fn g_bookmark_file_set_mime_type(
10541        bookmark: *mut GBookmarkFile,
10542        uri: *const gchar,
10543        mime_type: *const gchar,
10544    );
10545}
10546extern "C" {
10547    pub fn g_bookmark_file_get_mime_type(
10548        bookmark: *mut GBookmarkFile,
10549        uri: *const gchar,
10550        error: *mut *mut GError,
10551    ) -> *mut gchar;
10552}
10553extern "C" {
10554    pub fn g_bookmark_file_set_groups(
10555        bookmark: *mut GBookmarkFile,
10556        uri: *const gchar,
10557        groups: *mut *const gchar,
10558        length: gsize,
10559    );
10560}
10561extern "C" {
10562    pub fn g_bookmark_file_add_group(
10563        bookmark: *mut GBookmarkFile,
10564        uri: *const gchar,
10565        group: *const gchar,
10566    );
10567}
10568extern "C" {
10569    pub fn g_bookmark_file_has_group(
10570        bookmark: *mut GBookmarkFile,
10571        uri: *const gchar,
10572        group: *const gchar,
10573        error: *mut *mut GError,
10574    ) -> gboolean;
10575}
10576extern "C" {
10577    pub fn g_bookmark_file_get_groups(
10578        bookmark: *mut GBookmarkFile,
10579        uri: *const gchar,
10580        length: *mut gsize,
10581        error: *mut *mut GError,
10582    ) -> *mut *mut gchar;
10583}
10584extern "C" {
10585    pub fn g_bookmark_file_add_application(
10586        bookmark: *mut GBookmarkFile,
10587        uri: *const gchar,
10588        name: *const gchar,
10589        exec: *const gchar,
10590    );
10591}
10592extern "C" {
10593    pub fn g_bookmark_file_has_application(
10594        bookmark: *mut GBookmarkFile,
10595        uri: *const gchar,
10596        name: *const gchar,
10597        error: *mut *mut GError,
10598    ) -> gboolean;
10599}
10600extern "C" {
10601    pub fn g_bookmark_file_get_applications(
10602        bookmark: *mut GBookmarkFile,
10603        uri: *const gchar,
10604        length: *mut gsize,
10605        error: *mut *mut GError,
10606    ) -> *mut *mut gchar;
10607}
10608extern "C" {
10609    pub fn g_bookmark_file_set_app_info(
10610        bookmark: *mut GBookmarkFile,
10611        uri: *const gchar,
10612        name: *const gchar,
10613        exec: *const gchar,
10614        count: gint,
10615        stamp: time_t,
10616        error: *mut *mut GError,
10617    ) -> gboolean;
10618}
10619extern "C" {
10620    pub fn g_bookmark_file_set_application_info(
10621        bookmark: *mut GBookmarkFile,
10622        uri: *const ::std::os::raw::c_char,
10623        name: *const ::std::os::raw::c_char,
10624        exec: *const ::std::os::raw::c_char,
10625        count: ::std::os::raw::c_int,
10626        stamp: *mut GDateTime,
10627        error: *mut *mut GError,
10628    ) -> gboolean;
10629}
10630extern "C" {
10631    pub fn g_bookmark_file_get_app_info(
10632        bookmark: *mut GBookmarkFile,
10633        uri: *const gchar,
10634        name: *const gchar,
10635        exec: *mut *mut gchar,
10636        count: *mut guint,
10637        stamp: *mut time_t,
10638        error: *mut *mut GError,
10639    ) -> gboolean;
10640}
10641extern "C" {
10642    pub fn g_bookmark_file_get_application_info(
10643        bookmark: *mut GBookmarkFile,
10644        uri: *const ::std::os::raw::c_char,
10645        name: *const ::std::os::raw::c_char,
10646        exec: *mut *mut ::std::os::raw::c_char,
10647        count: *mut ::std::os::raw::c_uint,
10648        stamp: *mut *mut GDateTime,
10649        error: *mut *mut GError,
10650    ) -> gboolean;
10651}
10652extern "C" {
10653    pub fn g_bookmark_file_set_is_private(
10654        bookmark: *mut GBookmarkFile,
10655        uri: *const gchar,
10656        is_private: gboolean,
10657    );
10658}
10659extern "C" {
10660    pub fn g_bookmark_file_get_is_private(
10661        bookmark: *mut GBookmarkFile,
10662        uri: *const gchar,
10663        error: *mut *mut GError,
10664    ) -> gboolean;
10665}
10666extern "C" {
10667    pub fn g_bookmark_file_set_icon(
10668        bookmark: *mut GBookmarkFile,
10669        uri: *const gchar,
10670        href: *const gchar,
10671        mime_type: *const gchar,
10672    );
10673}
10674extern "C" {
10675    pub fn g_bookmark_file_get_icon(
10676        bookmark: *mut GBookmarkFile,
10677        uri: *const gchar,
10678        href: *mut *mut gchar,
10679        mime_type: *mut *mut gchar,
10680        error: *mut *mut GError,
10681    ) -> gboolean;
10682}
10683extern "C" {
10684    pub fn g_bookmark_file_set_added(
10685        bookmark: *mut GBookmarkFile,
10686        uri: *const gchar,
10687        added: time_t,
10688    );
10689}
10690extern "C" {
10691    pub fn g_bookmark_file_set_added_date_time(
10692        bookmark: *mut GBookmarkFile,
10693        uri: *const ::std::os::raw::c_char,
10694        added: *mut GDateTime,
10695    );
10696}
10697extern "C" {
10698    pub fn g_bookmark_file_get_added(
10699        bookmark: *mut GBookmarkFile,
10700        uri: *const gchar,
10701        error: *mut *mut GError,
10702    ) -> time_t;
10703}
10704extern "C" {
10705    pub fn g_bookmark_file_get_added_date_time(
10706        bookmark: *mut GBookmarkFile,
10707        uri: *const ::std::os::raw::c_char,
10708        error: *mut *mut GError,
10709    ) -> *mut GDateTime;
10710}
10711extern "C" {
10712    pub fn g_bookmark_file_set_modified(
10713        bookmark: *mut GBookmarkFile,
10714        uri: *const gchar,
10715        modified: time_t,
10716    );
10717}
10718extern "C" {
10719    pub fn g_bookmark_file_set_modified_date_time(
10720        bookmark: *mut GBookmarkFile,
10721        uri: *const ::std::os::raw::c_char,
10722        modified: *mut GDateTime,
10723    );
10724}
10725extern "C" {
10726    pub fn g_bookmark_file_get_modified(
10727        bookmark: *mut GBookmarkFile,
10728        uri: *const gchar,
10729        error: *mut *mut GError,
10730    ) -> time_t;
10731}
10732extern "C" {
10733    pub fn g_bookmark_file_get_modified_date_time(
10734        bookmark: *mut GBookmarkFile,
10735        uri: *const ::std::os::raw::c_char,
10736        error: *mut *mut GError,
10737    ) -> *mut GDateTime;
10738}
10739extern "C" {
10740    pub fn g_bookmark_file_set_visited(
10741        bookmark: *mut GBookmarkFile,
10742        uri: *const gchar,
10743        visited: time_t,
10744    );
10745}
10746extern "C" {
10747    pub fn g_bookmark_file_set_visited_date_time(
10748        bookmark: *mut GBookmarkFile,
10749        uri: *const ::std::os::raw::c_char,
10750        visited: *mut GDateTime,
10751    );
10752}
10753extern "C" {
10754    pub fn g_bookmark_file_get_visited(
10755        bookmark: *mut GBookmarkFile,
10756        uri: *const gchar,
10757        error: *mut *mut GError,
10758    ) -> time_t;
10759}
10760extern "C" {
10761    pub fn g_bookmark_file_get_visited_date_time(
10762        bookmark: *mut GBookmarkFile,
10763        uri: *const ::std::os::raw::c_char,
10764        error: *mut *mut GError,
10765    ) -> *mut GDateTime;
10766}
10767extern "C" {
10768    pub fn g_bookmark_file_has_item(bookmark: *mut GBookmarkFile, uri: *const gchar) -> gboolean;
10769}
10770extern "C" {
10771    pub fn g_bookmark_file_get_size(bookmark: *mut GBookmarkFile) -> gint;
10772}
10773extern "C" {
10774    pub fn g_bookmark_file_get_uris(
10775        bookmark: *mut GBookmarkFile,
10776        length: *mut gsize,
10777    ) -> *mut *mut gchar;
10778}
10779extern "C" {
10780    pub fn g_bookmark_file_remove_group(
10781        bookmark: *mut GBookmarkFile,
10782        uri: *const gchar,
10783        group: *const gchar,
10784        error: *mut *mut GError,
10785    ) -> gboolean;
10786}
10787extern "C" {
10788    pub fn g_bookmark_file_remove_application(
10789        bookmark: *mut GBookmarkFile,
10790        uri: *const gchar,
10791        name: *const gchar,
10792        error: *mut *mut GError,
10793    ) -> gboolean;
10794}
10795extern "C" {
10796    pub fn g_bookmark_file_remove_item(
10797        bookmark: *mut GBookmarkFile,
10798        uri: *const gchar,
10799        error: *mut *mut GError,
10800    ) -> gboolean;
10801}
10802extern "C" {
10803    pub fn g_bookmark_file_move_item(
10804        bookmark: *mut GBookmarkFile,
10805        old_uri: *const gchar,
10806        new_uri: *const gchar,
10807        error: *mut *mut GError,
10808    ) -> gboolean;
10809}
10810extern "C" {
10811    pub fn g_bytes_new(data: gconstpointer, size: gsize) -> *mut GBytes;
10812}
10813extern "C" {
10814    pub fn g_bytes_new_take(data: gpointer, size: gsize) -> *mut GBytes;
10815}
10816extern "C" {
10817    pub fn g_bytes_new_static(data: gconstpointer, size: gsize) -> *mut GBytes;
10818}
10819extern "C" {
10820    pub fn g_bytes_new_with_free_func(
10821        data: gconstpointer,
10822        size: gsize,
10823        free_func: GDestroyNotify,
10824        user_data: gpointer,
10825    ) -> *mut GBytes;
10826}
10827extern "C" {
10828    pub fn g_bytes_new_from_bytes(bytes: *mut GBytes, offset: gsize, length: gsize) -> *mut GBytes;
10829}
10830extern "C" {
10831    pub fn g_bytes_get_data(bytes: *mut GBytes, size: *mut gsize) -> gconstpointer;
10832}
10833extern "C" {
10834    pub fn g_bytes_get_size(bytes: *mut GBytes) -> gsize;
10835}
10836extern "C" {
10837    pub fn g_bytes_ref(bytes: *mut GBytes) -> *mut GBytes;
10838}
10839extern "C" {
10840    pub fn g_bytes_unref(bytes: *mut GBytes);
10841}
10842extern "C" {
10843    pub fn g_bytes_unref_to_data(bytes: *mut GBytes, size: *mut gsize) -> gpointer;
10844}
10845extern "C" {
10846    pub fn g_bytes_unref_to_array(bytes: *mut GBytes) -> *mut GByteArray;
10847}
10848extern "C" {
10849    pub fn g_bytes_hash(bytes: gconstpointer) -> guint;
10850}
10851extern "C" {
10852    pub fn g_bytes_equal(bytes1: gconstpointer, bytes2: gconstpointer) -> gboolean;
10853}
10854extern "C" {
10855    pub fn g_bytes_compare(bytes1: gconstpointer, bytes2: gconstpointer) -> gint;
10856}
10857extern "C" {
10858    pub fn g_bytes_get_region(
10859        bytes: *mut GBytes,
10860        element_size: gsize,
10861        offset: gsize,
10862        n_elements: gsize,
10863    ) -> gconstpointer;
10864}
10865extern "C" {
10866    pub fn g_get_charset(charset: *mut *const ::std::os::raw::c_char) -> gboolean;
10867}
10868extern "C" {
10869    pub fn g_get_codeset() -> *mut gchar;
10870}
10871extern "C" {
10872    pub fn g_get_console_charset(charset: *mut *const ::std::os::raw::c_char) -> gboolean;
10873}
10874extern "C" {
10875    pub fn g_get_language_names() -> *const *const gchar;
10876}
10877extern "C" {
10878    pub fn g_get_language_names_with_category(category_name: *const gchar) -> *const *const gchar;
10879}
10880extern "C" {
10881    pub fn g_get_locale_variants(locale: *const gchar) -> *mut *mut gchar;
10882}
10883pub const GChecksumType_G_CHECKSUM_MD5: GChecksumType = 0;
10884pub const GChecksumType_G_CHECKSUM_SHA1: GChecksumType = 1;
10885pub const GChecksumType_G_CHECKSUM_SHA256: GChecksumType = 2;
10886pub const GChecksumType_G_CHECKSUM_SHA512: GChecksumType = 3;
10887pub const GChecksumType_G_CHECKSUM_SHA384: GChecksumType = 4;
10888#[doc = " GChecksumType:\n @G_CHECKSUM_MD5: Use the MD5 hashing algorithm\n @G_CHECKSUM_SHA1: Use the SHA-1 hashing algorithm\n @G_CHECKSUM_SHA256: Use the SHA-256 hashing algorithm\n @G_CHECKSUM_SHA384: Use the SHA-384 hashing algorithm (Since: 2.51)\n @G_CHECKSUM_SHA512: Use the SHA-512 hashing algorithm (Since: 2.36)\n\n The hashing algorithm to be used by #GChecksum when performing the\n digest of some data.\n\n Note that the #GChecksumType enumeration may be extended at a later\n date to include new hashing algorithm types.\n\n Since: 2.16"]
10889pub type GChecksumType = ::std::os::raw::c_uint;
10890#[repr(C)]
10891#[derive(Debug, Copy, Clone)]
10892pub struct _GChecksum {
10893    _unused: [u8; 0],
10894}
10895#[doc = " GChecksum:\n\n An opaque structure representing a checksumming operation.\n\n To create a new GChecksum, use g_checksum_new(). To free\n a GChecksum, use g_checksum_free().\n\n Since: 2.16"]
10896pub type GChecksum = _GChecksum;
10897extern "C" {
10898    pub fn g_checksum_type_get_length(checksum_type: GChecksumType) -> gssize;
10899}
10900extern "C" {
10901    pub fn g_checksum_new(checksum_type: GChecksumType) -> *mut GChecksum;
10902}
10903extern "C" {
10904    pub fn g_checksum_reset(checksum: *mut GChecksum);
10905}
10906extern "C" {
10907    pub fn g_checksum_copy(checksum: *const GChecksum) -> *mut GChecksum;
10908}
10909extern "C" {
10910    pub fn g_checksum_free(checksum: *mut GChecksum);
10911}
10912extern "C" {
10913    pub fn g_checksum_update(checksum: *mut GChecksum, data: *const guchar, length: gssize);
10914}
10915extern "C" {
10916    pub fn g_checksum_get_string(checksum: *mut GChecksum) -> *const gchar;
10917}
10918extern "C" {
10919    pub fn g_checksum_get_digest(
10920        checksum: *mut GChecksum,
10921        buffer: *mut guint8,
10922        digest_len: *mut gsize,
10923    );
10924}
10925extern "C" {
10926    pub fn g_compute_checksum_for_data(
10927        checksum_type: GChecksumType,
10928        data: *const guchar,
10929        length: gsize,
10930    ) -> *mut gchar;
10931}
10932extern "C" {
10933    pub fn g_compute_checksum_for_string(
10934        checksum_type: GChecksumType,
10935        str_: *const gchar,
10936        length: gssize,
10937    ) -> *mut gchar;
10938}
10939extern "C" {
10940    pub fn g_compute_checksum_for_bytes(
10941        checksum_type: GChecksumType,
10942        data: *mut GBytes,
10943    ) -> *mut gchar;
10944}
10945pub const GConvertError_G_CONVERT_ERROR_NO_CONVERSION: GConvertError = 0;
10946pub const GConvertError_G_CONVERT_ERROR_ILLEGAL_SEQUENCE: GConvertError = 1;
10947pub const GConvertError_G_CONVERT_ERROR_FAILED: GConvertError = 2;
10948pub const GConvertError_G_CONVERT_ERROR_PARTIAL_INPUT: GConvertError = 3;
10949pub const GConvertError_G_CONVERT_ERROR_BAD_URI: GConvertError = 4;
10950pub const GConvertError_G_CONVERT_ERROR_NOT_ABSOLUTE_PATH: GConvertError = 5;
10951pub const GConvertError_G_CONVERT_ERROR_NO_MEMORY: GConvertError = 6;
10952pub const GConvertError_G_CONVERT_ERROR_EMBEDDED_NUL: GConvertError = 7;
10953#[doc = " GConvertError:\n @G_CONVERT_ERROR_NO_CONVERSION: Conversion between the requested character\n     sets is not supported.\n @G_CONVERT_ERROR_ILLEGAL_SEQUENCE: Invalid byte sequence in conversion input;\n    or the character sequence could not be represented in the target\n    character set.\n @G_CONVERT_ERROR_FAILED: Conversion failed for some reason.\n @G_CONVERT_ERROR_PARTIAL_INPUT: Partial character sequence at end of input.\n @G_CONVERT_ERROR_BAD_URI: URI is invalid.\n @G_CONVERT_ERROR_NOT_ABSOLUTE_PATH: Pathname is not an absolute path.\n @G_CONVERT_ERROR_NO_MEMORY: No memory available. Since: 2.40\n @G_CONVERT_ERROR_EMBEDDED_NUL: An embedded NUL character is present in\n     conversion output where a NUL-terminated string is expected.\n     Since: 2.56\n\n Error codes returned by character set conversion routines."]
10954pub type GConvertError = ::std::os::raw::c_uint;
10955extern "C" {
10956    pub fn g_convert_error_quark() -> GQuark;
10957}
10958#[repr(C)]
10959#[derive(Debug, Copy, Clone)]
10960pub struct _GIConv {
10961    _unused: [u8; 0],
10962}
10963#[doc = " GIConv: (skip)\n\n The GIConv struct wraps an iconv() conversion descriptor. It contains\n private data and should only be accessed using the following functions."]
10964pub type GIConv = *mut _GIConv;
10965extern "C" {
10966    pub fn g_iconv_open(to_codeset: *const gchar, from_codeset: *const gchar) -> GIConv;
10967}
10968extern "C" {
10969    pub fn g_iconv(
10970        converter: GIConv,
10971        inbuf: *mut *mut gchar,
10972        inbytes_left: *mut gsize,
10973        outbuf: *mut *mut gchar,
10974        outbytes_left: *mut gsize,
10975    ) -> gsize;
10976}
10977extern "C" {
10978    pub fn g_iconv_close(converter: GIConv) -> gint;
10979}
10980extern "C" {
10981    pub fn g_convert(
10982        str_: *const gchar,
10983        len: gssize,
10984        to_codeset: *const gchar,
10985        from_codeset: *const gchar,
10986        bytes_read: *mut gsize,
10987        bytes_written: *mut gsize,
10988        error: *mut *mut GError,
10989    ) -> *mut gchar;
10990}
10991extern "C" {
10992    pub fn g_convert_with_iconv(
10993        str_: *const gchar,
10994        len: gssize,
10995        converter: GIConv,
10996        bytes_read: *mut gsize,
10997        bytes_written: *mut gsize,
10998        error: *mut *mut GError,
10999    ) -> *mut gchar;
11000}
11001extern "C" {
11002    pub fn g_convert_with_fallback(
11003        str_: *const gchar,
11004        len: gssize,
11005        to_codeset: *const gchar,
11006        from_codeset: *const gchar,
11007        fallback: *const gchar,
11008        bytes_read: *mut gsize,
11009        bytes_written: *mut gsize,
11010        error: *mut *mut GError,
11011    ) -> *mut gchar;
11012}
11013extern "C" {
11014    pub fn g_locale_to_utf8(
11015        opsysstring: *const gchar,
11016        len: gssize,
11017        bytes_read: *mut gsize,
11018        bytes_written: *mut gsize,
11019        error: *mut *mut GError,
11020    ) -> *mut gchar;
11021}
11022extern "C" {
11023    pub fn g_locale_from_utf8(
11024        utf8string: *const gchar,
11025        len: gssize,
11026        bytes_read: *mut gsize,
11027        bytes_written: *mut gsize,
11028        error: *mut *mut GError,
11029    ) -> *mut gchar;
11030}
11031extern "C" {
11032    pub fn g_filename_to_utf8(
11033        opsysstring: *const gchar,
11034        len: gssize,
11035        bytes_read: *mut gsize,
11036        bytes_written: *mut gsize,
11037        error: *mut *mut GError,
11038    ) -> *mut gchar;
11039}
11040extern "C" {
11041    pub fn g_filename_from_utf8(
11042        utf8string: *const gchar,
11043        len: gssize,
11044        bytes_read: *mut gsize,
11045        bytes_written: *mut gsize,
11046        error: *mut *mut GError,
11047    ) -> *mut gchar;
11048}
11049extern "C" {
11050    pub fn g_filename_from_uri(
11051        uri: *const gchar,
11052        hostname: *mut *mut gchar,
11053        error: *mut *mut GError,
11054    ) -> *mut gchar;
11055}
11056extern "C" {
11057    pub fn g_filename_to_uri(
11058        filename: *const gchar,
11059        hostname: *const gchar,
11060        error: *mut *mut GError,
11061    ) -> *mut gchar;
11062}
11063extern "C" {
11064    pub fn g_filename_display_name(filename: *const gchar) -> *mut gchar;
11065}
11066extern "C" {
11067    pub fn g_get_filename_charsets(filename_charsets: *mut *mut *const gchar) -> gboolean;
11068}
11069extern "C" {
11070    pub fn g_filename_display_basename(filename: *const gchar) -> *mut gchar;
11071}
11072extern "C" {
11073    pub fn g_uri_list_extract_uris(uri_list: *const gchar) -> *mut *mut gchar;
11074}
11075#[repr(C)]
11076#[derive(Debug, Copy, Clone)]
11077pub struct _GData {
11078    _unused: [u8; 0],
11079}
11080pub type GData = _GData;
11081pub type GDataForeachFunc = ::std::option::Option<
11082    unsafe extern "C" fn(key_id: GQuark, data: gpointer, user_data: gpointer),
11083>;
11084extern "C" {
11085    pub fn g_datalist_init(datalist: *mut *mut GData);
11086}
11087extern "C" {
11088    pub fn g_datalist_clear(datalist: *mut *mut GData);
11089}
11090extern "C" {
11091    pub fn g_datalist_id_get_data(datalist: *mut *mut GData, key_id: GQuark) -> gpointer;
11092}
11093extern "C" {
11094    pub fn g_datalist_id_set_data_full(
11095        datalist: *mut *mut GData,
11096        key_id: GQuark,
11097        data: gpointer,
11098        destroy_func: GDestroyNotify,
11099    );
11100}
11101extern "C" {
11102    pub fn g_datalist_id_remove_multiple(
11103        datalist: *mut *mut GData,
11104        keys: *mut GQuark,
11105        n_keys: gsize,
11106    );
11107}
11108pub type GDuplicateFunc =
11109    ::std::option::Option<unsafe extern "C" fn(data: gpointer, user_data: gpointer) -> gpointer>;
11110extern "C" {
11111    pub fn g_datalist_id_dup_data(
11112        datalist: *mut *mut GData,
11113        key_id: GQuark,
11114        dup_func: GDuplicateFunc,
11115        user_data: gpointer,
11116    ) -> gpointer;
11117}
11118extern "C" {
11119    pub fn g_datalist_id_replace_data(
11120        datalist: *mut *mut GData,
11121        key_id: GQuark,
11122        oldval: gpointer,
11123        newval: gpointer,
11124        destroy: GDestroyNotify,
11125        old_destroy: *mut GDestroyNotify,
11126    ) -> gboolean;
11127}
11128extern "C" {
11129    pub fn g_datalist_id_remove_no_notify(datalist: *mut *mut GData, key_id: GQuark) -> gpointer;
11130}
11131extern "C" {
11132    pub fn g_datalist_foreach(
11133        datalist: *mut *mut GData,
11134        func: GDataForeachFunc,
11135        user_data: gpointer,
11136    );
11137}
11138extern "C" {
11139    pub fn g_datalist_set_flags(datalist: *mut *mut GData, flags: guint);
11140}
11141extern "C" {
11142    pub fn g_datalist_unset_flags(datalist: *mut *mut GData, flags: guint);
11143}
11144extern "C" {
11145    pub fn g_datalist_get_flags(datalist: *mut *mut GData) -> guint;
11146}
11147extern "C" {
11148    pub fn g_dataset_destroy(dataset_location: gconstpointer);
11149}
11150extern "C" {
11151    pub fn g_dataset_id_get_data(dataset_location: gconstpointer, key_id: GQuark) -> gpointer;
11152}
11153extern "C" {
11154    pub fn g_datalist_get_data(datalist: *mut *mut GData, key: *const gchar) -> gpointer;
11155}
11156extern "C" {
11157    pub fn g_dataset_id_set_data_full(
11158        dataset_location: gconstpointer,
11159        key_id: GQuark,
11160        data: gpointer,
11161        destroy_func: GDestroyNotify,
11162    );
11163}
11164extern "C" {
11165    pub fn g_dataset_id_remove_no_notify(
11166        dataset_location: gconstpointer,
11167        key_id: GQuark,
11168    ) -> gpointer;
11169}
11170extern "C" {
11171    pub fn g_dataset_foreach(
11172        dataset_location: gconstpointer,
11173        func: GDataForeachFunc,
11174        user_data: gpointer,
11175    );
11176}
11177pub type GTime = gint32;
11178pub type GDateYear = guint16;
11179pub type GDateDay = guint8;
11180pub type GDate = _GDate;
11181pub const GDateDMY_G_DATE_DAY: GDateDMY = 0;
11182pub const GDateDMY_G_DATE_MONTH: GDateDMY = 1;
11183pub const GDateDMY_G_DATE_YEAR: GDateDMY = 2;
11184pub type GDateDMY = ::std::os::raw::c_uint;
11185pub const GDateWeekday_G_DATE_BAD_WEEKDAY: GDateWeekday = 0;
11186pub const GDateWeekday_G_DATE_MONDAY: GDateWeekday = 1;
11187pub const GDateWeekday_G_DATE_TUESDAY: GDateWeekday = 2;
11188pub const GDateWeekday_G_DATE_WEDNESDAY: GDateWeekday = 3;
11189pub const GDateWeekday_G_DATE_THURSDAY: GDateWeekday = 4;
11190pub const GDateWeekday_G_DATE_FRIDAY: GDateWeekday = 5;
11191pub const GDateWeekday_G_DATE_SATURDAY: GDateWeekday = 6;
11192pub const GDateWeekday_G_DATE_SUNDAY: GDateWeekday = 7;
11193pub type GDateWeekday = ::std::os::raw::c_uint;
11194pub const GDateMonth_G_DATE_BAD_MONTH: GDateMonth = 0;
11195pub const GDateMonth_G_DATE_JANUARY: GDateMonth = 1;
11196pub const GDateMonth_G_DATE_FEBRUARY: GDateMonth = 2;
11197pub const GDateMonth_G_DATE_MARCH: GDateMonth = 3;
11198pub const GDateMonth_G_DATE_APRIL: GDateMonth = 4;
11199pub const GDateMonth_G_DATE_MAY: GDateMonth = 5;
11200pub const GDateMonth_G_DATE_JUNE: GDateMonth = 6;
11201pub const GDateMonth_G_DATE_JULY: GDateMonth = 7;
11202pub const GDateMonth_G_DATE_AUGUST: GDateMonth = 8;
11203pub const GDateMonth_G_DATE_SEPTEMBER: GDateMonth = 9;
11204pub const GDateMonth_G_DATE_OCTOBER: GDateMonth = 10;
11205pub const GDateMonth_G_DATE_NOVEMBER: GDateMonth = 11;
11206pub const GDateMonth_G_DATE_DECEMBER: GDateMonth = 12;
11207pub type GDateMonth = ::std::os::raw::c_uint;
11208#[repr(C)]
11209#[repr(align(4))]
11210#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11211pub struct _GDate {
11212    pub _bitfield_align_1: [u32; 0],
11213    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
11214}
11215#[test]
11216fn bindgen_test_layout__GDate() {
11217    assert_eq!(
11218        ::std::mem::size_of::<_GDate>(),
11219        8usize,
11220        concat!("Size of: ", stringify!(_GDate))
11221    );
11222    assert_eq!(
11223        ::std::mem::align_of::<_GDate>(),
11224        4usize,
11225        concat!("Alignment of ", stringify!(_GDate))
11226    );
11227}
11228impl _GDate {
11229    #[inline]
11230    pub fn julian_days(&self) -> guint {
11231        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 32u8) as u32) }
11232    }
11233    #[inline]
11234    pub fn set_julian_days(&mut self, val: guint) {
11235        unsafe {
11236            let val: u32 = ::std::mem::transmute(val);
11237            self._bitfield_1.set(0usize, 32u8, val as u64)
11238        }
11239    }
11240    #[inline]
11241    pub fn julian(&self) -> guint {
11242        unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 1u8) as u32) }
11243    }
11244    #[inline]
11245    pub fn set_julian(&mut self, val: guint) {
11246        unsafe {
11247            let val: u32 = ::std::mem::transmute(val);
11248            self._bitfield_1.set(32usize, 1u8, val as u64)
11249        }
11250    }
11251    #[inline]
11252    pub fn dmy(&self) -> guint {
11253        unsafe { ::std::mem::transmute(self._bitfield_1.get(33usize, 1u8) as u32) }
11254    }
11255    #[inline]
11256    pub fn set_dmy(&mut self, val: guint) {
11257        unsafe {
11258            let val: u32 = ::std::mem::transmute(val);
11259            self._bitfield_1.set(33usize, 1u8, val as u64)
11260        }
11261    }
11262    #[inline]
11263    pub fn day(&self) -> guint {
11264        unsafe { ::std::mem::transmute(self._bitfield_1.get(34usize, 6u8) as u32) }
11265    }
11266    #[inline]
11267    pub fn set_day(&mut self, val: guint) {
11268        unsafe {
11269            let val: u32 = ::std::mem::transmute(val);
11270            self._bitfield_1.set(34usize, 6u8, val as u64)
11271        }
11272    }
11273    #[inline]
11274    pub fn month(&self) -> guint {
11275        unsafe { ::std::mem::transmute(self._bitfield_1.get(40usize, 4u8) as u32) }
11276    }
11277    #[inline]
11278    pub fn set_month(&mut self, val: guint) {
11279        unsafe {
11280            let val: u32 = ::std::mem::transmute(val);
11281            self._bitfield_1.set(40usize, 4u8, val as u64)
11282        }
11283    }
11284    #[inline]
11285    pub fn year(&self) -> guint {
11286        unsafe { ::std::mem::transmute(self._bitfield_1.get(44usize, 16u8) as u32) }
11287    }
11288    #[inline]
11289    pub fn set_year(&mut self, val: guint) {
11290        unsafe {
11291            let val: u32 = ::std::mem::transmute(val);
11292            self._bitfield_1.set(44usize, 16u8, val as u64)
11293        }
11294    }
11295    #[inline]
11296    pub fn new_bitfield_1(
11297        julian_days: guint,
11298        julian: guint,
11299        dmy: guint,
11300        day: guint,
11301        month: guint,
11302        year: guint,
11303    ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
11304        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
11305        __bindgen_bitfield_unit.set(0usize, 32u8, {
11306            let julian_days: u32 = unsafe { ::std::mem::transmute(julian_days) };
11307            julian_days as u64
11308        });
11309        __bindgen_bitfield_unit.set(32usize, 1u8, {
11310            let julian: u32 = unsafe { ::std::mem::transmute(julian) };
11311            julian as u64
11312        });
11313        __bindgen_bitfield_unit.set(33usize, 1u8, {
11314            let dmy: u32 = unsafe { ::std::mem::transmute(dmy) };
11315            dmy as u64
11316        });
11317        __bindgen_bitfield_unit.set(34usize, 6u8, {
11318            let day: u32 = unsafe { ::std::mem::transmute(day) };
11319            day as u64
11320        });
11321        __bindgen_bitfield_unit.set(40usize, 4u8, {
11322            let month: u32 = unsafe { ::std::mem::transmute(month) };
11323            month as u64
11324        });
11325        __bindgen_bitfield_unit.set(44usize, 16u8, {
11326            let year: u32 = unsafe { ::std::mem::transmute(year) };
11327            year as u64
11328        });
11329        __bindgen_bitfield_unit
11330    }
11331}
11332extern "C" {
11333    pub fn g_date_new() -> *mut GDate;
11334}
11335extern "C" {
11336    pub fn g_date_new_dmy(day: GDateDay, month: GDateMonth, year: GDateYear) -> *mut GDate;
11337}
11338extern "C" {
11339    pub fn g_date_new_julian(julian_day: guint32) -> *mut GDate;
11340}
11341extern "C" {
11342    pub fn g_date_free(date: *mut GDate);
11343}
11344extern "C" {
11345    pub fn g_date_copy(date: *const GDate) -> *mut GDate;
11346}
11347extern "C" {
11348    pub fn g_date_valid(date: *const GDate) -> gboolean;
11349}
11350extern "C" {
11351    pub fn g_date_valid_day(day: GDateDay) -> gboolean;
11352}
11353extern "C" {
11354    pub fn g_date_valid_month(month: GDateMonth) -> gboolean;
11355}
11356extern "C" {
11357    pub fn g_date_valid_year(year: GDateYear) -> gboolean;
11358}
11359extern "C" {
11360    pub fn g_date_valid_weekday(weekday: GDateWeekday) -> gboolean;
11361}
11362extern "C" {
11363    pub fn g_date_valid_julian(julian_date: guint32) -> gboolean;
11364}
11365extern "C" {
11366    pub fn g_date_valid_dmy(day: GDateDay, month: GDateMonth, year: GDateYear) -> gboolean;
11367}
11368extern "C" {
11369    pub fn g_date_get_weekday(date: *const GDate) -> GDateWeekday;
11370}
11371extern "C" {
11372    pub fn g_date_get_month(date: *const GDate) -> GDateMonth;
11373}
11374extern "C" {
11375    pub fn g_date_get_year(date: *const GDate) -> GDateYear;
11376}
11377extern "C" {
11378    pub fn g_date_get_day(date: *const GDate) -> GDateDay;
11379}
11380extern "C" {
11381    pub fn g_date_get_julian(date: *const GDate) -> guint32;
11382}
11383extern "C" {
11384    pub fn g_date_get_day_of_year(date: *const GDate) -> guint;
11385}
11386extern "C" {
11387    pub fn g_date_get_monday_week_of_year(date: *const GDate) -> guint;
11388}
11389extern "C" {
11390    pub fn g_date_get_sunday_week_of_year(date: *const GDate) -> guint;
11391}
11392extern "C" {
11393    pub fn g_date_get_iso8601_week_of_year(date: *const GDate) -> guint;
11394}
11395extern "C" {
11396    pub fn g_date_clear(date: *mut GDate, n_dates: guint);
11397}
11398extern "C" {
11399    pub fn g_date_set_parse(date: *mut GDate, str_: *const gchar);
11400}
11401extern "C" {
11402    pub fn g_date_set_time_t(date: *mut GDate, timet: time_t);
11403}
11404extern "C" {
11405    pub fn g_date_set_time_val(date: *mut GDate, timeval: *mut GTimeVal);
11406}
11407extern "C" {
11408    pub fn g_date_set_time(date: *mut GDate, time_: GTime);
11409}
11410extern "C" {
11411    pub fn g_date_set_month(date: *mut GDate, month: GDateMonth);
11412}
11413extern "C" {
11414    pub fn g_date_set_day(date: *mut GDate, day: GDateDay);
11415}
11416extern "C" {
11417    pub fn g_date_set_year(date: *mut GDate, year: GDateYear);
11418}
11419extern "C" {
11420    pub fn g_date_set_dmy(date: *mut GDate, day: GDateDay, month: GDateMonth, y: GDateYear);
11421}
11422extern "C" {
11423    pub fn g_date_set_julian(date: *mut GDate, julian_date: guint32);
11424}
11425extern "C" {
11426    pub fn g_date_is_first_of_month(date: *const GDate) -> gboolean;
11427}
11428extern "C" {
11429    pub fn g_date_is_last_of_month(date: *const GDate) -> gboolean;
11430}
11431extern "C" {
11432    pub fn g_date_add_days(date: *mut GDate, n_days: guint);
11433}
11434extern "C" {
11435    pub fn g_date_subtract_days(date: *mut GDate, n_days: guint);
11436}
11437extern "C" {
11438    pub fn g_date_add_months(date: *mut GDate, n_months: guint);
11439}
11440extern "C" {
11441    pub fn g_date_subtract_months(date: *mut GDate, n_months: guint);
11442}
11443extern "C" {
11444    pub fn g_date_add_years(date: *mut GDate, n_years: guint);
11445}
11446extern "C" {
11447    pub fn g_date_subtract_years(date: *mut GDate, n_years: guint);
11448}
11449extern "C" {
11450    pub fn g_date_is_leap_year(year: GDateYear) -> gboolean;
11451}
11452extern "C" {
11453    pub fn g_date_get_days_in_month(month: GDateMonth, year: GDateYear) -> guint8;
11454}
11455extern "C" {
11456    pub fn g_date_get_monday_weeks_in_year(year: GDateYear) -> guint8;
11457}
11458extern "C" {
11459    pub fn g_date_get_sunday_weeks_in_year(year: GDateYear) -> guint8;
11460}
11461extern "C" {
11462    pub fn g_date_days_between(date1: *const GDate, date2: *const GDate) -> gint;
11463}
11464extern "C" {
11465    pub fn g_date_compare(lhs: *const GDate, rhs: *const GDate) -> gint;
11466}
11467extern "C" {
11468    pub fn g_date_to_struct_tm(date: *const GDate, tm: *mut tm);
11469}
11470extern "C" {
11471    pub fn g_date_clamp(date: *mut GDate, min_date: *const GDate, max_date: *const GDate);
11472}
11473extern "C" {
11474    pub fn g_date_order(date1: *mut GDate, date2: *mut GDate);
11475}
11476extern "C" {
11477    pub fn g_date_strftime(
11478        s: *mut gchar,
11479        slen: gsize,
11480        format: *const gchar,
11481        date: *const GDate,
11482    ) -> gsize;
11483}
11484pub type ino_t = __darwin_ino_t;
11485#[repr(C)]
11486#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11487pub struct dirent {
11488    pub d_ino: __uint64_t,
11489    pub d_seekoff: __uint64_t,
11490    pub d_reclen: __uint16_t,
11491    pub d_namlen: __uint16_t,
11492    pub d_type: __uint8_t,
11493    pub d_name: [::std::os::raw::c_char; 1024usize],
11494}
11495#[test]
11496fn bindgen_test_layout_dirent() {
11497    const UNINIT: ::std::mem::MaybeUninit<dirent> = ::std::mem::MaybeUninit::uninit();
11498    let ptr = UNINIT.as_ptr();
11499    assert_eq!(
11500        ::std::mem::size_of::<dirent>(),
11501        1048usize,
11502        concat!("Size of: ", stringify!(dirent))
11503    );
11504    assert_eq!(
11505        ::std::mem::align_of::<dirent>(),
11506        8usize,
11507        concat!("Alignment of ", stringify!(dirent))
11508    );
11509    assert_eq!(
11510        unsafe { ::std::ptr::addr_of!((*ptr).d_ino) as usize - ptr as usize },
11511        0usize,
11512        concat!(
11513            "Offset of field: ",
11514            stringify!(dirent),
11515            "::",
11516            stringify!(d_ino)
11517        )
11518    );
11519    assert_eq!(
11520        unsafe { ::std::ptr::addr_of!((*ptr).d_seekoff) as usize - ptr as usize },
11521        8usize,
11522        concat!(
11523            "Offset of field: ",
11524            stringify!(dirent),
11525            "::",
11526            stringify!(d_seekoff)
11527        )
11528    );
11529    assert_eq!(
11530        unsafe { ::std::ptr::addr_of!((*ptr).d_reclen) as usize - ptr as usize },
11531        16usize,
11532        concat!(
11533            "Offset of field: ",
11534            stringify!(dirent),
11535            "::",
11536            stringify!(d_reclen)
11537        )
11538    );
11539    assert_eq!(
11540        unsafe { ::std::ptr::addr_of!((*ptr).d_namlen) as usize - ptr as usize },
11541        18usize,
11542        concat!(
11543            "Offset of field: ",
11544            stringify!(dirent),
11545            "::",
11546            stringify!(d_namlen)
11547        )
11548    );
11549    assert_eq!(
11550        unsafe { ::std::ptr::addr_of!((*ptr).d_type) as usize - ptr as usize },
11551        20usize,
11552        concat!(
11553            "Offset of field: ",
11554            stringify!(dirent),
11555            "::",
11556            stringify!(d_type)
11557        )
11558    );
11559    assert_eq!(
11560        unsafe { ::std::ptr::addr_of!((*ptr).d_name) as usize - ptr as usize },
11561        21usize,
11562        concat!(
11563            "Offset of field: ",
11564            stringify!(dirent),
11565            "::",
11566            stringify!(d_name)
11567        )
11568    );
11569}
11570#[repr(C)]
11571#[derive(Debug, Copy, Clone)]
11572pub struct _telldir {
11573    _unused: [u8; 0],
11574}
11575#[repr(C)]
11576#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11577pub struct DIR {
11578    pub __dd_fd: ::std::os::raw::c_int,
11579    pub __dd_loc: ::std::os::raw::c_long,
11580    pub __dd_size: ::std::os::raw::c_long,
11581    pub __dd_buf: *mut ::std::os::raw::c_char,
11582    pub __dd_len: ::std::os::raw::c_int,
11583    pub __dd_seek: ::std::os::raw::c_long,
11584    pub __padding: ::std::os::raw::c_long,
11585    pub __dd_flags: ::std::os::raw::c_int,
11586    pub __dd_lock: __darwin_pthread_mutex_t,
11587    pub __dd_td: *mut _telldir,
11588}
11589#[test]
11590fn bindgen_test_layout_DIR() {
11591    const UNINIT: ::std::mem::MaybeUninit<DIR> = ::std::mem::MaybeUninit::uninit();
11592    let ptr = UNINIT.as_ptr();
11593    assert_eq!(
11594        ::std::mem::size_of::<DIR>(),
11595        136usize,
11596        concat!("Size of: ", stringify!(DIR))
11597    );
11598    assert_eq!(
11599        ::std::mem::align_of::<DIR>(),
11600        8usize,
11601        concat!("Alignment of ", stringify!(DIR))
11602    );
11603    assert_eq!(
11604        unsafe { ::std::ptr::addr_of!((*ptr).__dd_fd) as usize - ptr as usize },
11605        0usize,
11606        concat!(
11607            "Offset of field: ",
11608            stringify!(DIR),
11609            "::",
11610            stringify!(__dd_fd)
11611        )
11612    );
11613    assert_eq!(
11614        unsafe { ::std::ptr::addr_of!((*ptr).__dd_loc) as usize - ptr as usize },
11615        8usize,
11616        concat!(
11617            "Offset of field: ",
11618            stringify!(DIR),
11619            "::",
11620            stringify!(__dd_loc)
11621        )
11622    );
11623    assert_eq!(
11624        unsafe { ::std::ptr::addr_of!((*ptr).__dd_size) as usize - ptr as usize },
11625        16usize,
11626        concat!(
11627            "Offset of field: ",
11628            stringify!(DIR),
11629            "::",
11630            stringify!(__dd_size)
11631        )
11632    );
11633    assert_eq!(
11634        unsafe { ::std::ptr::addr_of!((*ptr).__dd_buf) as usize - ptr as usize },
11635        24usize,
11636        concat!(
11637            "Offset of field: ",
11638            stringify!(DIR),
11639            "::",
11640            stringify!(__dd_buf)
11641        )
11642    );
11643    assert_eq!(
11644        unsafe { ::std::ptr::addr_of!((*ptr).__dd_len) as usize - ptr as usize },
11645        32usize,
11646        concat!(
11647            "Offset of field: ",
11648            stringify!(DIR),
11649            "::",
11650            stringify!(__dd_len)
11651        )
11652    );
11653    assert_eq!(
11654        unsafe { ::std::ptr::addr_of!((*ptr).__dd_seek) as usize - ptr as usize },
11655        40usize,
11656        concat!(
11657            "Offset of field: ",
11658            stringify!(DIR),
11659            "::",
11660            stringify!(__dd_seek)
11661        )
11662    );
11663    assert_eq!(
11664        unsafe { ::std::ptr::addr_of!((*ptr).__padding) as usize - ptr as usize },
11665        48usize,
11666        concat!(
11667            "Offset of field: ",
11668            stringify!(DIR),
11669            "::",
11670            stringify!(__padding)
11671        )
11672    );
11673    assert_eq!(
11674        unsafe { ::std::ptr::addr_of!((*ptr).__dd_flags) as usize - ptr as usize },
11675        56usize,
11676        concat!(
11677            "Offset of field: ",
11678            stringify!(DIR),
11679            "::",
11680            stringify!(__dd_flags)
11681        )
11682    );
11683    assert_eq!(
11684        unsafe { ::std::ptr::addr_of!((*ptr).__dd_lock) as usize - ptr as usize },
11685        64usize,
11686        concat!(
11687            "Offset of field: ",
11688            stringify!(DIR),
11689            "::",
11690            stringify!(__dd_lock)
11691        )
11692    );
11693    assert_eq!(
11694        unsafe { ::std::ptr::addr_of!((*ptr).__dd_td) as usize - ptr as usize },
11695        128usize,
11696        concat!(
11697            "Offset of field: ",
11698            stringify!(DIR),
11699            "::",
11700            stringify!(__dd_td)
11701        )
11702    );
11703}
11704extern "C" {
11705    pub fn closedir(arg1: *mut DIR) -> ::std::os::raw::c_int;
11706}
11707extern "C" {
11708    pub fn opendir(arg1: *const ::std::os::raw::c_char) -> *mut DIR;
11709}
11710extern "C" {
11711    pub fn readdir(arg1: *mut DIR) -> *mut dirent;
11712}
11713extern "C" {
11714    pub fn readdir_r(
11715        arg1: *mut DIR,
11716        arg2: *mut dirent,
11717        arg3: *mut *mut dirent,
11718    ) -> ::std::os::raw::c_int;
11719}
11720extern "C" {
11721    pub fn rewinddir(arg1: *mut DIR);
11722}
11723extern "C" {
11724    pub fn seekdir(arg1: *mut DIR, arg2: ::std::os::raw::c_long);
11725}
11726extern "C" {
11727    pub fn telldir(arg1: *mut DIR) -> ::std::os::raw::c_long;
11728}
11729extern "C" {
11730    pub fn fdopendir(arg1: ::std::os::raw::c_int) -> *mut DIR;
11731}
11732extern "C" {
11733    pub fn alphasort(arg1: *mut *const dirent, arg2: *mut *const dirent) -> ::std::os::raw::c_int;
11734}
11735extern "C" {
11736    pub fn dirfd(dirp: *mut DIR) -> ::std::os::raw::c_int;
11737}
11738extern "C" {
11739    pub fn scandir(
11740        arg1: *const ::std::os::raw::c_char,
11741        arg2: *mut *mut *mut dirent,
11742        arg3: ::std::option::Option<
11743            unsafe extern "C" fn(arg1: *const dirent) -> ::std::os::raw::c_int,
11744        >,
11745        arg4: ::std::option::Option<
11746            unsafe extern "C" fn(
11747                arg1: *mut *const dirent,
11748                arg2: *mut *const dirent,
11749            ) -> ::std::os::raw::c_int,
11750        >,
11751    ) -> ::std::os::raw::c_int;
11752}
11753extern "C" {
11754    pub fn scandir_b(
11755        arg1: *const ::std::os::raw::c_char,
11756        arg2: *mut *mut *mut dirent,
11757        arg3: *mut ::std::os::raw::c_void,
11758        arg4: *mut ::std::os::raw::c_void,
11759    ) -> ::std::os::raw::c_int;
11760}
11761extern "C" {
11762    #[link_name = "\u{1}_getdirentries_is_not_available_when_64_bit_inodes_are_in_effect"]
11763    pub fn getdirentries(
11764        arg1: ::std::os::raw::c_int,
11765        arg2: *mut ::std::os::raw::c_char,
11766        arg3: ::std::os::raw::c_int,
11767        arg4: *mut ::std::os::raw::c_long,
11768    ) -> ::std::os::raw::c_int;
11769}
11770extern "C" {
11771    pub fn __opendir2(arg1: *const ::std::os::raw::c_char, arg2: ::std::os::raw::c_int)
11772        -> *mut DIR;
11773}
11774#[repr(C)]
11775#[derive(Debug, Copy, Clone)]
11776pub struct _GDir {
11777    _unused: [u8; 0],
11778}
11779pub type GDir = _GDir;
11780extern "C" {
11781    pub fn g_dir_open(path: *const gchar, flags: guint, error: *mut *mut GError) -> *mut GDir;
11782}
11783extern "C" {
11784    pub fn g_dir_read_name(dir: *mut GDir) -> *const gchar;
11785}
11786extern "C" {
11787    pub fn g_dir_rewind(dir: *mut GDir);
11788}
11789extern "C" {
11790    pub fn g_dir_close(dir: *mut GDir);
11791}
11792extern "C" {
11793    pub fn g_getenv(variable: *const gchar) -> *const gchar;
11794}
11795extern "C" {
11796    pub fn g_setenv(variable: *const gchar, value: *const gchar, overwrite: gboolean) -> gboolean;
11797}
11798extern "C" {
11799    pub fn g_unsetenv(variable: *const gchar);
11800}
11801extern "C" {
11802    pub fn g_listenv() -> *mut *mut gchar;
11803}
11804extern "C" {
11805    pub fn g_get_environ() -> *mut *mut gchar;
11806}
11807extern "C" {
11808    pub fn g_environ_getenv(envp: *mut *mut gchar, variable: *const gchar) -> *const gchar;
11809}
11810extern "C" {
11811    pub fn g_environ_setenv(
11812        envp: *mut *mut gchar,
11813        variable: *const gchar,
11814        value: *const gchar,
11815        overwrite: gboolean,
11816    ) -> *mut *mut gchar;
11817}
11818extern "C" {
11819    pub fn g_environ_unsetenv(envp: *mut *mut gchar, variable: *const gchar) -> *mut *mut gchar;
11820}
11821pub const GFileError_G_FILE_ERROR_EXIST: GFileError = 0;
11822pub const GFileError_G_FILE_ERROR_ISDIR: GFileError = 1;
11823pub const GFileError_G_FILE_ERROR_ACCES: GFileError = 2;
11824pub const GFileError_G_FILE_ERROR_NAMETOOLONG: GFileError = 3;
11825pub const GFileError_G_FILE_ERROR_NOENT: GFileError = 4;
11826pub const GFileError_G_FILE_ERROR_NOTDIR: GFileError = 5;
11827pub const GFileError_G_FILE_ERROR_NXIO: GFileError = 6;
11828pub const GFileError_G_FILE_ERROR_NODEV: GFileError = 7;
11829pub const GFileError_G_FILE_ERROR_ROFS: GFileError = 8;
11830pub const GFileError_G_FILE_ERROR_TXTBSY: GFileError = 9;
11831pub const GFileError_G_FILE_ERROR_FAULT: GFileError = 10;
11832pub const GFileError_G_FILE_ERROR_LOOP: GFileError = 11;
11833pub const GFileError_G_FILE_ERROR_NOSPC: GFileError = 12;
11834pub const GFileError_G_FILE_ERROR_NOMEM: GFileError = 13;
11835pub const GFileError_G_FILE_ERROR_MFILE: GFileError = 14;
11836pub const GFileError_G_FILE_ERROR_NFILE: GFileError = 15;
11837pub const GFileError_G_FILE_ERROR_BADF: GFileError = 16;
11838pub const GFileError_G_FILE_ERROR_INVAL: GFileError = 17;
11839pub const GFileError_G_FILE_ERROR_PIPE: GFileError = 18;
11840pub const GFileError_G_FILE_ERROR_AGAIN: GFileError = 19;
11841pub const GFileError_G_FILE_ERROR_INTR: GFileError = 20;
11842pub const GFileError_G_FILE_ERROR_IO: GFileError = 21;
11843pub const GFileError_G_FILE_ERROR_PERM: GFileError = 22;
11844pub const GFileError_G_FILE_ERROR_NOSYS: GFileError = 23;
11845pub const GFileError_G_FILE_ERROR_FAILED: GFileError = 24;
11846pub type GFileError = ::std::os::raw::c_uint;
11847pub const GFileTest_G_FILE_TEST_IS_REGULAR: GFileTest = 1;
11848pub const GFileTest_G_FILE_TEST_IS_SYMLINK: GFileTest = 2;
11849pub const GFileTest_G_FILE_TEST_IS_DIR: GFileTest = 4;
11850pub const GFileTest_G_FILE_TEST_IS_EXECUTABLE: GFileTest = 8;
11851pub const GFileTest_G_FILE_TEST_EXISTS: GFileTest = 16;
11852pub type GFileTest = ::std::os::raw::c_uint;
11853pub const GFileSetContentsFlags_G_FILE_SET_CONTENTS_NONE: GFileSetContentsFlags = 0;
11854pub const GFileSetContentsFlags_G_FILE_SET_CONTENTS_CONSISTENT: GFileSetContentsFlags = 1;
11855pub const GFileSetContentsFlags_G_FILE_SET_CONTENTS_DURABLE: GFileSetContentsFlags = 2;
11856pub const GFileSetContentsFlags_G_FILE_SET_CONTENTS_ONLY_EXISTING: GFileSetContentsFlags = 4;
11857#[doc = " GFileSetContentsFlags:\n @G_FILE_SET_CONTENTS_NONE: No guarantees about file consistency or durability.\n   The most dangerous setting, which is slightly faster than other settings.\n @G_FILE_SET_CONTENTS_CONSISTENT: Guarantee file consistency: after a crash,\n   either the old version of the file or the new version of the file will be\n   available, but not a mixture. On Unix systems this equates to an `fsync()`\n   on the file and use of an atomic `rename()` of the new version of the file\n   over the old.\n @G_FILE_SET_CONTENTS_DURABLE: Guarantee file durability: after a crash, the\n   new version of the file will be available. On Unix systems this equates to\n   an `fsync()` on the file (if %G_FILE_SET_CONTENTS_CONSISTENT is unset), or\n   the effects of %G_FILE_SET_CONTENTS_CONSISTENT plus an `fsync()` on the\n   directory containing the file after calling `rename()`.\n @G_FILE_SET_CONTENTS_ONLY_EXISTING: Only apply consistency and durability\n   guarantees if the file already exists. This may speed up file operations\n   if the file doesn’t currently exist, but may result in a corrupted version\n   of the new file if the system crashes while writing it.\n\n Flags to pass to g_file_set_contents_full() to affect its safety and\n performance.\n\n Since: 2.66"]
11858pub type GFileSetContentsFlags = ::std::os::raw::c_uint;
11859extern "C" {
11860    pub fn g_file_error_quark() -> GQuark;
11861}
11862extern "C" {
11863    pub fn g_file_error_from_errno(err_no: gint) -> GFileError;
11864}
11865extern "C" {
11866    pub fn g_file_test(filename: *const gchar, test: GFileTest) -> gboolean;
11867}
11868extern "C" {
11869    pub fn g_file_get_contents(
11870        filename: *const gchar,
11871        contents: *mut *mut gchar,
11872        length: *mut gsize,
11873        error: *mut *mut GError,
11874    ) -> gboolean;
11875}
11876extern "C" {
11877    pub fn g_file_set_contents(
11878        filename: *const gchar,
11879        contents: *const gchar,
11880        length: gssize,
11881        error: *mut *mut GError,
11882    ) -> gboolean;
11883}
11884extern "C" {
11885    pub fn g_file_set_contents_full(
11886        filename: *const gchar,
11887        contents: *const gchar,
11888        length: gssize,
11889        flags: GFileSetContentsFlags,
11890        mode: ::std::os::raw::c_int,
11891        error: *mut *mut GError,
11892    ) -> gboolean;
11893}
11894extern "C" {
11895    pub fn g_file_read_link(filename: *const gchar, error: *mut *mut GError) -> *mut gchar;
11896}
11897extern "C" {
11898    pub fn g_mkdtemp(tmpl: *mut gchar) -> *mut gchar;
11899}
11900extern "C" {
11901    pub fn g_mkdtemp_full(tmpl: *mut gchar, mode: gint) -> *mut gchar;
11902}
11903extern "C" {
11904    pub fn g_mkstemp(tmpl: *mut gchar) -> gint;
11905}
11906extern "C" {
11907    pub fn g_mkstemp_full(tmpl: *mut gchar, flags: gint, mode: gint) -> gint;
11908}
11909extern "C" {
11910    pub fn g_file_open_tmp(
11911        tmpl: *const gchar,
11912        name_used: *mut *mut gchar,
11913        error: *mut *mut GError,
11914    ) -> gint;
11915}
11916extern "C" {
11917    pub fn g_dir_make_tmp(tmpl: *const gchar, error: *mut *mut GError) -> *mut gchar;
11918}
11919extern "C" {
11920    pub fn g_build_path(separator: *const gchar, first_element: *const gchar, ...) -> *mut gchar;
11921}
11922extern "C" {
11923    pub fn g_build_pathv(separator: *const gchar, args: *mut *mut gchar) -> *mut gchar;
11924}
11925extern "C" {
11926    pub fn g_build_filename(first_element: *const gchar, ...) -> *mut gchar;
11927}
11928extern "C" {
11929    pub fn g_build_filenamev(args: *mut *mut gchar) -> *mut gchar;
11930}
11931extern "C" {
11932    pub fn g_build_filename_valist(first_element: *const gchar, args: *mut va_list) -> *mut gchar;
11933}
11934extern "C" {
11935    pub fn g_mkdir_with_parents(pathname: *const gchar, mode: gint) -> gint;
11936}
11937extern "C" {
11938    pub fn g_path_is_absolute(file_name: *const gchar) -> gboolean;
11939}
11940extern "C" {
11941    pub fn g_path_skip_root(file_name: *const gchar) -> *const gchar;
11942}
11943extern "C" {
11944    pub fn g_basename(file_name: *const gchar) -> *const gchar;
11945}
11946extern "C" {
11947    pub fn g_get_current_dir() -> *mut gchar;
11948}
11949extern "C" {
11950    pub fn g_path_get_basename(file_name: *const gchar) -> *mut gchar;
11951}
11952extern "C" {
11953    pub fn g_path_get_dirname(file_name: *const gchar) -> *mut gchar;
11954}
11955extern "C" {
11956    pub fn g_canonicalize_filename(filename: *const gchar, relative_to: *const gchar)
11957        -> *mut gchar;
11958}
11959extern "C" {
11960    pub fn g_strip_context(msgid: *const gchar, msgval: *const gchar) -> *const gchar;
11961}
11962extern "C" {
11963    pub fn g_dgettext(domain: *const gchar, msgid: *const gchar) -> *const gchar;
11964}
11965extern "C" {
11966    pub fn g_dcgettext(domain: *const gchar, msgid: *const gchar, category: gint) -> *const gchar;
11967}
11968extern "C" {
11969    pub fn g_dngettext(
11970        domain: *const gchar,
11971        msgid: *const gchar,
11972        msgid_plural: *const gchar,
11973        n: gulong,
11974    ) -> *const gchar;
11975}
11976extern "C" {
11977    pub fn g_dpgettext(
11978        domain: *const gchar,
11979        msgctxtid: *const gchar,
11980        msgidoffset: gsize,
11981    ) -> *const gchar;
11982}
11983extern "C" {
11984    pub fn g_dpgettext2(
11985        domain: *const gchar,
11986        context: *const gchar,
11987        msgid: *const gchar,
11988    ) -> *const gchar;
11989}
11990#[doc = " GMemVTable:\n @malloc: function to use for allocating memory.\n @realloc: function to use for reallocating memory.\n @free: function to use to free memory.\n @calloc: function to use for allocating zero-filled memory.\n @try_malloc: function to use for allocating memory without a default error handler.\n @try_realloc: function to use for reallocating memory without a default error handler.\n\n A set of functions used to perform memory allocation. The same #GMemVTable must\n be used for all allocations in the same program; a call to g_mem_set_vtable(),\n if it exists, should be prior to any use of GLib.\n\n This functions related to this has been deprecated in 2.46, and no longer work."]
11991pub type GMemVTable = _GMemVTable;
11992extern "C" {
11993    pub fn g_free(mem: gpointer);
11994}
11995extern "C" {
11996    pub fn g_free_sized(mem: gpointer, size: size_t);
11997}
11998extern "C" {
11999    pub fn g_clear_pointer(pp: *mut gpointer, destroy: GDestroyNotify);
12000}
12001extern "C" {
12002    pub fn g_malloc(n_bytes: gsize) -> gpointer;
12003}
12004extern "C" {
12005    pub fn g_malloc0(n_bytes: gsize) -> gpointer;
12006}
12007extern "C" {
12008    pub fn g_realloc(mem: gpointer, n_bytes: gsize) -> gpointer;
12009}
12010extern "C" {
12011    pub fn g_try_malloc(n_bytes: gsize) -> gpointer;
12012}
12013extern "C" {
12014    pub fn g_try_malloc0(n_bytes: gsize) -> gpointer;
12015}
12016extern "C" {
12017    pub fn g_try_realloc(mem: gpointer, n_bytes: gsize) -> gpointer;
12018}
12019extern "C" {
12020    pub fn g_malloc_n(n_blocks: gsize, n_block_bytes: gsize) -> gpointer;
12021}
12022extern "C" {
12023    pub fn g_malloc0_n(n_blocks: gsize, n_block_bytes: gsize) -> gpointer;
12024}
12025extern "C" {
12026    pub fn g_realloc_n(mem: gpointer, n_blocks: gsize, n_block_bytes: gsize) -> gpointer;
12027}
12028extern "C" {
12029    pub fn g_try_malloc_n(n_blocks: gsize, n_block_bytes: gsize) -> gpointer;
12030}
12031extern "C" {
12032    pub fn g_try_malloc0_n(n_blocks: gsize, n_block_bytes: gsize) -> gpointer;
12033}
12034extern "C" {
12035    pub fn g_try_realloc_n(mem: gpointer, n_blocks: gsize, n_block_bytes: gsize) -> gpointer;
12036}
12037extern "C" {
12038    pub fn g_aligned_alloc(n_blocks: gsize, n_block_bytes: gsize, alignment: gsize) -> gpointer;
12039}
12040extern "C" {
12041    pub fn g_aligned_alloc0(n_blocks: gsize, n_block_bytes: gsize, alignment: gsize) -> gpointer;
12042}
12043extern "C" {
12044    pub fn g_aligned_free(mem: gpointer);
12045}
12046extern "C" {
12047    pub fn g_aligned_free_sized(mem: gpointer, alignment: size_t, size: size_t);
12048}
12049#[repr(C)]
12050#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12051pub struct _GMemVTable {
12052    pub malloc: ::std::option::Option<unsafe extern "C" fn(n_bytes: gsize) -> gpointer>,
12053    pub realloc:
12054        ::std::option::Option<unsafe extern "C" fn(mem: gpointer, n_bytes: gsize) -> gpointer>,
12055    pub free: ::std::option::Option<unsafe extern "C" fn(mem: gpointer)>,
12056    pub calloc: ::std::option::Option<
12057        unsafe extern "C" fn(n_blocks: gsize, n_block_bytes: gsize) -> gpointer,
12058    >,
12059    pub try_malloc: ::std::option::Option<unsafe extern "C" fn(n_bytes: gsize) -> gpointer>,
12060    pub try_realloc:
12061        ::std::option::Option<unsafe extern "C" fn(mem: gpointer, n_bytes: gsize) -> gpointer>,
12062}
12063#[test]
12064fn bindgen_test_layout__GMemVTable() {
12065    const UNINIT: ::std::mem::MaybeUninit<_GMemVTable> = ::std::mem::MaybeUninit::uninit();
12066    let ptr = UNINIT.as_ptr();
12067    assert_eq!(
12068        ::std::mem::size_of::<_GMemVTable>(),
12069        48usize,
12070        concat!("Size of: ", stringify!(_GMemVTable))
12071    );
12072    assert_eq!(
12073        ::std::mem::align_of::<_GMemVTable>(),
12074        8usize,
12075        concat!("Alignment of ", stringify!(_GMemVTable))
12076    );
12077    assert_eq!(
12078        unsafe { ::std::ptr::addr_of!((*ptr).malloc) as usize - ptr as usize },
12079        0usize,
12080        concat!(
12081            "Offset of field: ",
12082            stringify!(_GMemVTable),
12083            "::",
12084            stringify!(malloc)
12085        )
12086    );
12087    assert_eq!(
12088        unsafe { ::std::ptr::addr_of!((*ptr).realloc) as usize - ptr as usize },
12089        8usize,
12090        concat!(
12091            "Offset of field: ",
12092            stringify!(_GMemVTable),
12093            "::",
12094            stringify!(realloc)
12095        )
12096    );
12097    assert_eq!(
12098        unsafe { ::std::ptr::addr_of!((*ptr).free) as usize - ptr as usize },
12099        16usize,
12100        concat!(
12101            "Offset of field: ",
12102            stringify!(_GMemVTable),
12103            "::",
12104            stringify!(free)
12105        )
12106    );
12107    assert_eq!(
12108        unsafe { ::std::ptr::addr_of!((*ptr).calloc) as usize - ptr as usize },
12109        24usize,
12110        concat!(
12111            "Offset of field: ",
12112            stringify!(_GMemVTable),
12113            "::",
12114            stringify!(calloc)
12115        )
12116    );
12117    assert_eq!(
12118        unsafe { ::std::ptr::addr_of!((*ptr).try_malloc) as usize - ptr as usize },
12119        32usize,
12120        concat!(
12121            "Offset of field: ",
12122            stringify!(_GMemVTable),
12123            "::",
12124            stringify!(try_malloc)
12125        )
12126    );
12127    assert_eq!(
12128        unsafe { ::std::ptr::addr_of!((*ptr).try_realloc) as usize - ptr as usize },
12129        40usize,
12130        concat!(
12131            "Offset of field: ",
12132            stringify!(_GMemVTable),
12133            "::",
12134            stringify!(try_realloc)
12135        )
12136    );
12137}
12138extern "C" {
12139    pub fn g_mem_set_vtable(vtable: *mut GMemVTable);
12140}
12141extern "C" {
12142    pub fn g_mem_is_system_malloc() -> gboolean;
12143}
12144extern "C" {
12145    pub static mut g_mem_gc_friendly: gboolean;
12146}
12147extern "C" {
12148    pub static mut glib_mem_profiler_table: *mut GMemVTable;
12149}
12150extern "C" {
12151    pub fn g_mem_profile();
12152}
12153pub type GNode = _GNode;
12154pub const GTraverseFlags_G_TRAVERSE_LEAVES: GTraverseFlags = 1;
12155pub const GTraverseFlags_G_TRAVERSE_NON_LEAVES: GTraverseFlags = 2;
12156pub const GTraverseFlags_G_TRAVERSE_ALL: GTraverseFlags = 3;
12157pub const GTraverseFlags_G_TRAVERSE_MASK: GTraverseFlags = 3;
12158pub const GTraverseFlags_G_TRAVERSE_LEAFS: GTraverseFlags = 1;
12159pub const GTraverseFlags_G_TRAVERSE_NON_LEAFS: GTraverseFlags = 2;
12160pub type GTraverseFlags = ::std::os::raw::c_uint;
12161pub const GTraverseType_G_IN_ORDER: GTraverseType = 0;
12162pub const GTraverseType_G_PRE_ORDER: GTraverseType = 1;
12163pub const GTraverseType_G_POST_ORDER: GTraverseType = 2;
12164pub const GTraverseType_G_LEVEL_ORDER: GTraverseType = 3;
12165pub type GTraverseType = ::std::os::raw::c_uint;
12166pub type GNodeTraverseFunc =
12167    ::std::option::Option<unsafe extern "C" fn(node: *mut GNode, data: gpointer) -> gboolean>;
12168pub type GNodeForeachFunc =
12169    ::std::option::Option<unsafe extern "C" fn(node: *mut GNode, data: gpointer)>;
12170#[repr(C)]
12171#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12172pub struct _GNode {
12173    pub data: gpointer,
12174    pub next: *mut GNode,
12175    pub prev: *mut GNode,
12176    pub parent: *mut GNode,
12177    pub children: *mut GNode,
12178}
12179#[test]
12180fn bindgen_test_layout__GNode() {
12181    const UNINIT: ::std::mem::MaybeUninit<_GNode> = ::std::mem::MaybeUninit::uninit();
12182    let ptr = UNINIT.as_ptr();
12183    assert_eq!(
12184        ::std::mem::size_of::<_GNode>(),
12185        40usize,
12186        concat!("Size of: ", stringify!(_GNode))
12187    );
12188    assert_eq!(
12189        ::std::mem::align_of::<_GNode>(),
12190        8usize,
12191        concat!("Alignment of ", stringify!(_GNode))
12192    );
12193    assert_eq!(
12194        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
12195        0usize,
12196        concat!(
12197            "Offset of field: ",
12198            stringify!(_GNode),
12199            "::",
12200            stringify!(data)
12201        )
12202    );
12203    assert_eq!(
12204        unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
12205        8usize,
12206        concat!(
12207            "Offset of field: ",
12208            stringify!(_GNode),
12209            "::",
12210            stringify!(next)
12211        )
12212    );
12213    assert_eq!(
12214        unsafe { ::std::ptr::addr_of!((*ptr).prev) as usize - ptr as usize },
12215        16usize,
12216        concat!(
12217            "Offset of field: ",
12218            stringify!(_GNode),
12219            "::",
12220            stringify!(prev)
12221        )
12222    );
12223    assert_eq!(
12224        unsafe { ::std::ptr::addr_of!((*ptr).parent) as usize - ptr as usize },
12225        24usize,
12226        concat!(
12227            "Offset of field: ",
12228            stringify!(_GNode),
12229            "::",
12230            stringify!(parent)
12231        )
12232    );
12233    assert_eq!(
12234        unsafe { ::std::ptr::addr_of!((*ptr).children) as usize - ptr as usize },
12235        32usize,
12236        concat!(
12237            "Offset of field: ",
12238            stringify!(_GNode),
12239            "::",
12240            stringify!(children)
12241        )
12242    );
12243}
12244extern "C" {
12245    pub fn g_node_new(data: gpointer) -> *mut GNode;
12246}
12247extern "C" {
12248    pub fn g_node_destroy(root: *mut GNode);
12249}
12250extern "C" {
12251    pub fn g_node_unlink(node: *mut GNode);
12252}
12253extern "C" {
12254    pub fn g_node_copy_deep(node: *mut GNode, copy_func: GCopyFunc, data: gpointer) -> *mut GNode;
12255}
12256extern "C" {
12257    pub fn g_node_copy(node: *mut GNode) -> *mut GNode;
12258}
12259extern "C" {
12260    pub fn g_node_insert(parent: *mut GNode, position: gint, node: *mut GNode) -> *mut GNode;
12261}
12262extern "C" {
12263    pub fn g_node_insert_before(
12264        parent: *mut GNode,
12265        sibling: *mut GNode,
12266        node: *mut GNode,
12267    ) -> *mut GNode;
12268}
12269extern "C" {
12270    pub fn g_node_insert_after(
12271        parent: *mut GNode,
12272        sibling: *mut GNode,
12273        node: *mut GNode,
12274    ) -> *mut GNode;
12275}
12276extern "C" {
12277    pub fn g_node_prepend(parent: *mut GNode, node: *mut GNode) -> *mut GNode;
12278}
12279extern "C" {
12280    pub fn g_node_n_nodes(root: *mut GNode, flags: GTraverseFlags) -> guint;
12281}
12282extern "C" {
12283    pub fn g_node_get_root(node: *mut GNode) -> *mut GNode;
12284}
12285extern "C" {
12286    pub fn g_node_is_ancestor(node: *mut GNode, descendant: *mut GNode) -> gboolean;
12287}
12288extern "C" {
12289    pub fn g_node_depth(node: *mut GNode) -> guint;
12290}
12291extern "C" {
12292    pub fn g_node_find(
12293        root: *mut GNode,
12294        order: GTraverseType,
12295        flags: GTraverseFlags,
12296        data: gpointer,
12297    ) -> *mut GNode;
12298}
12299extern "C" {
12300    pub fn g_node_traverse(
12301        root: *mut GNode,
12302        order: GTraverseType,
12303        flags: GTraverseFlags,
12304        max_depth: gint,
12305        func: GNodeTraverseFunc,
12306        data: gpointer,
12307    );
12308}
12309extern "C" {
12310    pub fn g_node_max_height(root: *mut GNode) -> guint;
12311}
12312extern "C" {
12313    pub fn g_node_children_foreach(
12314        node: *mut GNode,
12315        flags: GTraverseFlags,
12316        func: GNodeForeachFunc,
12317        data: gpointer,
12318    );
12319}
12320extern "C" {
12321    pub fn g_node_reverse_children(node: *mut GNode);
12322}
12323extern "C" {
12324    pub fn g_node_n_children(node: *mut GNode) -> guint;
12325}
12326extern "C" {
12327    pub fn g_node_nth_child(node: *mut GNode, n: guint) -> *mut GNode;
12328}
12329extern "C" {
12330    pub fn g_node_last_child(node: *mut GNode) -> *mut GNode;
12331}
12332extern "C" {
12333    pub fn g_node_find_child(node: *mut GNode, flags: GTraverseFlags, data: gpointer)
12334        -> *mut GNode;
12335}
12336extern "C" {
12337    pub fn g_node_child_position(node: *mut GNode, child: *mut GNode) -> gint;
12338}
12339extern "C" {
12340    pub fn g_node_child_index(node: *mut GNode, data: gpointer) -> gint;
12341}
12342extern "C" {
12343    pub fn g_node_first_sibling(node: *mut GNode) -> *mut GNode;
12344}
12345extern "C" {
12346    pub fn g_node_last_sibling(node: *mut GNode) -> *mut GNode;
12347}
12348pub type GList = _GList;
12349#[repr(C)]
12350#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12351pub struct _GList {
12352    pub data: gpointer,
12353    pub next: *mut GList,
12354    pub prev: *mut GList,
12355}
12356#[test]
12357fn bindgen_test_layout__GList() {
12358    const UNINIT: ::std::mem::MaybeUninit<_GList> = ::std::mem::MaybeUninit::uninit();
12359    let ptr = UNINIT.as_ptr();
12360    assert_eq!(
12361        ::std::mem::size_of::<_GList>(),
12362        24usize,
12363        concat!("Size of: ", stringify!(_GList))
12364    );
12365    assert_eq!(
12366        ::std::mem::align_of::<_GList>(),
12367        8usize,
12368        concat!("Alignment of ", stringify!(_GList))
12369    );
12370    assert_eq!(
12371        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
12372        0usize,
12373        concat!(
12374            "Offset of field: ",
12375            stringify!(_GList),
12376            "::",
12377            stringify!(data)
12378        )
12379    );
12380    assert_eq!(
12381        unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
12382        8usize,
12383        concat!(
12384            "Offset of field: ",
12385            stringify!(_GList),
12386            "::",
12387            stringify!(next)
12388        )
12389    );
12390    assert_eq!(
12391        unsafe { ::std::ptr::addr_of!((*ptr).prev) as usize - ptr as usize },
12392        16usize,
12393        concat!(
12394            "Offset of field: ",
12395            stringify!(_GList),
12396            "::",
12397            stringify!(prev)
12398        )
12399    );
12400}
12401extern "C" {
12402    pub fn g_list_alloc() -> *mut GList;
12403}
12404extern "C" {
12405    pub fn g_list_free(list: *mut GList);
12406}
12407extern "C" {
12408    pub fn g_list_free_1(list: *mut GList);
12409}
12410extern "C" {
12411    pub fn g_list_free_full(list: *mut GList, free_func: GDestroyNotify);
12412}
12413extern "C" {
12414    pub fn g_list_append(list: *mut GList, data: gpointer) -> *mut GList;
12415}
12416extern "C" {
12417    pub fn g_list_prepend(list: *mut GList, data: gpointer) -> *mut GList;
12418}
12419extern "C" {
12420    pub fn g_list_insert(list: *mut GList, data: gpointer, position: gint) -> *mut GList;
12421}
12422extern "C" {
12423    pub fn g_list_insert_sorted(list: *mut GList, data: gpointer, func: GCompareFunc)
12424        -> *mut GList;
12425}
12426extern "C" {
12427    pub fn g_list_insert_sorted_with_data(
12428        list: *mut GList,
12429        data: gpointer,
12430        func: GCompareDataFunc,
12431        user_data: gpointer,
12432    ) -> *mut GList;
12433}
12434extern "C" {
12435    pub fn g_list_insert_before(
12436        list: *mut GList,
12437        sibling: *mut GList,
12438        data: gpointer,
12439    ) -> *mut GList;
12440}
12441extern "C" {
12442    pub fn g_list_insert_before_link(
12443        list: *mut GList,
12444        sibling: *mut GList,
12445        link_: *mut GList,
12446    ) -> *mut GList;
12447}
12448extern "C" {
12449    pub fn g_list_concat(list1: *mut GList, list2: *mut GList) -> *mut GList;
12450}
12451extern "C" {
12452    pub fn g_list_remove(list: *mut GList, data: gconstpointer) -> *mut GList;
12453}
12454extern "C" {
12455    pub fn g_list_remove_all(list: *mut GList, data: gconstpointer) -> *mut GList;
12456}
12457extern "C" {
12458    pub fn g_list_remove_link(list: *mut GList, llink: *mut GList) -> *mut GList;
12459}
12460extern "C" {
12461    pub fn g_list_delete_link(list: *mut GList, link_: *mut GList) -> *mut GList;
12462}
12463extern "C" {
12464    pub fn g_list_reverse(list: *mut GList) -> *mut GList;
12465}
12466extern "C" {
12467    pub fn g_list_copy(list: *mut GList) -> *mut GList;
12468}
12469extern "C" {
12470    pub fn g_list_copy_deep(list: *mut GList, func: GCopyFunc, user_data: gpointer) -> *mut GList;
12471}
12472extern "C" {
12473    pub fn g_list_nth(list: *mut GList, n: guint) -> *mut GList;
12474}
12475extern "C" {
12476    pub fn g_list_nth_prev(list: *mut GList, n: guint) -> *mut GList;
12477}
12478extern "C" {
12479    pub fn g_list_find(list: *mut GList, data: gconstpointer) -> *mut GList;
12480}
12481extern "C" {
12482    pub fn g_list_find_custom(
12483        list: *mut GList,
12484        data: gconstpointer,
12485        func: GCompareFunc,
12486    ) -> *mut GList;
12487}
12488extern "C" {
12489    pub fn g_list_position(list: *mut GList, llink: *mut GList) -> gint;
12490}
12491extern "C" {
12492    pub fn g_list_index(list: *mut GList, data: gconstpointer) -> gint;
12493}
12494extern "C" {
12495    pub fn g_list_last(list: *mut GList) -> *mut GList;
12496}
12497extern "C" {
12498    pub fn g_list_first(list: *mut GList) -> *mut GList;
12499}
12500extern "C" {
12501    pub fn g_list_length(list: *mut GList) -> guint;
12502}
12503extern "C" {
12504    pub fn g_list_foreach(list: *mut GList, func: GFunc, user_data: gpointer);
12505}
12506extern "C" {
12507    pub fn g_list_sort(list: *mut GList, compare_func: GCompareFunc) -> *mut GList;
12508}
12509extern "C" {
12510    pub fn g_list_sort_with_data(
12511        list: *mut GList,
12512        compare_func: GCompareDataFunc,
12513        user_data: gpointer,
12514    ) -> *mut GList;
12515}
12516extern "C" {
12517    pub fn g_list_nth_data(list: *mut GList, n: guint) -> gpointer;
12518}
12519extern "C" {
12520    pub fn g_clear_list(list_ptr: *mut *mut GList, destroy: GDestroyNotify);
12521}
12522#[repr(C)]
12523#[derive(Debug, Copy, Clone)]
12524pub struct _GHashTable {
12525    _unused: [u8; 0],
12526}
12527pub type GHashTable = _GHashTable;
12528pub type GHRFunc = ::std::option::Option<
12529    unsafe extern "C" fn(key: gpointer, value: gpointer, user_data: gpointer) -> gboolean,
12530>;
12531pub type GHashTableIter = _GHashTableIter;
12532#[repr(C)]
12533#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12534pub struct _GHashTableIter {
12535    pub dummy1: gpointer,
12536    pub dummy2: gpointer,
12537    pub dummy3: gpointer,
12538    pub dummy4: ::std::os::raw::c_int,
12539    pub dummy5: gboolean,
12540    pub dummy6: gpointer,
12541}
12542#[test]
12543fn bindgen_test_layout__GHashTableIter() {
12544    const UNINIT: ::std::mem::MaybeUninit<_GHashTableIter> = ::std::mem::MaybeUninit::uninit();
12545    let ptr = UNINIT.as_ptr();
12546    assert_eq!(
12547        ::std::mem::size_of::<_GHashTableIter>(),
12548        40usize,
12549        concat!("Size of: ", stringify!(_GHashTableIter))
12550    );
12551    assert_eq!(
12552        ::std::mem::align_of::<_GHashTableIter>(),
12553        8usize,
12554        concat!("Alignment of ", stringify!(_GHashTableIter))
12555    );
12556    assert_eq!(
12557        unsafe { ::std::ptr::addr_of!((*ptr).dummy1) as usize - ptr as usize },
12558        0usize,
12559        concat!(
12560            "Offset of field: ",
12561            stringify!(_GHashTableIter),
12562            "::",
12563            stringify!(dummy1)
12564        )
12565    );
12566    assert_eq!(
12567        unsafe { ::std::ptr::addr_of!((*ptr).dummy2) as usize - ptr as usize },
12568        8usize,
12569        concat!(
12570            "Offset of field: ",
12571            stringify!(_GHashTableIter),
12572            "::",
12573            stringify!(dummy2)
12574        )
12575    );
12576    assert_eq!(
12577        unsafe { ::std::ptr::addr_of!((*ptr).dummy3) as usize - ptr as usize },
12578        16usize,
12579        concat!(
12580            "Offset of field: ",
12581            stringify!(_GHashTableIter),
12582            "::",
12583            stringify!(dummy3)
12584        )
12585    );
12586    assert_eq!(
12587        unsafe { ::std::ptr::addr_of!((*ptr).dummy4) as usize - ptr as usize },
12588        24usize,
12589        concat!(
12590            "Offset of field: ",
12591            stringify!(_GHashTableIter),
12592            "::",
12593            stringify!(dummy4)
12594        )
12595    );
12596    assert_eq!(
12597        unsafe { ::std::ptr::addr_of!((*ptr).dummy5) as usize - ptr as usize },
12598        28usize,
12599        concat!(
12600            "Offset of field: ",
12601            stringify!(_GHashTableIter),
12602            "::",
12603            stringify!(dummy5)
12604        )
12605    );
12606    assert_eq!(
12607        unsafe { ::std::ptr::addr_of!((*ptr).dummy6) as usize - ptr as usize },
12608        32usize,
12609        concat!(
12610            "Offset of field: ",
12611            stringify!(_GHashTableIter),
12612            "::",
12613            stringify!(dummy6)
12614        )
12615    );
12616}
12617extern "C" {
12618    pub fn g_hash_table_new(hash_func: GHashFunc, key_equal_func: GEqualFunc) -> *mut GHashTable;
12619}
12620extern "C" {
12621    pub fn g_hash_table_new_full(
12622        hash_func: GHashFunc,
12623        key_equal_func: GEqualFunc,
12624        key_destroy_func: GDestroyNotify,
12625        value_destroy_func: GDestroyNotify,
12626    ) -> *mut GHashTable;
12627}
12628extern "C" {
12629    pub fn g_hash_table_new_similar(other_hash_table: *mut GHashTable) -> *mut GHashTable;
12630}
12631extern "C" {
12632    pub fn g_hash_table_destroy(hash_table: *mut GHashTable);
12633}
12634extern "C" {
12635    pub fn g_hash_table_insert(
12636        hash_table: *mut GHashTable,
12637        key: gpointer,
12638        value: gpointer,
12639    ) -> gboolean;
12640}
12641extern "C" {
12642    pub fn g_hash_table_replace(
12643        hash_table: *mut GHashTable,
12644        key: gpointer,
12645        value: gpointer,
12646    ) -> gboolean;
12647}
12648extern "C" {
12649    pub fn g_hash_table_add(hash_table: *mut GHashTable, key: gpointer) -> gboolean;
12650}
12651extern "C" {
12652    pub fn g_hash_table_remove(hash_table: *mut GHashTable, key: gconstpointer) -> gboolean;
12653}
12654extern "C" {
12655    pub fn g_hash_table_remove_all(hash_table: *mut GHashTable);
12656}
12657extern "C" {
12658    pub fn g_hash_table_steal(hash_table: *mut GHashTable, key: gconstpointer) -> gboolean;
12659}
12660extern "C" {
12661    pub fn g_hash_table_steal_extended(
12662        hash_table: *mut GHashTable,
12663        lookup_key: gconstpointer,
12664        stolen_key: *mut gpointer,
12665        stolen_value: *mut gpointer,
12666    ) -> gboolean;
12667}
12668extern "C" {
12669    pub fn g_hash_table_steal_all(hash_table: *mut GHashTable);
12670}
12671extern "C" {
12672    pub fn g_hash_table_steal_all_keys(hash_table: *mut GHashTable) -> *mut GPtrArray;
12673}
12674extern "C" {
12675    pub fn g_hash_table_steal_all_values(hash_table: *mut GHashTable) -> *mut GPtrArray;
12676}
12677extern "C" {
12678    pub fn g_hash_table_lookup(hash_table: *mut GHashTable, key: gconstpointer) -> gpointer;
12679}
12680extern "C" {
12681    pub fn g_hash_table_contains(hash_table: *mut GHashTable, key: gconstpointer) -> gboolean;
12682}
12683extern "C" {
12684    pub fn g_hash_table_lookup_extended(
12685        hash_table: *mut GHashTable,
12686        lookup_key: gconstpointer,
12687        orig_key: *mut gpointer,
12688        value: *mut gpointer,
12689    ) -> gboolean;
12690}
12691extern "C" {
12692    pub fn g_hash_table_foreach(hash_table: *mut GHashTable, func: GHFunc, user_data: gpointer);
12693}
12694extern "C" {
12695    pub fn g_hash_table_find(
12696        hash_table: *mut GHashTable,
12697        predicate: GHRFunc,
12698        user_data: gpointer,
12699    ) -> gpointer;
12700}
12701extern "C" {
12702    pub fn g_hash_table_foreach_remove(
12703        hash_table: *mut GHashTable,
12704        func: GHRFunc,
12705        user_data: gpointer,
12706    ) -> guint;
12707}
12708extern "C" {
12709    pub fn g_hash_table_foreach_steal(
12710        hash_table: *mut GHashTable,
12711        func: GHRFunc,
12712        user_data: gpointer,
12713    ) -> guint;
12714}
12715extern "C" {
12716    pub fn g_hash_table_size(hash_table: *mut GHashTable) -> guint;
12717}
12718extern "C" {
12719    pub fn g_hash_table_get_keys(hash_table: *mut GHashTable) -> *mut GList;
12720}
12721extern "C" {
12722    pub fn g_hash_table_get_values(hash_table: *mut GHashTable) -> *mut GList;
12723}
12724extern "C" {
12725    pub fn g_hash_table_get_keys_as_array(
12726        hash_table: *mut GHashTable,
12727        length: *mut guint,
12728    ) -> *mut gpointer;
12729}
12730extern "C" {
12731    pub fn g_hash_table_get_keys_as_ptr_array(hash_table: *mut GHashTable) -> *mut GPtrArray;
12732}
12733extern "C" {
12734    pub fn g_hash_table_get_values_as_ptr_array(hash_table: *mut GHashTable) -> *mut GPtrArray;
12735}
12736extern "C" {
12737    pub fn g_hash_table_iter_init(iter: *mut GHashTableIter, hash_table: *mut GHashTable);
12738}
12739extern "C" {
12740    pub fn g_hash_table_iter_next(
12741        iter: *mut GHashTableIter,
12742        key: *mut gpointer,
12743        value: *mut gpointer,
12744    ) -> gboolean;
12745}
12746extern "C" {
12747    pub fn g_hash_table_iter_get_hash_table(iter: *mut GHashTableIter) -> *mut GHashTable;
12748}
12749extern "C" {
12750    pub fn g_hash_table_iter_remove(iter: *mut GHashTableIter);
12751}
12752extern "C" {
12753    pub fn g_hash_table_iter_replace(iter: *mut GHashTableIter, value: gpointer);
12754}
12755extern "C" {
12756    pub fn g_hash_table_iter_steal(iter: *mut GHashTableIter);
12757}
12758extern "C" {
12759    pub fn g_hash_table_ref(hash_table: *mut GHashTable) -> *mut GHashTable;
12760}
12761extern "C" {
12762    pub fn g_hash_table_unref(hash_table: *mut GHashTable);
12763}
12764extern "C" {
12765    pub fn g_str_equal(v1: gconstpointer, v2: gconstpointer) -> gboolean;
12766}
12767extern "C" {
12768    pub fn g_str_hash(v: gconstpointer) -> guint;
12769}
12770extern "C" {
12771    pub fn g_int_equal(v1: gconstpointer, v2: gconstpointer) -> gboolean;
12772}
12773extern "C" {
12774    pub fn g_int_hash(v: gconstpointer) -> guint;
12775}
12776extern "C" {
12777    pub fn g_int64_equal(v1: gconstpointer, v2: gconstpointer) -> gboolean;
12778}
12779extern "C" {
12780    pub fn g_int64_hash(v: gconstpointer) -> guint;
12781}
12782extern "C" {
12783    pub fn g_double_equal(v1: gconstpointer, v2: gconstpointer) -> gboolean;
12784}
12785extern "C" {
12786    pub fn g_double_hash(v: gconstpointer) -> guint;
12787}
12788extern "C" {
12789    pub fn g_direct_hash(v: gconstpointer) -> guint;
12790}
12791extern "C" {
12792    pub fn g_direct_equal(v1: gconstpointer, v2: gconstpointer) -> gboolean;
12793}
12794#[repr(C)]
12795#[derive(Debug, Copy, Clone)]
12796pub struct _GHmac {
12797    _unused: [u8; 0],
12798}
12799#[doc = " GHmac:\n\n An opaque structure representing a HMAC operation.\n To create a new GHmac, use g_hmac_new(). To free\n a GHmac, use g_hmac_unref().\n\n Since: 2.30"]
12800pub type GHmac = _GHmac;
12801extern "C" {
12802    pub fn g_hmac_new(digest_type: GChecksumType, key: *const guchar, key_len: gsize)
12803        -> *mut GHmac;
12804}
12805extern "C" {
12806    pub fn g_hmac_copy(hmac: *const GHmac) -> *mut GHmac;
12807}
12808extern "C" {
12809    pub fn g_hmac_ref(hmac: *mut GHmac) -> *mut GHmac;
12810}
12811extern "C" {
12812    pub fn g_hmac_unref(hmac: *mut GHmac);
12813}
12814extern "C" {
12815    pub fn g_hmac_update(hmac: *mut GHmac, data: *const guchar, length: gssize);
12816}
12817extern "C" {
12818    pub fn g_hmac_get_string(hmac: *mut GHmac) -> *const gchar;
12819}
12820extern "C" {
12821    pub fn g_hmac_get_digest(hmac: *mut GHmac, buffer: *mut guint8, digest_len: *mut gsize);
12822}
12823extern "C" {
12824    pub fn g_compute_hmac_for_data(
12825        digest_type: GChecksumType,
12826        key: *const guchar,
12827        key_len: gsize,
12828        data: *const guchar,
12829        length: gsize,
12830    ) -> *mut gchar;
12831}
12832extern "C" {
12833    pub fn g_compute_hmac_for_string(
12834        digest_type: GChecksumType,
12835        key: *const guchar,
12836        key_len: gsize,
12837        str_: *const gchar,
12838        length: gssize,
12839    ) -> *mut gchar;
12840}
12841extern "C" {
12842    pub fn g_compute_hmac_for_bytes(
12843        digest_type: GChecksumType,
12844        key: *mut GBytes,
12845        data: *mut GBytes,
12846    ) -> *mut gchar;
12847}
12848pub type GHook = _GHook;
12849pub type GHookList = _GHookList;
12850pub type GHookCompareFunc =
12851    ::std::option::Option<unsafe extern "C" fn(new_hook: *mut GHook, sibling: *mut GHook) -> gint>;
12852pub type GHookFindFunc =
12853    ::std::option::Option<unsafe extern "C" fn(hook: *mut GHook, data: gpointer) -> gboolean>;
12854pub type GHookMarshaller =
12855    ::std::option::Option<unsafe extern "C" fn(hook: *mut GHook, marshal_data: gpointer)>;
12856pub type GHookCheckMarshaller = ::std::option::Option<
12857    unsafe extern "C" fn(hook: *mut GHook, marshal_data: gpointer) -> gboolean,
12858>;
12859pub type GHookFunc = ::std::option::Option<unsafe extern "C" fn(data: gpointer)>;
12860pub type GHookCheckFunc = ::std::option::Option<unsafe extern "C" fn(data: gpointer) -> gboolean>;
12861pub type GHookFinalizeFunc =
12862    ::std::option::Option<unsafe extern "C" fn(hook_list: *mut GHookList, hook: *mut GHook)>;
12863pub const GHookFlagMask_G_HOOK_FLAG_ACTIVE: GHookFlagMask = 1;
12864pub const GHookFlagMask_G_HOOK_FLAG_IN_CALL: GHookFlagMask = 2;
12865pub const GHookFlagMask_G_HOOK_FLAG_MASK: GHookFlagMask = 15;
12866pub type GHookFlagMask = ::std::os::raw::c_uint;
12867#[repr(C)]
12868#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12869pub struct _GHookList {
12870    pub seq_id: gulong,
12871    pub _bitfield_align_1: [u16; 0],
12872    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>,
12873    pub hooks: *mut GHook,
12874    pub dummy3: gpointer,
12875    pub finalize_hook: GHookFinalizeFunc,
12876    pub dummy: [gpointer; 2usize],
12877}
12878#[test]
12879fn bindgen_test_layout__GHookList() {
12880    const UNINIT: ::std::mem::MaybeUninit<_GHookList> = ::std::mem::MaybeUninit::uninit();
12881    let ptr = UNINIT.as_ptr();
12882    assert_eq!(
12883        ::std::mem::size_of::<_GHookList>(),
12884        56usize,
12885        concat!("Size of: ", stringify!(_GHookList))
12886    );
12887    assert_eq!(
12888        ::std::mem::align_of::<_GHookList>(),
12889        8usize,
12890        concat!("Alignment of ", stringify!(_GHookList))
12891    );
12892    assert_eq!(
12893        unsafe { ::std::ptr::addr_of!((*ptr).seq_id) as usize - ptr as usize },
12894        0usize,
12895        concat!(
12896            "Offset of field: ",
12897            stringify!(_GHookList),
12898            "::",
12899            stringify!(seq_id)
12900        )
12901    );
12902    assert_eq!(
12903        unsafe { ::std::ptr::addr_of!((*ptr).hooks) as usize - ptr as usize },
12904        16usize,
12905        concat!(
12906            "Offset of field: ",
12907            stringify!(_GHookList),
12908            "::",
12909            stringify!(hooks)
12910        )
12911    );
12912    assert_eq!(
12913        unsafe { ::std::ptr::addr_of!((*ptr).dummy3) as usize - ptr as usize },
12914        24usize,
12915        concat!(
12916            "Offset of field: ",
12917            stringify!(_GHookList),
12918            "::",
12919            stringify!(dummy3)
12920        )
12921    );
12922    assert_eq!(
12923        unsafe { ::std::ptr::addr_of!((*ptr).finalize_hook) as usize - ptr as usize },
12924        32usize,
12925        concat!(
12926            "Offset of field: ",
12927            stringify!(_GHookList),
12928            "::",
12929            stringify!(finalize_hook)
12930        )
12931    );
12932    assert_eq!(
12933        unsafe { ::std::ptr::addr_of!((*ptr).dummy) as usize - ptr as usize },
12934        40usize,
12935        concat!(
12936            "Offset of field: ",
12937            stringify!(_GHookList),
12938            "::",
12939            stringify!(dummy)
12940        )
12941    );
12942}
12943impl _GHookList {
12944    #[inline]
12945    pub fn hook_size(&self) -> guint {
12946        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u32) }
12947    }
12948    #[inline]
12949    pub fn set_hook_size(&mut self, val: guint) {
12950        unsafe {
12951            let val: u32 = ::std::mem::transmute(val);
12952            self._bitfield_1.set(0usize, 16u8, val as u64)
12953        }
12954    }
12955    #[inline]
12956    pub fn is_setup(&self) -> guint {
12957        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
12958    }
12959    #[inline]
12960    pub fn set_is_setup(&mut self, val: guint) {
12961        unsafe {
12962            let val: u32 = ::std::mem::transmute(val);
12963            self._bitfield_1.set(16usize, 1u8, val as u64)
12964        }
12965    }
12966    #[inline]
12967    pub fn new_bitfield_1(
12968        hook_size: guint,
12969        is_setup: guint,
12970    ) -> __BindgenBitfieldUnit<[u8; 3usize]> {
12971        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default();
12972        __bindgen_bitfield_unit.set(0usize, 16u8, {
12973            let hook_size: u32 = unsafe { ::std::mem::transmute(hook_size) };
12974            hook_size as u64
12975        });
12976        __bindgen_bitfield_unit.set(16usize, 1u8, {
12977            let is_setup: u32 = unsafe { ::std::mem::transmute(is_setup) };
12978            is_setup as u64
12979        });
12980        __bindgen_bitfield_unit
12981    }
12982}
12983#[repr(C)]
12984#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12985pub struct _GHook {
12986    pub data: gpointer,
12987    pub next: *mut GHook,
12988    pub prev: *mut GHook,
12989    pub ref_count: guint,
12990    pub hook_id: gulong,
12991    pub flags: guint,
12992    pub func: gpointer,
12993    pub destroy: GDestroyNotify,
12994}
12995#[test]
12996fn bindgen_test_layout__GHook() {
12997    const UNINIT: ::std::mem::MaybeUninit<_GHook> = ::std::mem::MaybeUninit::uninit();
12998    let ptr = UNINIT.as_ptr();
12999    assert_eq!(
13000        ::std::mem::size_of::<_GHook>(),
13001        64usize,
13002        concat!("Size of: ", stringify!(_GHook))
13003    );
13004    assert_eq!(
13005        ::std::mem::align_of::<_GHook>(),
13006        8usize,
13007        concat!("Alignment of ", stringify!(_GHook))
13008    );
13009    assert_eq!(
13010        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
13011        0usize,
13012        concat!(
13013            "Offset of field: ",
13014            stringify!(_GHook),
13015            "::",
13016            stringify!(data)
13017        )
13018    );
13019    assert_eq!(
13020        unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
13021        8usize,
13022        concat!(
13023            "Offset of field: ",
13024            stringify!(_GHook),
13025            "::",
13026            stringify!(next)
13027        )
13028    );
13029    assert_eq!(
13030        unsafe { ::std::ptr::addr_of!((*ptr).prev) as usize - ptr as usize },
13031        16usize,
13032        concat!(
13033            "Offset of field: ",
13034            stringify!(_GHook),
13035            "::",
13036            stringify!(prev)
13037        )
13038    );
13039    assert_eq!(
13040        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
13041        24usize,
13042        concat!(
13043            "Offset of field: ",
13044            stringify!(_GHook),
13045            "::",
13046            stringify!(ref_count)
13047        )
13048    );
13049    assert_eq!(
13050        unsafe { ::std::ptr::addr_of!((*ptr).hook_id) as usize - ptr as usize },
13051        32usize,
13052        concat!(
13053            "Offset of field: ",
13054            stringify!(_GHook),
13055            "::",
13056            stringify!(hook_id)
13057        )
13058    );
13059    assert_eq!(
13060        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13061        40usize,
13062        concat!(
13063            "Offset of field: ",
13064            stringify!(_GHook),
13065            "::",
13066            stringify!(flags)
13067        )
13068    );
13069    assert_eq!(
13070        unsafe { ::std::ptr::addr_of!((*ptr).func) as usize - ptr as usize },
13071        48usize,
13072        concat!(
13073            "Offset of field: ",
13074            stringify!(_GHook),
13075            "::",
13076            stringify!(func)
13077        )
13078    );
13079    assert_eq!(
13080        unsafe { ::std::ptr::addr_of!((*ptr).destroy) as usize - ptr as usize },
13081        56usize,
13082        concat!(
13083            "Offset of field: ",
13084            stringify!(_GHook),
13085            "::",
13086            stringify!(destroy)
13087        )
13088    );
13089}
13090extern "C" {
13091    pub fn g_hook_list_init(hook_list: *mut GHookList, hook_size: guint);
13092}
13093extern "C" {
13094    pub fn g_hook_list_clear(hook_list: *mut GHookList);
13095}
13096extern "C" {
13097    pub fn g_hook_alloc(hook_list: *mut GHookList) -> *mut GHook;
13098}
13099extern "C" {
13100    pub fn g_hook_free(hook_list: *mut GHookList, hook: *mut GHook);
13101}
13102extern "C" {
13103    pub fn g_hook_ref(hook_list: *mut GHookList, hook: *mut GHook) -> *mut GHook;
13104}
13105extern "C" {
13106    pub fn g_hook_unref(hook_list: *mut GHookList, hook: *mut GHook);
13107}
13108extern "C" {
13109    pub fn g_hook_destroy(hook_list: *mut GHookList, hook_id: gulong) -> gboolean;
13110}
13111extern "C" {
13112    pub fn g_hook_destroy_link(hook_list: *mut GHookList, hook: *mut GHook);
13113}
13114extern "C" {
13115    pub fn g_hook_prepend(hook_list: *mut GHookList, hook: *mut GHook);
13116}
13117extern "C" {
13118    pub fn g_hook_insert_before(hook_list: *mut GHookList, sibling: *mut GHook, hook: *mut GHook);
13119}
13120extern "C" {
13121    pub fn g_hook_insert_sorted(
13122        hook_list: *mut GHookList,
13123        hook: *mut GHook,
13124        func: GHookCompareFunc,
13125    );
13126}
13127extern "C" {
13128    pub fn g_hook_get(hook_list: *mut GHookList, hook_id: gulong) -> *mut GHook;
13129}
13130extern "C" {
13131    pub fn g_hook_find(
13132        hook_list: *mut GHookList,
13133        need_valids: gboolean,
13134        func: GHookFindFunc,
13135        data: gpointer,
13136    ) -> *mut GHook;
13137}
13138extern "C" {
13139    pub fn g_hook_find_data(
13140        hook_list: *mut GHookList,
13141        need_valids: gboolean,
13142        data: gpointer,
13143    ) -> *mut GHook;
13144}
13145extern "C" {
13146    pub fn g_hook_find_func(
13147        hook_list: *mut GHookList,
13148        need_valids: gboolean,
13149        func: gpointer,
13150    ) -> *mut GHook;
13151}
13152extern "C" {
13153    pub fn g_hook_find_func_data(
13154        hook_list: *mut GHookList,
13155        need_valids: gboolean,
13156        func: gpointer,
13157        data: gpointer,
13158    ) -> *mut GHook;
13159}
13160extern "C" {
13161    pub fn g_hook_first_valid(hook_list: *mut GHookList, may_be_in_call: gboolean) -> *mut GHook;
13162}
13163extern "C" {
13164    pub fn g_hook_next_valid(
13165        hook_list: *mut GHookList,
13166        hook: *mut GHook,
13167        may_be_in_call: gboolean,
13168    ) -> *mut GHook;
13169}
13170extern "C" {
13171    pub fn g_hook_compare_ids(new_hook: *mut GHook, sibling: *mut GHook) -> gint;
13172}
13173extern "C" {
13174    pub fn g_hook_list_invoke(hook_list: *mut GHookList, may_recurse: gboolean);
13175}
13176extern "C" {
13177    pub fn g_hook_list_invoke_check(hook_list: *mut GHookList, may_recurse: gboolean);
13178}
13179extern "C" {
13180    pub fn g_hook_list_marshal(
13181        hook_list: *mut GHookList,
13182        may_recurse: gboolean,
13183        marshaller: GHookMarshaller,
13184        marshal_data: gpointer,
13185    );
13186}
13187extern "C" {
13188    pub fn g_hook_list_marshal_check(
13189        hook_list: *mut GHookList,
13190        may_recurse: gboolean,
13191        marshaller: GHookCheckMarshaller,
13192        marshal_data: gpointer,
13193    );
13194}
13195extern "C" {
13196    pub fn g_hostname_is_non_ascii(hostname: *const gchar) -> gboolean;
13197}
13198extern "C" {
13199    pub fn g_hostname_is_ascii_encoded(hostname: *const gchar) -> gboolean;
13200}
13201extern "C" {
13202    pub fn g_hostname_is_ip_address(hostname: *const gchar) -> gboolean;
13203}
13204extern "C" {
13205    pub fn g_hostname_to_ascii(hostname: *const gchar) -> *mut gchar;
13206}
13207extern "C" {
13208    pub fn g_hostname_to_unicode(hostname: *const gchar) -> *mut gchar;
13209}
13210#[doc = " GPollFD:\n @fd: the file descriptor to poll (or a HANDLE on Win32)\n @events: a bitwise combination from #GIOCondition, specifying which\n     events should be polled for. Typically for reading from a file\n     descriptor you would use %G_IO_IN | %G_IO_HUP | %G_IO_ERR, and\n     for writing you would use %G_IO_OUT | %G_IO_ERR.\n @revents: a bitwise combination of flags from #GIOCondition, returned\n     from the poll() function to indicate which events occurred.\n\n Represents a file descriptor, which events to poll for, and which events\n occurred."]
13211pub type GPollFD = _GPollFD;
13212#[doc = " GPollFunc:\n @ufds: an array of #GPollFD elements\n @nfsd: the number of elements in @ufds\n @timeout_: the maximum time to wait for an event of the file descriptors.\n     A negative value indicates an infinite timeout.\n\n Specifies the type of function passed to g_main_context_set_poll_func().\n The semantics of the function should match those of the poll() system call.\n\n Returns: the number of #GPollFD elements which have events or errors\n     reported, or -1 if an error occurred."]
13213pub type GPollFunc = ::std::option::Option<
13214    unsafe extern "C" fn(ufds: *mut GPollFD, nfsd: guint, timeout_: gint) -> gint,
13215>;
13216#[doc = " GPollFD:\n @fd: the file descriptor to poll (or a HANDLE on Win32)\n @events: a bitwise combination from #GIOCondition, specifying which\n     events should be polled for. Typically for reading from a file\n     descriptor you would use %G_IO_IN | %G_IO_HUP | %G_IO_ERR, and\n     for writing you would use %G_IO_OUT | %G_IO_ERR.\n @revents: a bitwise combination of flags from #GIOCondition, returned\n     from the poll() function to indicate which events occurred.\n\n Represents a file descriptor, which events to poll for, and which events\n occurred."]
13217#[repr(C)]
13218#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13219pub struct _GPollFD {
13220    pub fd: gint,
13221    pub events: gushort,
13222    pub revents: gushort,
13223}
13224#[test]
13225fn bindgen_test_layout__GPollFD() {
13226    const UNINIT: ::std::mem::MaybeUninit<_GPollFD> = ::std::mem::MaybeUninit::uninit();
13227    let ptr = UNINIT.as_ptr();
13228    assert_eq!(
13229        ::std::mem::size_of::<_GPollFD>(),
13230        8usize,
13231        concat!("Size of: ", stringify!(_GPollFD))
13232    );
13233    assert_eq!(
13234        ::std::mem::align_of::<_GPollFD>(),
13235        4usize,
13236        concat!("Alignment of ", stringify!(_GPollFD))
13237    );
13238    assert_eq!(
13239        unsafe { ::std::ptr::addr_of!((*ptr).fd) as usize - ptr as usize },
13240        0usize,
13241        concat!(
13242            "Offset of field: ",
13243            stringify!(_GPollFD),
13244            "::",
13245            stringify!(fd)
13246        )
13247    );
13248    assert_eq!(
13249        unsafe { ::std::ptr::addr_of!((*ptr).events) as usize - ptr as usize },
13250        4usize,
13251        concat!(
13252            "Offset of field: ",
13253            stringify!(_GPollFD),
13254            "::",
13255            stringify!(events)
13256        )
13257    );
13258    assert_eq!(
13259        unsafe { ::std::ptr::addr_of!((*ptr).revents) as usize - ptr as usize },
13260        6usize,
13261        concat!(
13262            "Offset of field: ",
13263            stringify!(_GPollFD),
13264            "::",
13265            stringify!(revents)
13266        )
13267    );
13268}
13269extern "C" {
13270    #[doc = " G_POLLFD_FORMAT:\n\n A format specifier that can be used in printf()-style format strings\n when printing the @fd member of a #GPollFD."]
13271    pub fn g_poll(fds: *mut GPollFD, nfds: guint, timeout: gint) -> gint;
13272}
13273pub type GSList = _GSList;
13274#[repr(C)]
13275#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13276pub struct _GSList {
13277    pub data: gpointer,
13278    pub next: *mut GSList,
13279}
13280#[test]
13281fn bindgen_test_layout__GSList() {
13282    const UNINIT: ::std::mem::MaybeUninit<_GSList> = ::std::mem::MaybeUninit::uninit();
13283    let ptr = UNINIT.as_ptr();
13284    assert_eq!(
13285        ::std::mem::size_of::<_GSList>(),
13286        16usize,
13287        concat!("Size of: ", stringify!(_GSList))
13288    );
13289    assert_eq!(
13290        ::std::mem::align_of::<_GSList>(),
13291        8usize,
13292        concat!("Alignment of ", stringify!(_GSList))
13293    );
13294    assert_eq!(
13295        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
13296        0usize,
13297        concat!(
13298            "Offset of field: ",
13299            stringify!(_GSList),
13300            "::",
13301            stringify!(data)
13302        )
13303    );
13304    assert_eq!(
13305        unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
13306        8usize,
13307        concat!(
13308            "Offset of field: ",
13309            stringify!(_GSList),
13310            "::",
13311            stringify!(next)
13312        )
13313    );
13314}
13315extern "C" {
13316    pub fn g_slist_alloc() -> *mut GSList;
13317}
13318extern "C" {
13319    pub fn g_slist_free(list: *mut GSList);
13320}
13321extern "C" {
13322    pub fn g_slist_free_1(list: *mut GSList);
13323}
13324extern "C" {
13325    pub fn g_slist_free_full(list: *mut GSList, free_func: GDestroyNotify);
13326}
13327extern "C" {
13328    pub fn g_slist_append(list: *mut GSList, data: gpointer) -> *mut GSList;
13329}
13330extern "C" {
13331    pub fn g_slist_prepend(list: *mut GSList, data: gpointer) -> *mut GSList;
13332}
13333extern "C" {
13334    pub fn g_slist_insert(list: *mut GSList, data: gpointer, position: gint) -> *mut GSList;
13335}
13336extern "C" {
13337    pub fn g_slist_insert_sorted(
13338        list: *mut GSList,
13339        data: gpointer,
13340        func: GCompareFunc,
13341    ) -> *mut GSList;
13342}
13343extern "C" {
13344    pub fn g_slist_insert_sorted_with_data(
13345        list: *mut GSList,
13346        data: gpointer,
13347        func: GCompareDataFunc,
13348        user_data: gpointer,
13349    ) -> *mut GSList;
13350}
13351extern "C" {
13352    pub fn g_slist_insert_before(
13353        slist: *mut GSList,
13354        sibling: *mut GSList,
13355        data: gpointer,
13356    ) -> *mut GSList;
13357}
13358extern "C" {
13359    pub fn g_slist_concat(list1: *mut GSList, list2: *mut GSList) -> *mut GSList;
13360}
13361extern "C" {
13362    pub fn g_slist_remove(list: *mut GSList, data: gconstpointer) -> *mut GSList;
13363}
13364extern "C" {
13365    pub fn g_slist_remove_all(list: *mut GSList, data: gconstpointer) -> *mut GSList;
13366}
13367extern "C" {
13368    pub fn g_slist_remove_link(list: *mut GSList, link_: *mut GSList) -> *mut GSList;
13369}
13370extern "C" {
13371    pub fn g_slist_delete_link(list: *mut GSList, link_: *mut GSList) -> *mut GSList;
13372}
13373extern "C" {
13374    pub fn g_slist_reverse(list: *mut GSList) -> *mut GSList;
13375}
13376extern "C" {
13377    pub fn g_slist_copy(list: *mut GSList) -> *mut GSList;
13378}
13379extern "C" {
13380    pub fn g_slist_copy_deep(
13381        list: *mut GSList,
13382        func: GCopyFunc,
13383        user_data: gpointer,
13384    ) -> *mut GSList;
13385}
13386extern "C" {
13387    pub fn g_slist_nth(list: *mut GSList, n: guint) -> *mut GSList;
13388}
13389extern "C" {
13390    pub fn g_slist_find(list: *mut GSList, data: gconstpointer) -> *mut GSList;
13391}
13392extern "C" {
13393    pub fn g_slist_find_custom(
13394        list: *mut GSList,
13395        data: gconstpointer,
13396        func: GCompareFunc,
13397    ) -> *mut GSList;
13398}
13399extern "C" {
13400    pub fn g_slist_position(list: *mut GSList, llink: *mut GSList) -> gint;
13401}
13402extern "C" {
13403    pub fn g_slist_index(list: *mut GSList, data: gconstpointer) -> gint;
13404}
13405extern "C" {
13406    pub fn g_slist_last(list: *mut GSList) -> *mut GSList;
13407}
13408extern "C" {
13409    pub fn g_slist_length(list: *mut GSList) -> guint;
13410}
13411extern "C" {
13412    pub fn g_slist_foreach(list: *mut GSList, func: GFunc, user_data: gpointer);
13413}
13414extern "C" {
13415    pub fn g_slist_sort(list: *mut GSList, compare_func: GCompareFunc) -> *mut GSList;
13416}
13417extern "C" {
13418    pub fn g_slist_sort_with_data(
13419        list: *mut GSList,
13420        compare_func: GCompareDataFunc,
13421        user_data: gpointer,
13422    ) -> *mut GSList;
13423}
13424extern "C" {
13425    pub fn g_slist_nth_data(list: *mut GSList, n: guint) -> gpointer;
13426}
13427extern "C" {
13428    pub fn g_clear_slist(slist_ptr: *mut *mut GSList, destroy: GDestroyNotify);
13429}
13430pub const GIOCondition_G_IO_IN: GIOCondition = 1;
13431pub const GIOCondition_G_IO_OUT: GIOCondition = 4;
13432pub const GIOCondition_G_IO_PRI: GIOCondition = 2;
13433pub const GIOCondition_G_IO_ERR: GIOCondition = 8;
13434pub const GIOCondition_G_IO_HUP: GIOCondition = 16;
13435pub const GIOCondition_G_IO_NVAL: GIOCondition = 32;
13436pub type GIOCondition = ::std::os::raw::c_uint;
13437pub const GMainContextFlags_G_MAIN_CONTEXT_FLAGS_NONE: GMainContextFlags = 0;
13438pub const GMainContextFlags_G_MAIN_CONTEXT_FLAGS_OWNERLESS_POLLING: GMainContextFlags = 1;
13439#[doc = " GMainContextFlags:\n @G_MAIN_CONTEXT_FLAGS_NONE: Default behaviour.\n @G_MAIN_CONTEXT_FLAGS_OWNERLESS_POLLING: Assume that polling for events will\n free the thread to process other jobs. That's useful if you're using\n `g_main_context_{prepare,query,check,dispatch}` to integrate GMainContext in\n other event loops.\n\n Flags to pass to g_main_context_new_with_flags() which affect the behaviour\n of a #GMainContext.\n\n Since: 2.72"]
13440pub type GMainContextFlags = ::std::os::raw::c_uint;
13441#[repr(C)]
13442#[derive(Debug, Copy, Clone)]
13443pub struct _GMainContext {
13444    _unused: [u8; 0],
13445}
13446#[doc = " GMainContext:\n\n The `GMainContext` struct is an opaque data\n type representing a set of sources to be handled in a main loop."]
13447pub type GMainContext = _GMainContext;
13448#[repr(C)]
13449#[derive(Debug, Copy, Clone)]
13450pub struct _GMainLoop {
13451    _unused: [u8; 0],
13452}
13453#[doc = " GMainLoop:\n\n The `GMainLoop` struct is an opaque data type\n representing the main event loop of a GLib or GTK application."]
13454pub type GMainLoop = _GMainLoop;
13455#[doc = " GSource:\n\n The `GSource` struct is an opaque data type\n representing an event source."]
13456pub type GSource = _GSource;
13457#[repr(C)]
13458#[derive(Debug, Copy, Clone)]
13459pub struct _GSourcePrivate {
13460    _unused: [u8; 0],
13461}
13462pub type GSourcePrivate = _GSourcePrivate;
13463#[doc = " GSourceCallbackFuncs:\n @ref: Called when a reference is added to the callback object\n @unref: Called when a reference to the callback object is dropped\n @get: Called to extract the callback function and data from the\n     callback object.\n\n The `GSourceCallbackFuncs` struct contains\n functions for managing callback objects."]
13464pub type GSourceCallbackFuncs = _GSourceCallbackFuncs;
13465#[doc = " GSourceFuncs:\n @prepare: Called before all the file descriptors are polled. If the\n     source can determine that it is ready here (without waiting for the\n     results of the poll() call) it should return %TRUE. It can also return\n     a @timeout_ value which should be the maximum timeout (in milliseconds)\n     which should be passed to the poll() call. The actual timeout used will\n     be -1 if all sources returned -1, or it will be the minimum of all\n     the @timeout_ values returned which were >= 0.  Since 2.36 this may\n     be %NULL, in which case the effect is as if the function always returns\n     %FALSE with a timeout of -1.  If @prepare returns a\n     timeout and the source also has a ready time set, then the\n     lower of the two will be used.\n @check: Called after all the file descriptors are polled. The source\n     should return %TRUE if it is ready to be dispatched. Note that some\n     time may have passed since the previous prepare function was called,\n     so the source should be checked again here.  Since 2.36 this may\n     be %NULL, in which case the effect is as if the function always returns\n     %FALSE.\n @dispatch: Called to dispatch the event source, after it has returned\n     %TRUE in either its @prepare or its @check function, or if a ready time\n     has been reached. The @dispatch function receives a callback function and\n     user data. The callback function may be %NULL if the source was never\n     connected to a callback using g_source_set_callback(). The @dispatch\n     function should call the callback function with @user_data and whatever\n     additional parameters are needed for this type of event source. The\n     return value of the @dispatch function should be %G_SOURCE_REMOVE if the\n     source should be removed or %G_SOURCE_CONTINUE to keep it.\n @finalize: Called when the source is finalized. At this point, the source\n     will have been destroyed, had its callback cleared, and have been removed\n     from its #GMainContext, but it will still have its final reference count,\n     so methods can be called on it from within this function.\n\n The `GSourceFuncs` struct contains a table of\n functions used to handle event sources in a generic manner.\n\n For idle sources, the prepare and check functions always return %TRUE\n to indicate that the source is always ready to be processed. The prepare\n function also returns a timeout value of 0 to ensure that the poll() call\n doesn't block (since that would be time wasted which could have been spent\n running the idle function).\n\n For timeout sources, the prepare and check functions both return %TRUE\n if the timeout interval has expired. The prepare function also returns\n a timeout value to ensure that the poll() call doesn't block too long\n and miss the next timeout.\n\n For file descriptor sources, the prepare function typically returns %FALSE,\n since it must wait until poll() has been called before it knows whether\n any events need to be processed. It sets the returned timeout to -1 to\n indicate that it doesn't mind how long the poll() call blocks. In the\n check function, it tests the results of the poll() call to see if the\n required condition has been met, and returns %TRUE if so."]
13466pub type GSourceFuncs = _GSourceFuncs;
13467#[doc = " GSourceFunc:\n @user_data: data passed to the function, set when the source was\n     created with one of the above functions\n\n Specifies the type of function passed to g_timeout_add(),\n g_timeout_add_full(), g_idle_add(), and g_idle_add_full().\n\n When calling g_source_set_callback(), you may need to cast a function of a\n different type to this type. Use G_SOURCE_FUNC() to avoid warnings about\n incompatible function types.\n\n Returns: %FALSE if the source should be removed. %G_SOURCE_CONTINUE and\n %G_SOURCE_REMOVE are more memorable names for the return value."]
13468pub type GSourceFunc = ::std::option::Option<unsafe extern "C" fn(user_data: gpointer) -> gboolean>;
13469#[doc = " GSourceOnceFunc:\n @user_data: data passed to the function, set when the source was\n   created\n\n A source function that is only called once before being removed from the main\n context automatically.\n\n See: g_idle_add_once(), g_timeout_add_once()\n\n Since: 2.74"]
13470pub type GSourceOnceFunc = ::std::option::Option<unsafe extern "C" fn(user_data: gpointer)>;
13471#[doc = " GChildWatchFunc:\n @pid: the process id of the child process\n @wait_status: Status information about the child process, encoded\n               in a platform-specific manner\n @user_data: user data passed to g_child_watch_add()\n\n Prototype of a #GChildWatchSource callback, called when a child\n process has exited.\n\n To interpret @wait_status, see the documentation\n for g_spawn_check_wait_status(). In particular,\n on Unix platforms, note that it is usually not equal\n to the integer passed to `exit()` or returned from `main()`."]
13472pub type GChildWatchFunc =
13473    ::std::option::Option<unsafe extern "C" fn(pid: GPid, wait_status: gint, user_data: gpointer)>;
13474#[doc = " GSourceDisposeFunc:\n @source: #GSource that is currently being disposed\n\n Dispose function for @source. See g_source_set_dispose_function() for\n details.\n\n Since: 2.64"]
13475pub type GSourceDisposeFunc = ::std::option::Option<unsafe extern "C" fn(source: *mut GSource)>;
13476#[repr(C)]
13477#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13478pub struct _GSource {
13479    pub callback_data: gpointer,
13480    pub callback_funcs: *mut GSourceCallbackFuncs,
13481    pub source_funcs: *const GSourceFuncs,
13482    pub ref_count: guint,
13483    pub context: *mut GMainContext,
13484    pub priority: gint,
13485    pub flags: guint,
13486    pub source_id: guint,
13487    pub poll_fds: *mut GSList,
13488    pub prev: *mut GSource,
13489    pub next: *mut GSource,
13490    pub name: *mut ::std::os::raw::c_char,
13491    pub priv_: *mut GSourcePrivate,
13492}
13493#[test]
13494fn bindgen_test_layout__GSource() {
13495    const UNINIT: ::std::mem::MaybeUninit<_GSource> = ::std::mem::MaybeUninit::uninit();
13496    let ptr = UNINIT.as_ptr();
13497    assert_eq!(
13498        ::std::mem::size_of::<_GSource>(),
13499        96usize,
13500        concat!("Size of: ", stringify!(_GSource))
13501    );
13502    assert_eq!(
13503        ::std::mem::align_of::<_GSource>(),
13504        8usize,
13505        concat!("Alignment of ", stringify!(_GSource))
13506    );
13507    assert_eq!(
13508        unsafe { ::std::ptr::addr_of!((*ptr).callback_data) as usize - ptr as usize },
13509        0usize,
13510        concat!(
13511            "Offset of field: ",
13512            stringify!(_GSource),
13513            "::",
13514            stringify!(callback_data)
13515        )
13516    );
13517    assert_eq!(
13518        unsafe { ::std::ptr::addr_of!((*ptr).callback_funcs) as usize - ptr as usize },
13519        8usize,
13520        concat!(
13521            "Offset of field: ",
13522            stringify!(_GSource),
13523            "::",
13524            stringify!(callback_funcs)
13525        )
13526    );
13527    assert_eq!(
13528        unsafe { ::std::ptr::addr_of!((*ptr).source_funcs) as usize - ptr as usize },
13529        16usize,
13530        concat!(
13531            "Offset of field: ",
13532            stringify!(_GSource),
13533            "::",
13534            stringify!(source_funcs)
13535        )
13536    );
13537    assert_eq!(
13538        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
13539        24usize,
13540        concat!(
13541            "Offset of field: ",
13542            stringify!(_GSource),
13543            "::",
13544            stringify!(ref_count)
13545        )
13546    );
13547    assert_eq!(
13548        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
13549        32usize,
13550        concat!(
13551            "Offset of field: ",
13552            stringify!(_GSource),
13553            "::",
13554            stringify!(context)
13555        )
13556    );
13557    assert_eq!(
13558        unsafe { ::std::ptr::addr_of!((*ptr).priority) as usize - ptr as usize },
13559        40usize,
13560        concat!(
13561            "Offset of field: ",
13562            stringify!(_GSource),
13563            "::",
13564            stringify!(priority)
13565        )
13566    );
13567    assert_eq!(
13568        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13569        44usize,
13570        concat!(
13571            "Offset of field: ",
13572            stringify!(_GSource),
13573            "::",
13574            stringify!(flags)
13575        )
13576    );
13577    assert_eq!(
13578        unsafe { ::std::ptr::addr_of!((*ptr).source_id) as usize - ptr as usize },
13579        48usize,
13580        concat!(
13581            "Offset of field: ",
13582            stringify!(_GSource),
13583            "::",
13584            stringify!(source_id)
13585        )
13586    );
13587    assert_eq!(
13588        unsafe { ::std::ptr::addr_of!((*ptr).poll_fds) as usize - ptr as usize },
13589        56usize,
13590        concat!(
13591            "Offset of field: ",
13592            stringify!(_GSource),
13593            "::",
13594            stringify!(poll_fds)
13595        )
13596    );
13597    assert_eq!(
13598        unsafe { ::std::ptr::addr_of!((*ptr).prev) as usize - ptr as usize },
13599        64usize,
13600        concat!(
13601            "Offset of field: ",
13602            stringify!(_GSource),
13603            "::",
13604            stringify!(prev)
13605        )
13606    );
13607    assert_eq!(
13608        unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
13609        72usize,
13610        concat!(
13611            "Offset of field: ",
13612            stringify!(_GSource),
13613            "::",
13614            stringify!(next)
13615        )
13616    );
13617    assert_eq!(
13618        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
13619        80usize,
13620        concat!(
13621            "Offset of field: ",
13622            stringify!(_GSource),
13623            "::",
13624            stringify!(name)
13625        )
13626    );
13627    assert_eq!(
13628        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
13629        88usize,
13630        concat!(
13631            "Offset of field: ",
13632            stringify!(_GSource),
13633            "::",
13634            stringify!(priv_)
13635        )
13636    );
13637}
13638#[repr(C)]
13639#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13640pub struct _GSourceCallbackFuncs {
13641    pub ref_: ::std::option::Option<unsafe extern "C" fn(cb_data: gpointer)>,
13642    pub unref: ::std::option::Option<unsafe extern "C" fn(cb_data: gpointer)>,
13643    pub get: ::std::option::Option<
13644        unsafe extern "C" fn(
13645            cb_data: gpointer,
13646            source: *mut GSource,
13647            func: *mut GSourceFunc,
13648            data: *mut gpointer,
13649        ),
13650    >,
13651}
13652#[test]
13653fn bindgen_test_layout__GSourceCallbackFuncs() {
13654    const UNINIT: ::std::mem::MaybeUninit<_GSourceCallbackFuncs> =
13655        ::std::mem::MaybeUninit::uninit();
13656    let ptr = UNINIT.as_ptr();
13657    assert_eq!(
13658        ::std::mem::size_of::<_GSourceCallbackFuncs>(),
13659        24usize,
13660        concat!("Size of: ", stringify!(_GSourceCallbackFuncs))
13661    );
13662    assert_eq!(
13663        ::std::mem::align_of::<_GSourceCallbackFuncs>(),
13664        8usize,
13665        concat!("Alignment of ", stringify!(_GSourceCallbackFuncs))
13666    );
13667    assert_eq!(
13668        unsafe { ::std::ptr::addr_of!((*ptr).ref_) as usize - ptr as usize },
13669        0usize,
13670        concat!(
13671            "Offset of field: ",
13672            stringify!(_GSourceCallbackFuncs),
13673            "::",
13674            stringify!(ref_)
13675        )
13676    );
13677    assert_eq!(
13678        unsafe { ::std::ptr::addr_of!((*ptr).unref) as usize - ptr as usize },
13679        8usize,
13680        concat!(
13681            "Offset of field: ",
13682            stringify!(_GSourceCallbackFuncs),
13683            "::",
13684            stringify!(unref)
13685        )
13686    );
13687    assert_eq!(
13688        unsafe { ::std::ptr::addr_of!((*ptr).get) as usize - ptr as usize },
13689        16usize,
13690        concat!(
13691            "Offset of field: ",
13692            stringify!(_GSourceCallbackFuncs),
13693            "::",
13694            stringify!(get)
13695        )
13696    );
13697}
13698#[doc = " GSourceDummyMarshal:\n\n This is just a placeholder for #GClosureMarshal,\n which cannot be used here for dependency reasons."]
13699pub type GSourceDummyMarshal = ::std::option::Option<unsafe extern "C" fn()>;
13700#[repr(C)]
13701#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13702pub struct _GSourceFuncs {
13703    pub prepare: ::std::option::Option<
13704        unsafe extern "C" fn(source: *mut GSource, timeout_: *mut gint) -> gboolean,
13705    >,
13706    pub check: ::std::option::Option<unsafe extern "C" fn(source: *mut GSource) -> gboolean>,
13707    pub dispatch: ::std::option::Option<
13708        unsafe extern "C" fn(
13709            source: *mut GSource,
13710            callback: GSourceFunc,
13711            user_data: gpointer,
13712        ) -> gboolean,
13713    >,
13714    pub finalize: ::std::option::Option<unsafe extern "C" fn(source: *mut GSource)>,
13715    pub closure_callback: GSourceFunc,
13716    pub closure_marshal: GSourceDummyMarshal,
13717}
13718#[test]
13719fn bindgen_test_layout__GSourceFuncs() {
13720    const UNINIT: ::std::mem::MaybeUninit<_GSourceFuncs> = ::std::mem::MaybeUninit::uninit();
13721    let ptr = UNINIT.as_ptr();
13722    assert_eq!(
13723        ::std::mem::size_of::<_GSourceFuncs>(),
13724        48usize,
13725        concat!("Size of: ", stringify!(_GSourceFuncs))
13726    );
13727    assert_eq!(
13728        ::std::mem::align_of::<_GSourceFuncs>(),
13729        8usize,
13730        concat!("Alignment of ", stringify!(_GSourceFuncs))
13731    );
13732    assert_eq!(
13733        unsafe { ::std::ptr::addr_of!((*ptr).prepare) as usize - ptr as usize },
13734        0usize,
13735        concat!(
13736            "Offset of field: ",
13737            stringify!(_GSourceFuncs),
13738            "::",
13739            stringify!(prepare)
13740        )
13741    );
13742    assert_eq!(
13743        unsafe { ::std::ptr::addr_of!((*ptr).check) as usize - ptr as usize },
13744        8usize,
13745        concat!(
13746            "Offset of field: ",
13747            stringify!(_GSourceFuncs),
13748            "::",
13749            stringify!(check)
13750        )
13751    );
13752    assert_eq!(
13753        unsafe { ::std::ptr::addr_of!((*ptr).dispatch) as usize - ptr as usize },
13754        16usize,
13755        concat!(
13756            "Offset of field: ",
13757            stringify!(_GSourceFuncs),
13758            "::",
13759            stringify!(dispatch)
13760        )
13761    );
13762    assert_eq!(
13763        unsafe { ::std::ptr::addr_of!((*ptr).finalize) as usize - ptr as usize },
13764        24usize,
13765        concat!(
13766            "Offset of field: ",
13767            stringify!(_GSourceFuncs),
13768            "::",
13769            stringify!(finalize)
13770        )
13771    );
13772    assert_eq!(
13773        unsafe { ::std::ptr::addr_of!((*ptr).closure_callback) as usize - ptr as usize },
13774        32usize,
13775        concat!(
13776            "Offset of field: ",
13777            stringify!(_GSourceFuncs),
13778            "::",
13779            stringify!(closure_callback)
13780        )
13781    );
13782    assert_eq!(
13783        unsafe { ::std::ptr::addr_of!((*ptr).closure_marshal) as usize - ptr as usize },
13784        40usize,
13785        concat!(
13786            "Offset of field: ",
13787            stringify!(_GSourceFuncs),
13788            "::",
13789            stringify!(closure_marshal)
13790        )
13791    );
13792}
13793extern "C" {
13794    pub fn g_main_context_new() -> *mut GMainContext;
13795}
13796extern "C" {
13797    pub fn g_main_context_new_with_flags(flags: GMainContextFlags) -> *mut GMainContext;
13798}
13799extern "C" {
13800    pub fn g_main_context_ref(context: *mut GMainContext) -> *mut GMainContext;
13801}
13802extern "C" {
13803    pub fn g_main_context_unref(context: *mut GMainContext);
13804}
13805extern "C" {
13806    pub fn g_main_context_default() -> *mut GMainContext;
13807}
13808extern "C" {
13809    pub fn g_main_context_iteration(context: *mut GMainContext, may_block: gboolean) -> gboolean;
13810}
13811extern "C" {
13812    pub fn g_main_context_pending(context: *mut GMainContext) -> gboolean;
13813}
13814extern "C" {
13815    pub fn g_main_context_find_source_by_id(
13816        context: *mut GMainContext,
13817        source_id: guint,
13818    ) -> *mut GSource;
13819}
13820extern "C" {
13821    pub fn g_main_context_find_source_by_user_data(
13822        context: *mut GMainContext,
13823        user_data: gpointer,
13824    ) -> *mut GSource;
13825}
13826extern "C" {
13827    pub fn g_main_context_find_source_by_funcs_user_data(
13828        context: *mut GMainContext,
13829        funcs: *mut GSourceFuncs,
13830        user_data: gpointer,
13831    ) -> *mut GSource;
13832}
13833extern "C" {
13834    pub fn g_main_context_wakeup(context: *mut GMainContext);
13835}
13836extern "C" {
13837    pub fn g_main_context_acquire(context: *mut GMainContext) -> gboolean;
13838}
13839extern "C" {
13840    pub fn g_main_context_release(context: *mut GMainContext);
13841}
13842extern "C" {
13843    pub fn g_main_context_is_owner(context: *mut GMainContext) -> gboolean;
13844}
13845extern "C" {
13846    pub fn g_main_context_wait(
13847        context: *mut GMainContext,
13848        cond: *mut GCond,
13849        mutex: *mut GMutex,
13850    ) -> gboolean;
13851}
13852extern "C" {
13853    pub fn g_main_context_prepare(context: *mut GMainContext, priority: *mut gint) -> gboolean;
13854}
13855extern "C" {
13856    pub fn g_main_context_query(
13857        context: *mut GMainContext,
13858        max_priority: gint,
13859        timeout_: *mut gint,
13860        fds: *mut GPollFD,
13861        n_fds: gint,
13862    ) -> gint;
13863}
13864extern "C" {
13865    pub fn g_main_context_check(
13866        context: *mut GMainContext,
13867        max_priority: gint,
13868        fds: *mut GPollFD,
13869        n_fds: gint,
13870    ) -> gboolean;
13871}
13872extern "C" {
13873    pub fn g_main_context_dispatch(context: *mut GMainContext);
13874}
13875extern "C" {
13876    pub fn g_main_context_set_poll_func(context: *mut GMainContext, func: GPollFunc);
13877}
13878extern "C" {
13879    pub fn g_main_context_get_poll_func(context: *mut GMainContext) -> GPollFunc;
13880}
13881extern "C" {
13882    pub fn g_main_context_add_poll(context: *mut GMainContext, fd: *mut GPollFD, priority: gint);
13883}
13884extern "C" {
13885    pub fn g_main_context_remove_poll(context: *mut GMainContext, fd: *mut GPollFD);
13886}
13887extern "C" {
13888    pub fn g_main_depth() -> gint;
13889}
13890extern "C" {
13891    pub fn g_main_current_source() -> *mut GSource;
13892}
13893extern "C" {
13894    pub fn g_main_context_push_thread_default(context: *mut GMainContext);
13895}
13896extern "C" {
13897    pub fn g_main_context_pop_thread_default(context: *mut GMainContext);
13898}
13899extern "C" {
13900    pub fn g_main_context_get_thread_default() -> *mut GMainContext;
13901}
13902extern "C" {
13903    pub fn g_main_context_ref_thread_default() -> *mut GMainContext;
13904}
13905#[doc = " GMainContextPusher:\n\n Opaque type. See g_main_context_pusher_new() for details.\n\n Since: 2.64"]
13906pub type GMainContextPusher = ::std::os::raw::c_void;
13907extern "C" {
13908    pub fn g_main_loop_new(context: *mut GMainContext, is_running: gboolean) -> *mut GMainLoop;
13909}
13910extern "C" {
13911    pub fn g_main_loop_run(loop_: *mut GMainLoop);
13912}
13913extern "C" {
13914    pub fn g_main_loop_quit(loop_: *mut GMainLoop);
13915}
13916extern "C" {
13917    pub fn g_main_loop_ref(loop_: *mut GMainLoop) -> *mut GMainLoop;
13918}
13919extern "C" {
13920    pub fn g_main_loop_unref(loop_: *mut GMainLoop);
13921}
13922extern "C" {
13923    pub fn g_main_loop_is_running(loop_: *mut GMainLoop) -> gboolean;
13924}
13925extern "C" {
13926    pub fn g_main_loop_get_context(loop_: *mut GMainLoop) -> *mut GMainContext;
13927}
13928extern "C" {
13929    pub fn g_source_new(source_funcs: *mut GSourceFuncs, struct_size: guint) -> *mut GSource;
13930}
13931extern "C" {
13932    pub fn g_source_set_dispose_function(source: *mut GSource, dispose: GSourceDisposeFunc);
13933}
13934extern "C" {
13935    pub fn g_source_ref(source: *mut GSource) -> *mut GSource;
13936}
13937extern "C" {
13938    pub fn g_source_unref(source: *mut GSource);
13939}
13940extern "C" {
13941    pub fn g_source_attach(source: *mut GSource, context: *mut GMainContext) -> guint;
13942}
13943extern "C" {
13944    pub fn g_source_destroy(source: *mut GSource);
13945}
13946extern "C" {
13947    pub fn g_source_set_priority(source: *mut GSource, priority: gint);
13948}
13949extern "C" {
13950    pub fn g_source_get_priority(source: *mut GSource) -> gint;
13951}
13952extern "C" {
13953    pub fn g_source_set_can_recurse(source: *mut GSource, can_recurse: gboolean);
13954}
13955extern "C" {
13956    pub fn g_source_get_can_recurse(source: *mut GSource) -> gboolean;
13957}
13958extern "C" {
13959    pub fn g_source_get_id(source: *mut GSource) -> guint;
13960}
13961extern "C" {
13962    pub fn g_source_get_context(source: *mut GSource) -> *mut GMainContext;
13963}
13964extern "C" {
13965    pub fn g_source_set_callback(
13966        source: *mut GSource,
13967        func: GSourceFunc,
13968        data: gpointer,
13969        notify: GDestroyNotify,
13970    );
13971}
13972extern "C" {
13973    pub fn g_source_set_funcs(source: *mut GSource, funcs: *mut GSourceFuncs);
13974}
13975extern "C" {
13976    pub fn g_source_is_destroyed(source: *mut GSource) -> gboolean;
13977}
13978extern "C" {
13979    pub fn g_source_set_name(source: *mut GSource, name: *const ::std::os::raw::c_char);
13980}
13981extern "C" {
13982    pub fn g_source_set_static_name(source: *mut GSource, name: *const ::std::os::raw::c_char);
13983}
13984extern "C" {
13985    pub fn g_source_get_name(source: *mut GSource) -> *const ::std::os::raw::c_char;
13986}
13987extern "C" {
13988    pub fn g_source_set_name_by_id(tag: guint, name: *const ::std::os::raw::c_char);
13989}
13990extern "C" {
13991    pub fn g_source_set_ready_time(source: *mut GSource, ready_time: gint64);
13992}
13993extern "C" {
13994    pub fn g_source_get_ready_time(source: *mut GSource) -> gint64;
13995}
13996extern "C" {
13997    pub fn g_source_add_unix_fd(source: *mut GSource, fd: gint, events: GIOCondition) -> gpointer;
13998}
13999extern "C" {
14000    pub fn g_source_modify_unix_fd(source: *mut GSource, tag: gpointer, new_events: GIOCondition);
14001}
14002extern "C" {
14003    pub fn g_source_remove_unix_fd(source: *mut GSource, tag: gpointer);
14004}
14005extern "C" {
14006    pub fn g_source_query_unix_fd(source: *mut GSource, tag: gpointer) -> GIOCondition;
14007}
14008extern "C" {
14009    pub fn g_source_set_callback_indirect(
14010        source: *mut GSource,
14011        callback_data: gpointer,
14012        callback_funcs: *mut GSourceCallbackFuncs,
14013    );
14014}
14015extern "C" {
14016    pub fn g_source_add_poll(source: *mut GSource, fd: *mut GPollFD);
14017}
14018extern "C" {
14019    pub fn g_source_remove_poll(source: *mut GSource, fd: *mut GPollFD);
14020}
14021extern "C" {
14022    pub fn g_source_add_child_source(source: *mut GSource, child_source: *mut GSource);
14023}
14024extern "C" {
14025    pub fn g_source_remove_child_source(source: *mut GSource, child_source: *mut GSource);
14026}
14027extern "C" {
14028    pub fn g_source_get_current_time(source: *mut GSource, timeval: *mut GTimeVal);
14029}
14030extern "C" {
14031    pub fn g_source_get_time(source: *mut GSource) -> gint64;
14032}
14033extern "C" {
14034    pub fn g_idle_source_new() -> *mut GSource;
14035}
14036extern "C" {
14037    pub fn g_child_watch_source_new(pid: GPid) -> *mut GSource;
14038}
14039extern "C" {
14040    pub fn g_timeout_source_new(interval: guint) -> *mut GSource;
14041}
14042extern "C" {
14043    pub fn g_timeout_source_new_seconds(interval: guint) -> *mut GSource;
14044}
14045extern "C" {
14046    pub fn g_get_current_time(result: *mut GTimeVal);
14047}
14048extern "C" {
14049    pub fn g_get_monotonic_time() -> gint64;
14050}
14051extern "C" {
14052    pub fn g_get_real_time() -> gint64;
14053}
14054extern "C" {
14055    pub fn g_source_remove(tag: guint) -> gboolean;
14056}
14057extern "C" {
14058    pub fn g_source_remove_by_user_data(user_data: gpointer) -> gboolean;
14059}
14060extern "C" {
14061    pub fn g_source_remove_by_funcs_user_data(
14062        funcs: *mut GSourceFuncs,
14063        user_data: gpointer,
14064    ) -> gboolean;
14065}
14066#[doc = " GClearHandleFunc:\n @handle_id: the handle ID to clear\n\n Specifies the type of function passed to g_clear_handle_id().\n The implementation is expected to free the resource identified\n by @handle_id; for instance, if @handle_id is a #GSource ID,\n g_source_remove() can be used.\n\n Since: 2.56"]
14067pub type GClearHandleFunc = ::std::option::Option<unsafe extern "C" fn(handle_id: guint)>;
14068extern "C" {
14069    pub fn g_clear_handle_id(tag_ptr: *mut guint, clear_func: GClearHandleFunc);
14070}
14071extern "C" {
14072    pub fn g_timeout_add_full(
14073        priority: gint,
14074        interval: guint,
14075        function: GSourceFunc,
14076        data: gpointer,
14077        notify: GDestroyNotify,
14078    ) -> guint;
14079}
14080extern "C" {
14081    pub fn g_timeout_add(interval: guint, function: GSourceFunc, data: gpointer) -> guint;
14082}
14083extern "C" {
14084    pub fn g_timeout_add_once(interval: guint, function: GSourceOnceFunc, data: gpointer) -> guint;
14085}
14086extern "C" {
14087    pub fn g_timeout_add_seconds_full(
14088        priority: gint,
14089        interval: guint,
14090        function: GSourceFunc,
14091        data: gpointer,
14092        notify: GDestroyNotify,
14093    ) -> guint;
14094}
14095extern "C" {
14096    pub fn g_timeout_add_seconds(interval: guint, function: GSourceFunc, data: gpointer) -> guint;
14097}
14098extern "C" {
14099    pub fn g_timeout_add_seconds_once(
14100        interval: guint,
14101        function: GSourceOnceFunc,
14102        data: gpointer,
14103    ) -> guint;
14104}
14105extern "C" {
14106    pub fn g_child_watch_add_full(
14107        priority: gint,
14108        pid: GPid,
14109        function: GChildWatchFunc,
14110        data: gpointer,
14111        notify: GDestroyNotify,
14112    ) -> guint;
14113}
14114extern "C" {
14115    pub fn g_child_watch_add(pid: GPid, function: GChildWatchFunc, data: gpointer) -> guint;
14116}
14117extern "C" {
14118    pub fn g_idle_add(function: GSourceFunc, data: gpointer) -> guint;
14119}
14120extern "C" {
14121    pub fn g_idle_add_full(
14122        priority: gint,
14123        function: GSourceFunc,
14124        data: gpointer,
14125        notify: GDestroyNotify,
14126    ) -> guint;
14127}
14128extern "C" {
14129    pub fn g_idle_add_once(function: GSourceOnceFunc, data: gpointer) -> guint;
14130}
14131extern "C" {
14132    pub fn g_idle_remove_by_data(data: gpointer) -> gboolean;
14133}
14134extern "C" {
14135    pub fn g_main_context_invoke_full(
14136        context: *mut GMainContext,
14137        priority: gint,
14138        function: GSourceFunc,
14139        data: gpointer,
14140        notify: GDestroyNotify,
14141    );
14142}
14143extern "C" {
14144    pub fn g_main_context_invoke(context: *mut GMainContext, function: GSourceFunc, data: gpointer);
14145}
14146extern "C" {
14147    pub static mut g_timeout_funcs: GSourceFuncs;
14148}
14149extern "C" {
14150    pub static mut g_child_watch_funcs: GSourceFuncs;
14151}
14152extern "C" {
14153    pub static mut g_idle_funcs: GSourceFuncs;
14154}
14155extern "C" {
14156    pub static mut g_unix_signal_funcs: GSourceFuncs;
14157}
14158extern "C" {
14159    pub static mut g_unix_fd_source_funcs: GSourceFuncs;
14160}
14161#[doc = " gunichar:\n\n A type which can hold any UTF-32 or UCS-4 character code,\n also known as a Unicode code point.\n\n If you want to produce the UTF-8 representation of a #gunichar,\n use g_ucs4_to_utf8(). See also g_utf8_to_ucs4() for the reverse\n process.\n\n To print/scan values of this type as integer, use\n %G_GINT32_MODIFIER and/or %G_GUINT32_FORMAT.\n\n The notation to express a Unicode code point in running text is\n as a hexadecimal number with four to six digits and uppercase\n letters, prefixed by the string \"U+\". Leading zeros are omitted,\n unless the code point would have fewer than four hexadecimal digits.\n For example, \"U+0041 LATIN CAPITAL LETTER A\". To print a code point\n in the U+-notation, use the format string \"U+\\%04\"G_GINT32_FORMAT\"X\".\n To scan, use the format string \"U+\\%06\"G_GINT32_FORMAT\"X\".\n\n |[\n gunichar c;\n sscanf (\"U+0041\", \"U+%06\"G_GINT32_FORMAT\"X\", &amp;c)\n g_print (\"Read U+%04\"G_GINT32_FORMAT\"X\", c);\n ]|"]
14162pub type gunichar = guint32;
14163#[doc = " gunichar2:\n\n A type which can hold any UTF-16 code\n point<footnote id=\"utf16_surrogate_pairs\">UTF-16 also has so called\n <firstterm>surrogate pairs</firstterm> to encode characters beyond\n the BMP as pairs of 16bit numbers. Surrogate pairs cannot be stored\n in a single gunichar2 field, but all GLib functions accepting gunichar2\n arrays will correctly interpret surrogate pairs.</footnote>.\n\n To print/scan values of this type to/from text you need to convert\n to/from UTF-8, using g_utf16_to_utf8()/g_utf8_to_utf16().\n\n To print/scan values of this type as integer, use\n %G_GINT16_MODIFIER and/or %G_GUINT16_FORMAT."]
14164pub type gunichar2 = guint16;
14165pub const GUnicodeType_G_UNICODE_CONTROL: GUnicodeType = 0;
14166pub const GUnicodeType_G_UNICODE_FORMAT: GUnicodeType = 1;
14167pub const GUnicodeType_G_UNICODE_UNASSIGNED: GUnicodeType = 2;
14168pub const GUnicodeType_G_UNICODE_PRIVATE_USE: GUnicodeType = 3;
14169pub const GUnicodeType_G_UNICODE_SURROGATE: GUnicodeType = 4;
14170pub const GUnicodeType_G_UNICODE_LOWERCASE_LETTER: GUnicodeType = 5;
14171pub const GUnicodeType_G_UNICODE_MODIFIER_LETTER: GUnicodeType = 6;
14172pub const GUnicodeType_G_UNICODE_OTHER_LETTER: GUnicodeType = 7;
14173pub const GUnicodeType_G_UNICODE_TITLECASE_LETTER: GUnicodeType = 8;
14174pub const GUnicodeType_G_UNICODE_UPPERCASE_LETTER: GUnicodeType = 9;
14175pub const GUnicodeType_G_UNICODE_SPACING_MARK: GUnicodeType = 10;
14176pub const GUnicodeType_G_UNICODE_ENCLOSING_MARK: GUnicodeType = 11;
14177pub const GUnicodeType_G_UNICODE_NON_SPACING_MARK: GUnicodeType = 12;
14178pub const GUnicodeType_G_UNICODE_DECIMAL_NUMBER: GUnicodeType = 13;
14179pub const GUnicodeType_G_UNICODE_LETTER_NUMBER: GUnicodeType = 14;
14180pub const GUnicodeType_G_UNICODE_OTHER_NUMBER: GUnicodeType = 15;
14181pub const GUnicodeType_G_UNICODE_CONNECT_PUNCTUATION: GUnicodeType = 16;
14182pub const GUnicodeType_G_UNICODE_DASH_PUNCTUATION: GUnicodeType = 17;
14183pub const GUnicodeType_G_UNICODE_CLOSE_PUNCTUATION: GUnicodeType = 18;
14184pub const GUnicodeType_G_UNICODE_FINAL_PUNCTUATION: GUnicodeType = 19;
14185pub const GUnicodeType_G_UNICODE_INITIAL_PUNCTUATION: GUnicodeType = 20;
14186pub const GUnicodeType_G_UNICODE_OTHER_PUNCTUATION: GUnicodeType = 21;
14187pub const GUnicodeType_G_UNICODE_OPEN_PUNCTUATION: GUnicodeType = 22;
14188pub const GUnicodeType_G_UNICODE_CURRENCY_SYMBOL: GUnicodeType = 23;
14189pub const GUnicodeType_G_UNICODE_MODIFIER_SYMBOL: GUnicodeType = 24;
14190pub const GUnicodeType_G_UNICODE_MATH_SYMBOL: GUnicodeType = 25;
14191pub const GUnicodeType_G_UNICODE_OTHER_SYMBOL: GUnicodeType = 26;
14192pub const GUnicodeType_G_UNICODE_LINE_SEPARATOR: GUnicodeType = 27;
14193pub const GUnicodeType_G_UNICODE_PARAGRAPH_SEPARATOR: GUnicodeType = 28;
14194pub const GUnicodeType_G_UNICODE_SPACE_SEPARATOR: GUnicodeType = 29;
14195#[doc = " GUnicodeType:\n @G_UNICODE_CONTROL: General category \"Other, Control\" (Cc)\n @G_UNICODE_FORMAT: General category \"Other, Format\" (Cf)\n @G_UNICODE_UNASSIGNED: General category \"Other, Not Assigned\" (Cn)\n @G_UNICODE_PRIVATE_USE: General category \"Other, Private Use\" (Co)\n @G_UNICODE_SURROGATE: General category \"Other, Surrogate\" (Cs)\n @G_UNICODE_LOWERCASE_LETTER: General category \"Letter, Lowercase\" (Ll)\n @G_UNICODE_MODIFIER_LETTER: General category \"Letter, Modifier\" (Lm)\n @G_UNICODE_OTHER_LETTER: General category \"Letter, Other\" (Lo)\n @G_UNICODE_TITLECASE_LETTER: General category \"Letter, Titlecase\" (Lt)\n @G_UNICODE_UPPERCASE_LETTER: General category \"Letter, Uppercase\" (Lu)\n @G_UNICODE_SPACING_MARK: General category \"Mark, Spacing\" (Mc)\n @G_UNICODE_ENCLOSING_MARK: General category \"Mark, Enclosing\" (Me)\n @G_UNICODE_NON_SPACING_MARK: General category \"Mark, Nonspacing\" (Mn)\n @G_UNICODE_DECIMAL_NUMBER: General category \"Number, Decimal Digit\" (Nd)\n @G_UNICODE_LETTER_NUMBER: General category \"Number, Letter\" (Nl)\n @G_UNICODE_OTHER_NUMBER: General category \"Number, Other\" (No)\n @G_UNICODE_CONNECT_PUNCTUATION: General category \"Punctuation, Connector\" (Pc)\n @G_UNICODE_DASH_PUNCTUATION: General category \"Punctuation, Dash\" (Pd)\n @G_UNICODE_CLOSE_PUNCTUATION: General category \"Punctuation, Close\" (Pe)\n @G_UNICODE_FINAL_PUNCTUATION: General category \"Punctuation, Final quote\" (Pf)\n @G_UNICODE_INITIAL_PUNCTUATION: General category \"Punctuation, Initial quote\" (Pi)\n @G_UNICODE_OTHER_PUNCTUATION: General category \"Punctuation, Other\" (Po)\n @G_UNICODE_OPEN_PUNCTUATION: General category \"Punctuation, Open\" (Ps)\n @G_UNICODE_CURRENCY_SYMBOL: General category \"Symbol, Currency\" (Sc)\n @G_UNICODE_MODIFIER_SYMBOL: General category \"Symbol, Modifier\" (Sk)\n @G_UNICODE_MATH_SYMBOL: General category \"Symbol, Math\" (Sm)\n @G_UNICODE_OTHER_SYMBOL: General category \"Symbol, Other\" (So)\n @G_UNICODE_LINE_SEPARATOR: General category \"Separator, Line\" (Zl)\n @G_UNICODE_PARAGRAPH_SEPARATOR: General category \"Separator, Paragraph\" (Zp)\n @G_UNICODE_SPACE_SEPARATOR: General category \"Separator, Space\" (Zs)\n\n These are the possible character classifications from the\n Unicode specification.\n See [Unicode Character Database](http://www.unicode.org/reports/tr44/#General_Category_Values)."]
14196pub type GUnicodeType = ::std::os::raw::c_uint;
14197pub const GUnicodeBreakType_G_UNICODE_BREAK_MANDATORY: GUnicodeBreakType = 0;
14198pub const GUnicodeBreakType_G_UNICODE_BREAK_CARRIAGE_RETURN: GUnicodeBreakType = 1;
14199pub const GUnicodeBreakType_G_UNICODE_BREAK_LINE_FEED: GUnicodeBreakType = 2;
14200pub const GUnicodeBreakType_G_UNICODE_BREAK_COMBINING_MARK: GUnicodeBreakType = 3;
14201pub const GUnicodeBreakType_G_UNICODE_BREAK_SURROGATE: GUnicodeBreakType = 4;
14202pub const GUnicodeBreakType_G_UNICODE_BREAK_ZERO_WIDTH_SPACE: GUnicodeBreakType = 5;
14203pub const GUnicodeBreakType_G_UNICODE_BREAK_INSEPARABLE: GUnicodeBreakType = 6;
14204pub const GUnicodeBreakType_G_UNICODE_BREAK_NON_BREAKING_GLUE: GUnicodeBreakType = 7;
14205pub const GUnicodeBreakType_G_UNICODE_BREAK_CONTINGENT: GUnicodeBreakType = 8;
14206pub const GUnicodeBreakType_G_UNICODE_BREAK_SPACE: GUnicodeBreakType = 9;
14207pub const GUnicodeBreakType_G_UNICODE_BREAK_AFTER: GUnicodeBreakType = 10;
14208pub const GUnicodeBreakType_G_UNICODE_BREAK_BEFORE: GUnicodeBreakType = 11;
14209pub const GUnicodeBreakType_G_UNICODE_BREAK_BEFORE_AND_AFTER: GUnicodeBreakType = 12;
14210pub const GUnicodeBreakType_G_UNICODE_BREAK_HYPHEN: GUnicodeBreakType = 13;
14211pub const GUnicodeBreakType_G_UNICODE_BREAK_NON_STARTER: GUnicodeBreakType = 14;
14212pub const GUnicodeBreakType_G_UNICODE_BREAK_OPEN_PUNCTUATION: GUnicodeBreakType = 15;
14213pub const GUnicodeBreakType_G_UNICODE_BREAK_CLOSE_PUNCTUATION: GUnicodeBreakType = 16;
14214pub const GUnicodeBreakType_G_UNICODE_BREAK_QUOTATION: GUnicodeBreakType = 17;
14215pub const GUnicodeBreakType_G_UNICODE_BREAK_EXCLAMATION: GUnicodeBreakType = 18;
14216pub const GUnicodeBreakType_G_UNICODE_BREAK_IDEOGRAPHIC: GUnicodeBreakType = 19;
14217pub const GUnicodeBreakType_G_UNICODE_BREAK_NUMERIC: GUnicodeBreakType = 20;
14218pub const GUnicodeBreakType_G_UNICODE_BREAK_INFIX_SEPARATOR: GUnicodeBreakType = 21;
14219pub const GUnicodeBreakType_G_UNICODE_BREAK_SYMBOL: GUnicodeBreakType = 22;
14220pub const GUnicodeBreakType_G_UNICODE_BREAK_ALPHABETIC: GUnicodeBreakType = 23;
14221pub const GUnicodeBreakType_G_UNICODE_BREAK_PREFIX: GUnicodeBreakType = 24;
14222pub const GUnicodeBreakType_G_UNICODE_BREAK_POSTFIX: GUnicodeBreakType = 25;
14223pub const GUnicodeBreakType_G_UNICODE_BREAK_COMPLEX_CONTEXT: GUnicodeBreakType = 26;
14224pub const GUnicodeBreakType_G_UNICODE_BREAK_AMBIGUOUS: GUnicodeBreakType = 27;
14225pub const GUnicodeBreakType_G_UNICODE_BREAK_UNKNOWN: GUnicodeBreakType = 28;
14226pub const GUnicodeBreakType_G_UNICODE_BREAK_NEXT_LINE: GUnicodeBreakType = 29;
14227pub const GUnicodeBreakType_G_UNICODE_BREAK_WORD_JOINER: GUnicodeBreakType = 30;
14228pub const GUnicodeBreakType_G_UNICODE_BREAK_HANGUL_L_JAMO: GUnicodeBreakType = 31;
14229pub const GUnicodeBreakType_G_UNICODE_BREAK_HANGUL_V_JAMO: GUnicodeBreakType = 32;
14230pub const GUnicodeBreakType_G_UNICODE_BREAK_HANGUL_T_JAMO: GUnicodeBreakType = 33;
14231pub const GUnicodeBreakType_G_UNICODE_BREAK_HANGUL_LV_SYLLABLE: GUnicodeBreakType = 34;
14232pub const GUnicodeBreakType_G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE: GUnicodeBreakType = 35;
14233pub const GUnicodeBreakType_G_UNICODE_BREAK_CLOSE_PARANTHESIS: GUnicodeBreakType = 36;
14234pub const GUnicodeBreakType_G_UNICODE_BREAK_CLOSE_PARENTHESIS: GUnicodeBreakType = 36;
14235pub const GUnicodeBreakType_G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER: GUnicodeBreakType = 37;
14236pub const GUnicodeBreakType_G_UNICODE_BREAK_HEBREW_LETTER: GUnicodeBreakType = 38;
14237pub const GUnicodeBreakType_G_UNICODE_BREAK_REGIONAL_INDICATOR: GUnicodeBreakType = 39;
14238pub const GUnicodeBreakType_G_UNICODE_BREAK_EMOJI_BASE: GUnicodeBreakType = 40;
14239pub const GUnicodeBreakType_G_UNICODE_BREAK_EMOJI_MODIFIER: GUnicodeBreakType = 41;
14240pub const GUnicodeBreakType_G_UNICODE_BREAK_ZERO_WIDTH_JOINER: GUnicodeBreakType = 42;
14241#[doc = " GUnicodeBreakType:\n @G_UNICODE_BREAK_MANDATORY: Mandatory Break (BK)\n @G_UNICODE_BREAK_CARRIAGE_RETURN: Carriage Return (CR)\n @G_UNICODE_BREAK_LINE_FEED: Line Feed (LF)\n @G_UNICODE_BREAK_COMBINING_MARK: Attached Characters and Combining Marks (CM)\n @G_UNICODE_BREAK_SURROGATE: Surrogates (SG)\n @G_UNICODE_BREAK_ZERO_WIDTH_SPACE: Zero Width Space (ZW)\n @G_UNICODE_BREAK_INSEPARABLE: Inseparable (IN)\n @G_UNICODE_BREAK_NON_BREAKING_GLUE: Non-breaking (\"Glue\") (GL)\n @G_UNICODE_BREAK_CONTINGENT: Contingent Break Opportunity (CB)\n @G_UNICODE_BREAK_SPACE: Space (SP)\n @G_UNICODE_BREAK_AFTER: Break Opportunity After (BA)\n @G_UNICODE_BREAK_BEFORE: Break Opportunity Before (BB)\n @G_UNICODE_BREAK_BEFORE_AND_AFTER: Break Opportunity Before and After (B2)\n @G_UNICODE_BREAK_HYPHEN: Hyphen (HY)\n @G_UNICODE_BREAK_NON_STARTER: Nonstarter (NS)\n @G_UNICODE_BREAK_OPEN_PUNCTUATION: Opening Punctuation (OP)\n @G_UNICODE_BREAK_CLOSE_PUNCTUATION: Closing Punctuation (CL)\n @G_UNICODE_BREAK_QUOTATION: Ambiguous Quotation (QU)\n @G_UNICODE_BREAK_EXCLAMATION: Exclamation/Interrogation (EX)\n @G_UNICODE_BREAK_IDEOGRAPHIC: Ideographic (ID)\n @G_UNICODE_BREAK_NUMERIC: Numeric (NU)\n @G_UNICODE_BREAK_INFIX_SEPARATOR: Infix Separator (Numeric) (IS)\n @G_UNICODE_BREAK_SYMBOL: Symbols Allowing Break After (SY)\n @G_UNICODE_BREAK_ALPHABETIC: Ordinary Alphabetic and Symbol Characters (AL)\n @G_UNICODE_BREAK_PREFIX: Prefix (Numeric) (PR)\n @G_UNICODE_BREAK_POSTFIX: Postfix (Numeric) (PO)\n @G_UNICODE_BREAK_COMPLEX_CONTEXT: Complex Content Dependent (South East Asian) (SA)\n @G_UNICODE_BREAK_AMBIGUOUS: Ambiguous (Alphabetic or Ideographic) (AI)\n @G_UNICODE_BREAK_UNKNOWN: Unknown (XX)\n @G_UNICODE_BREAK_NEXT_LINE: Next Line (NL)\n @G_UNICODE_BREAK_WORD_JOINER: Word Joiner (WJ)\n @G_UNICODE_BREAK_HANGUL_L_JAMO: Hangul L Jamo (JL)\n @G_UNICODE_BREAK_HANGUL_V_JAMO: Hangul V Jamo (JV)\n @G_UNICODE_BREAK_HANGUL_T_JAMO: Hangul T Jamo (JT)\n @G_UNICODE_BREAK_HANGUL_LV_SYLLABLE: Hangul LV Syllable (H2)\n @G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE: Hangul LVT Syllable (H3)\n @G_UNICODE_BREAK_CLOSE_PARANTHESIS: Closing Parenthesis (CP). Since 2.28. Deprecated: 2.70: Use %G_UNICODE_BREAK_CLOSE_PARENTHESIS instead.\n @G_UNICODE_BREAK_CLOSE_PARENTHESIS: Closing Parenthesis (CP). Since 2.70\n @G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER: Conditional Japanese Starter (CJ). Since: 2.32\n @G_UNICODE_BREAK_HEBREW_LETTER: Hebrew Letter (HL). Since: 2.32\n @G_UNICODE_BREAK_REGIONAL_INDICATOR: Regional Indicator (RI). Since: 2.36\n @G_UNICODE_BREAK_EMOJI_BASE: Emoji Base (EB). Since: 2.50\n @G_UNICODE_BREAK_EMOJI_MODIFIER: Emoji Modifier (EM). Since: 2.50\n @G_UNICODE_BREAK_ZERO_WIDTH_JOINER: Zero Width Joiner (ZWJ). Since: 2.50\n\n These are the possible line break classifications.\n\n Since new unicode versions may add new types here, applications should be ready\n to handle unknown values. They may be regarded as %G_UNICODE_BREAK_UNKNOWN.\n\n See [Unicode Line Breaking Algorithm](https://www.unicode.org/reports/tr14/)."]
14242pub type GUnicodeBreakType = ::std::os::raw::c_uint;
14243pub const GUnicodeScript_G_UNICODE_SCRIPT_INVALID_CODE: GUnicodeScript = -1;
14244pub const GUnicodeScript_G_UNICODE_SCRIPT_COMMON: GUnicodeScript = 0;
14245pub const GUnicodeScript_G_UNICODE_SCRIPT_INHERITED: GUnicodeScript = 1;
14246pub const GUnicodeScript_G_UNICODE_SCRIPT_ARABIC: GUnicodeScript = 2;
14247pub const GUnicodeScript_G_UNICODE_SCRIPT_ARMENIAN: GUnicodeScript = 3;
14248pub const GUnicodeScript_G_UNICODE_SCRIPT_BENGALI: GUnicodeScript = 4;
14249pub const GUnicodeScript_G_UNICODE_SCRIPT_BOPOMOFO: GUnicodeScript = 5;
14250pub const GUnicodeScript_G_UNICODE_SCRIPT_CHEROKEE: GUnicodeScript = 6;
14251pub const GUnicodeScript_G_UNICODE_SCRIPT_COPTIC: GUnicodeScript = 7;
14252pub const GUnicodeScript_G_UNICODE_SCRIPT_CYRILLIC: GUnicodeScript = 8;
14253pub const GUnicodeScript_G_UNICODE_SCRIPT_DESERET: GUnicodeScript = 9;
14254pub const GUnicodeScript_G_UNICODE_SCRIPT_DEVANAGARI: GUnicodeScript = 10;
14255pub const GUnicodeScript_G_UNICODE_SCRIPT_ETHIOPIC: GUnicodeScript = 11;
14256pub const GUnicodeScript_G_UNICODE_SCRIPT_GEORGIAN: GUnicodeScript = 12;
14257pub const GUnicodeScript_G_UNICODE_SCRIPT_GOTHIC: GUnicodeScript = 13;
14258pub const GUnicodeScript_G_UNICODE_SCRIPT_GREEK: GUnicodeScript = 14;
14259pub const GUnicodeScript_G_UNICODE_SCRIPT_GUJARATI: GUnicodeScript = 15;
14260pub const GUnicodeScript_G_UNICODE_SCRIPT_GURMUKHI: GUnicodeScript = 16;
14261pub const GUnicodeScript_G_UNICODE_SCRIPT_HAN: GUnicodeScript = 17;
14262pub const GUnicodeScript_G_UNICODE_SCRIPT_HANGUL: GUnicodeScript = 18;
14263pub const GUnicodeScript_G_UNICODE_SCRIPT_HEBREW: GUnicodeScript = 19;
14264pub const GUnicodeScript_G_UNICODE_SCRIPT_HIRAGANA: GUnicodeScript = 20;
14265pub const GUnicodeScript_G_UNICODE_SCRIPT_KANNADA: GUnicodeScript = 21;
14266pub const GUnicodeScript_G_UNICODE_SCRIPT_KATAKANA: GUnicodeScript = 22;
14267pub const GUnicodeScript_G_UNICODE_SCRIPT_KHMER: GUnicodeScript = 23;
14268pub const GUnicodeScript_G_UNICODE_SCRIPT_LAO: GUnicodeScript = 24;
14269pub const GUnicodeScript_G_UNICODE_SCRIPT_LATIN: GUnicodeScript = 25;
14270pub const GUnicodeScript_G_UNICODE_SCRIPT_MALAYALAM: GUnicodeScript = 26;
14271pub const GUnicodeScript_G_UNICODE_SCRIPT_MONGOLIAN: GUnicodeScript = 27;
14272pub const GUnicodeScript_G_UNICODE_SCRIPT_MYANMAR: GUnicodeScript = 28;
14273pub const GUnicodeScript_G_UNICODE_SCRIPT_OGHAM: GUnicodeScript = 29;
14274pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_ITALIC: GUnicodeScript = 30;
14275pub const GUnicodeScript_G_UNICODE_SCRIPT_ORIYA: GUnicodeScript = 31;
14276pub const GUnicodeScript_G_UNICODE_SCRIPT_RUNIC: GUnicodeScript = 32;
14277pub const GUnicodeScript_G_UNICODE_SCRIPT_SINHALA: GUnicodeScript = 33;
14278pub const GUnicodeScript_G_UNICODE_SCRIPT_SYRIAC: GUnicodeScript = 34;
14279pub const GUnicodeScript_G_UNICODE_SCRIPT_TAMIL: GUnicodeScript = 35;
14280pub const GUnicodeScript_G_UNICODE_SCRIPT_TELUGU: GUnicodeScript = 36;
14281pub const GUnicodeScript_G_UNICODE_SCRIPT_THAANA: GUnicodeScript = 37;
14282pub const GUnicodeScript_G_UNICODE_SCRIPT_THAI: GUnicodeScript = 38;
14283pub const GUnicodeScript_G_UNICODE_SCRIPT_TIBETAN: GUnicodeScript = 39;
14284pub const GUnicodeScript_G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL: GUnicodeScript = 40;
14285pub const GUnicodeScript_G_UNICODE_SCRIPT_YI: GUnicodeScript = 41;
14286pub const GUnicodeScript_G_UNICODE_SCRIPT_TAGALOG: GUnicodeScript = 42;
14287pub const GUnicodeScript_G_UNICODE_SCRIPT_HANUNOO: GUnicodeScript = 43;
14288pub const GUnicodeScript_G_UNICODE_SCRIPT_BUHID: GUnicodeScript = 44;
14289pub const GUnicodeScript_G_UNICODE_SCRIPT_TAGBANWA: GUnicodeScript = 45;
14290pub const GUnicodeScript_G_UNICODE_SCRIPT_BRAILLE: GUnicodeScript = 46;
14291pub const GUnicodeScript_G_UNICODE_SCRIPT_CYPRIOT: GUnicodeScript = 47;
14292pub const GUnicodeScript_G_UNICODE_SCRIPT_LIMBU: GUnicodeScript = 48;
14293pub const GUnicodeScript_G_UNICODE_SCRIPT_OSMANYA: GUnicodeScript = 49;
14294pub const GUnicodeScript_G_UNICODE_SCRIPT_SHAVIAN: GUnicodeScript = 50;
14295pub const GUnicodeScript_G_UNICODE_SCRIPT_LINEAR_B: GUnicodeScript = 51;
14296pub const GUnicodeScript_G_UNICODE_SCRIPT_TAI_LE: GUnicodeScript = 52;
14297pub const GUnicodeScript_G_UNICODE_SCRIPT_UGARITIC: GUnicodeScript = 53;
14298pub const GUnicodeScript_G_UNICODE_SCRIPT_NEW_TAI_LUE: GUnicodeScript = 54;
14299pub const GUnicodeScript_G_UNICODE_SCRIPT_BUGINESE: GUnicodeScript = 55;
14300pub const GUnicodeScript_G_UNICODE_SCRIPT_GLAGOLITIC: GUnicodeScript = 56;
14301pub const GUnicodeScript_G_UNICODE_SCRIPT_TIFINAGH: GUnicodeScript = 57;
14302pub const GUnicodeScript_G_UNICODE_SCRIPT_SYLOTI_NAGRI: GUnicodeScript = 58;
14303pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_PERSIAN: GUnicodeScript = 59;
14304pub const GUnicodeScript_G_UNICODE_SCRIPT_KHAROSHTHI: GUnicodeScript = 60;
14305pub const GUnicodeScript_G_UNICODE_SCRIPT_UNKNOWN: GUnicodeScript = 61;
14306pub const GUnicodeScript_G_UNICODE_SCRIPT_BALINESE: GUnicodeScript = 62;
14307pub const GUnicodeScript_G_UNICODE_SCRIPT_CUNEIFORM: GUnicodeScript = 63;
14308pub const GUnicodeScript_G_UNICODE_SCRIPT_PHOENICIAN: GUnicodeScript = 64;
14309pub const GUnicodeScript_G_UNICODE_SCRIPT_PHAGS_PA: GUnicodeScript = 65;
14310pub const GUnicodeScript_G_UNICODE_SCRIPT_NKO: GUnicodeScript = 66;
14311pub const GUnicodeScript_G_UNICODE_SCRIPT_KAYAH_LI: GUnicodeScript = 67;
14312pub const GUnicodeScript_G_UNICODE_SCRIPT_LEPCHA: GUnicodeScript = 68;
14313pub const GUnicodeScript_G_UNICODE_SCRIPT_REJANG: GUnicodeScript = 69;
14314pub const GUnicodeScript_G_UNICODE_SCRIPT_SUNDANESE: GUnicodeScript = 70;
14315pub const GUnicodeScript_G_UNICODE_SCRIPT_SAURASHTRA: GUnicodeScript = 71;
14316pub const GUnicodeScript_G_UNICODE_SCRIPT_CHAM: GUnicodeScript = 72;
14317pub const GUnicodeScript_G_UNICODE_SCRIPT_OL_CHIKI: GUnicodeScript = 73;
14318pub const GUnicodeScript_G_UNICODE_SCRIPT_VAI: GUnicodeScript = 74;
14319pub const GUnicodeScript_G_UNICODE_SCRIPT_CARIAN: GUnicodeScript = 75;
14320pub const GUnicodeScript_G_UNICODE_SCRIPT_LYCIAN: GUnicodeScript = 76;
14321pub const GUnicodeScript_G_UNICODE_SCRIPT_LYDIAN: GUnicodeScript = 77;
14322pub const GUnicodeScript_G_UNICODE_SCRIPT_AVESTAN: GUnicodeScript = 78;
14323pub const GUnicodeScript_G_UNICODE_SCRIPT_BAMUM: GUnicodeScript = 79;
14324pub const GUnicodeScript_G_UNICODE_SCRIPT_EGYPTIAN_HIEROGLYPHS: GUnicodeScript = 80;
14325pub const GUnicodeScript_G_UNICODE_SCRIPT_IMPERIAL_ARAMAIC: GUnicodeScript = 81;
14326pub const GUnicodeScript_G_UNICODE_SCRIPT_INSCRIPTIONAL_PAHLAVI: GUnicodeScript = 82;
14327pub const GUnicodeScript_G_UNICODE_SCRIPT_INSCRIPTIONAL_PARTHIAN: GUnicodeScript = 83;
14328pub const GUnicodeScript_G_UNICODE_SCRIPT_JAVANESE: GUnicodeScript = 84;
14329pub const GUnicodeScript_G_UNICODE_SCRIPT_KAITHI: GUnicodeScript = 85;
14330pub const GUnicodeScript_G_UNICODE_SCRIPT_LISU: GUnicodeScript = 86;
14331pub const GUnicodeScript_G_UNICODE_SCRIPT_MEETEI_MAYEK: GUnicodeScript = 87;
14332pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_SOUTH_ARABIAN: GUnicodeScript = 88;
14333pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_TURKIC: GUnicodeScript = 89;
14334pub const GUnicodeScript_G_UNICODE_SCRIPT_SAMARITAN: GUnicodeScript = 90;
14335pub const GUnicodeScript_G_UNICODE_SCRIPT_TAI_THAM: GUnicodeScript = 91;
14336pub const GUnicodeScript_G_UNICODE_SCRIPT_TAI_VIET: GUnicodeScript = 92;
14337pub const GUnicodeScript_G_UNICODE_SCRIPT_BATAK: GUnicodeScript = 93;
14338pub const GUnicodeScript_G_UNICODE_SCRIPT_BRAHMI: GUnicodeScript = 94;
14339pub const GUnicodeScript_G_UNICODE_SCRIPT_MANDAIC: GUnicodeScript = 95;
14340pub const GUnicodeScript_G_UNICODE_SCRIPT_CHAKMA: GUnicodeScript = 96;
14341pub const GUnicodeScript_G_UNICODE_SCRIPT_MEROITIC_CURSIVE: GUnicodeScript = 97;
14342pub const GUnicodeScript_G_UNICODE_SCRIPT_MEROITIC_HIEROGLYPHS: GUnicodeScript = 98;
14343pub const GUnicodeScript_G_UNICODE_SCRIPT_MIAO: GUnicodeScript = 99;
14344pub const GUnicodeScript_G_UNICODE_SCRIPT_SHARADA: GUnicodeScript = 100;
14345pub const GUnicodeScript_G_UNICODE_SCRIPT_SORA_SOMPENG: GUnicodeScript = 101;
14346pub const GUnicodeScript_G_UNICODE_SCRIPT_TAKRI: GUnicodeScript = 102;
14347pub const GUnicodeScript_G_UNICODE_SCRIPT_BASSA_VAH: GUnicodeScript = 103;
14348pub const GUnicodeScript_G_UNICODE_SCRIPT_CAUCASIAN_ALBANIAN: GUnicodeScript = 104;
14349pub const GUnicodeScript_G_UNICODE_SCRIPT_DUPLOYAN: GUnicodeScript = 105;
14350pub const GUnicodeScript_G_UNICODE_SCRIPT_ELBASAN: GUnicodeScript = 106;
14351pub const GUnicodeScript_G_UNICODE_SCRIPT_GRANTHA: GUnicodeScript = 107;
14352pub const GUnicodeScript_G_UNICODE_SCRIPT_KHOJKI: GUnicodeScript = 108;
14353pub const GUnicodeScript_G_UNICODE_SCRIPT_KHUDAWADI: GUnicodeScript = 109;
14354pub const GUnicodeScript_G_UNICODE_SCRIPT_LINEAR_A: GUnicodeScript = 110;
14355pub const GUnicodeScript_G_UNICODE_SCRIPT_MAHAJANI: GUnicodeScript = 111;
14356pub const GUnicodeScript_G_UNICODE_SCRIPT_MANICHAEAN: GUnicodeScript = 112;
14357pub const GUnicodeScript_G_UNICODE_SCRIPT_MENDE_KIKAKUI: GUnicodeScript = 113;
14358pub const GUnicodeScript_G_UNICODE_SCRIPT_MODI: GUnicodeScript = 114;
14359pub const GUnicodeScript_G_UNICODE_SCRIPT_MRO: GUnicodeScript = 115;
14360pub const GUnicodeScript_G_UNICODE_SCRIPT_NABATAEAN: GUnicodeScript = 116;
14361pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_NORTH_ARABIAN: GUnicodeScript = 117;
14362pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_PERMIC: GUnicodeScript = 118;
14363pub const GUnicodeScript_G_UNICODE_SCRIPT_PAHAWH_HMONG: GUnicodeScript = 119;
14364pub const GUnicodeScript_G_UNICODE_SCRIPT_PALMYRENE: GUnicodeScript = 120;
14365pub const GUnicodeScript_G_UNICODE_SCRIPT_PAU_CIN_HAU: GUnicodeScript = 121;
14366pub const GUnicodeScript_G_UNICODE_SCRIPT_PSALTER_PAHLAVI: GUnicodeScript = 122;
14367pub const GUnicodeScript_G_UNICODE_SCRIPT_SIDDHAM: GUnicodeScript = 123;
14368pub const GUnicodeScript_G_UNICODE_SCRIPT_TIRHUTA: GUnicodeScript = 124;
14369pub const GUnicodeScript_G_UNICODE_SCRIPT_WARANG_CITI: GUnicodeScript = 125;
14370pub const GUnicodeScript_G_UNICODE_SCRIPT_AHOM: GUnicodeScript = 126;
14371pub const GUnicodeScript_G_UNICODE_SCRIPT_ANATOLIAN_HIEROGLYPHS: GUnicodeScript = 127;
14372pub const GUnicodeScript_G_UNICODE_SCRIPT_HATRAN: GUnicodeScript = 128;
14373pub const GUnicodeScript_G_UNICODE_SCRIPT_MULTANI: GUnicodeScript = 129;
14374pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_HUNGARIAN: GUnicodeScript = 130;
14375pub const GUnicodeScript_G_UNICODE_SCRIPT_SIGNWRITING: GUnicodeScript = 131;
14376pub const GUnicodeScript_G_UNICODE_SCRIPT_ADLAM: GUnicodeScript = 132;
14377pub const GUnicodeScript_G_UNICODE_SCRIPT_BHAIKSUKI: GUnicodeScript = 133;
14378pub const GUnicodeScript_G_UNICODE_SCRIPT_MARCHEN: GUnicodeScript = 134;
14379pub const GUnicodeScript_G_UNICODE_SCRIPT_NEWA: GUnicodeScript = 135;
14380pub const GUnicodeScript_G_UNICODE_SCRIPT_OSAGE: GUnicodeScript = 136;
14381pub const GUnicodeScript_G_UNICODE_SCRIPT_TANGUT: GUnicodeScript = 137;
14382pub const GUnicodeScript_G_UNICODE_SCRIPT_MASARAM_GONDI: GUnicodeScript = 138;
14383pub const GUnicodeScript_G_UNICODE_SCRIPT_NUSHU: GUnicodeScript = 139;
14384pub const GUnicodeScript_G_UNICODE_SCRIPT_SOYOMBO: GUnicodeScript = 140;
14385pub const GUnicodeScript_G_UNICODE_SCRIPT_ZANABAZAR_SQUARE: GUnicodeScript = 141;
14386pub const GUnicodeScript_G_UNICODE_SCRIPT_DOGRA: GUnicodeScript = 142;
14387pub const GUnicodeScript_G_UNICODE_SCRIPT_GUNJALA_GONDI: GUnicodeScript = 143;
14388pub const GUnicodeScript_G_UNICODE_SCRIPT_HANIFI_ROHINGYA: GUnicodeScript = 144;
14389pub const GUnicodeScript_G_UNICODE_SCRIPT_MAKASAR: GUnicodeScript = 145;
14390pub const GUnicodeScript_G_UNICODE_SCRIPT_MEDEFAIDRIN: GUnicodeScript = 146;
14391pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_SOGDIAN: GUnicodeScript = 147;
14392pub const GUnicodeScript_G_UNICODE_SCRIPT_SOGDIAN: GUnicodeScript = 148;
14393pub const GUnicodeScript_G_UNICODE_SCRIPT_ELYMAIC: GUnicodeScript = 149;
14394pub const GUnicodeScript_G_UNICODE_SCRIPT_NANDINAGARI: GUnicodeScript = 150;
14395pub const GUnicodeScript_G_UNICODE_SCRIPT_NYIAKENG_PUACHUE_HMONG: GUnicodeScript = 151;
14396pub const GUnicodeScript_G_UNICODE_SCRIPT_WANCHO: GUnicodeScript = 152;
14397pub const GUnicodeScript_G_UNICODE_SCRIPT_CHORASMIAN: GUnicodeScript = 153;
14398pub const GUnicodeScript_G_UNICODE_SCRIPT_DIVES_AKURU: GUnicodeScript = 154;
14399pub const GUnicodeScript_G_UNICODE_SCRIPT_KHITAN_SMALL_SCRIPT: GUnicodeScript = 155;
14400pub const GUnicodeScript_G_UNICODE_SCRIPT_YEZIDI: GUnicodeScript = 156;
14401pub const GUnicodeScript_G_UNICODE_SCRIPT_CYPRO_MINOAN: GUnicodeScript = 157;
14402pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_UYGHUR: GUnicodeScript = 158;
14403pub const GUnicodeScript_G_UNICODE_SCRIPT_TANGSA: GUnicodeScript = 159;
14404pub const GUnicodeScript_G_UNICODE_SCRIPT_TOTO: GUnicodeScript = 160;
14405pub const GUnicodeScript_G_UNICODE_SCRIPT_VITHKUQI: GUnicodeScript = 161;
14406pub const GUnicodeScript_G_UNICODE_SCRIPT_MATH: GUnicodeScript = 162;
14407pub const GUnicodeScript_G_UNICODE_SCRIPT_KAWI: GUnicodeScript = 163;
14408pub const GUnicodeScript_G_UNICODE_SCRIPT_NAG_MUNDARI: GUnicodeScript = 164;
14409#[doc = " GUnicodeScript:\n @G_UNICODE_SCRIPT_INVALID_CODE:\n                               a value never returned from g_unichar_get_script()\n @G_UNICODE_SCRIPT_COMMON:     a character used by multiple different scripts\n @G_UNICODE_SCRIPT_INHERITED:  a mark glyph that takes its script from the\n                               base glyph to which it is attached\n @G_UNICODE_SCRIPT_ARABIC:     Arabic\n @G_UNICODE_SCRIPT_ARMENIAN:   Armenian\n @G_UNICODE_SCRIPT_BENGALI:    Bengali\n @G_UNICODE_SCRIPT_BOPOMOFO:   Bopomofo\n @G_UNICODE_SCRIPT_CHEROKEE:   Cherokee\n @G_UNICODE_SCRIPT_COPTIC:     Coptic\n @G_UNICODE_SCRIPT_CYRILLIC:   Cyrillic\n @G_UNICODE_SCRIPT_DESERET:    Deseret\n @G_UNICODE_SCRIPT_DEVANAGARI: Devanagari\n @G_UNICODE_SCRIPT_ETHIOPIC:   Ethiopic\n @G_UNICODE_SCRIPT_GEORGIAN:   Georgian\n @G_UNICODE_SCRIPT_GOTHIC:     Gothic\n @G_UNICODE_SCRIPT_GREEK:      Greek\n @G_UNICODE_SCRIPT_GUJARATI:   Gujarati\n @G_UNICODE_SCRIPT_GURMUKHI:   Gurmukhi\n @G_UNICODE_SCRIPT_HAN:        Han\n @G_UNICODE_SCRIPT_HANGUL:     Hangul\n @G_UNICODE_SCRIPT_HEBREW:     Hebrew\n @G_UNICODE_SCRIPT_HIRAGANA:   Hiragana\n @G_UNICODE_SCRIPT_KANNADA:    Kannada\n @G_UNICODE_SCRIPT_KATAKANA:   Katakana\n @G_UNICODE_SCRIPT_KHMER:      Khmer\n @G_UNICODE_SCRIPT_LAO:        Lao\n @G_UNICODE_SCRIPT_LATIN:      Latin\n @G_UNICODE_SCRIPT_MALAYALAM:  Malayalam\n @G_UNICODE_SCRIPT_MONGOLIAN:  Mongolian\n @G_UNICODE_SCRIPT_MYANMAR:    Myanmar\n @G_UNICODE_SCRIPT_OGHAM:      Ogham\n @G_UNICODE_SCRIPT_OLD_ITALIC: Old Italic\n @G_UNICODE_SCRIPT_ORIYA:      Oriya\n @G_UNICODE_SCRIPT_RUNIC:      Runic\n @G_UNICODE_SCRIPT_SINHALA:    Sinhala\n @G_UNICODE_SCRIPT_SYRIAC:     Syriac\n @G_UNICODE_SCRIPT_TAMIL:      Tamil\n @G_UNICODE_SCRIPT_TELUGU:     Telugu\n @G_UNICODE_SCRIPT_THAANA:     Thaana\n @G_UNICODE_SCRIPT_THAI:       Thai\n @G_UNICODE_SCRIPT_TIBETAN:    Tibetan\n @G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL:\n                               Canadian Aboriginal\n @G_UNICODE_SCRIPT_YI:         Yi\n @G_UNICODE_SCRIPT_TAGALOG:    Tagalog\n @G_UNICODE_SCRIPT_HANUNOO:    Hanunoo\n @G_UNICODE_SCRIPT_BUHID:      Buhid\n @G_UNICODE_SCRIPT_TAGBANWA:   Tagbanwa\n @G_UNICODE_SCRIPT_BRAILLE:    Braille\n @G_UNICODE_SCRIPT_CYPRIOT:    Cypriot\n @G_UNICODE_SCRIPT_LIMBU:      Limbu\n @G_UNICODE_SCRIPT_OSMANYA:    Osmanya\n @G_UNICODE_SCRIPT_SHAVIAN:    Shavian\n @G_UNICODE_SCRIPT_LINEAR_B:   Linear B\n @G_UNICODE_SCRIPT_TAI_LE:     Tai Le\n @G_UNICODE_SCRIPT_UGARITIC:   Ugaritic\n @G_UNICODE_SCRIPT_NEW_TAI_LUE:\n                               New Tai Lue\n @G_UNICODE_SCRIPT_BUGINESE:   Buginese\n @G_UNICODE_SCRIPT_GLAGOLITIC: Glagolitic\n @G_UNICODE_SCRIPT_TIFINAGH:   Tifinagh\n @G_UNICODE_SCRIPT_SYLOTI_NAGRI:\n                               Syloti Nagri\n @G_UNICODE_SCRIPT_OLD_PERSIAN:\n                               Old Persian\n @G_UNICODE_SCRIPT_KHAROSHTHI: Kharoshthi\n @G_UNICODE_SCRIPT_UNKNOWN:    an unassigned code point\n @G_UNICODE_SCRIPT_BALINESE:   Balinese\n @G_UNICODE_SCRIPT_CUNEIFORM:  Cuneiform\n @G_UNICODE_SCRIPT_PHOENICIAN: Phoenician\n @G_UNICODE_SCRIPT_PHAGS_PA:   Phags-pa\n @G_UNICODE_SCRIPT_NKO:        N'Ko\n @G_UNICODE_SCRIPT_KAYAH_LI:   Kayah Li. Since 2.16.3\n @G_UNICODE_SCRIPT_LEPCHA:     Lepcha. Since 2.16.3\n @G_UNICODE_SCRIPT_REJANG:     Rejang. Since 2.16.3\n @G_UNICODE_SCRIPT_SUNDANESE:  Sundanese. Since 2.16.3\n @G_UNICODE_SCRIPT_SAURASHTRA: Saurashtra. Since 2.16.3\n @G_UNICODE_SCRIPT_CHAM:       Cham. Since 2.16.3\n @G_UNICODE_SCRIPT_OL_CHIKI:   Ol Chiki. Since 2.16.3\n @G_UNICODE_SCRIPT_VAI:        Vai. Since 2.16.3\n @G_UNICODE_SCRIPT_CARIAN:     Carian. Since 2.16.3\n @G_UNICODE_SCRIPT_LYCIAN:     Lycian. Since 2.16.3\n @G_UNICODE_SCRIPT_LYDIAN:     Lydian. Since 2.16.3\n @G_UNICODE_SCRIPT_AVESTAN:    Avestan. Since 2.26\n @G_UNICODE_SCRIPT_BAMUM:      Bamum. Since 2.26\n @G_UNICODE_SCRIPT_EGYPTIAN_HIEROGLYPHS:\n                               Egyptian Hieroglpyhs. Since 2.26\n @G_UNICODE_SCRIPT_IMPERIAL_ARAMAIC:\n                               Imperial Aramaic. Since 2.26\n @G_UNICODE_SCRIPT_INSCRIPTIONAL_PAHLAVI:\n                               Inscriptional Pahlavi. Since 2.26\n @G_UNICODE_SCRIPT_INSCRIPTIONAL_PARTHIAN:\n                               Inscriptional Parthian. Since 2.26\n @G_UNICODE_SCRIPT_JAVANESE:   Javanese. Since 2.26\n @G_UNICODE_SCRIPT_KAITHI:     Kaithi. Since 2.26\n @G_UNICODE_SCRIPT_LISU:       Lisu. Since 2.26\n @G_UNICODE_SCRIPT_MEETEI_MAYEK:\n                               Meetei Mayek. Since 2.26\n @G_UNICODE_SCRIPT_OLD_SOUTH_ARABIAN:\n                               Old South Arabian. Since 2.26\n @G_UNICODE_SCRIPT_OLD_TURKIC: Old Turkic. Since 2.28\n @G_UNICODE_SCRIPT_SAMARITAN:  Samaritan. Since 2.26\n @G_UNICODE_SCRIPT_TAI_THAM:   Tai Tham. Since 2.26\n @G_UNICODE_SCRIPT_TAI_VIET:   Tai Viet. Since 2.26\n @G_UNICODE_SCRIPT_BATAK:      Batak. Since 2.28\n @G_UNICODE_SCRIPT_BRAHMI:     Brahmi. Since 2.28\n @G_UNICODE_SCRIPT_MANDAIC:    Mandaic. Since 2.28\n @G_UNICODE_SCRIPT_CHAKMA:               Chakma. Since: 2.32\n @G_UNICODE_SCRIPT_MEROITIC_CURSIVE:     Meroitic Cursive. Since: 2.32\n @G_UNICODE_SCRIPT_MEROITIC_HIEROGLYPHS: Meroitic Hieroglyphs. Since: 2.32\n @G_UNICODE_SCRIPT_MIAO:                 Miao. Since: 2.32\n @G_UNICODE_SCRIPT_SHARADA:              Sharada. Since: 2.32\n @G_UNICODE_SCRIPT_SORA_SOMPENG:         Sora Sompeng. Since: 2.32\n @G_UNICODE_SCRIPT_TAKRI:                Takri. Since: 2.32\n @G_UNICODE_SCRIPT_BASSA_VAH:            Bassa. Since: 2.42\n @G_UNICODE_SCRIPT_CAUCASIAN_ALBANIAN:   Caucasian Albanian. Since: 2.42\n @G_UNICODE_SCRIPT_DUPLOYAN:             Duployan. Since: 2.42\n @G_UNICODE_SCRIPT_ELBASAN:              Elbasan. Since: 2.42\n @G_UNICODE_SCRIPT_GRANTHA:              Grantha. Since: 2.42\n @G_UNICODE_SCRIPT_KHOJKI:               Kjohki. Since: 2.42\n @G_UNICODE_SCRIPT_KHUDAWADI:            Khudawadi, Sindhi. Since: 2.42\n @G_UNICODE_SCRIPT_LINEAR_A:             Linear A. Since: 2.42\n @G_UNICODE_SCRIPT_MAHAJANI:             Mahajani. Since: 2.42\n @G_UNICODE_SCRIPT_MANICHAEAN:           Manichaean. Since: 2.42\n @G_UNICODE_SCRIPT_MENDE_KIKAKUI:        Mende Kikakui. Since: 2.42\n @G_UNICODE_SCRIPT_MODI:                 Modi. Since: 2.42\n @G_UNICODE_SCRIPT_MRO:                  Mro. Since: 2.42\n @G_UNICODE_SCRIPT_NABATAEAN:            Nabataean. Since: 2.42\n @G_UNICODE_SCRIPT_OLD_NORTH_ARABIAN:    Old North Arabian. Since: 2.42\n @G_UNICODE_SCRIPT_OLD_PERMIC:           Old Permic. Since: 2.42\n @G_UNICODE_SCRIPT_PAHAWH_HMONG:         Pahawh Hmong. Since: 2.42\n @G_UNICODE_SCRIPT_PALMYRENE:            Palmyrene. Since: 2.42\n @G_UNICODE_SCRIPT_PAU_CIN_HAU:          Pau Cin Hau. Since: 2.42\n @G_UNICODE_SCRIPT_PSALTER_PAHLAVI:      Psalter Pahlavi. Since: 2.42\n @G_UNICODE_SCRIPT_SIDDHAM:              Siddham. Since: 2.42\n @G_UNICODE_SCRIPT_TIRHUTA:              Tirhuta. Since: 2.42\n @G_UNICODE_SCRIPT_WARANG_CITI:          Warang Citi. Since: 2.42\n @G_UNICODE_SCRIPT_AHOM:                 Ahom. Since: 2.48\n @G_UNICODE_SCRIPT_ANATOLIAN_HIEROGLYPHS: Anatolian Hieroglyphs. Since: 2.48\n @G_UNICODE_SCRIPT_HATRAN:               Hatran. Since: 2.48\n @G_UNICODE_SCRIPT_MULTANI:              Multani. Since: 2.48\n @G_UNICODE_SCRIPT_OLD_HUNGARIAN:        Old Hungarian. Since: 2.48\n @G_UNICODE_SCRIPT_SIGNWRITING:          Signwriting. Since: 2.48\n @G_UNICODE_SCRIPT_ADLAM:                Adlam. Since: 2.50\n @G_UNICODE_SCRIPT_BHAIKSUKI:            Bhaiksuki. Since: 2.50\n @G_UNICODE_SCRIPT_MARCHEN:              Marchen. Since: 2.50\n @G_UNICODE_SCRIPT_NEWA:                 Newa. Since: 2.50\n @G_UNICODE_SCRIPT_OSAGE:                Osage. Since: 2.50\n @G_UNICODE_SCRIPT_TANGUT:               Tangut. Since: 2.50\n @G_UNICODE_SCRIPT_MASARAM_GONDI:        Masaram Gondi. Since: 2.54\n @G_UNICODE_SCRIPT_NUSHU:                Nushu. Since: 2.54\n @G_UNICODE_SCRIPT_SOYOMBO:              Soyombo. Since: 2.54\n @G_UNICODE_SCRIPT_ZANABAZAR_SQUARE:     Zanabazar Square. Since: 2.54\n @G_UNICODE_SCRIPT_DOGRA:                Dogra. Since: 2.58\n @G_UNICODE_SCRIPT_GUNJALA_GONDI:        Gunjala Gondi. Since: 2.58\n @G_UNICODE_SCRIPT_HANIFI_ROHINGYA:      Hanifi Rohingya. Since: 2.58\n @G_UNICODE_SCRIPT_MAKASAR:              Makasar. Since: 2.58\n @G_UNICODE_SCRIPT_MEDEFAIDRIN:          Medefaidrin. Since: 2.58\n @G_UNICODE_SCRIPT_OLD_SOGDIAN:          Old Sogdian. Since: 2.58\n @G_UNICODE_SCRIPT_SOGDIAN:              Sogdian. Since: 2.58\n @G_UNICODE_SCRIPT_ELYMAIC:              Elym. Since: 2.62\n @G_UNICODE_SCRIPT_NANDINAGARI:          Nand. Since: 2.62\n @G_UNICODE_SCRIPT_NYIAKENG_PUACHUE_HMONG: Rohg. Since: 2.62\n @G_UNICODE_SCRIPT_WANCHO:               Wcho. Since: 2.62\n @G_UNICODE_SCRIPT_CHORASMIAN:           Chorasmian. Since: 2.66\n @G_UNICODE_SCRIPT_DIVES_AKURU:          Dives Akuru. Since: 2.66\n @G_UNICODE_SCRIPT_KHITAN_SMALL_SCRIPT:  Khitan small script. Since: 2.66\n @G_UNICODE_SCRIPT_YEZIDI:               Yezidi. Since: 2.66\n @G_UNICODE_SCRIPT_CYPRO_MINOAN:         Cypro-Minoan. Since: 2.72\n @G_UNICODE_SCRIPT_OLD_UYGHUR:           Old Uyghur. Since: 2.72\n @G_UNICODE_SCRIPT_TANGSA:               Tangsa. Since: 2.72\n @G_UNICODE_SCRIPT_TOTO:                 Toto. Since: 2.72\n @G_UNICODE_SCRIPT_VITHKUQI:             Vithkuqi. Since: 2.72\n @G_UNICODE_SCRIPT_MATH:                 Mathematical notation. Since: 2.72\n @G_UNICODE_SCRIPT_KAWI:                 Kawi. Since 2.74\n @G_UNICODE_SCRIPT_NAG_MUNDARI:          Nag Mundari. Since 2.74\n\n The #GUnicodeScript enumeration identifies different writing\n systems. The values correspond to the names as defined in the\n Unicode standard. The enumeration has been added in GLib 2.14,\n and is interchangeable with #PangoScript.\n\n Note that new types may be added in the future. Applications\n should be ready to handle unknown values.\n See [Unicode Standard Annex #24: Script names](http://www.unicode.org/reports/tr24/)."]
14410pub type GUnicodeScript = ::std::os::raw::c_int;
14411extern "C" {
14412    pub fn g_unicode_script_to_iso15924(script: GUnicodeScript) -> guint32;
14413}
14414extern "C" {
14415    pub fn g_unicode_script_from_iso15924(iso15924: guint32) -> GUnicodeScript;
14416}
14417extern "C" {
14418    pub fn g_unichar_isalnum(c: gunichar) -> gboolean;
14419}
14420extern "C" {
14421    pub fn g_unichar_isalpha(c: gunichar) -> gboolean;
14422}
14423extern "C" {
14424    pub fn g_unichar_iscntrl(c: gunichar) -> gboolean;
14425}
14426extern "C" {
14427    pub fn g_unichar_isdigit(c: gunichar) -> gboolean;
14428}
14429extern "C" {
14430    pub fn g_unichar_isgraph(c: gunichar) -> gboolean;
14431}
14432extern "C" {
14433    pub fn g_unichar_islower(c: gunichar) -> gboolean;
14434}
14435extern "C" {
14436    pub fn g_unichar_isprint(c: gunichar) -> gboolean;
14437}
14438extern "C" {
14439    pub fn g_unichar_ispunct(c: gunichar) -> gboolean;
14440}
14441extern "C" {
14442    pub fn g_unichar_isspace(c: gunichar) -> gboolean;
14443}
14444extern "C" {
14445    pub fn g_unichar_isupper(c: gunichar) -> gboolean;
14446}
14447extern "C" {
14448    pub fn g_unichar_isxdigit(c: gunichar) -> gboolean;
14449}
14450extern "C" {
14451    pub fn g_unichar_istitle(c: gunichar) -> gboolean;
14452}
14453extern "C" {
14454    pub fn g_unichar_isdefined(c: gunichar) -> gboolean;
14455}
14456extern "C" {
14457    pub fn g_unichar_iswide(c: gunichar) -> gboolean;
14458}
14459extern "C" {
14460    pub fn g_unichar_iswide_cjk(c: gunichar) -> gboolean;
14461}
14462extern "C" {
14463    pub fn g_unichar_iszerowidth(c: gunichar) -> gboolean;
14464}
14465extern "C" {
14466    pub fn g_unichar_ismark(c: gunichar) -> gboolean;
14467}
14468extern "C" {
14469    pub fn g_unichar_toupper(c: gunichar) -> gunichar;
14470}
14471extern "C" {
14472    pub fn g_unichar_tolower(c: gunichar) -> gunichar;
14473}
14474extern "C" {
14475    pub fn g_unichar_totitle(c: gunichar) -> gunichar;
14476}
14477extern "C" {
14478    pub fn g_unichar_digit_value(c: gunichar) -> gint;
14479}
14480extern "C" {
14481    pub fn g_unichar_xdigit_value(c: gunichar) -> gint;
14482}
14483extern "C" {
14484    pub fn g_unichar_type(c: gunichar) -> GUnicodeType;
14485}
14486extern "C" {
14487    pub fn g_unichar_break_type(c: gunichar) -> GUnicodeBreakType;
14488}
14489extern "C" {
14490    pub fn g_unichar_combining_class(uc: gunichar) -> gint;
14491}
14492extern "C" {
14493    pub fn g_unichar_get_mirror_char(ch: gunichar, mirrored_ch: *mut gunichar) -> gboolean;
14494}
14495extern "C" {
14496    pub fn g_unichar_get_script(ch: gunichar) -> GUnicodeScript;
14497}
14498extern "C" {
14499    pub fn g_unichar_validate(ch: gunichar) -> gboolean;
14500}
14501extern "C" {
14502    pub fn g_unichar_compose(a: gunichar, b: gunichar, ch: *mut gunichar) -> gboolean;
14503}
14504extern "C" {
14505    pub fn g_unichar_decompose(ch: gunichar, a: *mut gunichar, b: *mut gunichar) -> gboolean;
14506}
14507extern "C" {
14508    pub fn g_unichar_fully_decompose(
14509        ch: gunichar,
14510        compat: gboolean,
14511        result: *mut gunichar,
14512        result_len: gsize,
14513    ) -> gsize;
14514}
14515extern "C" {
14516    pub fn g_unicode_canonical_ordering(string: *mut gunichar, len: gsize);
14517}
14518extern "C" {
14519    pub fn g_unicode_canonical_decomposition(ch: gunichar, result_len: *mut gsize)
14520        -> *mut gunichar;
14521}
14522extern "C" {
14523    pub static g_utf8_skip: *const gchar;
14524}
14525extern "C" {
14526    pub fn g_utf8_get_char(p: *const gchar) -> gunichar;
14527}
14528extern "C" {
14529    pub fn g_utf8_get_char_validated(p: *const gchar, max_len: gssize) -> gunichar;
14530}
14531extern "C" {
14532    pub fn g_utf8_offset_to_pointer(str_: *const gchar, offset: glong) -> *mut gchar;
14533}
14534extern "C" {
14535    pub fn g_utf8_pointer_to_offset(str_: *const gchar, pos: *const gchar) -> glong;
14536}
14537extern "C" {
14538    pub fn g_utf8_prev_char(p: *const gchar) -> *mut gchar;
14539}
14540extern "C" {
14541    pub fn g_utf8_find_next_char(p: *const gchar, end: *const gchar) -> *mut gchar;
14542}
14543extern "C" {
14544    pub fn g_utf8_find_prev_char(str_: *const gchar, p: *const gchar) -> *mut gchar;
14545}
14546extern "C" {
14547    pub fn g_utf8_strlen(p: *const gchar, max: gssize) -> glong;
14548}
14549extern "C" {
14550    pub fn g_utf8_substring(str_: *const gchar, start_pos: glong, end_pos: glong) -> *mut gchar;
14551}
14552extern "C" {
14553    pub fn g_utf8_strncpy(dest: *mut gchar, src: *const gchar, n: gsize) -> *mut gchar;
14554}
14555extern "C" {
14556    pub fn g_utf8_truncate_middle(string: *const gchar, truncate_length: gsize) -> *mut gchar;
14557}
14558extern "C" {
14559    pub fn g_utf8_strchr(p: *const gchar, len: gssize, c: gunichar) -> *mut gchar;
14560}
14561extern "C" {
14562    pub fn g_utf8_strrchr(p: *const gchar, len: gssize, c: gunichar) -> *mut gchar;
14563}
14564extern "C" {
14565    pub fn g_utf8_strreverse(str_: *const gchar, len: gssize) -> *mut gchar;
14566}
14567extern "C" {
14568    pub fn g_utf8_to_utf16(
14569        str_: *const gchar,
14570        len: glong,
14571        items_read: *mut glong,
14572        items_written: *mut glong,
14573        error: *mut *mut GError,
14574    ) -> *mut gunichar2;
14575}
14576extern "C" {
14577    pub fn g_utf8_to_ucs4(
14578        str_: *const gchar,
14579        len: glong,
14580        items_read: *mut glong,
14581        items_written: *mut glong,
14582        error: *mut *mut GError,
14583    ) -> *mut gunichar;
14584}
14585extern "C" {
14586    pub fn g_utf8_to_ucs4_fast(
14587        str_: *const gchar,
14588        len: glong,
14589        items_written: *mut glong,
14590    ) -> *mut gunichar;
14591}
14592extern "C" {
14593    pub fn g_utf16_to_ucs4(
14594        str_: *const gunichar2,
14595        len: glong,
14596        items_read: *mut glong,
14597        items_written: *mut glong,
14598        error: *mut *mut GError,
14599    ) -> *mut gunichar;
14600}
14601extern "C" {
14602    pub fn g_utf16_to_utf8(
14603        str_: *const gunichar2,
14604        len: glong,
14605        items_read: *mut glong,
14606        items_written: *mut glong,
14607        error: *mut *mut GError,
14608    ) -> *mut gchar;
14609}
14610extern "C" {
14611    pub fn g_ucs4_to_utf16(
14612        str_: *const gunichar,
14613        len: glong,
14614        items_read: *mut glong,
14615        items_written: *mut glong,
14616        error: *mut *mut GError,
14617    ) -> *mut gunichar2;
14618}
14619extern "C" {
14620    pub fn g_ucs4_to_utf8(
14621        str_: *const gunichar,
14622        len: glong,
14623        items_read: *mut glong,
14624        items_written: *mut glong,
14625        error: *mut *mut GError,
14626    ) -> *mut gchar;
14627}
14628extern "C" {
14629    pub fn g_unichar_to_utf8(c: gunichar, outbuf: *mut gchar) -> gint;
14630}
14631extern "C" {
14632    pub fn g_utf8_validate(str_: *const gchar, max_len: gssize, end: *mut *const gchar)
14633        -> gboolean;
14634}
14635extern "C" {
14636    pub fn g_utf8_validate_len(
14637        str_: *const gchar,
14638        max_len: gsize,
14639        end: *mut *const gchar,
14640    ) -> gboolean;
14641}
14642extern "C" {
14643    pub fn g_utf8_strup(str_: *const gchar, len: gssize) -> *mut gchar;
14644}
14645extern "C" {
14646    pub fn g_utf8_strdown(str_: *const gchar, len: gssize) -> *mut gchar;
14647}
14648extern "C" {
14649    pub fn g_utf8_casefold(str_: *const gchar, len: gssize) -> *mut gchar;
14650}
14651pub const GNormalizeMode_G_NORMALIZE_DEFAULT: GNormalizeMode = 0;
14652pub const GNormalizeMode_G_NORMALIZE_NFD: GNormalizeMode = 0;
14653pub const GNormalizeMode_G_NORMALIZE_DEFAULT_COMPOSE: GNormalizeMode = 1;
14654pub const GNormalizeMode_G_NORMALIZE_NFC: GNormalizeMode = 1;
14655pub const GNormalizeMode_G_NORMALIZE_ALL: GNormalizeMode = 2;
14656pub const GNormalizeMode_G_NORMALIZE_NFKD: GNormalizeMode = 2;
14657pub const GNormalizeMode_G_NORMALIZE_ALL_COMPOSE: GNormalizeMode = 3;
14658pub const GNormalizeMode_G_NORMALIZE_NFKC: GNormalizeMode = 3;
14659#[doc = " GNormalizeMode:\n @G_NORMALIZE_DEFAULT: standardize differences that do not affect the\n     text content, such as the above-mentioned accent representation\n @G_NORMALIZE_NFD: another name for %G_NORMALIZE_DEFAULT\n @G_NORMALIZE_DEFAULT_COMPOSE: like %G_NORMALIZE_DEFAULT, but with\n     composed forms rather than a maximally decomposed form\n @G_NORMALIZE_NFC: another name for %G_NORMALIZE_DEFAULT_COMPOSE\n @G_NORMALIZE_ALL: beyond %G_NORMALIZE_DEFAULT also standardize the\n     \"compatibility\" characters in Unicode, such as SUPERSCRIPT THREE\n     to the standard forms (in this case DIGIT THREE). Formatting\n     information may be lost but for most text operations such\n     characters should be considered the same\n @G_NORMALIZE_NFKD: another name for %G_NORMALIZE_ALL\n @G_NORMALIZE_ALL_COMPOSE: like %G_NORMALIZE_ALL, but with composed\n     forms rather than a maximally decomposed form\n @G_NORMALIZE_NFKC: another name for %G_NORMALIZE_ALL_COMPOSE\n\n Defines how a Unicode string is transformed in a canonical\n form, standardizing such issues as whether a character with\n an accent is represented as a base character and combining\n accent or as a single precomposed character. Unicode strings\n should generally be normalized before comparing them."]
14660pub type GNormalizeMode = ::std::os::raw::c_uint;
14661extern "C" {
14662    pub fn g_utf8_normalize(str_: *const gchar, len: gssize, mode: GNormalizeMode) -> *mut gchar;
14663}
14664extern "C" {
14665    pub fn g_utf8_collate(str1: *const gchar, str2: *const gchar) -> gint;
14666}
14667extern "C" {
14668    pub fn g_utf8_collate_key(str_: *const gchar, len: gssize) -> *mut gchar;
14669}
14670extern "C" {
14671    pub fn g_utf8_collate_key_for_filename(str_: *const gchar, len: gssize) -> *mut gchar;
14672}
14673extern "C" {
14674    pub fn g_utf8_make_valid(str_: *const gchar, len: gssize) -> *mut gchar;
14675}
14676pub const GAsciiType_G_ASCII_ALNUM: GAsciiType = 1;
14677pub const GAsciiType_G_ASCII_ALPHA: GAsciiType = 2;
14678pub const GAsciiType_G_ASCII_CNTRL: GAsciiType = 4;
14679pub const GAsciiType_G_ASCII_DIGIT: GAsciiType = 8;
14680pub const GAsciiType_G_ASCII_GRAPH: GAsciiType = 16;
14681pub const GAsciiType_G_ASCII_LOWER: GAsciiType = 32;
14682pub const GAsciiType_G_ASCII_PRINT: GAsciiType = 64;
14683pub const GAsciiType_G_ASCII_PUNCT: GAsciiType = 128;
14684pub const GAsciiType_G_ASCII_SPACE: GAsciiType = 256;
14685pub const GAsciiType_G_ASCII_UPPER: GAsciiType = 512;
14686pub const GAsciiType_G_ASCII_XDIGIT: GAsciiType = 1024;
14687pub type GAsciiType = ::std::os::raw::c_uint;
14688extern "C" {
14689    pub static g_ascii_table: *const guint16;
14690}
14691extern "C" {
14692    pub fn g_ascii_tolower(c: gchar) -> gchar;
14693}
14694extern "C" {
14695    pub fn g_ascii_toupper(c: gchar) -> gchar;
14696}
14697extern "C" {
14698    pub fn g_ascii_digit_value(c: gchar) -> gint;
14699}
14700extern "C" {
14701    pub fn g_ascii_xdigit_value(c: gchar) -> gint;
14702}
14703extern "C" {
14704    pub fn g_strdelimit(
14705        string: *mut gchar,
14706        delimiters: *const gchar,
14707        new_delimiter: gchar,
14708    ) -> *mut gchar;
14709}
14710extern "C" {
14711    pub fn g_strcanon(
14712        string: *mut gchar,
14713        valid_chars: *const gchar,
14714        substitutor: gchar,
14715    ) -> *mut gchar;
14716}
14717extern "C" {
14718    pub fn g_strerror(errnum: gint) -> *const gchar;
14719}
14720extern "C" {
14721    pub fn g_strsignal(signum: gint) -> *const gchar;
14722}
14723extern "C" {
14724    pub fn g_strreverse(string: *mut gchar) -> *mut gchar;
14725}
14726extern "C" {
14727    pub fn g_strlcpy(dest: *mut gchar, src: *const gchar, dest_size: gsize) -> gsize;
14728}
14729extern "C" {
14730    pub fn g_strlcat(dest: *mut gchar, src: *const gchar, dest_size: gsize) -> gsize;
14731}
14732extern "C" {
14733    pub fn g_strstr_len(
14734        haystack: *const gchar,
14735        haystack_len: gssize,
14736        needle: *const gchar,
14737    ) -> *mut gchar;
14738}
14739extern "C" {
14740    pub fn g_strrstr(haystack: *const gchar, needle: *const gchar) -> *mut gchar;
14741}
14742extern "C" {
14743    pub fn g_strrstr_len(
14744        haystack: *const gchar,
14745        haystack_len: gssize,
14746        needle: *const gchar,
14747    ) -> *mut gchar;
14748}
14749extern "C" {
14750    pub fn g_str_has_suffix(str_: *const gchar, suffix: *const gchar) -> gboolean;
14751}
14752extern "C" {
14753    pub fn g_str_has_prefix(str_: *const gchar, prefix: *const gchar) -> gboolean;
14754}
14755extern "C" {
14756    pub fn g_strtod(nptr: *const gchar, endptr: *mut *mut gchar) -> gdouble;
14757}
14758extern "C" {
14759    pub fn g_ascii_strtod(nptr: *const gchar, endptr: *mut *mut gchar) -> gdouble;
14760}
14761extern "C" {
14762    pub fn g_ascii_strtoull(nptr: *const gchar, endptr: *mut *mut gchar, base: guint) -> guint64;
14763}
14764extern "C" {
14765    pub fn g_ascii_strtoll(nptr: *const gchar, endptr: *mut *mut gchar, base: guint) -> gint64;
14766}
14767extern "C" {
14768    pub fn g_ascii_dtostr(buffer: *mut gchar, buf_len: gint, d: gdouble) -> *mut gchar;
14769}
14770extern "C" {
14771    pub fn g_ascii_formatd(
14772        buffer: *mut gchar,
14773        buf_len: gint,
14774        format: *const gchar,
14775        d: gdouble,
14776    ) -> *mut gchar;
14777}
14778extern "C" {
14779    pub fn g_strchug(string: *mut gchar) -> *mut gchar;
14780}
14781extern "C" {
14782    pub fn g_strchomp(string: *mut gchar) -> *mut gchar;
14783}
14784extern "C" {
14785    pub fn g_ascii_strcasecmp(s1: *const gchar, s2: *const gchar) -> gint;
14786}
14787extern "C" {
14788    pub fn g_ascii_strncasecmp(s1: *const gchar, s2: *const gchar, n: gsize) -> gint;
14789}
14790extern "C" {
14791    pub fn g_ascii_strdown(str_: *const gchar, len: gssize) -> *mut gchar;
14792}
14793extern "C" {
14794    pub fn g_ascii_strup(str_: *const gchar, len: gssize) -> *mut gchar;
14795}
14796extern "C" {
14797    pub fn g_str_is_ascii(str_: *const gchar) -> gboolean;
14798}
14799extern "C" {
14800    pub fn g_strcasecmp(s1: *const gchar, s2: *const gchar) -> gint;
14801}
14802extern "C" {
14803    pub fn g_strncasecmp(s1: *const gchar, s2: *const gchar, n: guint) -> gint;
14804}
14805extern "C" {
14806    pub fn g_strdown(string: *mut gchar) -> *mut gchar;
14807}
14808extern "C" {
14809    pub fn g_strup(string: *mut gchar) -> *mut gchar;
14810}
14811extern "C" {
14812    pub fn g_strdup(str_: *const gchar) -> *mut gchar;
14813}
14814extern "C" {
14815    pub fn g_strdup_printf(format: *const gchar, ...) -> *mut gchar;
14816}
14817extern "C" {
14818    pub fn g_strdup_vprintf(format: *const gchar, args: va_list) -> *mut gchar;
14819}
14820extern "C" {
14821    pub fn g_strndup(str_: *const gchar, n: gsize) -> *mut gchar;
14822}
14823extern "C" {
14824    pub fn g_strnfill(length: gsize, fill_char: gchar) -> *mut gchar;
14825}
14826extern "C" {
14827    pub fn g_strconcat(string1: *const gchar, ...) -> *mut gchar;
14828}
14829extern "C" {
14830    pub fn g_strjoin(separator: *const gchar, ...) -> *mut gchar;
14831}
14832extern "C" {
14833    pub fn g_strcompress(source: *const gchar) -> *mut gchar;
14834}
14835extern "C" {
14836    pub fn g_strescape(source: *const gchar, exceptions: *const gchar) -> *mut gchar;
14837}
14838extern "C" {
14839    pub fn g_memdup(mem: gconstpointer, byte_size: guint) -> gpointer;
14840}
14841extern "C" {
14842    pub fn g_memdup2(mem: gconstpointer, byte_size: gsize) -> gpointer;
14843}
14844pub type GStrv = *mut *mut gchar;
14845extern "C" {
14846    pub fn g_strsplit(
14847        string: *const gchar,
14848        delimiter: *const gchar,
14849        max_tokens: gint,
14850    ) -> *mut *mut gchar;
14851}
14852extern "C" {
14853    pub fn g_strsplit_set(
14854        string: *const gchar,
14855        delimiters: *const gchar,
14856        max_tokens: gint,
14857    ) -> *mut *mut gchar;
14858}
14859extern "C" {
14860    pub fn g_strjoinv(separator: *const gchar, str_array: *mut *mut gchar) -> *mut gchar;
14861}
14862extern "C" {
14863    pub fn g_strfreev(str_array: *mut *mut gchar);
14864}
14865extern "C" {
14866    pub fn g_strdupv(str_array: *mut *mut gchar) -> *mut *mut gchar;
14867}
14868extern "C" {
14869    pub fn g_strv_length(str_array: *mut *mut gchar) -> guint;
14870}
14871extern "C" {
14872    pub fn g_stpcpy(dest: *mut gchar, src: *const ::std::os::raw::c_char) -> *mut gchar;
14873}
14874extern "C" {
14875    pub fn g_str_to_ascii(str_: *const gchar, from_locale: *const gchar) -> *mut gchar;
14876}
14877extern "C" {
14878    pub fn g_str_tokenize_and_fold(
14879        string: *const gchar,
14880        translit_locale: *const gchar,
14881        ascii_alternates: *mut *mut *mut gchar,
14882    ) -> *mut *mut gchar;
14883}
14884extern "C" {
14885    pub fn g_str_match_string(
14886        search_term: *const gchar,
14887        potential_hit: *const gchar,
14888        accept_alternates: gboolean,
14889    ) -> gboolean;
14890}
14891extern "C" {
14892    pub fn g_strv_contains(strv: *const *const gchar, str_: *const gchar) -> gboolean;
14893}
14894extern "C" {
14895    pub fn g_strv_equal(strv1: *const *const gchar, strv2: *const *const gchar) -> gboolean;
14896}
14897pub const GNumberParserError_G_NUMBER_PARSER_ERROR_INVALID: GNumberParserError = 0;
14898pub const GNumberParserError_G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS: GNumberParserError = 1;
14899#[doc = " GNumberParserError:\n @G_NUMBER_PARSER_ERROR_INVALID: String was not a valid number.\n @G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS: String was a number, but out of bounds.\n\n Error codes returned by functions converting a string to a number.\n\n Since: 2.54"]
14900pub type GNumberParserError = ::std::os::raw::c_uint;
14901extern "C" {
14902    pub fn g_number_parser_error_quark() -> GQuark;
14903}
14904extern "C" {
14905    pub fn g_ascii_string_to_signed(
14906        str_: *const gchar,
14907        base: guint,
14908        min: gint64,
14909        max: gint64,
14910        out_num: *mut gint64,
14911        error: *mut *mut GError,
14912    ) -> gboolean;
14913}
14914extern "C" {
14915    pub fn g_ascii_string_to_unsigned(
14916        str_: *const gchar,
14917        base: guint,
14918        min: guint64,
14919        max: guint64,
14920        out_num: *mut guint64,
14921        error: *mut *mut GError,
14922    ) -> gboolean;
14923}
14924pub type GString = _GString;
14925#[repr(C)]
14926#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14927pub struct _GString {
14928    pub str_: *mut gchar,
14929    pub len: gsize,
14930    pub allocated_len: gsize,
14931}
14932#[test]
14933fn bindgen_test_layout__GString() {
14934    const UNINIT: ::std::mem::MaybeUninit<_GString> = ::std::mem::MaybeUninit::uninit();
14935    let ptr = UNINIT.as_ptr();
14936    assert_eq!(
14937        ::std::mem::size_of::<_GString>(),
14938        24usize,
14939        concat!("Size of: ", stringify!(_GString))
14940    );
14941    assert_eq!(
14942        ::std::mem::align_of::<_GString>(),
14943        8usize,
14944        concat!("Alignment of ", stringify!(_GString))
14945    );
14946    assert_eq!(
14947        unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
14948        0usize,
14949        concat!(
14950            "Offset of field: ",
14951            stringify!(_GString),
14952            "::",
14953            stringify!(str_)
14954        )
14955    );
14956    assert_eq!(
14957        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
14958        8usize,
14959        concat!(
14960            "Offset of field: ",
14961            stringify!(_GString),
14962            "::",
14963            stringify!(len)
14964        )
14965    );
14966    assert_eq!(
14967        unsafe { ::std::ptr::addr_of!((*ptr).allocated_len) as usize - ptr as usize },
14968        16usize,
14969        concat!(
14970            "Offset of field: ",
14971            stringify!(_GString),
14972            "::",
14973            stringify!(allocated_len)
14974        )
14975    );
14976}
14977extern "C" {
14978    pub fn g_string_new(init: *const gchar) -> *mut GString;
14979}
14980extern "C" {
14981    pub fn g_string_new_take(init: *mut gchar) -> *mut GString;
14982}
14983extern "C" {
14984    pub fn g_string_new_len(init: *const gchar, len: gssize) -> *mut GString;
14985}
14986extern "C" {
14987    pub fn g_string_sized_new(dfl_size: gsize) -> *mut GString;
14988}
14989extern "C" {
14990    pub fn g_string_free(string: *mut GString, free_segment: gboolean) -> *mut gchar;
14991}
14992extern "C" {
14993    pub fn g_string_free_and_steal(string: *mut GString) -> *mut gchar;
14994}
14995extern "C" {
14996    pub fn g_string_free_to_bytes(string: *mut GString) -> *mut GBytes;
14997}
14998extern "C" {
14999    pub fn g_string_equal(v: *const GString, v2: *const GString) -> gboolean;
15000}
15001extern "C" {
15002    pub fn g_string_hash(str_: *const GString) -> guint;
15003}
15004extern "C" {
15005    pub fn g_string_assign(string: *mut GString, rval: *const gchar) -> *mut GString;
15006}
15007extern "C" {
15008    pub fn g_string_truncate(string: *mut GString, len: gsize) -> *mut GString;
15009}
15010extern "C" {
15011    pub fn g_string_set_size(string: *mut GString, len: gsize) -> *mut GString;
15012}
15013extern "C" {
15014    pub fn g_string_insert_len(
15015        string: *mut GString,
15016        pos: gssize,
15017        val: *const gchar,
15018        len: gssize,
15019    ) -> *mut GString;
15020}
15021extern "C" {
15022    pub fn g_string_append(string: *mut GString, val: *const gchar) -> *mut GString;
15023}
15024extern "C" {
15025    pub fn g_string_append_len(
15026        string: *mut GString,
15027        val: *const gchar,
15028        len: gssize,
15029    ) -> *mut GString;
15030}
15031extern "C" {
15032    pub fn g_string_append_c(string: *mut GString, c: gchar) -> *mut GString;
15033}
15034extern "C" {
15035    pub fn g_string_append_unichar(string: *mut GString, wc: gunichar) -> *mut GString;
15036}
15037extern "C" {
15038    pub fn g_string_prepend(string: *mut GString, val: *const gchar) -> *mut GString;
15039}
15040extern "C" {
15041    pub fn g_string_prepend_c(string: *mut GString, c: gchar) -> *mut GString;
15042}
15043extern "C" {
15044    pub fn g_string_prepend_unichar(string: *mut GString, wc: gunichar) -> *mut GString;
15045}
15046extern "C" {
15047    pub fn g_string_prepend_len(
15048        string: *mut GString,
15049        val: *const gchar,
15050        len: gssize,
15051    ) -> *mut GString;
15052}
15053extern "C" {
15054    pub fn g_string_insert(string: *mut GString, pos: gssize, val: *const gchar) -> *mut GString;
15055}
15056extern "C" {
15057    pub fn g_string_insert_c(string: *mut GString, pos: gssize, c: gchar) -> *mut GString;
15058}
15059extern "C" {
15060    pub fn g_string_insert_unichar(string: *mut GString, pos: gssize, wc: gunichar)
15061        -> *mut GString;
15062}
15063extern "C" {
15064    pub fn g_string_overwrite(string: *mut GString, pos: gsize, val: *const gchar) -> *mut GString;
15065}
15066extern "C" {
15067    pub fn g_string_overwrite_len(
15068        string: *mut GString,
15069        pos: gsize,
15070        val: *const gchar,
15071        len: gssize,
15072    ) -> *mut GString;
15073}
15074extern "C" {
15075    pub fn g_string_erase(string: *mut GString, pos: gssize, len: gssize) -> *mut GString;
15076}
15077extern "C" {
15078    pub fn g_string_replace(
15079        string: *mut GString,
15080        find: *const gchar,
15081        replace: *const gchar,
15082        limit: guint,
15083    ) -> guint;
15084}
15085extern "C" {
15086    pub fn g_string_ascii_down(string: *mut GString) -> *mut GString;
15087}
15088extern "C" {
15089    pub fn g_string_ascii_up(string: *mut GString) -> *mut GString;
15090}
15091extern "C" {
15092    pub fn g_string_vprintf(string: *mut GString, format: *const gchar, args: va_list);
15093}
15094extern "C" {
15095    pub fn g_string_printf(string: *mut GString, format: *const gchar, ...);
15096}
15097extern "C" {
15098    pub fn g_string_append_vprintf(string: *mut GString, format: *const gchar, args: va_list);
15099}
15100extern "C" {
15101    pub fn g_string_append_printf(string: *mut GString, format: *const gchar, ...);
15102}
15103extern "C" {
15104    pub fn g_string_append_uri_escaped(
15105        string: *mut GString,
15106        unescaped: *const gchar,
15107        reserved_chars_allowed: *const gchar,
15108        allow_utf8: gboolean,
15109    ) -> *mut GString;
15110}
15111extern "C" {
15112    pub fn g_string_down(string: *mut GString) -> *mut GString;
15113}
15114extern "C" {
15115    pub fn g_string_up(string: *mut GString) -> *mut GString;
15116}
15117pub type GIOChannel = _GIOChannel;
15118pub type GIOFuncs = _GIOFuncs;
15119pub const GIOError_G_IO_ERROR_NONE: GIOError = 0;
15120pub const GIOError_G_IO_ERROR_AGAIN: GIOError = 1;
15121pub const GIOError_G_IO_ERROR_INVAL: GIOError = 2;
15122pub const GIOError_G_IO_ERROR_UNKNOWN: GIOError = 3;
15123pub type GIOError = ::std::os::raw::c_uint;
15124pub const GIOChannelError_G_IO_CHANNEL_ERROR_FBIG: GIOChannelError = 0;
15125pub const GIOChannelError_G_IO_CHANNEL_ERROR_INVAL: GIOChannelError = 1;
15126pub const GIOChannelError_G_IO_CHANNEL_ERROR_IO: GIOChannelError = 2;
15127pub const GIOChannelError_G_IO_CHANNEL_ERROR_ISDIR: GIOChannelError = 3;
15128pub const GIOChannelError_G_IO_CHANNEL_ERROR_NOSPC: GIOChannelError = 4;
15129pub const GIOChannelError_G_IO_CHANNEL_ERROR_NXIO: GIOChannelError = 5;
15130pub const GIOChannelError_G_IO_CHANNEL_ERROR_OVERFLOW: GIOChannelError = 6;
15131pub const GIOChannelError_G_IO_CHANNEL_ERROR_PIPE: GIOChannelError = 7;
15132pub const GIOChannelError_G_IO_CHANNEL_ERROR_FAILED: GIOChannelError = 8;
15133pub type GIOChannelError = ::std::os::raw::c_uint;
15134pub const GIOStatus_G_IO_STATUS_ERROR: GIOStatus = 0;
15135pub const GIOStatus_G_IO_STATUS_NORMAL: GIOStatus = 1;
15136pub const GIOStatus_G_IO_STATUS_EOF: GIOStatus = 2;
15137pub const GIOStatus_G_IO_STATUS_AGAIN: GIOStatus = 3;
15138pub type GIOStatus = ::std::os::raw::c_uint;
15139pub const GSeekType_G_SEEK_CUR: GSeekType = 0;
15140pub const GSeekType_G_SEEK_SET: GSeekType = 1;
15141pub const GSeekType_G_SEEK_END: GSeekType = 2;
15142pub type GSeekType = ::std::os::raw::c_uint;
15143pub const GIOFlags_G_IO_FLAG_NONE: GIOFlags = 0;
15144pub const GIOFlags_G_IO_FLAG_APPEND: GIOFlags = 1;
15145pub const GIOFlags_G_IO_FLAG_NONBLOCK: GIOFlags = 2;
15146pub const GIOFlags_G_IO_FLAG_IS_READABLE: GIOFlags = 4;
15147pub const GIOFlags_G_IO_FLAG_IS_WRITABLE: GIOFlags = 8;
15148pub const GIOFlags_G_IO_FLAG_IS_WRITEABLE: GIOFlags = 8;
15149pub const GIOFlags_G_IO_FLAG_IS_SEEKABLE: GIOFlags = 16;
15150pub const GIOFlags_G_IO_FLAG_MASK: GIOFlags = 31;
15151pub const GIOFlags_G_IO_FLAG_GET_MASK: GIOFlags = 31;
15152pub const GIOFlags_G_IO_FLAG_SET_MASK: GIOFlags = 3;
15153pub type GIOFlags = ::std::os::raw::c_uint;
15154#[repr(C)]
15155#[derive(Debug, Copy, Clone, PartialEq, Eq)]
15156pub struct _GIOChannel {
15157    pub ref_count: gint,
15158    pub funcs: *mut GIOFuncs,
15159    pub encoding: *mut gchar,
15160    pub read_cd: GIConv,
15161    pub write_cd: GIConv,
15162    pub line_term: *mut gchar,
15163    pub line_term_len: guint,
15164    pub buf_size: gsize,
15165    pub read_buf: *mut GString,
15166    pub encoded_read_buf: *mut GString,
15167    pub write_buf: *mut GString,
15168    pub partial_write_buf: [gchar; 6usize],
15169    pub _bitfield_align_1: [u8; 0],
15170    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
15171    pub reserved1: gpointer,
15172    pub reserved2: gpointer,
15173}
15174#[test]
15175fn bindgen_test_layout__GIOChannel() {
15176    const UNINIT: ::std::mem::MaybeUninit<_GIOChannel> = ::std::mem::MaybeUninit::uninit();
15177    let ptr = UNINIT.as_ptr();
15178    assert_eq!(
15179        ::std::mem::size_of::<_GIOChannel>(),
15180        112usize,
15181        concat!("Size of: ", stringify!(_GIOChannel))
15182    );
15183    assert_eq!(
15184        ::std::mem::align_of::<_GIOChannel>(),
15185        8usize,
15186        concat!("Alignment of ", stringify!(_GIOChannel))
15187    );
15188    assert_eq!(
15189        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
15190        0usize,
15191        concat!(
15192            "Offset of field: ",
15193            stringify!(_GIOChannel),
15194            "::",
15195            stringify!(ref_count)
15196        )
15197    );
15198    assert_eq!(
15199        unsafe { ::std::ptr::addr_of!((*ptr).funcs) as usize - ptr as usize },
15200        8usize,
15201        concat!(
15202            "Offset of field: ",
15203            stringify!(_GIOChannel),
15204            "::",
15205            stringify!(funcs)
15206        )
15207    );
15208    assert_eq!(
15209        unsafe { ::std::ptr::addr_of!((*ptr).encoding) as usize - ptr as usize },
15210        16usize,
15211        concat!(
15212            "Offset of field: ",
15213            stringify!(_GIOChannel),
15214            "::",
15215            stringify!(encoding)
15216        )
15217    );
15218    assert_eq!(
15219        unsafe { ::std::ptr::addr_of!((*ptr).read_cd) as usize - ptr as usize },
15220        24usize,
15221        concat!(
15222            "Offset of field: ",
15223            stringify!(_GIOChannel),
15224            "::",
15225            stringify!(read_cd)
15226        )
15227    );
15228    assert_eq!(
15229        unsafe { ::std::ptr::addr_of!((*ptr).write_cd) as usize - ptr as usize },
15230        32usize,
15231        concat!(
15232            "Offset of field: ",
15233            stringify!(_GIOChannel),
15234            "::",
15235            stringify!(write_cd)
15236        )
15237    );
15238    assert_eq!(
15239        unsafe { ::std::ptr::addr_of!((*ptr).line_term) as usize - ptr as usize },
15240        40usize,
15241        concat!(
15242            "Offset of field: ",
15243            stringify!(_GIOChannel),
15244            "::",
15245            stringify!(line_term)
15246        )
15247    );
15248    assert_eq!(
15249        unsafe { ::std::ptr::addr_of!((*ptr).line_term_len) as usize - ptr as usize },
15250        48usize,
15251        concat!(
15252            "Offset of field: ",
15253            stringify!(_GIOChannel),
15254            "::",
15255            stringify!(line_term_len)
15256        )
15257    );
15258    assert_eq!(
15259        unsafe { ::std::ptr::addr_of!((*ptr).buf_size) as usize - ptr as usize },
15260        56usize,
15261        concat!(
15262            "Offset of field: ",
15263            stringify!(_GIOChannel),
15264            "::",
15265            stringify!(buf_size)
15266        )
15267    );
15268    assert_eq!(
15269        unsafe { ::std::ptr::addr_of!((*ptr).read_buf) as usize - ptr as usize },
15270        64usize,
15271        concat!(
15272            "Offset of field: ",
15273            stringify!(_GIOChannel),
15274            "::",
15275            stringify!(read_buf)
15276        )
15277    );
15278    assert_eq!(
15279        unsafe { ::std::ptr::addr_of!((*ptr).encoded_read_buf) as usize - ptr as usize },
15280        72usize,
15281        concat!(
15282            "Offset of field: ",
15283            stringify!(_GIOChannel),
15284            "::",
15285            stringify!(encoded_read_buf)
15286        )
15287    );
15288    assert_eq!(
15289        unsafe { ::std::ptr::addr_of!((*ptr).write_buf) as usize - ptr as usize },
15290        80usize,
15291        concat!(
15292            "Offset of field: ",
15293            stringify!(_GIOChannel),
15294            "::",
15295            stringify!(write_buf)
15296        )
15297    );
15298    assert_eq!(
15299        unsafe { ::std::ptr::addr_of!((*ptr).partial_write_buf) as usize - ptr as usize },
15300        88usize,
15301        concat!(
15302            "Offset of field: ",
15303            stringify!(_GIOChannel),
15304            "::",
15305            stringify!(partial_write_buf)
15306        )
15307    );
15308    assert_eq!(
15309        unsafe { ::std::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
15310        96usize,
15311        concat!(
15312            "Offset of field: ",
15313            stringify!(_GIOChannel),
15314            "::",
15315            stringify!(reserved1)
15316        )
15317    );
15318    assert_eq!(
15319        unsafe { ::std::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
15320        104usize,
15321        concat!(
15322            "Offset of field: ",
15323            stringify!(_GIOChannel),
15324            "::",
15325            stringify!(reserved2)
15326        )
15327    );
15328}
15329impl _GIOChannel {
15330    #[inline]
15331    pub fn use_buffer(&self) -> guint {
15332        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
15333    }
15334    #[inline]
15335    pub fn set_use_buffer(&mut self, val: guint) {
15336        unsafe {
15337            let val: u32 = ::std::mem::transmute(val);
15338            self._bitfield_1.set(0usize, 1u8, val as u64)
15339        }
15340    }
15341    #[inline]
15342    pub fn do_encode(&self) -> guint {
15343        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
15344    }
15345    #[inline]
15346    pub fn set_do_encode(&mut self, val: guint) {
15347        unsafe {
15348            let val: u32 = ::std::mem::transmute(val);
15349            self._bitfield_1.set(1usize, 1u8, val as u64)
15350        }
15351    }
15352    #[inline]
15353    pub fn close_on_unref(&self) -> guint {
15354        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
15355    }
15356    #[inline]
15357    pub fn set_close_on_unref(&mut self, val: guint) {
15358        unsafe {
15359            let val: u32 = ::std::mem::transmute(val);
15360            self._bitfield_1.set(2usize, 1u8, val as u64)
15361        }
15362    }
15363    #[inline]
15364    pub fn is_readable(&self) -> guint {
15365        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
15366    }
15367    #[inline]
15368    pub fn set_is_readable(&mut self, val: guint) {
15369        unsafe {
15370            let val: u32 = ::std::mem::transmute(val);
15371            self._bitfield_1.set(3usize, 1u8, val as u64)
15372        }
15373    }
15374    #[inline]
15375    pub fn is_writeable(&self) -> guint {
15376        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
15377    }
15378    #[inline]
15379    pub fn set_is_writeable(&mut self, val: guint) {
15380        unsafe {
15381            let val: u32 = ::std::mem::transmute(val);
15382            self._bitfield_1.set(4usize, 1u8, val as u64)
15383        }
15384    }
15385    #[inline]
15386    pub fn is_seekable(&self) -> guint {
15387        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
15388    }
15389    #[inline]
15390    pub fn set_is_seekable(&mut self, val: guint) {
15391        unsafe {
15392            let val: u32 = ::std::mem::transmute(val);
15393            self._bitfield_1.set(5usize, 1u8, val as u64)
15394        }
15395    }
15396    #[inline]
15397    pub fn new_bitfield_1(
15398        use_buffer: guint,
15399        do_encode: guint,
15400        close_on_unref: guint,
15401        is_readable: guint,
15402        is_writeable: guint,
15403        is_seekable: guint,
15404    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
15405        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
15406        __bindgen_bitfield_unit.set(0usize, 1u8, {
15407            let use_buffer: u32 = unsafe { ::std::mem::transmute(use_buffer) };
15408            use_buffer as u64
15409        });
15410        __bindgen_bitfield_unit.set(1usize, 1u8, {
15411            let do_encode: u32 = unsafe { ::std::mem::transmute(do_encode) };
15412            do_encode as u64
15413        });
15414        __bindgen_bitfield_unit.set(2usize, 1u8, {
15415            let close_on_unref: u32 = unsafe { ::std::mem::transmute(close_on_unref) };
15416            close_on_unref as u64
15417        });
15418        __bindgen_bitfield_unit.set(3usize, 1u8, {
15419            let is_readable: u32 = unsafe { ::std::mem::transmute(is_readable) };
15420            is_readable as u64
15421        });
15422        __bindgen_bitfield_unit.set(4usize, 1u8, {
15423            let is_writeable: u32 = unsafe { ::std::mem::transmute(is_writeable) };
15424            is_writeable as u64
15425        });
15426        __bindgen_bitfield_unit.set(5usize, 1u8, {
15427            let is_seekable: u32 = unsafe { ::std::mem::transmute(is_seekable) };
15428            is_seekable as u64
15429        });
15430        __bindgen_bitfield_unit
15431    }
15432}
15433pub type GIOFunc = ::std::option::Option<
15434    unsafe extern "C" fn(
15435        source: *mut GIOChannel,
15436        condition: GIOCondition,
15437        data: gpointer,
15438    ) -> gboolean,
15439>;
15440#[repr(C)]
15441#[derive(Debug, Copy, Clone, PartialEq, Eq)]
15442pub struct _GIOFuncs {
15443    pub io_read: ::std::option::Option<
15444        unsafe extern "C" fn(
15445            channel: *mut GIOChannel,
15446            buf: *mut gchar,
15447            count: gsize,
15448            bytes_read: *mut gsize,
15449            err: *mut *mut GError,
15450        ) -> GIOStatus,
15451    >,
15452    pub io_write: ::std::option::Option<
15453        unsafe extern "C" fn(
15454            channel: *mut GIOChannel,
15455            buf: *const gchar,
15456            count: gsize,
15457            bytes_written: *mut gsize,
15458            err: *mut *mut GError,
15459        ) -> GIOStatus,
15460    >,
15461    pub io_seek: ::std::option::Option<
15462        unsafe extern "C" fn(
15463            channel: *mut GIOChannel,
15464            offset: gint64,
15465            type_: GSeekType,
15466            err: *mut *mut GError,
15467        ) -> GIOStatus,
15468    >,
15469    pub io_close: ::std::option::Option<
15470        unsafe extern "C" fn(channel: *mut GIOChannel, err: *mut *mut GError) -> GIOStatus,
15471    >,
15472    pub io_create_watch: ::std::option::Option<
15473        unsafe extern "C" fn(channel: *mut GIOChannel, condition: GIOCondition) -> *mut GSource,
15474    >,
15475    pub io_free: ::std::option::Option<unsafe extern "C" fn(channel: *mut GIOChannel)>,
15476    pub io_set_flags: ::std::option::Option<
15477        unsafe extern "C" fn(
15478            channel: *mut GIOChannel,
15479            flags: GIOFlags,
15480            err: *mut *mut GError,
15481        ) -> GIOStatus,
15482    >,
15483    pub io_get_flags:
15484        ::std::option::Option<unsafe extern "C" fn(channel: *mut GIOChannel) -> GIOFlags>,
15485}
15486#[test]
15487fn bindgen_test_layout__GIOFuncs() {
15488    const UNINIT: ::std::mem::MaybeUninit<_GIOFuncs> = ::std::mem::MaybeUninit::uninit();
15489    let ptr = UNINIT.as_ptr();
15490    assert_eq!(
15491        ::std::mem::size_of::<_GIOFuncs>(),
15492        64usize,
15493        concat!("Size of: ", stringify!(_GIOFuncs))
15494    );
15495    assert_eq!(
15496        ::std::mem::align_of::<_GIOFuncs>(),
15497        8usize,
15498        concat!("Alignment of ", stringify!(_GIOFuncs))
15499    );
15500    assert_eq!(
15501        unsafe { ::std::ptr::addr_of!((*ptr).io_read) as usize - ptr as usize },
15502        0usize,
15503        concat!(
15504            "Offset of field: ",
15505            stringify!(_GIOFuncs),
15506            "::",
15507            stringify!(io_read)
15508        )
15509    );
15510    assert_eq!(
15511        unsafe { ::std::ptr::addr_of!((*ptr).io_write) as usize - ptr as usize },
15512        8usize,
15513        concat!(
15514            "Offset of field: ",
15515            stringify!(_GIOFuncs),
15516            "::",
15517            stringify!(io_write)
15518        )
15519    );
15520    assert_eq!(
15521        unsafe { ::std::ptr::addr_of!((*ptr).io_seek) as usize - ptr as usize },
15522        16usize,
15523        concat!(
15524            "Offset of field: ",
15525            stringify!(_GIOFuncs),
15526            "::",
15527            stringify!(io_seek)
15528        )
15529    );
15530    assert_eq!(
15531        unsafe { ::std::ptr::addr_of!((*ptr).io_close) as usize - ptr as usize },
15532        24usize,
15533        concat!(
15534            "Offset of field: ",
15535            stringify!(_GIOFuncs),
15536            "::",
15537            stringify!(io_close)
15538        )
15539    );
15540    assert_eq!(
15541        unsafe { ::std::ptr::addr_of!((*ptr).io_create_watch) as usize - ptr as usize },
15542        32usize,
15543        concat!(
15544            "Offset of field: ",
15545            stringify!(_GIOFuncs),
15546            "::",
15547            stringify!(io_create_watch)
15548        )
15549    );
15550    assert_eq!(
15551        unsafe { ::std::ptr::addr_of!((*ptr).io_free) as usize - ptr as usize },
15552        40usize,
15553        concat!(
15554            "Offset of field: ",
15555            stringify!(_GIOFuncs),
15556            "::",
15557            stringify!(io_free)
15558        )
15559    );
15560    assert_eq!(
15561        unsafe { ::std::ptr::addr_of!((*ptr).io_set_flags) as usize - ptr as usize },
15562        48usize,
15563        concat!(
15564            "Offset of field: ",
15565            stringify!(_GIOFuncs),
15566            "::",
15567            stringify!(io_set_flags)
15568        )
15569    );
15570    assert_eq!(
15571        unsafe { ::std::ptr::addr_of!((*ptr).io_get_flags) as usize - ptr as usize },
15572        56usize,
15573        concat!(
15574            "Offset of field: ",
15575            stringify!(_GIOFuncs),
15576            "::",
15577            stringify!(io_get_flags)
15578        )
15579    );
15580}
15581extern "C" {
15582    pub fn g_io_channel_init(channel: *mut GIOChannel);
15583}
15584extern "C" {
15585    pub fn g_io_channel_ref(channel: *mut GIOChannel) -> *mut GIOChannel;
15586}
15587extern "C" {
15588    pub fn g_io_channel_unref(channel: *mut GIOChannel);
15589}
15590extern "C" {
15591    pub fn g_io_channel_read(
15592        channel: *mut GIOChannel,
15593        buf: *mut gchar,
15594        count: gsize,
15595        bytes_read: *mut gsize,
15596    ) -> GIOError;
15597}
15598extern "C" {
15599    pub fn g_io_channel_write(
15600        channel: *mut GIOChannel,
15601        buf: *const gchar,
15602        count: gsize,
15603        bytes_written: *mut gsize,
15604    ) -> GIOError;
15605}
15606extern "C" {
15607    pub fn g_io_channel_seek(
15608        channel: *mut GIOChannel,
15609        offset: gint64,
15610        type_: GSeekType,
15611    ) -> GIOError;
15612}
15613extern "C" {
15614    pub fn g_io_channel_close(channel: *mut GIOChannel);
15615}
15616extern "C" {
15617    pub fn g_io_channel_shutdown(
15618        channel: *mut GIOChannel,
15619        flush: gboolean,
15620        err: *mut *mut GError,
15621    ) -> GIOStatus;
15622}
15623extern "C" {
15624    pub fn g_io_add_watch_full(
15625        channel: *mut GIOChannel,
15626        priority: gint,
15627        condition: GIOCondition,
15628        func: GIOFunc,
15629        user_data: gpointer,
15630        notify: GDestroyNotify,
15631    ) -> guint;
15632}
15633extern "C" {
15634    pub fn g_io_create_watch(channel: *mut GIOChannel, condition: GIOCondition) -> *mut GSource;
15635}
15636extern "C" {
15637    pub fn g_io_add_watch(
15638        channel: *mut GIOChannel,
15639        condition: GIOCondition,
15640        func: GIOFunc,
15641        user_data: gpointer,
15642    ) -> guint;
15643}
15644extern "C" {
15645    pub fn g_io_channel_set_buffer_size(channel: *mut GIOChannel, size: gsize);
15646}
15647extern "C" {
15648    pub fn g_io_channel_get_buffer_size(channel: *mut GIOChannel) -> gsize;
15649}
15650extern "C" {
15651    pub fn g_io_channel_get_buffer_condition(channel: *mut GIOChannel) -> GIOCondition;
15652}
15653extern "C" {
15654    pub fn g_io_channel_set_flags(
15655        channel: *mut GIOChannel,
15656        flags: GIOFlags,
15657        error: *mut *mut GError,
15658    ) -> GIOStatus;
15659}
15660extern "C" {
15661    pub fn g_io_channel_get_flags(channel: *mut GIOChannel) -> GIOFlags;
15662}
15663extern "C" {
15664    pub fn g_io_channel_set_line_term(
15665        channel: *mut GIOChannel,
15666        line_term: *const gchar,
15667        length: gint,
15668    );
15669}
15670extern "C" {
15671    pub fn g_io_channel_get_line_term(channel: *mut GIOChannel, length: *mut gint) -> *const gchar;
15672}
15673extern "C" {
15674    pub fn g_io_channel_set_buffered(channel: *mut GIOChannel, buffered: gboolean);
15675}
15676extern "C" {
15677    pub fn g_io_channel_get_buffered(channel: *mut GIOChannel) -> gboolean;
15678}
15679extern "C" {
15680    pub fn g_io_channel_set_encoding(
15681        channel: *mut GIOChannel,
15682        encoding: *const gchar,
15683        error: *mut *mut GError,
15684    ) -> GIOStatus;
15685}
15686extern "C" {
15687    pub fn g_io_channel_get_encoding(channel: *mut GIOChannel) -> *const gchar;
15688}
15689extern "C" {
15690    pub fn g_io_channel_set_close_on_unref(channel: *mut GIOChannel, do_close: gboolean);
15691}
15692extern "C" {
15693    pub fn g_io_channel_get_close_on_unref(channel: *mut GIOChannel) -> gboolean;
15694}
15695extern "C" {
15696    pub fn g_io_channel_flush(channel: *mut GIOChannel, error: *mut *mut GError) -> GIOStatus;
15697}
15698extern "C" {
15699    pub fn g_io_channel_read_line(
15700        channel: *mut GIOChannel,
15701        str_return: *mut *mut gchar,
15702        length: *mut gsize,
15703        terminator_pos: *mut gsize,
15704        error: *mut *mut GError,
15705    ) -> GIOStatus;
15706}
15707extern "C" {
15708    pub fn g_io_channel_read_line_string(
15709        channel: *mut GIOChannel,
15710        buffer: *mut GString,
15711        terminator_pos: *mut gsize,
15712        error: *mut *mut GError,
15713    ) -> GIOStatus;
15714}
15715extern "C" {
15716    pub fn g_io_channel_read_to_end(
15717        channel: *mut GIOChannel,
15718        str_return: *mut *mut gchar,
15719        length: *mut gsize,
15720        error: *mut *mut GError,
15721    ) -> GIOStatus;
15722}
15723extern "C" {
15724    pub fn g_io_channel_read_chars(
15725        channel: *mut GIOChannel,
15726        buf: *mut gchar,
15727        count: gsize,
15728        bytes_read: *mut gsize,
15729        error: *mut *mut GError,
15730    ) -> GIOStatus;
15731}
15732extern "C" {
15733    pub fn g_io_channel_read_unichar(
15734        channel: *mut GIOChannel,
15735        thechar: *mut gunichar,
15736        error: *mut *mut GError,
15737    ) -> GIOStatus;
15738}
15739extern "C" {
15740    pub fn g_io_channel_write_chars(
15741        channel: *mut GIOChannel,
15742        buf: *const gchar,
15743        count: gssize,
15744        bytes_written: *mut gsize,
15745        error: *mut *mut GError,
15746    ) -> GIOStatus;
15747}
15748extern "C" {
15749    pub fn g_io_channel_write_unichar(
15750        channel: *mut GIOChannel,
15751        thechar: gunichar,
15752        error: *mut *mut GError,
15753    ) -> GIOStatus;
15754}
15755extern "C" {
15756    pub fn g_io_channel_seek_position(
15757        channel: *mut GIOChannel,
15758        offset: gint64,
15759        type_: GSeekType,
15760        error: *mut *mut GError,
15761    ) -> GIOStatus;
15762}
15763extern "C" {
15764    pub fn g_io_channel_new_file(
15765        filename: *const gchar,
15766        mode: *const gchar,
15767        error: *mut *mut GError,
15768    ) -> *mut GIOChannel;
15769}
15770extern "C" {
15771    pub fn g_io_channel_error_quark() -> GQuark;
15772}
15773extern "C" {
15774    pub fn g_io_channel_error_from_errno(en: gint) -> GIOChannelError;
15775}
15776extern "C" {
15777    pub fn g_io_channel_unix_new(fd: ::std::os::raw::c_int) -> *mut GIOChannel;
15778}
15779extern "C" {
15780    pub fn g_io_channel_unix_get_fd(channel: *mut GIOChannel) -> gint;
15781}
15782extern "C" {
15783    pub static mut g_io_watch_funcs: GSourceFuncs;
15784}
15785pub const GKeyFileError_G_KEY_FILE_ERROR_UNKNOWN_ENCODING: GKeyFileError = 0;
15786pub const GKeyFileError_G_KEY_FILE_ERROR_PARSE: GKeyFileError = 1;
15787pub const GKeyFileError_G_KEY_FILE_ERROR_NOT_FOUND: GKeyFileError = 2;
15788pub const GKeyFileError_G_KEY_FILE_ERROR_KEY_NOT_FOUND: GKeyFileError = 3;
15789pub const GKeyFileError_G_KEY_FILE_ERROR_GROUP_NOT_FOUND: GKeyFileError = 4;
15790pub const GKeyFileError_G_KEY_FILE_ERROR_INVALID_VALUE: GKeyFileError = 5;
15791pub type GKeyFileError = ::std::os::raw::c_uint;
15792extern "C" {
15793    pub fn g_key_file_error_quark() -> GQuark;
15794}
15795#[repr(C)]
15796#[derive(Debug, Copy, Clone)]
15797pub struct _GKeyFile {
15798    _unused: [u8; 0],
15799}
15800pub type GKeyFile = _GKeyFile;
15801pub const GKeyFileFlags_G_KEY_FILE_NONE: GKeyFileFlags = 0;
15802pub const GKeyFileFlags_G_KEY_FILE_KEEP_COMMENTS: GKeyFileFlags = 1;
15803pub const GKeyFileFlags_G_KEY_FILE_KEEP_TRANSLATIONS: GKeyFileFlags = 2;
15804pub type GKeyFileFlags = ::std::os::raw::c_uint;
15805extern "C" {
15806    pub fn g_key_file_new() -> *mut GKeyFile;
15807}
15808extern "C" {
15809    pub fn g_key_file_ref(key_file: *mut GKeyFile) -> *mut GKeyFile;
15810}
15811extern "C" {
15812    pub fn g_key_file_unref(key_file: *mut GKeyFile);
15813}
15814extern "C" {
15815    pub fn g_key_file_free(key_file: *mut GKeyFile);
15816}
15817extern "C" {
15818    pub fn g_key_file_set_list_separator(key_file: *mut GKeyFile, separator: gchar);
15819}
15820extern "C" {
15821    pub fn g_key_file_load_from_file(
15822        key_file: *mut GKeyFile,
15823        file: *const gchar,
15824        flags: GKeyFileFlags,
15825        error: *mut *mut GError,
15826    ) -> gboolean;
15827}
15828extern "C" {
15829    pub fn g_key_file_load_from_data(
15830        key_file: *mut GKeyFile,
15831        data: *const gchar,
15832        length: gsize,
15833        flags: GKeyFileFlags,
15834        error: *mut *mut GError,
15835    ) -> gboolean;
15836}
15837extern "C" {
15838    pub fn g_key_file_load_from_bytes(
15839        key_file: *mut GKeyFile,
15840        bytes: *mut GBytes,
15841        flags: GKeyFileFlags,
15842        error: *mut *mut GError,
15843    ) -> gboolean;
15844}
15845extern "C" {
15846    pub fn g_key_file_load_from_dirs(
15847        key_file: *mut GKeyFile,
15848        file: *const gchar,
15849        search_dirs: *mut *const gchar,
15850        full_path: *mut *mut gchar,
15851        flags: GKeyFileFlags,
15852        error: *mut *mut GError,
15853    ) -> gboolean;
15854}
15855extern "C" {
15856    pub fn g_key_file_load_from_data_dirs(
15857        key_file: *mut GKeyFile,
15858        file: *const gchar,
15859        full_path: *mut *mut gchar,
15860        flags: GKeyFileFlags,
15861        error: *mut *mut GError,
15862    ) -> gboolean;
15863}
15864extern "C" {
15865    pub fn g_key_file_to_data(
15866        key_file: *mut GKeyFile,
15867        length: *mut gsize,
15868        error: *mut *mut GError,
15869    ) -> *mut gchar;
15870}
15871extern "C" {
15872    pub fn g_key_file_save_to_file(
15873        key_file: *mut GKeyFile,
15874        filename: *const gchar,
15875        error: *mut *mut GError,
15876    ) -> gboolean;
15877}
15878extern "C" {
15879    pub fn g_key_file_get_start_group(key_file: *mut GKeyFile) -> *mut gchar;
15880}
15881extern "C" {
15882    pub fn g_key_file_get_groups(key_file: *mut GKeyFile, length: *mut gsize) -> *mut *mut gchar;
15883}
15884extern "C" {
15885    pub fn g_key_file_get_keys(
15886        key_file: *mut GKeyFile,
15887        group_name: *const gchar,
15888        length: *mut gsize,
15889        error: *mut *mut GError,
15890    ) -> *mut *mut gchar;
15891}
15892extern "C" {
15893    pub fn g_key_file_has_group(key_file: *mut GKeyFile, group_name: *const gchar) -> gboolean;
15894}
15895extern "C" {
15896    pub fn g_key_file_has_key(
15897        key_file: *mut GKeyFile,
15898        group_name: *const gchar,
15899        key: *const gchar,
15900        error: *mut *mut GError,
15901    ) -> gboolean;
15902}
15903extern "C" {
15904    pub fn g_key_file_get_value(
15905        key_file: *mut GKeyFile,
15906        group_name: *const gchar,
15907        key: *const gchar,
15908        error: *mut *mut GError,
15909    ) -> *mut gchar;
15910}
15911extern "C" {
15912    pub fn g_key_file_set_value(
15913        key_file: *mut GKeyFile,
15914        group_name: *const gchar,
15915        key: *const gchar,
15916        value: *const gchar,
15917    );
15918}
15919extern "C" {
15920    pub fn g_key_file_get_string(
15921        key_file: *mut GKeyFile,
15922        group_name: *const gchar,
15923        key: *const gchar,
15924        error: *mut *mut GError,
15925    ) -> *mut gchar;
15926}
15927extern "C" {
15928    pub fn g_key_file_set_string(
15929        key_file: *mut GKeyFile,
15930        group_name: *const gchar,
15931        key: *const gchar,
15932        string: *const gchar,
15933    );
15934}
15935extern "C" {
15936    pub fn g_key_file_get_locale_string(
15937        key_file: *mut GKeyFile,
15938        group_name: *const gchar,
15939        key: *const gchar,
15940        locale: *const gchar,
15941        error: *mut *mut GError,
15942    ) -> *mut gchar;
15943}
15944extern "C" {
15945    pub fn g_key_file_get_locale_for_key(
15946        key_file: *mut GKeyFile,
15947        group_name: *const gchar,
15948        key: *const gchar,
15949        locale: *const gchar,
15950    ) -> *mut gchar;
15951}
15952extern "C" {
15953    pub fn g_key_file_set_locale_string(
15954        key_file: *mut GKeyFile,
15955        group_name: *const gchar,
15956        key: *const gchar,
15957        locale: *const gchar,
15958        string: *const gchar,
15959    );
15960}
15961extern "C" {
15962    pub fn g_key_file_get_boolean(
15963        key_file: *mut GKeyFile,
15964        group_name: *const gchar,
15965        key: *const gchar,
15966        error: *mut *mut GError,
15967    ) -> gboolean;
15968}
15969extern "C" {
15970    pub fn g_key_file_set_boolean(
15971        key_file: *mut GKeyFile,
15972        group_name: *const gchar,
15973        key: *const gchar,
15974        value: gboolean,
15975    );
15976}
15977extern "C" {
15978    pub fn g_key_file_get_integer(
15979        key_file: *mut GKeyFile,
15980        group_name: *const gchar,
15981        key: *const gchar,
15982        error: *mut *mut GError,
15983    ) -> gint;
15984}
15985extern "C" {
15986    pub fn g_key_file_set_integer(
15987        key_file: *mut GKeyFile,
15988        group_name: *const gchar,
15989        key: *const gchar,
15990        value: gint,
15991    );
15992}
15993extern "C" {
15994    pub fn g_key_file_get_int64(
15995        key_file: *mut GKeyFile,
15996        group_name: *const gchar,
15997        key: *const gchar,
15998        error: *mut *mut GError,
15999    ) -> gint64;
16000}
16001extern "C" {
16002    pub fn g_key_file_set_int64(
16003        key_file: *mut GKeyFile,
16004        group_name: *const gchar,
16005        key: *const gchar,
16006        value: gint64,
16007    );
16008}
16009extern "C" {
16010    pub fn g_key_file_get_uint64(
16011        key_file: *mut GKeyFile,
16012        group_name: *const gchar,
16013        key: *const gchar,
16014        error: *mut *mut GError,
16015    ) -> guint64;
16016}
16017extern "C" {
16018    pub fn g_key_file_set_uint64(
16019        key_file: *mut GKeyFile,
16020        group_name: *const gchar,
16021        key: *const gchar,
16022        value: guint64,
16023    );
16024}
16025extern "C" {
16026    pub fn g_key_file_get_double(
16027        key_file: *mut GKeyFile,
16028        group_name: *const gchar,
16029        key: *const gchar,
16030        error: *mut *mut GError,
16031    ) -> gdouble;
16032}
16033extern "C" {
16034    pub fn g_key_file_set_double(
16035        key_file: *mut GKeyFile,
16036        group_name: *const gchar,
16037        key: *const gchar,
16038        value: gdouble,
16039    );
16040}
16041extern "C" {
16042    pub fn g_key_file_get_string_list(
16043        key_file: *mut GKeyFile,
16044        group_name: *const gchar,
16045        key: *const gchar,
16046        length: *mut gsize,
16047        error: *mut *mut GError,
16048    ) -> *mut *mut gchar;
16049}
16050extern "C" {
16051    pub fn g_key_file_set_string_list(
16052        key_file: *mut GKeyFile,
16053        group_name: *const gchar,
16054        key: *const gchar,
16055        list: *const *const gchar,
16056        length: gsize,
16057    );
16058}
16059extern "C" {
16060    pub fn g_key_file_get_locale_string_list(
16061        key_file: *mut GKeyFile,
16062        group_name: *const gchar,
16063        key: *const gchar,
16064        locale: *const gchar,
16065        length: *mut gsize,
16066        error: *mut *mut GError,
16067    ) -> *mut *mut gchar;
16068}
16069extern "C" {
16070    pub fn g_key_file_set_locale_string_list(
16071        key_file: *mut GKeyFile,
16072        group_name: *const gchar,
16073        key: *const gchar,
16074        locale: *const gchar,
16075        list: *const *const gchar,
16076        length: gsize,
16077    );
16078}
16079extern "C" {
16080    pub fn g_key_file_get_boolean_list(
16081        key_file: *mut GKeyFile,
16082        group_name: *const gchar,
16083        key: *const gchar,
16084        length: *mut gsize,
16085        error: *mut *mut GError,
16086    ) -> *mut gboolean;
16087}
16088extern "C" {
16089    pub fn g_key_file_set_boolean_list(
16090        key_file: *mut GKeyFile,
16091        group_name: *const gchar,
16092        key: *const gchar,
16093        list: *mut gboolean,
16094        length: gsize,
16095    );
16096}
16097extern "C" {
16098    pub fn g_key_file_get_integer_list(
16099        key_file: *mut GKeyFile,
16100        group_name: *const gchar,
16101        key: *const gchar,
16102        length: *mut gsize,
16103        error: *mut *mut GError,
16104    ) -> *mut gint;
16105}
16106extern "C" {
16107    pub fn g_key_file_set_double_list(
16108        key_file: *mut GKeyFile,
16109        group_name: *const gchar,
16110        key: *const gchar,
16111        list: *mut gdouble,
16112        length: gsize,
16113    );
16114}
16115extern "C" {
16116    pub fn g_key_file_get_double_list(
16117        key_file: *mut GKeyFile,
16118        group_name: *const gchar,
16119        key: *const gchar,
16120        length: *mut gsize,
16121        error: *mut *mut GError,
16122    ) -> *mut gdouble;
16123}
16124extern "C" {
16125    pub fn g_key_file_set_integer_list(
16126        key_file: *mut GKeyFile,
16127        group_name: *const gchar,
16128        key: *const gchar,
16129        list: *mut gint,
16130        length: gsize,
16131    );
16132}
16133extern "C" {
16134    pub fn g_key_file_set_comment(
16135        key_file: *mut GKeyFile,
16136        group_name: *const gchar,
16137        key: *const gchar,
16138        comment: *const gchar,
16139        error: *mut *mut GError,
16140    ) -> gboolean;
16141}
16142extern "C" {
16143    pub fn g_key_file_get_comment(
16144        key_file: *mut GKeyFile,
16145        group_name: *const gchar,
16146        key: *const gchar,
16147        error: *mut *mut GError,
16148    ) -> *mut gchar;
16149}
16150extern "C" {
16151    pub fn g_key_file_remove_comment(
16152        key_file: *mut GKeyFile,
16153        group_name: *const gchar,
16154        key: *const gchar,
16155        error: *mut *mut GError,
16156    ) -> gboolean;
16157}
16158extern "C" {
16159    pub fn g_key_file_remove_key(
16160        key_file: *mut GKeyFile,
16161        group_name: *const gchar,
16162        key: *const gchar,
16163        error: *mut *mut GError,
16164    ) -> gboolean;
16165}
16166extern "C" {
16167    pub fn g_key_file_remove_group(
16168        key_file: *mut GKeyFile,
16169        group_name: *const gchar,
16170        error: *mut *mut GError,
16171    ) -> gboolean;
16172}
16173#[repr(C)]
16174#[derive(Debug, Copy, Clone)]
16175pub struct _GMappedFile {
16176    _unused: [u8; 0],
16177}
16178pub type GMappedFile = _GMappedFile;
16179extern "C" {
16180    pub fn g_mapped_file_new(
16181        filename: *const gchar,
16182        writable: gboolean,
16183        error: *mut *mut GError,
16184    ) -> *mut GMappedFile;
16185}
16186extern "C" {
16187    pub fn g_mapped_file_new_from_fd(
16188        fd: gint,
16189        writable: gboolean,
16190        error: *mut *mut GError,
16191    ) -> *mut GMappedFile;
16192}
16193extern "C" {
16194    pub fn g_mapped_file_get_length(file: *mut GMappedFile) -> gsize;
16195}
16196extern "C" {
16197    pub fn g_mapped_file_get_contents(file: *mut GMappedFile) -> *mut gchar;
16198}
16199extern "C" {
16200    pub fn g_mapped_file_get_bytes(file: *mut GMappedFile) -> *mut GBytes;
16201}
16202extern "C" {
16203    pub fn g_mapped_file_ref(file: *mut GMappedFile) -> *mut GMappedFile;
16204}
16205extern "C" {
16206    pub fn g_mapped_file_unref(file: *mut GMappedFile);
16207}
16208extern "C" {
16209    pub fn g_mapped_file_free(file: *mut GMappedFile);
16210}
16211pub const GMarkupError_G_MARKUP_ERROR_BAD_UTF8: GMarkupError = 0;
16212pub const GMarkupError_G_MARKUP_ERROR_EMPTY: GMarkupError = 1;
16213pub const GMarkupError_G_MARKUP_ERROR_PARSE: GMarkupError = 2;
16214pub const GMarkupError_G_MARKUP_ERROR_UNKNOWN_ELEMENT: GMarkupError = 3;
16215pub const GMarkupError_G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE: GMarkupError = 4;
16216pub const GMarkupError_G_MARKUP_ERROR_INVALID_CONTENT: GMarkupError = 5;
16217pub const GMarkupError_G_MARKUP_ERROR_MISSING_ATTRIBUTE: GMarkupError = 6;
16218#[doc = " GMarkupError:\n @G_MARKUP_ERROR_BAD_UTF8: text being parsed was not valid UTF-8\n @G_MARKUP_ERROR_EMPTY: document contained nothing, or only whitespace\n @G_MARKUP_ERROR_PARSE: document was ill-formed\n @G_MARKUP_ERROR_UNKNOWN_ELEMENT: error should be set by #GMarkupParser\n     functions; element wasn't known\n @G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE: error should be set by #GMarkupParser\n     functions; attribute wasn't known\n @G_MARKUP_ERROR_INVALID_CONTENT: error should be set by #GMarkupParser\n     functions; content was invalid\n @G_MARKUP_ERROR_MISSING_ATTRIBUTE: error should be set by #GMarkupParser\n     functions; a required attribute was missing\n\n Error codes returned by markup parsing."]
16219pub type GMarkupError = ::std::os::raw::c_uint;
16220extern "C" {
16221    pub fn g_markup_error_quark() -> GQuark;
16222}
16223pub const GMarkupParseFlags_G_MARKUP_DEFAULT_FLAGS: GMarkupParseFlags = 0;
16224pub const GMarkupParseFlags_G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG: GMarkupParseFlags = 1;
16225pub const GMarkupParseFlags_G_MARKUP_TREAT_CDATA_AS_TEXT: GMarkupParseFlags = 2;
16226pub const GMarkupParseFlags_G_MARKUP_PREFIX_ERROR_POSITION: GMarkupParseFlags = 4;
16227pub const GMarkupParseFlags_G_MARKUP_IGNORE_QUALIFIED: GMarkupParseFlags = 8;
16228#[doc = " GMarkupParseFlags:\n @G_MARKUP_DEFAULT_FLAGS: No special behaviour. Since: 2.74\n @G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG: flag you should not use\n @G_MARKUP_TREAT_CDATA_AS_TEXT: When this flag is set, CDATA marked\n     sections are not passed literally to the @passthrough function of\n     the parser. Instead, the content of the section (without the\n     `<![CDATA[` and `]]>`) is\n     passed to the @text function. This flag was added in GLib 2.12\n @G_MARKUP_PREFIX_ERROR_POSITION: Normally errors caught by GMarkup\n     itself have line/column information prefixed to them to let the\n     caller know the location of the error. When this flag is set the\n     location information is also prefixed to errors generated by the\n     #GMarkupParser implementation functions\n @G_MARKUP_IGNORE_QUALIFIED: Ignore (don't report) qualified\n     attributes and tags, along with their contents.  A qualified\n     attribute or tag is one that contains ':' in its name (ie: is in\n     another namespace).  Since: 2.40.\n\n Flags that affect the behaviour of the parser."]
16229pub type GMarkupParseFlags = ::std::os::raw::c_uint;
16230#[repr(C)]
16231#[derive(Debug, Copy, Clone)]
16232pub struct _GMarkupParseContext {
16233    _unused: [u8; 0],
16234}
16235#[doc = " GMarkupParseContext:\n\n A parse context is used to parse a stream of bytes that\n you expect to contain marked-up text.\n\n See g_markup_parse_context_new(), #GMarkupParser, and so\n on for more details."]
16236pub type GMarkupParseContext = _GMarkupParseContext;
16237#[doc = " GMarkupParser:\n @start_element: Callback to invoke when the opening tag of an element\n     is seen. The callback's @attribute_names and @attribute_values parameters\n     are %NULL-terminated.\n @end_element: Callback to invoke when the closing tag of an element\n     is seen. Note that this is also called for empty tags like\n     `<empty/>`.\n @text: Callback to invoke when some text is seen (text is always\n     inside an element). Note that the text of an element may be spread\n     over multiple calls of this function. If the\n     %G_MARKUP_TREAT_CDATA_AS_TEXT flag is set, this function is also\n     called for the content of CDATA marked sections.\n @passthrough: Callback to invoke for comments, processing instructions\n     and doctype declarations; if you're re-writing the parsed document,\n     write the passthrough text back out in the same position. If the\n     %G_MARKUP_TREAT_CDATA_AS_TEXT flag is not set, this function is also\n     called for CDATA marked sections.\n @error: Callback to invoke when an error occurs.\n\n Any of the fields in #GMarkupParser can be %NULL, in which case they\n will be ignored. Except for the @error function, any of these callbacks\n can set an error; in particular the %G_MARKUP_ERROR_UNKNOWN_ELEMENT,\n %G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE, and %G_MARKUP_ERROR_INVALID_CONTENT\n errors are intended to be set from these callbacks. If you set an error\n from a callback, g_markup_parse_context_parse() will report that error\n back to its caller."]
16238pub type GMarkupParser = _GMarkupParser;
16239#[doc = " GMarkupParser:\n @start_element: Callback to invoke when the opening tag of an element\n     is seen. The callback's @attribute_names and @attribute_values parameters\n     are %NULL-terminated.\n @end_element: Callback to invoke when the closing tag of an element\n     is seen. Note that this is also called for empty tags like\n     `<empty/>`.\n @text: Callback to invoke when some text is seen (text is always\n     inside an element). Note that the text of an element may be spread\n     over multiple calls of this function. If the\n     %G_MARKUP_TREAT_CDATA_AS_TEXT flag is set, this function is also\n     called for the content of CDATA marked sections.\n @passthrough: Callback to invoke for comments, processing instructions\n     and doctype declarations; if you're re-writing the parsed document,\n     write the passthrough text back out in the same position. If the\n     %G_MARKUP_TREAT_CDATA_AS_TEXT flag is not set, this function is also\n     called for CDATA marked sections.\n @error: Callback to invoke when an error occurs.\n\n Any of the fields in #GMarkupParser can be %NULL, in which case they\n will be ignored. Except for the @error function, any of these callbacks\n can set an error; in particular the %G_MARKUP_ERROR_UNKNOWN_ELEMENT,\n %G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE, and %G_MARKUP_ERROR_INVALID_CONTENT\n errors are intended to be set from these callbacks. If you set an error\n from a callback, g_markup_parse_context_parse() will report that error\n back to its caller."]
16240#[repr(C)]
16241#[derive(Debug, Copy, Clone, PartialEq, Eq)]
16242pub struct _GMarkupParser {
16243    pub start_element: ::std::option::Option<
16244        unsafe extern "C" fn(
16245            context: *mut GMarkupParseContext,
16246            element_name: *const gchar,
16247            attribute_names: *mut *const gchar,
16248            attribute_values: *mut *const gchar,
16249            user_data: gpointer,
16250            error: *mut *mut GError,
16251        ),
16252    >,
16253    pub end_element: ::std::option::Option<
16254        unsafe extern "C" fn(
16255            context: *mut GMarkupParseContext,
16256            element_name: *const gchar,
16257            user_data: gpointer,
16258            error: *mut *mut GError,
16259        ),
16260    >,
16261    pub text: ::std::option::Option<
16262        unsafe extern "C" fn(
16263            context: *mut GMarkupParseContext,
16264            text: *const gchar,
16265            text_len: gsize,
16266            user_data: gpointer,
16267            error: *mut *mut GError,
16268        ),
16269    >,
16270    pub passthrough: ::std::option::Option<
16271        unsafe extern "C" fn(
16272            context: *mut GMarkupParseContext,
16273            passthrough_text: *const gchar,
16274            text_len: gsize,
16275            user_data: gpointer,
16276            error: *mut *mut GError,
16277        ),
16278    >,
16279    pub error: ::std::option::Option<
16280        unsafe extern "C" fn(
16281            context: *mut GMarkupParseContext,
16282            error: *mut GError,
16283            user_data: gpointer,
16284        ),
16285    >,
16286}
16287#[test]
16288fn bindgen_test_layout__GMarkupParser() {
16289    const UNINIT: ::std::mem::MaybeUninit<_GMarkupParser> = ::std::mem::MaybeUninit::uninit();
16290    let ptr = UNINIT.as_ptr();
16291    assert_eq!(
16292        ::std::mem::size_of::<_GMarkupParser>(),
16293        40usize,
16294        concat!("Size of: ", stringify!(_GMarkupParser))
16295    );
16296    assert_eq!(
16297        ::std::mem::align_of::<_GMarkupParser>(),
16298        8usize,
16299        concat!("Alignment of ", stringify!(_GMarkupParser))
16300    );
16301    assert_eq!(
16302        unsafe { ::std::ptr::addr_of!((*ptr).start_element) as usize - ptr as usize },
16303        0usize,
16304        concat!(
16305            "Offset of field: ",
16306            stringify!(_GMarkupParser),
16307            "::",
16308            stringify!(start_element)
16309        )
16310    );
16311    assert_eq!(
16312        unsafe { ::std::ptr::addr_of!((*ptr).end_element) as usize - ptr as usize },
16313        8usize,
16314        concat!(
16315            "Offset of field: ",
16316            stringify!(_GMarkupParser),
16317            "::",
16318            stringify!(end_element)
16319        )
16320    );
16321    assert_eq!(
16322        unsafe { ::std::ptr::addr_of!((*ptr).text) as usize - ptr as usize },
16323        16usize,
16324        concat!(
16325            "Offset of field: ",
16326            stringify!(_GMarkupParser),
16327            "::",
16328            stringify!(text)
16329        )
16330    );
16331    assert_eq!(
16332        unsafe { ::std::ptr::addr_of!((*ptr).passthrough) as usize - ptr as usize },
16333        24usize,
16334        concat!(
16335            "Offset of field: ",
16336            stringify!(_GMarkupParser),
16337            "::",
16338            stringify!(passthrough)
16339        )
16340    );
16341    assert_eq!(
16342        unsafe { ::std::ptr::addr_of!((*ptr).error) as usize - ptr as usize },
16343        32usize,
16344        concat!(
16345            "Offset of field: ",
16346            stringify!(_GMarkupParser),
16347            "::",
16348            stringify!(error)
16349        )
16350    );
16351}
16352extern "C" {
16353    pub fn g_markup_parse_context_new(
16354        parser: *const GMarkupParser,
16355        flags: GMarkupParseFlags,
16356        user_data: gpointer,
16357        user_data_dnotify: GDestroyNotify,
16358    ) -> *mut GMarkupParseContext;
16359}
16360extern "C" {
16361    pub fn g_markup_parse_context_ref(
16362        context: *mut GMarkupParseContext,
16363    ) -> *mut GMarkupParseContext;
16364}
16365extern "C" {
16366    pub fn g_markup_parse_context_unref(context: *mut GMarkupParseContext);
16367}
16368extern "C" {
16369    pub fn g_markup_parse_context_free(context: *mut GMarkupParseContext);
16370}
16371extern "C" {
16372    pub fn g_markup_parse_context_parse(
16373        context: *mut GMarkupParseContext,
16374        text: *const gchar,
16375        text_len: gssize,
16376        error: *mut *mut GError,
16377    ) -> gboolean;
16378}
16379extern "C" {
16380    pub fn g_markup_parse_context_push(
16381        context: *mut GMarkupParseContext,
16382        parser: *const GMarkupParser,
16383        user_data: gpointer,
16384    );
16385}
16386extern "C" {
16387    pub fn g_markup_parse_context_pop(context: *mut GMarkupParseContext) -> gpointer;
16388}
16389extern "C" {
16390    pub fn g_markup_parse_context_end_parse(
16391        context: *mut GMarkupParseContext,
16392        error: *mut *mut GError,
16393    ) -> gboolean;
16394}
16395extern "C" {
16396    pub fn g_markup_parse_context_get_element(context: *mut GMarkupParseContext) -> *const gchar;
16397}
16398extern "C" {
16399    pub fn g_markup_parse_context_get_element_stack(
16400        context: *mut GMarkupParseContext,
16401    ) -> *const GSList;
16402}
16403extern "C" {
16404    pub fn g_markup_parse_context_get_position(
16405        context: *mut GMarkupParseContext,
16406        line_number: *mut gint,
16407        char_number: *mut gint,
16408    );
16409}
16410extern "C" {
16411    pub fn g_markup_parse_context_get_user_data(context: *mut GMarkupParseContext) -> gpointer;
16412}
16413extern "C" {
16414    pub fn g_markup_escape_text(text: *const gchar, length: gssize) -> *mut gchar;
16415}
16416extern "C" {
16417    pub fn g_markup_printf_escaped(format: *const ::std::os::raw::c_char, ...) -> *mut gchar;
16418}
16419extern "C" {
16420    pub fn g_markup_vprintf_escaped(
16421        format: *const ::std::os::raw::c_char,
16422        args: va_list,
16423    ) -> *mut gchar;
16424}
16425pub const GMarkupCollectType_G_MARKUP_COLLECT_INVALID: GMarkupCollectType = 0;
16426pub const GMarkupCollectType_G_MARKUP_COLLECT_STRING: GMarkupCollectType = 1;
16427pub const GMarkupCollectType_G_MARKUP_COLLECT_STRDUP: GMarkupCollectType = 2;
16428pub const GMarkupCollectType_G_MARKUP_COLLECT_BOOLEAN: GMarkupCollectType = 3;
16429pub const GMarkupCollectType_G_MARKUP_COLLECT_TRISTATE: GMarkupCollectType = 4;
16430pub const GMarkupCollectType_G_MARKUP_COLLECT_OPTIONAL: GMarkupCollectType = 65536;
16431pub type GMarkupCollectType = ::std::os::raw::c_uint;
16432extern "C" {
16433    pub fn g_markup_collect_attributes(
16434        element_name: *const gchar,
16435        attribute_names: *mut *const gchar,
16436        attribute_values: *mut *const gchar,
16437        error: *mut *mut GError,
16438        first_type: GMarkupCollectType,
16439        first_attr: *const gchar,
16440        ...
16441    ) -> gboolean;
16442}
16443#[repr(C)]
16444#[derive(Debug, Copy, Clone)]
16445pub struct _GVariantType {
16446    _unused: [u8; 0],
16447}
16448#[doc = " GVariantType:\n\n A type in the GVariant type system.\n\n Two types may not be compared by value; use g_variant_type_equal() or\n g_variant_type_is_subtype_of().  May be copied using\n g_variant_type_copy() and freed using g_variant_type_free()."]
16449pub type GVariantType = _GVariantType;
16450extern "C" {
16451    pub fn g_variant_type_string_is_valid(type_string: *const gchar) -> gboolean;
16452}
16453extern "C" {
16454    pub fn g_variant_type_string_scan(
16455        string: *const gchar,
16456        limit: *const gchar,
16457        endptr: *mut *const gchar,
16458    ) -> gboolean;
16459}
16460extern "C" {
16461    pub fn g_variant_type_free(type_: *mut GVariantType);
16462}
16463extern "C" {
16464    pub fn g_variant_type_copy(type_: *const GVariantType) -> *mut GVariantType;
16465}
16466extern "C" {
16467    pub fn g_variant_type_new(type_string: *const gchar) -> *mut GVariantType;
16468}
16469extern "C" {
16470    pub fn g_variant_type_get_string_length(type_: *const GVariantType) -> gsize;
16471}
16472extern "C" {
16473    pub fn g_variant_type_peek_string(type_: *const GVariantType) -> *const gchar;
16474}
16475extern "C" {
16476    pub fn g_variant_type_dup_string(type_: *const GVariantType) -> *mut gchar;
16477}
16478extern "C" {
16479    pub fn g_variant_type_is_definite(type_: *const GVariantType) -> gboolean;
16480}
16481extern "C" {
16482    pub fn g_variant_type_is_container(type_: *const GVariantType) -> gboolean;
16483}
16484extern "C" {
16485    pub fn g_variant_type_is_basic(type_: *const GVariantType) -> gboolean;
16486}
16487extern "C" {
16488    pub fn g_variant_type_is_maybe(type_: *const GVariantType) -> gboolean;
16489}
16490extern "C" {
16491    pub fn g_variant_type_is_array(type_: *const GVariantType) -> gboolean;
16492}
16493extern "C" {
16494    pub fn g_variant_type_is_tuple(type_: *const GVariantType) -> gboolean;
16495}
16496extern "C" {
16497    pub fn g_variant_type_is_dict_entry(type_: *const GVariantType) -> gboolean;
16498}
16499extern "C" {
16500    pub fn g_variant_type_is_variant(type_: *const GVariantType) -> gboolean;
16501}
16502extern "C" {
16503    pub fn g_variant_type_hash(type_: gconstpointer) -> guint;
16504}
16505extern "C" {
16506    pub fn g_variant_type_equal(type1: gconstpointer, type2: gconstpointer) -> gboolean;
16507}
16508extern "C" {
16509    pub fn g_variant_type_is_subtype_of(
16510        type_: *const GVariantType,
16511        supertype: *const GVariantType,
16512    ) -> gboolean;
16513}
16514extern "C" {
16515    pub fn g_variant_type_element(type_: *const GVariantType) -> *const GVariantType;
16516}
16517extern "C" {
16518    pub fn g_variant_type_first(type_: *const GVariantType) -> *const GVariantType;
16519}
16520extern "C" {
16521    pub fn g_variant_type_next(type_: *const GVariantType) -> *const GVariantType;
16522}
16523extern "C" {
16524    pub fn g_variant_type_n_items(type_: *const GVariantType) -> gsize;
16525}
16526extern "C" {
16527    pub fn g_variant_type_key(type_: *const GVariantType) -> *const GVariantType;
16528}
16529extern "C" {
16530    pub fn g_variant_type_value(type_: *const GVariantType) -> *const GVariantType;
16531}
16532extern "C" {
16533    pub fn g_variant_type_new_array(element: *const GVariantType) -> *mut GVariantType;
16534}
16535extern "C" {
16536    pub fn g_variant_type_new_maybe(element: *const GVariantType) -> *mut GVariantType;
16537}
16538extern "C" {
16539    pub fn g_variant_type_new_tuple(
16540        items: *const *const GVariantType,
16541        length: gint,
16542    ) -> *mut GVariantType;
16543}
16544extern "C" {
16545    pub fn g_variant_type_new_dict_entry(
16546        key: *const GVariantType,
16547        value: *const GVariantType,
16548    ) -> *mut GVariantType;
16549}
16550extern "C" {
16551    pub fn g_variant_type_checked_(arg1: *const gchar) -> *const GVariantType;
16552}
16553extern "C" {
16554    pub fn g_variant_type_string_get_depth_(type_string: *const gchar) -> gsize;
16555}
16556#[repr(C)]
16557#[derive(Debug, Copy, Clone)]
16558pub struct _GVariant {
16559    _unused: [u8; 0],
16560}
16561pub type GVariant = _GVariant;
16562pub const GVariantClass_G_VARIANT_CLASS_BOOLEAN: GVariantClass = 98;
16563pub const GVariantClass_G_VARIANT_CLASS_BYTE: GVariantClass = 121;
16564pub const GVariantClass_G_VARIANT_CLASS_INT16: GVariantClass = 110;
16565pub const GVariantClass_G_VARIANT_CLASS_UINT16: GVariantClass = 113;
16566pub const GVariantClass_G_VARIANT_CLASS_INT32: GVariantClass = 105;
16567pub const GVariantClass_G_VARIANT_CLASS_UINT32: GVariantClass = 117;
16568pub const GVariantClass_G_VARIANT_CLASS_INT64: GVariantClass = 120;
16569pub const GVariantClass_G_VARIANT_CLASS_UINT64: GVariantClass = 116;
16570pub const GVariantClass_G_VARIANT_CLASS_HANDLE: GVariantClass = 104;
16571pub const GVariantClass_G_VARIANT_CLASS_DOUBLE: GVariantClass = 100;
16572pub const GVariantClass_G_VARIANT_CLASS_STRING: GVariantClass = 115;
16573pub const GVariantClass_G_VARIANT_CLASS_OBJECT_PATH: GVariantClass = 111;
16574pub const GVariantClass_G_VARIANT_CLASS_SIGNATURE: GVariantClass = 103;
16575pub const GVariantClass_G_VARIANT_CLASS_VARIANT: GVariantClass = 118;
16576pub const GVariantClass_G_VARIANT_CLASS_MAYBE: GVariantClass = 109;
16577pub const GVariantClass_G_VARIANT_CLASS_ARRAY: GVariantClass = 97;
16578pub const GVariantClass_G_VARIANT_CLASS_TUPLE: GVariantClass = 40;
16579pub const GVariantClass_G_VARIANT_CLASS_DICT_ENTRY: GVariantClass = 123;
16580pub type GVariantClass = ::std::os::raw::c_uint;
16581extern "C" {
16582    pub fn g_variant_unref(value: *mut GVariant);
16583}
16584extern "C" {
16585    pub fn g_variant_ref(value: *mut GVariant) -> *mut GVariant;
16586}
16587extern "C" {
16588    pub fn g_variant_ref_sink(value: *mut GVariant) -> *mut GVariant;
16589}
16590extern "C" {
16591    pub fn g_variant_is_floating(value: *mut GVariant) -> gboolean;
16592}
16593extern "C" {
16594    pub fn g_variant_take_ref(value: *mut GVariant) -> *mut GVariant;
16595}
16596extern "C" {
16597    pub fn g_variant_get_type(value: *mut GVariant) -> *const GVariantType;
16598}
16599extern "C" {
16600    pub fn g_variant_get_type_string(value: *mut GVariant) -> *const gchar;
16601}
16602extern "C" {
16603    pub fn g_variant_is_of_type(value: *mut GVariant, type_: *const GVariantType) -> gboolean;
16604}
16605extern "C" {
16606    pub fn g_variant_is_container(value: *mut GVariant) -> gboolean;
16607}
16608extern "C" {
16609    pub fn g_variant_classify(value: *mut GVariant) -> GVariantClass;
16610}
16611extern "C" {
16612    pub fn g_variant_new_boolean(value: gboolean) -> *mut GVariant;
16613}
16614extern "C" {
16615    pub fn g_variant_new_byte(value: guint8) -> *mut GVariant;
16616}
16617extern "C" {
16618    pub fn g_variant_new_int16(value: gint16) -> *mut GVariant;
16619}
16620extern "C" {
16621    pub fn g_variant_new_uint16(value: guint16) -> *mut GVariant;
16622}
16623extern "C" {
16624    pub fn g_variant_new_int32(value: gint32) -> *mut GVariant;
16625}
16626extern "C" {
16627    pub fn g_variant_new_uint32(value: guint32) -> *mut GVariant;
16628}
16629extern "C" {
16630    pub fn g_variant_new_int64(value: gint64) -> *mut GVariant;
16631}
16632extern "C" {
16633    pub fn g_variant_new_uint64(value: guint64) -> *mut GVariant;
16634}
16635extern "C" {
16636    pub fn g_variant_new_handle(value: gint32) -> *mut GVariant;
16637}
16638extern "C" {
16639    pub fn g_variant_new_double(value: gdouble) -> *mut GVariant;
16640}
16641extern "C" {
16642    pub fn g_variant_new_string(string: *const gchar) -> *mut GVariant;
16643}
16644extern "C" {
16645    pub fn g_variant_new_take_string(string: *mut gchar) -> *mut GVariant;
16646}
16647extern "C" {
16648    pub fn g_variant_new_printf(format_string: *const gchar, ...) -> *mut GVariant;
16649}
16650extern "C" {
16651    pub fn g_variant_new_object_path(object_path: *const gchar) -> *mut GVariant;
16652}
16653extern "C" {
16654    pub fn g_variant_is_object_path(string: *const gchar) -> gboolean;
16655}
16656extern "C" {
16657    pub fn g_variant_new_signature(signature: *const gchar) -> *mut GVariant;
16658}
16659extern "C" {
16660    pub fn g_variant_is_signature(string: *const gchar) -> gboolean;
16661}
16662extern "C" {
16663    pub fn g_variant_new_variant(value: *mut GVariant) -> *mut GVariant;
16664}
16665extern "C" {
16666    pub fn g_variant_new_strv(strv: *const *const gchar, length: gssize) -> *mut GVariant;
16667}
16668extern "C" {
16669    pub fn g_variant_new_objv(strv: *const *const gchar, length: gssize) -> *mut GVariant;
16670}
16671extern "C" {
16672    pub fn g_variant_new_bytestring(string: *const gchar) -> *mut GVariant;
16673}
16674extern "C" {
16675    pub fn g_variant_new_bytestring_array(
16676        strv: *const *const gchar,
16677        length: gssize,
16678    ) -> *mut GVariant;
16679}
16680extern "C" {
16681    pub fn g_variant_new_fixed_array(
16682        element_type: *const GVariantType,
16683        elements: gconstpointer,
16684        n_elements: gsize,
16685        element_size: gsize,
16686    ) -> *mut GVariant;
16687}
16688extern "C" {
16689    pub fn g_variant_get_boolean(value: *mut GVariant) -> gboolean;
16690}
16691extern "C" {
16692    pub fn g_variant_get_byte(value: *mut GVariant) -> guint8;
16693}
16694extern "C" {
16695    pub fn g_variant_get_int16(value: *mut GVariant) -> gint16;
16696}
16697extern "C" {
16698    pub fn g_variant_get_uint16(value: *mut GVariant) -> guint16;
16699}
16700extern "C" {
16701    pub fn g_variant_get_int32(value: *mut GVariant) -> gint32;
16702}
16703extern "C" {
16704    pub fn g_variant_get_uint32(value: *mut GVariant) -> guint32;
16705}
16706extern "C" {
16707    pub fn g_variant_get_int64(value: *mut GVariant) -> gint64;
16708}
16709extern "C" {
16710    pub fn g_variant_get_uint64(value: *mut GVariant) -> guint64;
16711}
16712extern "C" {
16713    pub fn g_variant_get_handle(value: *mut GVariant) -> gint32;
16714}
16715extern "C" {
16716    pub fn g_variant_get_double(value: *mut GVariant) -> gdouble;
16717}
16718extern "C" {
16719    pub fn g_variant_get_variant(value: *mut GVariant) -> *mut GVariant;
16720}
16721extern "C" {
16722    pub fn g_variant_get_string(value: *mut GVariant, length: *mut gsize) -> *const gchar;
16723}
16724extern "C" {
16725    pub fn g_variant_dup_string(value: *mut GVariant, length: *mut gsize) -> *mut gchar;
16726}
16727extern "C" {
16728    pub fn g_variant_get_strv(value: *mut GVariant, length: *mut gsize) -> *mut *const gchar;
16729}
16730extern "C" {
16731    pub fn g_variant_dup_strv(value: *mut GVariant, length: *mut gsize) -> *mut *mut gchar;
16732}
16733extern "C" {
16734    pub fn g_variant_get_objv(value: *mut GVariant, length: *mut gsize) -> *mut *const gchar;
16735}
16736extern "C" {
16737    pub fn g_variant_dup_objv(value: *mut GVariant, length: *mut gsize) -> *mut *mut gchar;
16738}
16739extern "C" {
16740    pub fn g_variant_get_bytestring(value: *mut GVariant) -> *const gchar;
16741}
16742extern "C" {
16743    pub fn g_variant_dup_bytestring(value: *mut GVariant, length: *mut gsize) -> *mut gchar;
16744}
16745extern "C" {
16746    pub fn g_variant_get_bytestring_array(
16747        value: *mut GVariant,
16748        length: *mut gsize,
16749    ) -> *mut *const gchar;
16750}
16751extern "C" {
16752    pub fn g_variant_dup_bytestring_array(
16753        value: *mut GVariant,
16754        length: *mut gsize,
16755    ) -> *mut *mut gchar;
16756}
16757extern "C" {
16758    pub fn g_variant_new_maybe(
16759        child_type: *const GVariantType,
16760        child: *mut GVariant,
16761    ) -> *mut GVariant;
16762}
16763extern "C" {
16764    pub fn g_variant_new_array(
16765        child_type: *const GVariantType,
16766        children: *const *mut GVariant,
16767        n_children: gsize,
16768    ) -> *mut GVariant;
16769}
16770extern "C" {
16771    pub fn g_variant_new_tuple(children: *const *mut GVariant, n_children: gsize) -> *mut GVariant;
16772}
16773extern "C" {
16774    pub fn g_variant_new_dict_entry(key: *mut GVariant, value: *mut GVariant) -> *mut GVariant;
16775}
16776extern "C" {
16777    pub fn g_variant_get_maybe(value: *mut GVariant) -> *mut GVariant;
16778}
16779extern "C" {
16780    pub fn g_variant_n_children(value: *mut GVariant) -> gsize;
16781}
16782extern "C" {
16783    pub fn g_variant_get_child(
16784        value: *mut GVariant,
16785        index_: gsize,
16786        format_string: *const gchar,
16787        ...
16788    );
16789}
16790extern "C" {
16791    pub fn g_variant_get_child_value(value: *mut GVariant, index_: gsize) -> *mut GVariant;
16792}
16793extern "C" {
16794    pub fn g_variant_lookup(
16795        dictionary: *mut GVariant,
16796        key: *const gchar,
16797        format_string: *const gchar,
16798        ...
16799    ) -> gboolean;
16800}
16801extern "C" {
16802    pub fn g_variant_lookup_value(
16803        dictionary: *mut GVariant,
16804        key: *const gchar,
16805        expected_type: *const GVariantType,
16806    ) -> *mut GVariant;
16807}
16808extern "C" {
16809    pub fn g_variant_get_fixed_array(
16810        value: *mut GVariant,
16811        n_elements: *mut gsize,
16812        element_size: gsize,
16813    ) -> gconstpointer;
16814}
16815extern "C" {
16816    pub fn g_variant_get_size(value: *mut GVariant) -> gsize;
16817}
16818extern "C" {
16819    pub fn g_variant_get_data(value: *mut GVariant) -> gconstpointer;
16820}
16821extern "C" {
16822    pub fn g_variant_get_data_as_bytes(value: *mut GVariant) -> *mut GBytes;
16823}
16824extern "C" {
16825    pub fn g_variant_store(value: *mut GVariant, data: gpointer);
16826}
16827extern "C" {
16828    pub fn g_variant_print(value: *mut GVariant, type_annotate: gboolean) -> *mut gchar;
16829}
16830extern "C" {
16831    pub fn g_variant_print_string(
16832        value: *mut GVariant,
16833        string: *mut GString,
16834        type_annotate: gboolean,
16835    ) -> *mut GString;
16836}
16837extern "C" {
16838    pub fn g_variant_hash(value: gconstpointer) -> guint;
16839}
16840extern "C" {
16841    pub fn g_variant_equal(one: gconstpointer, two: gconstpointer) -> gboolean;
16842}
16843extern "C" {
16844    pub fn g_variant_get_normal_form(value: *mut GVariant) -> *mut GVariant;
16845}
16846extern "C" {
16847    pub fn g_variant_is_normal_form(value: *mut GVariant) -> gboolean;
16848}
16849extern "C" {
16850    pub fn g_variant_byteswap(value: *mut GVariant) -> *mut GVariant;
16851}
16852extern "C" {
16853    pub fn g_variant_new_from_bytes(
16854        type_: *const GVariantType,
16855        bytes: *mut GBytes,
16856        trusted: gboolean,
16857    ) -> *mut GVariant;
16858}
16859extern "C" {
16860    pub fn g_variant_new_from_data(
16861        type_: *const GVariantType,
16862        data: gconstpointer,
16863        size: gsize,
16864        trusted: gboolean,
16865        notify: GDestroyNotify,
16866        user_data: gpointer,
16867    ) -> *mut GVariant;
16868}
16869pub type GVariantIter = _GVariantIter;
16870#[repr(C)]
16871#[derive(Debug, Copy, Clone, PartialEq, Eq)]
16872pub struct _GVariantIter {
16873    pub x: [guintptr; 16usize],
16874}
16875#[test]
16876fn bindgen_test_layout__GVariantIter() {
16877    const UNINIT: ::std::mem::MaybeUninit<_GVariantIter> = ::std::mem::MaybeUninit::uninit();
16878    let ptr = UNINIT.as_ptr();
16879    assert_eq!(
16880        ::std::mem::size_of::<_GVariantIter>(),
16881        128usize,
16882        concat!("Size of: ", stringify!(_GVariantIter))
16883    );
16884    assert_eq!(
16885        ::std::mem::align_of::<_GVariantIter>(),
16886        8usize,
16887        concat!("Alignment of ", stringify!(_GVariantIter))
16888    );
16889    assert_eq!(
16890        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
16891        0usize,
16892        concat!(
16893            "Offset of field: ",
16894            stringify!(_GVariantIter),
16895            "::",
16896            stringify!(x)
16897        )
16898    );
16899}
16900extern "C" {
16901    pub fn g_variant_iter_new(value: *mut GVariant) -> *mut GVariantIter;
16902}
16903extern "C" {
16904    pub fn g_variant_iter_init(iter: *mut GVariantIter, value: *mut GVariant) -> gsize;
16905}
16906extern "C" {
16907    pub fn g_variant_iter_copy(iter: *mut GVariantIter) -> *mut GVariantIter;
16908}
16909extern "C" {
16910    pub fn g_variant_iter_n_children(iter: *mut GVariantIter) -> gsize;
16911}
16912extern "C" {
16913    pub fn g_variant_iter_free(iter: *mut GVariantIter);
16914}
16915extern "C" {
16916    pub fn g_variant_iter_next_value(iter: *mut GVariantIter) -> *mut GVariant;
16917}
16918extern "C" {
16919    pub fn g_variant_iter_next(
16920        iter: *mut GVariantIter,
16921        format_string: *const gchar,
16922        ...
16923    ) -> gboolean;
16924}
16925extern "C" {
16926    pub fn g_variant_iter_loop(
16927        iter: *mut GVariantIter,
16928        format_string: *const gchar,
16929        ...
16930    ) -> gboolean;
16931}
16932pub type GVariantBuilder = _GVariantBuilder;
16933#[repr(C)]
16934#[derive(Copy, Clone)]
16935pub struct _GVariantBuilder {
16936    pub u: _GVariantBuilder__bindgen_ty_1,
16937}
16938#[repr(C)]
16939#[derive(Copy, Clone)]
16940pub union _GVariantBuilder__bindgen_ty_1 {
16941    pub s: _GVariantBuilder__bindgen_ty_1__bindgen_ty_1,
16942    pub x: [guintptr; 16usize],
16943}
16944#[repr(C)]
16945#[derive(Debug, Copy, Clone, PartialEq, Eq)]
16946pub struct _GVariantBuilder__bindgen_ty_1__bindgen_ty_1 {
16947    pub partial_magic: gsize,
16948    pub type_: *const GVariantType,
16949    pub y: [guintptr; 14usize],
16950}
16951#[test]
16952fn bindgen_test_layout__GVariantBuilder__bindgen_ty_1__bindgen_ty_1() {
16953    const UNINIT: ::std::mem::MaybeUninit<_GVariantBuilder__bindgen_ty_1__bindgen_ty_1> =
16954        ::std::mem::MaybeUninit::uninit();
16955    let ptr = UNINIT.as_ptr();
16956    assert_eq!(
16957        ::std::mem::size_of::<_GVariantBuilder__bindgen_ty_1__bindgen_ty_1>(),
16958        128usize,
16959        concat!(
16960            "Size of: ",
16961            stringify!(_GVariantBuilder__bindgen_ty_1__bindgen_ty_1)
16962        )
16963    );
16964    assert_eq!(
16965        ::std::mem::align_of::<_GVariantBuilder__bindgen_ty_1__bindgen_ty_1>(),
16966        8usize,
16967        concat!(
16968            "Alignment of ",
16969            stringify!(_GVariantBuilder__bindgen_ty_1__bindgen_ty_1)
16970        )
16971    );
16972    assert_eq!(
16973        unsafe { ::std::ptr::addr_of!((*ptr).partial_magic) as usize - ptr as usize },
16974        0usize,
16975        concat!(
16976            "Offset of field: ",
16977            stringify!(_GVariantBuilder__bindgen_ty_1__bindgen_ty_1),
16978            "::",
16979            stringify!(partial_magic)
16980        )
16981    );
16982    assert_eq!(
16983        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
16984        8usize,
16985        concat!(
16986            "Offset of field: ",
16987            stringify!(_GVariantBuilder__bindgen_ty_1__bindgen_ty_1),
16988            "::",
16989            stringify!(type_)
16990        )
16991    );
16992    assert_eq!(
16993        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
16994        16usize,
16995        concat!(
16996            "Offset of field: ",
16997            stringify!(_GVariantBuilder__bindgen_ty_1__bindgen_ty_1),
16998            "::",
16999            stringify!(y)
17000        )
17001    );
17002}
17003#[test]
17004fn bindgen_test_layout__GVariantBuilder__bindgen_ty_1() {
17005    const UNINIT: ::std::mem::MaybeUninit<_GVariantBuilder__bindgen_ty_1> =
17006        ::std::mem::MaybeUninit::uninit();
17007    let ptr = UNINIT.as_ptr();
17008    assert_eq!(
17009        ::std::mem::size_of::<_GVariantBuilder__bindgen_ty_1>(),
17010        128usize,
17011        concat!("Size of: ", stringify!(_GVariantBuilder__bindgen_ty_1))
17012    );
17013    assert_eq!(
17014        ::std::mem::align_of::<_GVariantBuilder__bindgen_ty_1>(),
17015        8usize,
17016        concat!("Alignment of ", stringify!(_GVariantBuilder__bindgen_ty_1))
17017    );
17018    assert_eq!(
17019        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
17020        0usize,
17021        concat!(
17022            "Offset of field: ",
17023            stringify!(_GVariantBuilder__bindgen_ty_1),
17024            "::",
17025            stringify!(s)
17026        )
17027    );
17028    assert_eq!(
17029        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
17030        0usize,
17031        concat!(
17032            "Offset of field: ",
17033            stringify!(_GVariantBuilder__bindgen_ty_1),
17034            "::",
17035            stringify!(x)
17036        )
17037    );
17038}
17039impl ::std::fmt::Debug for _GVariantBuilder__bindgen_ty_1 {
17040    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
17041        write!(f, "_GVariantBuilder__bindgen_ty_1 {{ union }}")
17042    }
17043}
17044#[test]
17045fn bindgen_test_layout__GVariantBuilder() {
17046    const UNINIT: ::std::mem::MaybeUninit<_GVariantBuilder> = ::std::mem::MaybeUninit::uninit();
17047    let ptr = UNINIT.as_ptr();
17048    assert_eq!(
17049        ::std::mem::size_of::<_GVariantBuilder>(),
17050        128usize,
17051        concat!("Size of: ", stringify!(_GVariantBuilder))
17052    );
17053    assert_eq!(
17054        ::std::mem::align_of::<_GVariantBuilder>(),
17055        8usize,
17056        concat!("Alignment of ", stringify!(_GVariantBuilder))
17057    );
17058    assert_eq!(
17059        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
17060        0usize,
17061        concat!(
17062            "Offset of field: ",
17063            stringify!(_GVariantBuilder),
17064            "::",
17065            stringify!(u)
17066        )
17067    );
17068}
17069impl ::std::fmt::Debug for _GVariantBuilder {
17070    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
17071        write!(f, "_GVariantBuilder {{ u: {:?} }}", self.u)
17072    }
17073}
17074pub const GVariantParseError_G_VARIANT_PARSE_ERROR_FAILED: GVariantParseError = 0;
17075pub const GVariantParseError_G_VARIANT_PARSE_ERROR_BASIC_TYPE_EXPECTED: GVariantParseError = 1;
17076pub const GVariantParseError_G_VARIANT_PARSE_ERROR_CANNOT_INFER_TYPE: GVariantParseError = 2;
17077pub const GVariantParseError_G_VARIANT_PARSE_ERROR_DEFINITE_TYPE_EXPECTED: GVariantParseError = 3;
17078pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INPUT_NOT_AT_END: GVariantParseError = 4;
17079pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INVALID_CHARACTER: GVariantParseError = 5;
17080pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INVALID_FORMAT_STRING: GVariantParseError = 6;
17081pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INVALID_OBJECT_PATH: GVariantParseError = 7;
17082pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INVALID_SIGNATURE: GVariantParseError = 8;
17083pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INVALID_TYPE_STRING: GVariantParseError = 9;
17084pub const GVariantParseError_G_VARIANT_PARSE_ERROR_NO_COMMON_TYPE: GVariantParseError = 10;
17085pub const GVariantParseError_G_VARIANT_PARSE_ERROR_NUMBER_OUT_OF_RANGE: GVariantParseError = 11;
17086pub const GVariantParseError_G_VARIANT_PARSE_ERROR_NUMBER_TOO_BIG: GVariantParseError = 12;
17087pub const GVariantParseError_G_VARIANT_PARSE_ERROR_TYPE_ERROR: GVariantParseError = 13;
17088pub const GVariantParseError_G_VARIANT_PARSE_ERROR_UNEXPECTED_TOKEN: GVariantParseError = 14;
17089pub const GVariantParseError_G_VARIANT_PARSE_ERROR_UNKNOWN_KEYWORD: GVariantParseError = 15;
17090pub const GVariantParseError_G_VARIANT_PARSE_ERROR_UNTERMINATED_STRING_CONSTANT:
17091    GVariantParseError = 16;
17092pub const GVariantParseError_G_VARIANT_PARSE_ERROR_VALUE_EXPECTED: GVariantParseError = 17;
17093pub const GVariantParseError_G_VARIANT_PARSE_ERROR_RECURSION: GVariantParseError = 18;
17094pub type GVariantParseError = ::std::os::raw::c_uint;
17095extern "C" {
17096    pub fn g_variant_parser_get_error_quark() -> GQuark;
17097}
17098extern "C" {
17099    pub fn g_variant_parse_error_quark() -> GQuark;
17100}
17101extern "C" {
17102    pub fn g_variant_builder_new(type_: *const GVariantType) -> *mut GVariantBuilder;
17103}
17104extern "C" {
17105    pub fn g_variant_builder_unref(builder: *mut GVariantBuilder);
17106}
17107extern "C" {
17108    pub fn g_variant_builder_ref(builder: *mut GVariantBuilder) -> *mut GVariantBuilder;
17109}
17110extern "C" {
17111    pub fn g_variant_builder_init(builder: *mut GVariantBuilder, type_: *const GVariantType);
17112}
17113extern "C" {
17114    pub fn g_variant_builder_end(builder: *mut GVariantBuilder) -> *mut GVariant;
17115}
17116extern "C" {
17117    pub fn g_variant_builder_clear(builder: *mut GVariantBuilder);
17118}
17119extern "C" {
17120    pub fn g_variant_builder_open(builder: *mut GVariantBuilder, type_: *const GVariantType);
17121}
17122extern "C" {
17123    pub fn g_variant_builder_close(builder: *mut GVariantBuilder);
17124}
17125extern "C" {
17126    pub fn g_variant_builder_add_value(builder: *mut GVariantBuilder, value: *mut GVariant);
17127}
17128extern "C" {
17129    pub fn g_variant_builder_add(builder: *mut GVariantBuilder, format_string: *const gchar, ...);
17130}
17131extern "C" {
17132    pub fn g_variant_builder_add_parsed(builder: *mut GVariantBuilder, format: *const gchar, ...);
17133}
17134extern "C" {
17135    pub fn g_variant_new(format_string: *const gchar, ...) -> *mut GVariant;
17136}
17137extern "C" {
17138    pub fn g_variant_get(value: *mut GVariant, format_string: *const gchar, ...);
17139}
17140extern "C" {
17141    pub fn g_variant_new_va(
17142        format_string: *const gchar,
17143        endptr: *mut *const gchar,
17144        app: *mut va_list,
17145    ) -> *mut GVariant;
17146}
17147extern "C" {
17148    pub fn g_variant_get_va(
17149        value: *mut GVariant,
17150        format_string: *const gchar,
17151        endptr: *mut *const gchar,
17152        app: *mut va_list,
17153    );
17154}
17155extern "C" {
17156    pub fn g_variant_check_format_string(
17157        value: *mut GVariant,
17158        format_string: *const gchar,
17159        copy_only: gboolean,
17160    ) -> gboolean;
17161}
17162extern "C" {
17163    pub fn g_variant_parse(
17164        type_: *const GVariantType,
17165        text: *const gchar,
17166        limit: *const gchar,
17167        endptr: *mut *const gchar,
17168        error: *mut *mut GError,
17169    ) -> *mut GVariant;
17170}
17171extern "C" {
17172    pub fn g_variant_new_parsed(format: *const gchar, ...) -> *mut GVariant;
17173}
17174extern "C" {
17175    pub fn g_variant_new_parsed_va(format: *const gchar, app: *mut va_list) -> *mut GVariant;
17176}
17177extern "C" {
17178    pub fn g_variant_parse_error_print_context(
17179        error: *mut GError,
17180        source_str: *const gchar,
17181    ) -> *mut gchar;
17182}
17183extern "C" {
17184    pub fn g_variant_compare(one: gconstpointer, two: gconstpointer) -> gint;
17185}
17186pub type GVariantDict = _GVariantDict;
17187#[repr(C)]
17188#[derive(Copy, Clone)]
17189pub struct _GVariantDict {
17190    pub u: _GVariantDict__bindgen_ty_1,
17191}
17192#[repr(C)]
17193#[derive(Copy, Clone)]
17194pub union _GVariantDict__bindgen_ty_1 {
17195    pub s: _GVariantDict__bindgen_ty_1__bindgen_ty_1,
17196    pub x: [guintptr; 16usize],
17197}
17198#[repr(C)]
17199#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17200pub struct _GVariantDict__bindgen_ty_1__bindgen_ty_1 {
17201    pub asv: *mut GVariant,
17202    pub partial_magic: gsize,
17203    pub y: [guintptr; 14usize],
17204}
17205#[test]
17206fn bindgen_test_layout__GVariantDict__bindgen_ty_1__bindgen_ty_1() {
17207    const UNINIT: ::std::mem::MaybeUninit<_GVariantDict__bindgen_ty_1__bindgen_ty_1> =
17208        ::std::mem::MaybeUninit::uninit();
17209    let ptr = UNINIT.as_ptr();
17210    assert_eq!(
17211        ::std::mem::size_of::<_GVariantDict__bindgen_ty_1__bindgen_ty_1>(),
17212        128usize,
17213        concat!(
17214            "Size of: ",
17215            stringify!(_GVariantDict__bindgen_ty_1__bindgen_ty_1)
17216        )
17217    );
17218    assert_eq!(
17219        ::std::mem::align_of::<_GVariantDict__bindgen_ty_1__bindgen_ty_1>(),
17220        8usize,
17221        concat!(
17222            "Alignment of ",
17223            stringify!(_GVariantDict__bindgen_ty_1__bindgen_ty_1)
17224        )
17225    );
17226    assert_eq!(
17227        unsafe { ::std::ptr::addr_of!((*ptr).asv) as usize - ptr as usize },
17228        0usize,
17229        concat!(
17230            "Offset of field: ",
17231            stringify!(_GVariantDict__bindgen_ty_1__bindgen_ty_1),
17232            "::",
17233            stringify!(asv)
17234        )
17235    );
17236    assert_eq!(
17237        unsafe { ::std::ptr::addr_of!((*ptr).partial_magic) as usize - ptr as usize },
17238        8usize,
17239        concat!(
17240            "Offset of field: ",
17241            stringify!(_GVariantDict__bindgen_ty_1__bindgen_ty_1),
17242            "::",
17243            stringify!(partial_magic)
17244        )
17245    );
17246    assert_eq!(
17247        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
17248        16usize,
17249        concat!(
17250            "Offset of field: ",
17251            stringify!(_GVariantDict__bindgen_ty_1__bindgen_ty_1),
17252            "::",
17253            stringify!(y)
17254        )
17255    );
17256}
17257#[test]
17258fn bindgen_test_layout__GVariantDict__bindgen_ty_1() {
17259    const UNINIT: ::std::mem::MaybeUninit<_GVariantDict__bindgen_ty_1> =
17260        ::std::mem::MaybeUninit::uninit();
17261    let ptr = UNINIT.as_ptr();
17262    assert_eq!(
17263        ::std::mem::size_of::<_GVariantDict__bindgen_ty_1>(),
17264        128usize,
17265        concat!("Size of: ", stringify!(_GVariantDict__bindgen_ty_1))
17266    );
17267    assert_eq!(
17268        ::std::mem::align_of::<_GVariantDict__bindgen_ty_1>(),
17269        8usize,
17270        concat!("Alignment of ", stringify!(_GVariantDict__bindgen_ty_1))
17271    );
17272    assert_eq!(
17273        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
17274        0usize,
17275        concat!(
17276            "Offset of field: ",
17277            stringify!(_GVariantDict__bindgen_ty_1),
17278            "::",
17279            stringify!(s)
17280        )
17281    );
17282    assert_eq!(
17283        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
17284        0usize,
17285        concat!(
17286            "Offset of field: ",
17287            stringify!(_GVariantDict__bindgen_ty_1),
17288            "::",
17289            stringify!(x)
17290        )
17291    );
17292}
17293impl ::std::fmt::Debug for _GVariantDict__bindgen_ty_1 {
17294    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
17295        write!(f, "_GVariantDict__bindgen_ty_1 {{ union }}")
17296    }
17297}
17298#[test]
17299fn bindgen_test_layout__GVariantDict() {
17300    const UNINIT: ::std::mem::MaybeUninit<_GVariantDict> = ::std::mem::MaybeUninit::uninit();
17301    let ptr = UNINIT.as_ptr();
17302    assert_eq!(
17303        ::std::mem::size_of::<_GVariantDict>(),
17304        128usize,
17305        concat!("Size of: ", stringify!(_GVariantDict))
17306    );
17307    assert_eq!(
17308        ::std::mem::align_of::<_GVariantDict>(),
17309        8usize,
17310        concat!("Alignment of ", stringify!(_GVariantDict))
17311    );
17312    assert_eq!(
17313        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
17314        0usize,
17315        concat!(
17316            "Offset of field: ",
17317            stringify!(_GVariantDict),
17318            "::",
17319            stringify!(u)
17320        )
17321    );
17322}
17323impl ::std::fmt::Debug for _GVariantDict {
17324    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
17325        write!(f, "_GVariantDict {{ u: {:?} }}", self.u)
17326    }
17327}
17328extern "C" {
17329    pub fn g_variant_dict_new(from_asv: *mut GVariant) -> *mut GVariantDict;
17330}
17331extern "C" {
17332    pub fn g_variant_dict_init(dict: *mut GVariantDict, from_asv: *mut GVariant);
17333}
17334extern "C" {
17335    pub fn g_variant_dict_lookup(
17336        dict: *mut GVariantDict,
17337        key: *const gchar,
17338        format_string: *const gchar,
17339        ...
17340    ) -> gboolean;
17341}
17342extern "C" {
17343    pub fn g_variant_dict_lookup_value(
17344        dict: *mut GVariantDict,
17345        key: *const gchar,
17346        expected_type: *const GVariantType,
17347    ) -> *mut GVariant;
17348}
17349extern "C" {
17350    pub fn g_variant_dict_contains(dict: *mut GVariantDict, key: *const gchar) -> gboolean;
17351}
17352extern "C" {
17353    pub fn g_variant_dict_insert(
17354        dict: *mut GVariantDict,
17355        key: *const gchar,
17356        format_string: *const gchar,
17357        ...
17358    );
17359}
17360extern "C" {
17361    pub fn g_variant_dict_insert_value(
17362        dict: *mut GVariantDict,
17363        key: *const gchar,
17364        value: *mut GVariant,
17365    );
17366}
17367extern "C" {
17368    pub fn g_variant_dict_remove(dict: *mut GVariantDict, key: *const gchar) -> gboolean;
17369}
17370extern "C" {
17371    pub fn g_variant_dict_clear(dict: *mut GVariantDict);
17372}
17373extern "C" {
17374    pub fn g_variant_dict_end(dict: *mut GVariantDict) -> *mut GVariant;
17375}
17376extern "C" {
17377    pub fn g_variant_dict_ref(dict: *mut GVariantDict) -> *mut GVariantDict;
17378}
17379extern "C" {
17380    pub fn g_variant_dict_unref(dict: *mut GVariantDict);
17381}
17382extern "C" {
17383    pub fn g_printf_string_upper_bound(format: *const gchar, args: va_list) -> gsize;
17384}
17385pub const GLogLevelFlags_G_LOG_FLAG_RECURSION: GLogLevelFlags = 1;
17386pub const GLogLevelFlags_G_LOG_FLAG_FATAL: GLogLevelFlags = 2;
17387pub const GLogLevelFlags_G_LOG_LEVEL_ERROR: GLogLevelFlags = 4;
17388pub const GLogLevelFlags_G_LOG_LEVEL_CRITICAL: GLogLevelFlags = 8;
17389pub const GLogLevelFlags_G_LOG_LEVEL_WARNING: GLogLevelFlags = 16;
17390pub const GLogLevelFlags_G_LOG_LEVEL_MESSAGE: GLogLevelFlags = 32;
17391pub const GLogLevelFlags_G_LOG_LEVEL_INFO: GLogLevelFlags = 64;
17392pub const GLogLevelFlags_G_LOG_LEVEL_DEBUG: GLogLevelFlags = 128;
17393pub const GLogLevelFlags_G_LOG_LEVEL_MASK: GLogLevelFlags = -4;
17394pub type GLogLevelFlags = ::std::os::raw::c_int;
17395pub type GLogFunc = ::std::option::Option<
17396    unsafe extern "C" fn(
17397        log_domain: *const gchar,
17398        log_level: GLogLevelFlags,
17399        message: *const gchar,
17400        user_data: gpointer,
17401    ),
17402>;
17403extern "C" {
17404    pub fn g_log_set_handler(
17405        log_domain: *const gchar,
17406        log_levels: GLogLevelFlags,
17407        log_func: GLogFunc,
17408        user_data: gpointer,
17409    ) -> guint;
17410}
17411extern "C" {
17412    pub fn g_log_set_handler_full(
17413        log_domain: *const gchar,
17414        log_levels: GLogLevelFlags,
17415        log_func: GLogFunc,
17416        user_data: gpointer,
17417        destroy: GDestroyNotify,
17418    ) -> guint;
17419}
17420extern "C" {
17421    pub fn g_log_remove_handler(log_domain: *const gchar, handler_id: guint);
17422}
17423extern "C" {
17424    pub fn g_log_default_handler(
17425        log_domain: *const gchar,
17426        log_level: GLogLevelFlags,
17427        message: *const gchar,
17428        unused_data: gpointer,
17429    );
17430}
17431extern "C" {
17432    pub fn g_log_set_default_handler(log_func: GLogFunc, user_data: gpointer) -> GLogFunc;
17433}
17434extern "C" {
17435    pub fn g_log(log_domain: *const gchar, log_level: GLogLevelFlags, format: *const gchar, ...);
17436}
17437extern "C" {
17438    pub fn g_logv(
17439        log_domain: *const gchar,
17440        log_level: GLogLevelFlags,
17441        format: *const gchar,
17442        args: va_list,
17443    );
17444}
17445extern "C" {
17446    pub fn g_log_set_fatal_mask(
17447        log_domain: *const gchar,
17448        fatal_mask: GLogLevelFlags,
17449    ) -> GLogLevelFlags;
17450}
17451extern "C" {
17452    pub fn g_log_set_always_fatal(fatal_mask: GLogLevelFlags) -> GLogLevelFlags;
17453}
17454pub const GLogWriterOutput_G_LOG_WRITER_HANDLED: GLogWriterOutput = 1;
17455pub const GLogWriterOutput_G_LOG_WRITER_UNHANDLED: GLogWriterOutput = 0;
17456#[doc = " GLogWriterOutput:\n @G_LOG_WRITER_HANDLED: Log writer has handled the log entry.\n @G_LOG_WRITER_UNHANDLED: Log writer could not handle the log entry.\n\n Return values from #GLogWriterFuncs to indicate whether the given log entry\n was successfully handled by the writer, or whether there was an error in\n handling it (and hence a fallback writer should be used).\n\n If a #GLogWriterFunc ignores a log entry, it should return\n %G_LOG_WRITER_HANDLED.\n\n Since: 2.50"]
17457pub type GLogWriterOutput = ::std::os::raw::c_uint;
17458#[doc = " GLogField:\n @key: field name (UTF-8 string)\n @value: field value (arbitrary bytes)\n @length: length of @value, in bytes, or -1 if it is nul-terminated\n\n Structure representing a single field in a structured log entry. See\n g_log_structured() for details.\n\n Log fields may contain arbitrary values, including binary with embedded nul\n bytes. If the field contains a string, the string must be UTF-8 encoded and\n have a trailing nul byte. Otherwise, @length must be set to a non-negative\n value.\n\n Since: 2.50"]
17459pub type GLogField = _GLogField;
17460#[repr(C)]
17461#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17462pub struct _GLogField {
17463    pub key: *const gchar,
17464    pub value: gconstpointer,
17465    pub length: gssize,
17466}
17467#[test]
17468fn bindgen_test_layout__GLogField() {
17469    const UNINIT: ::std::mem::MaybeUninit<_GLogField> = ::std::mem::MaybeUninit::uninit();
17470    let ptr = UNINIT.as_ptr();
17471    assert_eq!(
17472        ::std::mem::size_of::<_GLogField>(),
17473        24usize,
17474        concat!("Size of: ", stringify!(_GLogField))
17475    );
17476    assert_eq!(
17477        ::std::mem::align_of::<_GLogField>(),
17478        8usize,
17479        concat!("Alignment of ", stringify!(_GLogField))
17480    );
17481    assert_eq!(
17482        unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
17483        0usize,
17484        concat!(
17485            "Offset of field: ",
17486            stringify!(_GLogField),
17487            "::",
17488            stringify!(key)
17489        )
17490    );
17491    assert_eq!(
17492        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
17493        8usize,
17494        concat!(
17495            "Offset of field: ",
17496            stringify!(_GLogField),
17497            "::",
17498            stringify!(value)
17499        )
17500    );
17501    assert_eq!(
17502        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
17503        16usize,
17504        concat!(
17505            "Offset of field: ",
17506            stringify!(_GLogField),
17507            "::",
17508            stringify!(length)
17509        )
17510    );
17511}
17512#[doc = " GLogWriterFunc:\n @log_level: log level of the message\n @fields: (array length=n_fields): fields forming the message\n @n_fields: number of @fields\n @user_data: user data passed to g_log_set_writer_func()\n\n Writer function for log entries. A log entry is a collection of one or more\n #GLogFields, using the standard [field names from journal\n specification](https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html).\n See g_log_structured() for more information.\n\n Writer functions must ignore fields which they do not recognise, unless they\n can write arbitrary binary output, as field values may be arbitrary binary.\n\n @log_level is guaranteed to be included in @fields as the `PRIORITY` field,\n but is provided separately for convenience of deciding whether or where to\n output the log entry.\n\n Writer functions should return %G_LOG_WRITER_HANDLED if they handled the log\n message successfully or if they deliberately ignored it. If there was an\n error handling the message (for example, if the writer function is meant to\n send messages to a remote logging server and there is a network error), it\n should return %G_LOG_WRITER_UNHANDLED. This allows writer functions to be\n chained and fall back to simpler handlers in case of failure.\n\n Returns: %G_LOG_WRITER_HANDLED if the log entry was handled successfully;\n   %G_LOG_WRITER_UNHANDLED otherwise\n\n Since: 2.50"]
17513pub type GLogWriterFunc = ::std::option::Option<
17514    unsafe extern "C" fn(
17515        log_level: GLogLevelFlags,
17516        fields: *const GLogField,
17517        n_fields: gsize,
17518        user_data: gpointer,
17519    ) -> GLogWriterOutput,
17520>;
17521extern "C" {
17522    pub fn g_log_structured(log_domain: *const gchar, log_level: GLogLevelFlags, ...);
17523}
17524extern "C" {
17525    pub fn g_log_structured_array(
17526        log_level: GLogLevelFlags,
17527        fields: *const GLogField,
17528        n_fields: gsize,
17529    );
17530}
17531extern "C" {
17532    pub fn g_log_variant(
17533        log_domain: *const gchar,
17534        log_level: GLogLevelFlags,
17535        fields: *mut GVariant,
17536    );
17537}
17538extern "C" {
17539    pub fn g_log_set_writer_func(
17540        func: GLogWriterFunc,
17541        user_data: gpointer,
17542        user_data_free: GDestroyNotify,
17543    );
17544}
17545extern "C" {
17546    pub fn g_log_writer_supports_color(output_fd: gint) -> gboolean;
17547}
17548extern "C" {
17549    pub fn g_log_writer_is_journald(output_fd: gint) -> gboolean;
17550}
17551extern "C" {
17552    pub fn g_log_writer_format_fields(
17553        log_level: GLogLevelFlags,
17554        fields: *const GLogField,
17555        n_fields: gsize,
17556        use_color: gboolean,
17557    ) -> *mut gchar;
17558}
17559extern "C" {
17560    pub fn g_log_writer_journald(
17561        log_level: GLogLevelFlags,
17562        fields: *const GLogField,
17563        n_fields: gsize,
17564        user_data: gpointer,
17565    ) -> GLogWriterOutput;
17566}
17567extern "C" {
17568    pub fn g_log_writer_standard_streams(
17569        log_level: GLogLevelFlags,
17570        fields: *const GLogField,
17571        n_fields: gsize,
17572        user_data: gpointer,
17573    ) -> GLogWriterOutput;
17574}
17575extern "C" {
17576    pub fn g_log_writer_default(
17577        log_level: GLogLevelFlags,
17578        fields: *const GLogField,
17579        n_fields: gsize,
17580        user_data: gpointer,
17581    ) -> GLogWriterOutput;
17582}
17583extern "C" {
17584    pub fn g_log_writer_default_set_use_stderr(use_stderr: gboolean);
17585}
17586extern "C" {
17587    pub fn g_log_writer_default_would_drop(
17588        log_level: GLogLevelFlags,
17589        log_domain: *const ::std::os::raw::c_char,
17590    ) -> gboolean;
17591}
17592extern "C" {
17593    pub fn g_log_get_debug_enabled() -> gboolean;
17594}
17595extern "C" {
17596    pub fn g_log_set_debug_enabled(enabled: gboolean);
17597}
17598extern "C" {
17599    pub fn _g_log_fallback_handler(
17600        log_domain: *const gchar,
17601        log_level: GLogLevelFlags,
17602        message: *const gchar,
17603        unused_data: gpointer,
17604    );
17605}
17606extern "C" {
17607    pub fn g_return_if_fail_warning(
17608        log_domain: *const ::std::os::raw::c_char,
17609        pretty_function: *const ::std::os::raw::c_char,
17610        expression: *const ::std::os::raw::c_char,
17611    );
17612}
17613extern "C" {
17614    pub fn g_warn_message(
17615        domain: *const ::std::os::raw::c_char,
17616        file: *const ::std::os::raw::c_char,
17617        line: ::std::os::raw::c_int,
17618        func: *const ::std::os::raw::c_char,
17619        warnexpr: *const ::std::os::raw::c_char,
17620    );
17621}
17622extern "C" {
17623    pub fn g_assert_warning(
17624        log_domain: *const ::std::os::raw::c_char,
17625        file: *const ::std::os::raw::c_char,
17626        line: ::std::os::raw::c_int,
17627        pretty_function: *const ::std::os::raw::c_char,
17628        expression: *const ::std::os::raw::c_char,
17629    ) -> !;
17630}
17631extern "C" {
17632    pub fn g_log_structured_standard(
17633        log_domain: *const gchar,
17634        log_level: GLogLevelFlags,
17635        file: *const gchar,
17636        line: *const gchar,
17637        func: *const gchar,
17638        message_format: *const gchar,
17639        ...
17640    );
17641}
17642#[doc = " GPrintFunc:\n @string: the message to output\n\n Specifies the type of the print handler functions.\n These are called with the complete formatted string to output."]
17643pub type GPrintFunc = ::std::option::Option<unsafe extern "C" fn(string: *const gchar)>;
17644extern "C" {
17645    pub fn g_print(format: *const gchar, ...);
17646}
17647extern "C" {
17648    pub fn g_set_print_handler(func: GPrintFunc) -> GPrintFunc;
17649}
17650extern "C" {
17651    pub fn g_printerr(format: *const gchar, ...);
17652}
17653extern "C" {
17654    pub fn g_set_printerr_handler(func: GPrintFunc) -> GPrintFunc;
17655}
17656#[repr(C)]
17657#[derive(Debug, Copy, Clone)]
17658pub struct _GOptionContext {
17659    _unused: [u8; 0],
17660}
17661#[doc = " GOptionContext:\n\n A `GOptionContext` struct defines which options\n are accepted by the commandline option parser. The struct has only private\n fields and should not be directly accessed."]
17662pub type GOptionContext = _GOptionContext;
17663#[repr(C)]
17664#[derive(Debug, Copy, Clone)]
17665pub struct _GOptionGroup {
17666    _unused: [u8; 0],
17667}
17668#[doc = " GOptionGroup:\n\n A `GOptionGroup` struct defines the options in a single\n group. The struct has only private fields and should not be directly accessed.\n\n All options in a group share the same translation function. Libraries which\n need to parse commandline options are expected to provide a function for\n getting a `GOptionGroup` holding their options, which\n the application can then add to its #GOptionContext."]
17669pub type GOptionGroup = _GOptionGroup;
17670#[doc = " GOptionEntry:\n @long_name: The long name of an option can be used to specify it\n     in a commandline as `--long_name`. Every option must have a\n     long name. To resolve conflicts if multiple option groups contain\n     the same long name, it is also possible to specify the option as\n     `--groupname-long_name`.\n @short_name: If an option has a short name, it can be specified\n     `-short_name` in a commandline. @short_name must be  a printable\n     ASCII character different from '-', or zero if the option has no\n     short name.\n @flags: Flags from #GOptionFlags\n @arg: The type of the option, as a #GOptionArg\n @arg_data: If the @arg type is %G_OPTION_ARG_CALLBACK, then @arg_data\n     must point to a #GOptionArgFunc callback function, which will be\n     called to handle the extra argument. Otherwise, @arg_data is a\n     pointer to a location to store the value, the required type of\n     the location depends on the @arg type:\n      - %G_OPTION_ARG_NONE: %gboolean\n      - %G_OPTION_ARG_STRING: %gchar*\n      - %G_OPTION_ARG_INT: %gint\n      - %G_OPTION_ARG_FILENAME: %gchar*\n      - %G_OPTION_ARG_STRING_ARRAY: %gchar**\n      - %G_OPTION_ARG_FILENAME_ARRAY: %gchar**\n      - %G_OPTION_ARG_DOUBLE: %gdouble\n     If @arg type is %G_OPTION_ARG_STRING or %G_OPTION_ARG_FILENAME,\n     the location will contain a newly allocated string if the option\n     was given. That string needs to be freed by the callee using g_free().\n     Likewise if @arg type is %G_OPTION_ARG_STRING_ARRAY or\n     %G_OPTION_ARG_FILENAME_ARRAY, the data should be freed using g_strfreev().\n @description: the description for the option in `--help`\n     output. The @description is translated using the @translate_func\n     of the group, see g_option_group_set_translation_domain().\n @arg_description: The placeholder to use for the extra argument parsed\n     by the option in `--help` output. The @arg_description is translated\n     using the @translate_func of the group, see\n     g_option_group_set_translation_domain().\n\n A GOptionEntry struct defines a single option. To have an effect, they\n must be added to a #GOptionGroup with g_option_context_add_main_entries()\n or g_option_group_add_entries()."]
17671pub type GOptionEntry = _GOptionEntry;
17672pub const GOptionFlags_G_OPTION_FLAG_NONE: GOptionFlags = 0;
17673pub const GOptionFlags_G_OPTION_FLAG_HIDDEN: GOptionFlags = 1;
17674pub const GOptionFlags_G_OPTION_FLAG_IN_MAIN: GOptionFlags = 2;
17675pub const GOptionFlags_G_OPTION_FLAG_REVERSE: GOptionFlags = 4;
17676pub const GOptionFlags_G_OPTION_FLAG_NO_ARG: GOptionFlags = 8;
17677pub const GOptionFlags_G_OPTION_FLAG_FILENAME: GOptionFlags = 16;
17678pub const GOptionFlags_G_OPTION_FLAG_OPTIONAL_ARG: GOptionFlags = 32;
17679pub const GOptionFlags_G_OPTION_FLAG_NOALIAS: GOptionFlags = 64;
17680#[doc = " GOptionFlags:\n @G_OPTION_FLAG_NONE: No flags. Since: 2.42.\n @G_OPTION_FLAG_HIDDEN: The option doesn't appear in `--help` output.\n @G_OPTION_FLAG_IN_MAIN: The option appears in the main section of the\n     `--help` output, even if it is defined in a group.\n @G_OPTION_FLAG_REVERSE: For options of the %G_OPTION_ARG_NONE kind, this\n     flag indicates that the sense of the option is reversed. i.e. %FALSE will\n     be stored into the argument rather than %TRUE.\n @G_OPTION_FLAG_NO_ARG: For options of the %G_OPTION_ARG_CALLBACK kind,\n     this flag indicates that the callback does not take any argument\n     (like a %G_OPTION_ARG_NONE option). Since 2.8\n @G_OPTION_FLAG_FILENAME: For options of the %G_OPTION_ARG_CALLBACK\n     kind, this flag indicates that the argument should be passed to the\n     callback in the GLib filename encoding rather than UTF-8. Since 2.8\n @G_OPTION_FLAG_OPTIONAL_ARG: For options of the %G_OPTION_ARG_CALLBACK\n     kind, this flag indicates that the argument supply is optional.\n     If no argument is given then data of %GOptionParseFunc will be\n     set to NULL. Since 2.8\n @G_OPTION_FLAG_NOALIAS: This flag turns off the automatic conflict\n     resolution which prefixes long option names with `groupname-` if\n     there is a conflict. This option should only be used in situations\n     where aliasing is necessary to model some legacy commandline interface.\n     It is not safe to use this option, unless all option groups are under\n     your direct control. Since 2.8.\n\n Flags which modify individual options."]
17681pub type GOptionFlags = ::std::os::raw::c_uint;
17682pub const GOptionArg_G_OPTION_ARG_NONE: GOptionArg = 0;
17683pub const GOptionArg_G_OPTION_ARG_STRING: GOptionArg = 1;
17684pub const GOptionArg_G_OPTION_ARG_INT: GOptionArg = 2;
17685pub const GOptionArg_G_OPTION_ARG_CALLBACK: GOptionArg = 3;
17686pub const GOptionArg_G_OPTION_ARG_FILENAME: GOptionArg = 4;
17687pub const GOptionArg_G_OPTION_ARG_STRING_ARRAY: GOptionArg = 5;
17688pub const GOptionArg_G_OPTION_ARG_FILENAME_ARRAY: GOptionArg = 6;
17689pub const GOptionArg_G_OPTION_ARG_DOUBLE: GOptionArg = 7;
17690pub const GOptionArg_G_OPTION_ARG_INT64: GOptionArg = 8;
17691#[doc = " GOptionArg:\n @G_OPTION_ARG_NONE: No extra argument. This is useful for simple flags or booleans.\n @G_OPTION_ARG_STRING: The option takes a UTF-8 string argument.\n @G_OPTION_ARG_INT: The option takes an integer argument.\n @G_OPTION_ARG_CALLBACK: The option provides a callback (of type\n     #GOptionArgFunc) to parse the extra argument.\n @G_OPTION_ARG_FILENAME: The option takes a filename as argument, which will\nbe in the GLib filename encoding rather than UTF-8.\n @G_OPTION_ARG_STRING_ARRAY: The option takes a string argument, multiple\n     uses of the option are collected into an array of strings.\n @G_OPTION_ARG_FILENAME_ARRAY: The option takes a filename as argument,\n     multiple uses of the option are collected into an array of strings.\n @G_OPTION_ARG_DOUBLE: The option takes a double argument. The argument\n     can be formatted either for the user's locale or for the \"C\" locale.\n     Since 2.12\n @G_OPTION_ARG_INT64: The option takes a 64-bit integer. Like\n     %G_OPTION_ARG_INT but for larger numbers. The number can be in\n     decimal base, or in hexadecimal (when prefixed with `0x`, for\n     example, `0xffffffff`). Since 2.12\n\n The #GOptionArg enum values determine which type of extra argument the\n options expect to find. If an option expects an extra argument, it can\n be specified in several ways; with a short option: `-x arg`, with a long\n option: `--name arg` or combined in a single argument: `--name=arg`."]
17692pub type GOptionArg = ::std::os::raw::c_uint;
17693#[doc = " GOptionArgFunc:\n @option_name: The name of the option being parsed. This will be either a\n  single dash followed by a single letter (for a short name) or two dashes\n  followed by a long option name.\n @value: The value to be parsed.\n @data: User data added to the #GOptionGroup containing the option when it\n  was created with g_option_group_new()\n @error: A return location for errors. The error code %G_OPTION_ERROR_FAILED\n  is intended to be used for errors in #GOptionArgFunc callbacks.\n\n The type of function to be passed as callback for %G_OPTION_ARG_CALLBACK\n options.\n\n Returns: %TRUE if the option was successfully parsed, %FALSE if an error\n  occurred, in which case @error should be set with g_set_error()"]
17694pub type GOptionArgFunc = ::std::option::Option<
17695    unsafe extern "C" fn(
17696        option_name: *const gchar,
17697        value: *const gchar,
17698        data: gpointer,
17699        error: *mut *mut GError,
17700    ) -> gboolean,
17701>;
17702#[doc = " GOptionParseFunc:\n @context: The active #GOptionContext\n @group: The group to which the function belongs\n @data: User data added to the #GOptionGroup containing the option when it\n  was created with g_option_group_new()\n @error: A return location for error details\n\n The type of function that can be called before and after parsing.\n\n Returns: %TRUE if the function completed successfully, %FALSE if an error\n  occurred, in which case @error should be set with g_set_error()"]
17703pub type GOptionParseFunc = ::std::option::Option<
17704    unsafe extern "C" fn(
17705        context: *mut GOptionContext,
17706        group: *mut GOptionGroup,
17707        data: gpointer,
17708        error: *mut *mut GError,
17709    ) -> gboolean,
17710>;
17711#[doc = " GOptionErrorFunc:\n @context: The active #GOptionContext\n @group: The group to which the function belongs\n @data: User data added to the #GOptionGroup containing the option when it\n  was created with g_option_group_new()\n @error: The #GError containing details about the parse error\n\n The type of function to be used as callback when a parse error occurs."]
17712pub type GOptionErrorFunc = ::std::option::Option<
17713    unsafe extern "C" fn(
17714        context: *mut GOptionContext,
17715        group: *mut GOptionGroup,
17716        data: gpointer,
17717        error: *mut *mut GError,
17718    ),
17719>;
17720pub const GOptionError_G_OPTION_ERROR_UNKNOWN_OPTION: GOptionError = 0;
17721pub const GOptionError_G_OPTION_ERROR_BAD_VALUE: GOptionError = 1;
17722pub const GOptionError_G_OPTION_ERROR_FAILED: GOptionError = 2;
17723#[doc = " GOptionError:\n @G_OPTION_ERROR_UNKNOWN_OPTION: An option was not known to the parser.\n  This error will only be reported, if the parser hasn't been instructed\n  to ignore unknown options, see g_option_context_set_ignore_unknown_options().\n @G_OPTION_ERROR_BAD_VALUE: A value couldn't be parsed.\n @G_OPTION_ERROR_FAILED: A #GOptionArgFunc callback failed.\n\n Error codes returned by option parsing."]
17724pub type GOptionError = ::std::os::raw::c_uint;
17725extern "C" {
17726    pub fn g_option_error_quark() -> GQuark;
17727}
17728#[doc = " GOptionEntry:\n @long_name: The long name of an option can be used to specify it\n     in a commandline as `--long_name`. Every option must have a\n     long name. To resolve conflicts if multiple option groups contain\n     the same long name, it is also possible to specify the option as\n     `--groupname-long_name`.\n @short_name: If an option has a short name, it can be specified\n     `-short_name` in a commandline. @short_name must be  a printable\n     ASCII character different from '-', or zero if the option has no\n     short name.\n @flags: Flags from #GOptionFlags\n @arg: The type of the option, as a #GOptionArg\n @arg_data: If the @arg type is %G_OPTION_ARG_CALLBACK, then @arg_data\n     must point to a #GOptionArgFunc callback function, which will be\n     called to handle the extra argument. Otherwise, @arg_data is a\n     pointer to a location to store the value, the required type of\n     the location depends on the @arg type:\n      - %G_OPTION_ARG_NONE: %gboolean\n      - %G_OPTION_ARG_STRING: %gchar*\n      - %G_OPTION_ARG_INT: %gint\n      - %G_OPTION_ARG_FILENAME: %gchar*\n      - %G_OPTION_ARG_STRING_ARRAY: %gchar**\n      - %G_OPTION_ARG_FILENAME_ARRAY: %gchar**\n      - %G_OPTION_ARG_DOUBLE: %gdouble\n     If @arg type is %G_OPTION_ARG_STRING or %G_OPTION_ARG_FILENAME,\n     the location will contain a newly allocated string if the option\n     was given. That string needs to be freed by the callee using g_free().\n     Likewise if @arg type is %G_OPTION_ARG_STRING_ARRAY or\n     %G_OPTION_ARG_FILENAME_ARRAY, the data should be freed using g_strfreev().\n @description: the description for the option in `--help`\n     output. The @description is translated using the @translate_func\n     of the group, see g_option_group_set_translation_domain().\n @arg_description: The placeholder to use for the extra argument parsed\n     by the option in `--help` output. The @arg_description is translated\n     using the @translate_func of the group, see\n     g_option_group_set_translation_domain().\n\n A GOptionEntry struct defines a single option. To have an effect, they\n must be added to a #GOptionGroup with g_option_context_add_main_entries()\n or g_option_group_add_entries()."]
17729#[repr(C)]
17730#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17731pub struct _GOptionEntry {
17732    pub long_name: *const gchar,
17733    pub short_name: gchar,
17734    pub flags: gint,
17735    pub arg: GOptionArg,
17736    pub arg_data: gpointer,
17737    pub description: *const gchar,
17738    pub arg_description: *const gchar,
17739}
17740#[test]
17741fn bindgen_test_layout__GOptionEntry() {
17742    const UNINIT: ::std::mem::MaybeUninit<_GOptionEntry> = ::std::mem::MaybeUninit::uninit();
17743    let ptr = UNINIT.as_ptr();
17744    assert_eq!(
17745        ::std::mem::size_of::<_GOptionEntry>(),
17746        48usize,
17747        concat!("Size of: ", stringify!(_GOptionEntry))
17748    );
17749    assert_eq!(
17750        ::std::mem::align_of::<_GOptionEntry>(),
17751        8usize,
17752        concat!("Alignment of ", stringify!(_GOptionEntry))
17753    );
17754    assert_eq!(
17755        unsafe { ::std::ptr::addr_of!((*ptr).long_name) as usize - ptr as usize },
17756        0usize,
17757        concat!(
17758            "Offset of field: ",
17759            stringify!(_GOptionEntry),
17760            "::",
17761            stringify!(long_name)
17762        )
17763    );
17764    assert_eq!(
17765        unsafe { ::std::ptr::addr_of!((*ptr).short_name) as usize - ptr as usize },
17766        8usize,
17767        concat!(
17768            "Offset of field: ",
17769            stringify!(_GOptionEntry),
17770            "::",
17771            stringify!(short_name)
17772        )
17773    );
17774    assert_eq!(
17775        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
17776        12usize,
17777        concat!(
17778            "Offset of field: ",
17779            stringify!(_GOptionEntry),
17780            "::",
17781            stringify!(flags)
17782        )
17783    );
17784    assert_eq!(
17785        unsafe { ::std::ptr::addr_of!((*ptr).arg) as usize - ptr as usize },
17786        16usize,
17787        concat!(
17788            "Offset of field: ",
17789            stringify!(_GOptionEntry),
17790            "::",
17791            stringify!(arg)
17792        )
17793    );
17794    assert_eq!(
17795        unsafe { ::std::ptr::addr_of!((*ptr).arg_data) as usize - ptr as usize },
17796        24usize,
17797        concat!(
17798            "Offset of field: ",
17799            stringify!(_GOptionEntry),
17800            "::",
17801            stringify!(arg_data)
17802        )
17803    );
17804    assert_eq!(
17805        unsafe { ::std::ptr::addr_of!((*ptr).description) as usize - ptr as usize },
17806        32usize,
17807        concat!(
17808            "Offset of field: ",
17809            stringify!(_GOptionEntry),
17810            "::",
17811            stringify!(description)
17812        )
17813    );
17814    assert_eq!(
17815        unsafe { ::std::ptr::addr_of!((*ptr).arg_description) as usize - ptr as usize },
17816        40usize,
17817        concat!(
17818            "Offset of field: ",
17819            stringify!(_GOptionEntry),
17820            "::",
17821            stringify!(arg_description)
17822        )
17823    );
17824}
17825extern "C" {
17826    pub fn g_option_context_new(parameter_string: *const gchar) -> *mut GOptionContext;
17827}
17828extern "C" {
17829    pub fn g_option_context_set_summary(context: *mut GOptionContext, summary: *const gchar);
17830}
17831extern "C" {
17832    pub fn g_option_context_get_summary(context: *mut GOptionContext) -> *const gchar;
17833}
17834extern "C" {
17835    pub fn g_option_context_set_description(
17836        context: *mut GOptionContext,
17837        description: *const gchar,
17838    );
17839}
17840extern "C" {
17841    pub fn g_option_context_get_description(context: *mut GOptionContext) -> *const gchar;
17842}
17843extern "C" {
17844    pub fn g_option_context_free(context: *mut GOptionContext);
17845}
17846extern "C" {
17847    pub fn g_option_context_set_help_enabled(context: *mut GOptionContext, help_enabled: gboolean);
17848}
17849extern "C" {
17850    pub fn g_option_context_get_help_enabled(context: *mut GOptionContext) -> gboolean;
17851}
17852extern "C" {
17853    pub fn g_option_context_set_ignore_unknown_options(
17854        context: *mut GOptionContext,
17855        ignore_unknown: gboolean,
17856    );
17857}
17858extern "C" {
17859    pub fn g_option_context_get_ignore_unknown_options(context: *mut GOptionContext) -> gboolean;
17860}
17861extern "C" {
17862    pub fn g_option_context_set_strict_posix(context: *mut GOptionContext, strict_posix: gboolean);
17863}
17864extern "C" {
17865    pub fn g_option_context_get_strict_posix(context: *mut GOptionContext) -> gboolean;
17866}
17867extern "C" {
17868    pub fn g_option_context_add_main_entries(
17869        context: *mut GOptionContext,
17870        entries: *const GOptionEntry,
17871        translation_domain: *const gchar,
17872    );
17873}
17874extern "C" {
17875    pub fn g_option_context_parse(
17876        context: *mut GOptionContext,
17877        argc: *mut gint,
17878        argv: *mut *mut *mut gchar,
17879        error: *mut *mut GError,
17880    ) -> gboolean;
17881}
17882extern "C" {
17883    pub fn g_option_context_parse_strv(
17884        context: *mut GOptionContext,
17885        arguments: *mut *mut *mut gchar,
17886        error: *mut *mut GError,
17887    ) -> gboolean;
17888}
17889extern "C" {
17890    pub fn g_option_context_set_translate_func(
17891        context: *mut GOptionContext,
17892        func: GTranslateFunc,
17893        data: gpointer,
17894        destroy_notify: GDestroyNotify,
17895    );
17896}
17897extern "C" {
17898    pub fn g_option_context_set_translation_domain(
17899        context: *mut GOptionContext,
17900        domain: *const gchar,
17901    );
17902}
17903extern "C" {
17904    pub fn g_option_context_add_group(context: *mut GOptionContext, group: *mut GOptionGroup);
17905}
17906extern "C" {
17907    pub fn g_option_context_set_main_group(context: *mut GOptionContext, group: *mut GOptionGroup);
17908}
17909extern "C" {
17910    pub fn g_option_context_get_main_group(context: *mut GOptionContext) -> *mut GOptionGroup;
17911}
17912extern "C" {
17913    pub fn g_option_context_get_help(
17914        context: *mut GOptionContext,
17915        main_help: gboolean,
17916        group: *mut GOptionGroup,
17917    ) -> *mut gchar;
17918}
17919extern "C" {
17920    pub fn g_option_group_new(
17921        name: *const gchar,
17922        description: *const gchar,
17923        help_description: *const gchar,
17924        user_data: gpointer,
17925        destroy: GDestroyNotify,
17926    ) -> *mut GOptionGroup;
17927}
17928extern "C" {
17929    pub fn g_option_group_set_parse_hooks(
17930        group: *mut GOptionGroup,
17931        pre_parse_func: GOptionParseFunc,
17932        post_parse_func: GOptionParseFunc,
17933    );
17934}
17935extern "C" {
17936    pub fn g_option_group_set_error_hook(group: *mut GOptionGroup, error_func: GOptionErrorFunc);
17937}
17938extern "C" {
17939    pub fn g_option_group_free(group: *mut GOptionGroup);
17940}
17941extern "C" {
17942    pub fn g_option_group_ref(group: *mut GOptionGroup) -> *mut GOptionGroup;
17943}
17944extern "C" {
17945    pub fn g_option_group_unref(group: *mut GOptionGroup);
17946}
17947extern "C" {
17948    pub fn g_option_group_add_entries(group: *mut GOptionGroup, entries: *const GOptionEntry);
17949}
17950extern "C" {
17951    pub fn g_option_group_set_translate_func(
17952        group: *mut GOptionGroup,
17953        func: GTranslateFunc,
17954        data: gpointer,
17955        destroy_notify: GDestroyNotify,
17956    );
17957}
17958extern "C" {
17959    pub fn g_option_group_set_translation_domain(group: *mut GOptionGroup, domain: *const gchar);
17960}
17961#[doc = " GPathBuf: (copy-func g_path_buf_copy) (free-func g_path_buf_free)\n\n A mutable path builder.\n\n Since: 2.76"]
17962pub type GPathBuf = _GPathBuf;
17963#[doc = " GPathBuf: (copy-func g_path_buf_copy) (free-func g_path_buf_free)\n\n A mutable path builder.\n\n Since: 2.76"]
17964#[repr(C)]
17965#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17966pub struct _GPathBuf {
17967    pub dummy: [gpointer; 8usize],
17968}
17969#[test]
17970fn bindgen_test_layout__GPathBuf() {
17971    const UNINIT: ::std::mem::MaybeUninit<_GPathBuf> = ::std::mem::MaybeUninit::uninit();
17972    let ptr = UNINIT.as_ptr();
17973    assert_eq!(
17974        ::std::mem::size_of::<_GPathBuf>(),
17975        64usize,
17976        concat!("Size of: ", stringify!(_GPathBuf))
17977    );
17978    assert_eq!(
17979        ::std::mem::align_of::<_GPathBuf>(),
17980        8usize,
17981        concat!("Alignment of ", stringify!(_GPathBuf))
17982    );
17983    assert_eq!(
17984        unsafe { ::std::ptr::addr_of!((*ptr).dummy) as usize - ptr as usize },
17985        0usize,
17986        concat!(
17987            "Offset of field: ",
17988            stringify!(_GPathBuf),
17989            "::",
17990            stringify!(dummy)
17991        )
17992    );
17993}
17994extern "C" {
17995    pub fn g_path_buf_new() -> *mut GPathBuf;
17996}
17997extern "C" {
17998    pub fn g_path_buf_new_from_path(path: *const ::std::os::raw::c_char) -> *mut GPathBuf;
17999}
18000extern "C" {
18001    pub fn g_path_buf_init(buf: *mut GPathBuf) -> *mut GPathBuf;
18002}
18003extern "C" {
18004    pub fn g_path_buf_init_from_path(
18005        buf: *mut GPathBuf,
18006        path: *const ::std::os::raw::c_char,
18007    ) -> *mut GPathBuf;
18008}
18009extern "C" {
18010    pub fn g_path_buf_clear(buf: *mut GPathBuf);
18011}
18012extern "C" {
18013    pub fn g_path_buf_clear_to_path(buf: *mut GPathBuf) -> *mut ::std::os::raw::c_char;
18014}
18015extern "C" {
18016    pub fn g_path_buf_free(buf: *mut GPathBuf);
18017}
18018extern "C" {
18019    pub fn g_path_buf_free_to_path(buf: *mut GPathBuf) -> *mut ::std::os::raw::c_char;
18020}
18021extern "C" {
18022    pub fn g_path_buf_copy(buf: *mut GPathBuf) -> *mut GPathBuf;
18023}
18024extern "C" {
18025    pub fn g_path_buf_push(
18026        buf: *mut GPathBuf,
18027        path: *const ::std::os::raw::c_char,
18028    ) -> *mut GPathBuf;
18029}
18030extern "C" {
18031    pub fn g_path_buf_pop(buf: *mut GPathBuf) -> gboolean;
18032}
18033extern "C" {
18034    pub fn g_path_buf_set_filename(
18035        buf: *mut GPathBuf,
18036        file_name: *const ::std::os::raw::c_char,
18037    ) -> gboolean;
18038}
18039extern "C" {
18040    pub fn g_path_buf_set_extension(
18041        buf: *mut GPathBuf,
18042        extension: *const ::std::os::raw::c_char,
18043    ) -> gboolean;
18044}
18045extern "C" {
18046    pub fn g_path_buf_to_path(buf: *mut GPathBuf) -> *mut ::std::os::raw::c_char;
18047}
18048extern "C" {
18049    pub fn g_path_buf_equal(v1: gconstpointer, v2: gconstpointer) -> gboolean;
18050}
18051#[repr(C)]
18052#[derive(Debug, Copy, Clone)]
18053pub struct _GPatternSpec {
18054    _unused: [u8; 0],
18055}
18056pub type GPatternSpec = _GPatternSpec;
18057extern "C" {
18058    pub fn g_pattern_spec_new(pattern: *const gchar) -> *mut GPatternSpec;
18059}
18060extern "C" {
18061    pub fn g_pattern_spec_free(pspec: *mut GPatternSpec);
18062}
18063extern "C" {
18064    pub fn g_pattern_spec_copy(pspec: *mut GPatternSpec) -> *mut GPatternSpec;
18065}
18066extern "C" {
18067    pub fn g_pattern_spec_equal(pspec1: *mut GPatternSpec, pspec2: *mut GPatternSpec) -> gboolean;
18068}
18069extern "C" {
18070    pub fn g_pattern_spec_match(
18071        pspec: *mut GPatternSpec,
18072        string_length: gsize,
18073        string: *const gchar,
18074        string_reversed: *const gchar,
18075    ) -> gboolean;
18076}
18077extern "C" {
18078    pub fn g_pattern_spec_match_string(pspec: *mut GPatternSpec, string: *const gchar) -> gboolean;
18079}
18080extern "C" {
18081    pub fn g_pattern_match(
18082        pspec: *mut GPatternSpec,
18083        string_length: guint,
18084        string: *const gchar,
18085        string_reversed: *const gchar,
18086    ) -> gboolean;
18087}
18088extern "C" {
18089    pub fn g_pattern_match_string(pspec: *mut GPatternSpec, string: *const gchar) -> gboolean;
18090}
18091extern "C" {
18092    pub fn g_pattern_match_simple(pattern: *const gchar, string: *const gchar) -> gboolean;
18093}
18094extern "C" {
18095    pub fn g_spaced_primes_closest(num: guint) -> guint;
18096}
18097extern "C" {
18098    pub fn g_qsort_with_data(
18099        pbase: gconstpointer,
18100        total_elems: gint,
18101        size: gsize,
18102        compare_func: GCompareDataFunc,
18103        user_data: gpointer,
18104    );
18105}
18106#[doc = " GQueue:\n @head: a pointer to the first element of the queue\n @tail: a pointer to the last element of the queue\n @length: the number of elements in the queue\n\n Contains the public fields of a\n [Queue][glib-Double-ended-Queues]."]
18107pub type GQueue = _GQueue;
18108#[doc = " GQueue:\n @head: a pointer to the first element of the queue\n @tail: a pointer to the last element of the queue\n @length: the number of elements in the queue\n\n Contains the public fields of a\n [Queue][glib-Double-ended-Queues]."]
18109#[repr(C)]
18110#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18111pub struct _GQueue {
18112    pub head: *mut GList,
18113    pub tail: *mut GList,
18114    pub length: guint,
18115}
18116#[test]
18117fn bindgen_test_layout__GQueue() {
18118    const UNINIT: ::std::mem::MaybeUninit<_GQueue> = ::std::mem::MaybeUninit::uninit();
18119    let ptr = UNINIT.as_ptr();
18120    assert_eq!(
18121        ::std::mem::size_of::<_GQueue>(),
18122        24usize,
18123        concat!("Size of: ", stringify!(_GQueue))
18124    );
18125    assert_eq!(
18126        ::std::mem::align_of::<_GQueue>(),
18127        8usize,
18128        concat!("Alignment of ", stringify!(_GQueue))
18129    );
18130    assert_eq!(
18131        unsafe { ::std::ptr::addr_of!((*ptr).head) as usize - ptr as usize },
18132        0usize,
18133        concat!(
18134            "Offset of field: ",
18135            stringify!(_GQueue),
18136            "::",
18137            stringify!(head)
18138        )
18139    );
18140    assert_eq!(
18141        unsafe { ::std::ptr::addr_of!((*ptr).tail) as usize - ptr as usize },
18142        8usize,
18143        concat!(
18144            "Offset of field: ",
18145            stringify!(_GQueue),
18146            "::",
18147            stringify!(tail)
18148        )
18149    );
18150    assert_eq!(
18151        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
18152        16usize,
18153        concat!(
18154            "Offset of field: ",
18155            stringify!(_GQueue),
18156            "::",
18157            stringify!(length)
18158        )
18159    );
18160}
18161extern "C" {
18162    pub fn g_queue_new() -> *mut GQueue;
18163}
18164extern "C" {
18165    pub fn g_queue_free(queue: *mut GQueue);
18166}
18167extern "C" {
18168    pub fn g_queue_free_full(queue: *mut GQueue, free_func: GDestroyNotify);
18169}
18170extern "C" {
18171    pub fn g_queue_init(queue: *mut GQueue);
18172}
18173extern "C" {
18174    pub fn g_queue_clear(queue: *mut GQueue);
18175}
18176extern "C" {
18177    pub fn g_queue_is_empty(queue: *mut GQueue) -> gboolean;
18178}
18179extern "C" {
18180    pub fn g_queue_clear_full(queue: *mut GQueue, free_func: GDestroyNotify);
18181}
18182extern "C" {
18183    pub fn g_queue_get_length(queue: *mut GQueue) -> guint;
18184}
18185extern "C" {
18186    pub fn g_queue_reverse(queue: *mut GQueue);
18187}
18188extern "C" {
18189    pub fn g_queue_copy(queue: *mut GQueue) -> *mut GQueue;
18190}
18191extern "C" {
18192    pub fn g_queue_foreach(queue: *mut GQueue, func: GFunc, user_data: gpointer);
18193}
18194extern "C" {
18195    pub fn g_queue_find(queue: *mut GQueue, data: gconstpointer) -> *mut GList;
18196}
18197extern "C" {
18198    pub fn g_queue_find_custom(
18199        queue: *mut GQueue,
18200        data: gconstpointer,
18201        func: GCompareFunc,
18202    ) -> *mut GList;
18203}
18204extern "C" {
18205    pub fn g_queue_sort(queue: *mut GQueue, compare_func: GCompareDataFunc, user_data: gpointer);
18206}
18207extern "C" {
18208    pub fn g_queue_push_head(queue: *mut GQueue, data: gpointer);
18209}
18210extern "C" {
18211    pub fn g_queue_push_tail(queue: *mut GQueue, data: gpointer);
18212}
18213extern "C" {
18214    pub fn g_queue_push_nth(queue: *mut GQueue, data: gpointer, n: gint);
18215}
18216extern "C" {
18217    pub fn g_queue_pop_head(queue: *mut GQueue) -> gpointer;
18218}
18219extern "C" {
18220    pub fn g_queue_pop_tail(queue: *mut GQueue) -> gpointer;
18221}
18222extern "C" {
18223    pub fn g_queue_pop_nth(queue: *mut GQueue, n: guint) -> gpointer;
18224}
18225extern "C" {
18226    pub fn g_queue_peek_head(queue: *mut GQueue) -> gpointer;
18227}
18228extern "C" {
18229    pub fn g_queue_peek_tail(queue: *mut GQueue) -> gpointer;
18230}
18231extern "C" {
18232    pub fn g_queue_peek_nth(queue: *mut GQueue, n: guint) -> gpointer;
18233}
18234extern "C" {
18235    pub fn g_queue_index(queue: *mut GQueue, data: gconstpointer) -> gint;
18236}
18237extern "C" {
18238    pub fn g_queue_remove(queue: *mut GQueue, data: gconstpointer) -> gboolean;
18239}
18240extern "C" {
18241    pub fn g_queue_remove_all(queue: *mut GQueue, data: gconstpointer) -> guint;
18242}
18243extern "C" {
18244    pub fn g_queue_insert_before(queue: *mut GQueue, sibling: *mut GList, data: gpointer);
18245}
18246extern "C" {
18247    pub fn g_queue_insert_before_link(queue: *mut GQueue, sibling: *mut GList, link_: *mut GList);
18248}
18249extern "C" {
18250    pub fn g_queue_insert_after(queue: *mut GQueue, sibling: *mut GList, data: gpointer);
18251}
18252extern "C" {
18253    pub fn g_queue_insert_after_link(queue: *mut GQueue, sibling: *mut GList, link_: *mut GList);
18254}
18255extern "C" {
18256    pub fn g_queue_insert_sorted(
18257        queue: *mut GQueue,
18258        data: gpointer,
18259        func: GCompareDataFunc,
18260        user_data: gpointer,
18261    );
18262}
18263extern "C" {
18264    pub fn g_queue_push_head_link(queue: *mut GQueue, link_: *mut GList);
18265}
18266extern "C" {
18267    pub fn g_queue_push_tail_link(queue: *mut GQueue, link_: *mut GList);
18268}
18269extern "C" {
18270    pub fn g_queue_push_nth_link(queue: *mut GQueue, n: gint, link_: *mut GList);
18271}
18272extern "C" {
18273    pub fn g_queue_pop_head_link(queue: *mut GQueue) -> *mut GList;
18274}
18275extern "C" {
18276    pub fn g_queue_pop_tail_link(queue: *mut GQueue) -> *mut GList;
18277}
18278extern "C" {
18279    pub fn g_queue_pop_nth_link(queue: *mut GQueue, n: guint) -> *mut GList;
18280}
18281extern "C" {
18282    pub fn g_queue_peek_head_link(queue: *mut GQueue) -> *mut GList;
18283}
18284extern "C" {
18285    pub fn g_queue_peek_tail_link(queue: *mut GQueue) -> *mut GList;
18286}
18287extern "C" {
18288    pub fn g_queue_peek_nth_link(queue: *mut GQueue, n: guint) -> *mut GList;
18289}
18290extern "C" {
18291    pub fn g_queue_link_index(queue: *mut GQueue, link_: *mut GList) -> gint;
18292}
18293extern "C" {
18294    pub fn g_queue_unlink(queue: *mut GQueue, link_: *mut GList);
18295}
18296extern "C" {
18297    pub fn g_queue_delete_link(queue: *mut GQueue, link_: *mut GList);
18298}
18299#[repr(C)]
18300#[derive(Debug, Copy, Clone)]
18301pub struct _GRand {
18302    _unused: [u8; 0],
18303}
18304pub type GRand = _GRand;
18305extern "C" {
18306    pub fn g_rand_new_with_seed(seed: guint32) -> *mut GRand;
18307}
18308extern "C" {
18309    pub fn g_rand_new_with_seed_array(seed: *const guint32, seed_length: guint) -> *mut GRand;
18310}
18311extern "C" {
18312    pub fn g_rand_new() -> *mut GRand;
18313}
18314extern "C" {
18315    pub fn g_rand_free(rand_: *mut GRand);
18316}
18317extern "C" {
18318    pub fn g_rand_copy(rand_: *mut GRand) -> *mut GRand;
18319}
18320extern "C" {
18321    pub fn g_rand_set_seed(rand_: *mut GRand, seed: guint32);
18322}
18323extern "C" {
18324    pub fn g_rand_set_seed_array(rand_: *mut GRand, seed: *const guint32, seed_length: guint);
18325}
18326extern "C" {
18327    pub fn g_rand_int(rand_: *mut GRand) -> guint32;
18328}
18329extern "C" {
18330    pub fn g_rand_int_range(rand_: *mut GRand, begin: gint32, end: gint32) -> gint32;
18331}
18332extern "C" {
18333    pub fn g_rand_double(rand_: *mut GRand) -> gdouble;
18334}
18335extern "C" {
18336    pub fn g_rand_double_range(rand_: *mut GRand, begin: gdouble, end: gdouble) -> gdouble;
18337}
18338extern "C" {
18339    pub fn g_random_set_seed(seed: guint32);
18340}
18341extern "C" {
18342    pub fn g_random_int() -> guint32;
18343}
18344extern "C" {
18345    pub fn g_random_int_range(begin: gint32, end: gint32) -> gint32;
18346}
18347extern "C" {
18348    pub fn g_random_double() -> gdouble;
18349}
18350extern "C" {
18351    pub fn g_random_double_range(begin: gdouble, end: gdouble) -> gdouble;
18352}
18353extern "C" {
18354    pub fn g_rc_box_alloc(block_size: gsize) -> gpointer;
18355}
18356extern "C" {
18357    pub fn g_rc_box_alloc0(block_size: gsize) -> gpointer;
18358}
18359extern "C" {
18360    pub fn g_rc_box_dup(block_size: gsize, mem_block: gconstpointer) -> gpointer;
18361}
18362extern "C" {
18363    pub fn g_rc_box_acquire(mem_block: gpointer) -> gpointer;
18364}
18365extern "C" {
18366    pub fn g_rc_box_release(mem_block: gpointer);
18367}
18368extern "C" {
18369    pub fn g_rc_box_release_full(mem_block: gpointer, clear_func: GDestroyNotify);
18370}
18371extern "C" {
18372    pub fn g_rc_box_get_size(mem_block: gpointer) -> gsize;
18373}
18374extern "C" {
18375    pub fn g_atomic_rc_box_alloc(block_size: gsize) -> gpointer;
18376}
18377extern "C" {
18378    pub fn g_atomic_rc_box_alloc0(block_size: gsize) -> gpointer;
18379}
18380extern "C" {
18381    pub fn g_atomic_rc_box_dup(block_size: gsize, mem_block: gconstpointer) -> gpointer;
18382}
18383extern "C" {
18384    pub fn g_atomic_rc_box_acquire(mem_block: gpointer) -> gpointer;
18385}
18386extern "C" {
18387    pub fn g_atomic_rc_box_release(mem_block: gpointer);
18388}
18389extern "C" {
18390    pub fn g_atomic_rc_box_release_full(mem_block: gpointer, clear_func: GDestroyNotify);
18391}
18392extern "C" {
18393    pub fn g_atomic_rc_box_get_size(mem_block: gpointer) -> gsize;
18394}
18395extern "C" {
18396    pub fn g_ref_count_init(rc: *mut grefcount);
18397}
18398extern "C" {
18399    pub fn g_ref_count_inc(rc: *mut grefcount);
18400}
18401extern "C" {
18402    pub fn g_ref_count_dec(rc: *mut grefcount) -> gboolean;
18403}
18404extern "C" {
18405    pub fn g_ref_count_compare(rc: *mut grefcount, val: gint) -> gboolean;
18406}
18407extern "C" {
18408    pub fn g_atomic_ref_count_init(arc: *mut gatomicrefcount);
18409}
18410extern "C" {
18411    pub fn g_atomic_ref_count_inc(arc: *mut gatomicrefcount);
18412}
18413extern "C" {
18414    pub fn g_atomic_ref_count_dec(arc: *mut gatomicrefcount) -> gboolean;
18415}
18416extern "C" {
18417    pub fn g_atomic_ref_count_compare(arc: *mut gatomicrefcount, val: gint) -> gboolean;
18418}
18419extern "C" {
18420    pub fn g_ref_string_new(str_: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
18421}
18422extern "C" {
18423    pub fn g_ref_string_new_len(
18424        str_: *const ::std::os::raw::c_char,
18425        len: gssize,
18426    ) -> *mut ::std::os::raw::c_char;
18427}
18428extern "C" {
18429    pub fn g_ref_string_new_intern(
18430        str_: *const ::std::os::raw::c_char,
18431    ) -> *mut ::std::os::raw::c_char;
18432}
18433extern "C" {
18434    pub fn g_ref_string_acquire(str_: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
18435}
18436extern "C" {
18437    pub fn g_ref_string_release(str_: *mut ::std::os::raw::c_char);
18438}
18439extern "C" {
18440    pub fn g_ref_string_length(str_: *mut ::std::os::raw::c_char) -> gsize;
18441}
18442#[doc = " GRefString:\n\n A typedef for a reference-counted string. A pointer to a #GRefString can be\n treated like a standard `char*` array by all code, but can additionally have\n `g_ref_string_*()` methods called on it. `g_ref_string_*()` methods cannot be\n called on `char*` arrays not allocated using g_ref_string_new().\n\n If using #GRefString with autocleanups, g_autoptr() must be used rather than\n g_autofree(), so that the reference counting metadata is also freed.\n\n Since: 2.58"]
18443pub type GRefString = ::std::os::raw::c_char;
18444pub const GRegexError_G_REGEX_ERROR_COMPILE: GRegexError = 0;
18445pub const GRegexError_G_REGEX_ERROR_OPTIMIZE: GRegexError = 1;
18446pub const GRegexError_G_REGEX_ERROR_REPLACE: GRegexError = 2;
18447pub const GRegexError_G_REGEX_ERROR_MATCH: GRegexError = 3;
18448pub const GRegexError_G_REGEX_ERROR_INTERNAL: GRegexError = 4;
18449pub const GRegexError_G_REGEX_ERROR_STRAY_BACKSLASH: GRegexError = 101;
18450pub const GRegexError_G_REGEX_ERROR_MISSING_CONTROL_CHAR: GRegexError = 102;
18451pub const GRegexError_G_REGEX_ERROR_UNRECOGNIZED_ESCAPE: GRegexError = 103;
18452pub const GRegexError_G_REGEX_ERROR_QUANTIFIERS_OUT_OF_ORDER: GRegexError = 104;
18453pub const GRegexError_G_REGEX_ERROR_QUANTIFIER_TOO_BIG: GRegexError = 105;
18454pub const GRegexError_G_REGEX_ERROR_UNTERMINATED_CHARACTER_CLASS: GRegexError = 106;
18455pub const GRegexError_G_REGEX_ERROR_INVALID_ESCAPE_IN_CHARACTER_CLASS: GRegexError = 107;
18456pub const GRegexError_G_REGEX_ERROR_RANGE_OUT_OF_ORDER: GRegexError = 108;
18457pub const GRegexError_G_REGEX_ERROR_NOTHING_TO_REPEAT: GRegexError = 109;
18458pub const GRegexError_G_REGEX_ERROR_UNRECOGNIZED_CHARACTER: GRegexError = 112;
18459pub const GRegexError_G_REGEX_ERROR_POSIX_NAMED_CLASS_OUTSIDE_CLASS: GRegexError = 113;
18460pub const GRegexError_G_REGEX_ERROR_UNMATCHED_PARENTHESIS: GRegexError = 114;
18461pub const GRegexError_G_REGEX_ERROR_INEXISTENT_SUBPATTERN_REFERENCE: GRegexError = 115;
18462pub const GRegexError_G_REGEX_ERROR_UNTERMINATED_COMMENT: GRegexError = 118;
18463pub const GRegexError_G_REGEX_ERROR_EXPRESSION_TOO_LARGE: GRegexError = 120;
18464pub const GRegexError_G_REGEX_ERROR_MEMORY_ERROR: GRegexError = 121;
18465pub const GRegexError_G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND: GRegexError = 125;
18466pub const GRegexError_G_REGEX_ERROR_MALFORMED_CONDITION: GRegexError = 126;
18467pub const GRegexError_G_REGEX_ERROR_TOO_MANY_CONDITIONAL_BRANCHES: GRegexError = 127;
18468pub const GRegexError_G_REGEX_ERROR_ASSERTION_EXPECTED: GRegexError = 128;
18469pub const GRegexError_G_REGEX_ERROR_UNKNOWN_POSIX_CLASS_NAME: GRegexError = 130;
18470pub const GRegexError_G_REGEX_ERROR_POSIX_COLLATING_ELEMENTS_NOT_SUPPORTED: GRegexError = 131;
18471pub const GRegexError_G_REGEX_ERROR_HEX_CODE_TOO_LARGE: GRegexError = 134;
18472pub const GRegexError_G_REGEX_ERROR_INVALID_CONDITION: GRegexError = 135;
18473pub const GRegexError_G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND: GRegexError = 136;
18474pub const GRegexError_G_REGEX_ERROR_INFINITE_LOOP: GRegexError = 140;
18475pub const GRegexError_G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR: GRegexError = 142;
18476pub const GRegexError_G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME: GRegexError = 143;
18477pub const GRegexError_G_REGEX_ERROR_MALFORMED_PROPERTY: GRegexError = 146;
18478pub const GRegexError_G_REGEX_ERROR_UNKNOWN_PROPERTY: GRegexError = 147;
18479pub const GRegexError_G_REGEX_ERROR_SUBPATTERN_NAME_TOO_LONG: GRegexError = 148;
18480pub const GRegexError_G_REGEX_ERROR_TOO_MANY_SUBPATTERNS: GRegexError = 149;
18481pub const GRegexError_G_REGEX_ERROR_INVALID_OCTAL_VALUE: GRegexError = 151;
18482pub const GRegexError_G_REGEX_ERROR_TOO_MANY_BRANCHES_IN_DEFINE: GRegexError = 154;
18483pub const GRegexError_G_REGEX_ERROR_DEFINE_REPETION: GRegexError = 155;
18484pub const GRegexError_G_REGEX_ERROR_INCONSISTENT_NEWLINE_OPTIONS: GRegexError = 156;
18485pub const GRegexError_G_REGEX_ERROR_MISSING_BACK_REFERENCE: GRegexError = 157;
18486pub const GRegexError_G_REGEX_ERROR_INVALID_RELATIVE_REFERENCE: GRegexError = 158;
18487pub const GRegexError_G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_FORBIDDEN: GRegexError = 159;
18488pub const GRegexError_G_REGEX_ERROR_UNKNOWN_BACKTRACKING_CONTROL_VERB: GRegexError = 160;
18489pub const GRegexError_G_REGEX_ERROR_NUMBER_TOO_BIG: GRegexError = 161;
18490pub const GRegexError_G_REGEX_ERROR_MISSING_SUBPATTERN_NAME: GRegexError = 162;
18491pub const GRegexError_G_REGEX_ERROR_MISSING_DIGIT: GRegexError = 163;
18492pub const GRegexError_G_REGEX_ERROR_INVALID_DATA_CHARACTER: GRegexError = 164;
18493pub const GRegexError_G_REGEX_ERROR_EXTRA_SUBPATTERN_NAME: GRegexError = 165;
18494pub const GRegexError_G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_REQUIRED: GRegexError = 166;
18495pub const GRegexError_G_REGEX_ERROR_INVALID_CONTROL_CHAR: GRegexError = 168;
18496pub const GRegexError_G_REGEX_ERROR_MISSING_NAME: GRegexError = 169;
18497pub const GRegexError_G_REGEX_ERROR_NOT_SUPPORTED_IN_CLASS: GRegexError = 171;
18498pub const GRegexError_G_REGEX_ERROR_TOO_MANY_FORWARD_REFERENCES: GRegexError = 172;
18499pub const GRegexError_G_REGEX_ERROR_NAME_TOO_LONG: GRegexError = 175;
18500pub const GRegexError_G_REGEX_ERROR_CHARACTER_VALUE_TOO_LARGE: GRegexError = 176;
18501#[doc = " GRegexError:\n @G_REGEX_ERROR_COMPILE: Compilation of the regular expression failed.\n @G_REGEX_ERROR_OPTIMIZE: Optimization of the regular expression failed.\n @G_REGEX_ERROR_REPLACE: Replacement failed due to an ill-formed replacement\n     string.\n @G_REGEX_ERROR_MATCH: The match process failed.\n @G_REGEX_ERROR_INTERNAL: Internal error of the regular expression engine.\n     Since 2.16\n @G_REGEX_ERROR_STRAY_BACKSLASH: \"\\\\\" at end of pattern. Since 2.16\n @G_REGEX_ERROR_MISSING_CONTROL_CHAR: \"\\\\c\" at end of pattern. Since 2.16\n @G_REGEX_ERROR_UNRECOGNIZED_ESCAPE: Unrecognized character follows \"\\\\\".\n     Since 2.16\n @G_REGEX_ERROR_QUANTIFIERS_OUT_OF_ORDER: Numbers out of order in \"{}\"\n     quantifier. Since 2.16\n @G_REGEX_ERROR_QUANTIFIER_TOO_BIG: Number too big in \"{}\" quantifier.\n     Since 2.16\n @G_REGEX_ERROR_UNTERMINATED_CHARACTER_CLASS: Missing terminating \"]\" for\n     character class. Since 2.16\n @G_REGEX_ERROR_INVALID_ESCAPE_IN_CHARACTER_CLASS: Invalid escape sequence\n     in character class. Since 2.16\n @G_REGEX_ERROR_RANGE_OUT_OF_ORDER: Range out of order in character class.\n     Since 2.16\n @G_REGEX_ERROR_NOTHING_TO_REPEAT: Nothing to repeat. Since 2.16\n @G_REGEX_ERROR_UNRECOGNIZED_CHARACTER: Unrecognized character after \"(?\",\n     \"(?<\" or \"(?P\". Since 2.16\n @G_REGEX_ERROR_POSIX_NAMED_CLASS_OUTSIDE_CLASS: POSIX named classes are\n     supported only within a class. Since 2.16\n @G_REGEX_ERROR_UNMATCHED_PARENTHESIS: Missing terminating \")\" or \")\"\n     without opening \"(\". Since 2.16\n @G_REGEX_ERROR_INEXISTENT_SUBPATTERN_REFERENCE: Reference to non-existent\n     subpattern. Since 2.16\n @G_REGEX_ERROR_UNTERMINATED_COMMENT: Missing terminating \")\" after comment.\n     Since 2.16\n @G_REGEX_ERROR_EXPRESSION_TOO_LARGE: Regular expression too large.\n     Since 2.16\n @G_REGEX_ERROR_MEMORY_ERROR: Failed to get memory. Since 2.16\n @G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND: Lookbehind assertion is not\n     fixed length. Since 2.16\n @G_REGEX_ERROR_MALFORMED_CONDITION: Malformed number or name after \"(?(\".\n     Since 2.16\n @G_REGEX_ERROR_TOO_MANY_CONDITIONAL_BRANCHES: Conditional group contains\n     more than two branches. Since 2.16\n @G_REGEX_ERROR_ASSERTION_EXPECTED: Assertion expected after \"(?(\".\n     Since 2.16\n @G_REGEX_ERROR_UNKNOWN_POSIX_CLASS_NAME: Unknown POSIX class name.\n     Since 2.16\n @G_REGEX_ERROR_POSIX_COLLATING_ELEMENTS_NOT_SUPPORTED: POSIX collating\n     elements are not supported. Since 2.16\n @G_REGEX_ERROR_HEX_CODE_TOO_LARGE: Character value in \"\\\\x{...}\" sequence\n     is too large. Since 2.16\n @G_REGEX_ERROR_INVALID_CONDITION: Invalid condition \"(?(0)\". Since 2.16\n @G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND: \\\\C not allowed in\n     lookbehind assertion. Since 2.16\n @G_REGEX_ERROR_INFINITE_LOOP: Recursive call could loop indefinitely.\n     Since 2.16\n @G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR: Missing terminator\n     in subpattern name. Since 2.16\n @G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME: Two named subpatterns have\n     the same name. Since 2.16\n @G_REGEX_ERROR_MALFORMED_PROPERTY: Malformed \"\\\\P\" or \"\\\\p\" sequence.\n     Since 2.16\n @G_REGEX_ERROR_UNKNOWN_PROPERTY: Unknown property name after \"\\\\P\" or\n     \"\\\\p\". Since 2.16\n @G_REGEX_ERROR_SUBPATTERN_NAME_TOO_LONG: Subpattern name is too long\n     (maximum 32 characters). Since 2.16\n @G_REGEX_ERROR_TOO_MANY_SUBPATTERNS: Too many named subpatterns (maximum\n     10,000). Since 2.16\n @G_REGEX_ERROR_INVALID_OCTAL_VALUE: Octal value is greater than \"\\\\377\".\n     Since 2.16\n @G_REGEX_ERROR_TOO_MANY_BRANCHES_IN_DEFINE: \"DEFINE\" group contains more\n     than one branch. Since 2.16\n @G_REGEX_ERROR_DEFINE_REPETION: Repeating a \"DEFINE\" group is not allowed.\n     This error is never raised. Since: 2.16 Deprecated: 2.34\n @G_REGEX_ERROR_INCONSISTENT_NEWLINE_OPTIONS: Inconsistent newline options.\n     Since 2.16\n @G_REGEX_ERROR_MISSING_BACK_REFERENCE: \"\\\\g\" is not followed by a braced,\n      angle-bracketed, or quoted name or number, or by a plain number. Since: 2.16\n @G_REGEX_ERROR_INVALID_RELATIVE_REFERENCE: relative reference must not be zero. Since: 2.34\n @G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_FORBIDDEN: the backtracing\n     control verb used does not allow an argument. Since: 2.34\n @G_REGEX_ERROR_UNKNOWN_BACKTRACKING_CONTROL_VERB: unknown backtracing\n     control verb. Since: 2.34\n @G_REGEX_ERROR_NUMBER_TOO_BIG: number is too big in escape sequence. Since: 2.34\n @G_REGEX_ERROR_MISSING_SUBPATTERN_NAME: Missing subpattern name. Since: 2.34\n @G_REGEX_ERROR_MISSING_DIGIT: Missing digit. Since 2.34\n @G_REGEX_ERROR_INVALID_DATA_CHARACTER: In JavaScript compatibility mode,\n     \"[\" is an invalid data character. Since: 2.34\n @G_REGEX_ERROR_EXTRA_SUBPATTERN_NAME: different names for subpatterns of the\n     same number are not allowed. Since: 2.34\n @G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_REQUIRED: the backtracing control\n     verb requires an argument. Since: 2.34\n @G_REGEX_ERROR_INVALID_CONTROL_CHAR: \"\\\\c\" must be followed by an ASCII\n     character. Since: 2.34\n @G_REGEX_ERROR_MISSING_NAME: \"\\\\k\" is not followed by a braced, angle-bracketed, or\n     quoted name. Since: 2.34\n @G_REGEX_ERROR_NOT_SUPPORTED_IN_CLASS: \"\\\\N\" is not supported in a class. Since: 2.34\n @G_REGEX_ERROR_TOO_MANY_FORWARD_REFERENCES: too many forward references. Since: 2.34\n @G_REGEX_ERROR_NAME_TOO_LONG: the name is too long in \"(*MARK)\", \"(*PRUNE)\",\n     \"(*SKIP)\", or \"(*THEN)\". Since: 2.34\n @G_REGEX_ERROR_CHARACTER_VALUE_TOO_LARGE: the character value in the \\\\u sequence is\n     too large. Since: 2.34\n\n Error codes returned by regular expressions functions.\n\n Since: 2.14"]
18502pub type GRegexError = ::std::os::raw::c_uint;
18503extern "C" {
18504    pub fn g_regex_error_quark() -> GQuark;
18505}
18506pub const GRegexCompileFlags_G_REGEX_DEFAULT: GRegexCompileFlags = 0;
18507pub const GRegexCompileFlags_G_REGEX_CASELESS: GRegexCompileFlags = 1;
18508pub const GRegexCompileFlags_G_REGEX_MULTILINE: GRegexCompileFlags = 2;
18509pub const GRegexCompileFlags_G_REGEX_DOTALL: GRegexCompileFlags = 4;
18510pub const GRegexCompileFlags_G_REGEX_EXTENDED: GRegexCompileFlags = 8;
18511pub const GRegexCompileFlags_G_REGEX_ANCHORED: GRegexCompileFlags = 16;
18512pub const GRegexCompileFlags_G_REGEX_DOLLAR_ENDONLY: GRegexCompileFlags = 32;
18513pub const GRegexCompileFlags_G_REGEX_UNGREEDY: GRegexCompileFlags = 512;
18514pub const GRegexCompileFlags_G_REGEX_RAW: GRegexCompileFlags = 2048;
18515pub const GRegexCompileFlags_G_REGEX_NO_AUTO_CAPTURE: GRegexCompileFlags = 4096;
18516pub const GRegexCompileFlags_G_REGEX_OPTIMIZE: GRegexCompileFlags = 8192;
18517pub const GRegexCompileFlags_G_REGEX_FIRSTLINE: GRegexCompileFlags = 262144;
18518pub const GRegexCompileFlags_G_REGEX_DUPNAMES: GRegexCompileFlags = 524288;
18519pub const GRegexCompileFlags_G_REGEX_NEWLINE_CR: GRegexCompileFlags = 1048576;
18520pub const GRegexCompileFlags_G_REGEX_NEWLINE_LF: GRegexCompileFlags = 2097152;
18521pub const GRegexCompileFlags_G_REGEX_NEWLINE_CRLF: GRegexCompileFlags = 3145728;
18522pub const GRegexCompileFlags_G_REGEX_NEWLINE_ANYCRLF: GRegexCompileFlags = 5242880;
18523pub const GRegexCompileFlags_G_REGEX_BSR_ANYCRLF: GRegexCompileFlags = 8388608;
18524pub const GRegexCompileFlags_G_REGEX_JAVASCRIPT_COMPAT: GRegexCompileFlags = 33554432;
18525#[doc = " GRegexCompileFlags:\n @G_REGEX_DEFAULT: No special options set. Since: 2.74\n @G_REGEX_CASELESS: Letters in the pattern match both upper- and\n     lowercase letters. This option can be changed within a pattern\n     by a \"(?i)\" option setting.\n @G_REGEX_MULTILINE: By default, GRegex treats the strings as consisting\n     of a single line of characters (even if it actually contains\n     newlines). The \"start of line\" metacharacter (\"^\") matches only\n     at the start of the string, while the \"end of line\" metacharacter\n     (\"$\") matches only at the end of the string, or before a terminating\n     newline (unless %G_REGEX_DOLLAR_ENDONLY is set). When\n     %G_REGEX_MULTILINE is set, the \"start of line\" and \"end of line\"\n     constructs match immediately following or immediately before any\n     newline in the string, respectively, as well as at the very start\n     and end. This can be changed within a pattern by a \"(?m)\" option\n     setting.\n @G_REGEX_DOTALL: A dot metacharacter (\".\") in the pattern matches all\n     characters, including newlines. Without it, newlines are excluded.\n     This option can be changed within a pattern by a (\"?s\") option setting.\n @G_REGEX_EXTENDED: Whitespace data characters in the pattern are\n     totally ignored except when escaped or inside a character class.\n     Whitespace does not include the VT character (code 11). In addition,\n     characters between an unescaped \"#\" outside a character class and\n     the next newline character, inclusive, are also ignored. This can\n     be changed within a pattern by a \"(?x)\" option setting.\n @G_REGEX_ANCHORED: The pattern is forced to be \"anchored\", that is,\n     it is constrained to match only at the first matching point in the\n     string that is being searched. This effect can also be achieved by\n     appropriate constructs in the pattern itself such as the \"^\"\n     metacharacter.\n @G_REGEX_DOLLAR_ENDONLY: A dollar metacharacter (\"$\") in the pattern\n     matches only at the end of the string. Without this option, a\n     dollar also matches immediately before the final character if\n     it is a newline (but not before any other newlines). This option\n     is ignored if %G_REGEX_MULTILINE is set.\n @G_REGEX_UNGREEDY: Inverts the \"greediness\" of the quantifiers so that\n     they are not greedy by default, but become greedy if followed by \"?\".\n     It can also be set by a \"(?U)\" option setting within the pattern.\n @G_REGEX_RAW: Usually strings must be valid UTF-8 strings, using this\n     flag they are considered as a raw sequence of bytes.\n @G_REGEX_NO_AUTO_CAPTURE: Disables the use of numbered capturing\n     parentheses in the pattern. Any opening parenthesis that is not\n     followed by \"?\" behaves as if it were followed by \"?:\" but named\n     parentheses can still be used for capturing (and they acquire numbers\n     in the usual way).\n @G_REGEX_OPTIMIZE: Since 2.74 and the port to pcre2, requests JIT\n     compilation, which, if the just-in-time compiler is available, further\n     processes a compiled pattern into machine code that executes much\n     faster. However, it comes at the cost of extra processing before the\n     match is performed, so it is most beneficial to use this when the same\n     compiled pattern is used for matching many times. Before 2.74 this\n     option used the built-in non-JIT optimizations in pcre1.\n @G_REGEX_FIRSTLINE: Limits an unanchored pattern to match before (or at) the\n     first newline. Since: 2.34\n @G_REGEX_DUPNAMES: Names used to identify capturing subpatterns need not\n     be unique. This can be helpful for certain types of pattern when it\n     is known that only one instance of the named subpattern can ever be\n     matched.\n @G_REGEX_NEWLINE_CR: Usually any newline character or character sequence is\n     recognized. If this option is set, the only recognized newline character\n     is '\\r'.\n @G_REGEX_NEWLINE_LF: Usually any newline character or character sequence is\n     recognized. If this option is set, the only recognized newline character\n     is '\\n'.\n @G_REGEX_NEWLINE_CRLF: Usually any newline character or character sequence is\n     recognized. If this option is set, the only recognized newline character\n     sequence is '\\r\\n'.\n @G_REGEX_NEWLINE_ANYCRLF: Usually any newline character or character sequence\n     is recognized. If this option is set, the only recognized newline character\n     sequences are '\\r', '\\n', and '\\r\\n'. Since: 2.34\n @G_REGEX_BSR_ANYCRLF: Usually any newline character or character sequence\n     is recognised. If this option is set, then \"\\R\" only recognizes the newline\n    characters '\\r', '\\n' and '\\r\\n'. Since: 2.34\n @G_REGEX_JAVASCRIPT_COMPAT: Changes behaviour so that it is compatible with\n     JavaScript rather than PCRE. Since GLib 2.74 this is no longer supported,\n     as libpcre2 does not support it. Since: 2.34 Deprecated: 2.74\n\n Flags specifying compile-time options.\n\n Since: 2.14"]
18526pub type GRegexCompileFlags = ::std::os::raw::c_uint;
18527pub const GRegexMatchFlags_G_REGEX_MATCH_DEFAULT: GRegexMatchFlags = 0;
18528pub const GRegexMatchFlags_G_REGEX_MATCH_ANCHORED: GRegexMatchFlags = 16;
18529pub const GRegexMatchFlags_G_REGEX_MATCH_NOTBOL: GRegexMatchFlags = 128;
18530pub const GRegexMatchFlags_G_REGEX_MATCH_NOTEOL: GRegexMatchFlags = 256;
18531pub const GRegexMatchFlags_G_REGEX_MATCH_NOTEMPTY: GRegexMatchFlags = 1024;
18532pub const GRegexMatchFlags_G_REGEX_MATCH_PARTIAL: GRegexMatchFlags = 32768;
18533pub const GRegexMatchFlags_G_REGEX_MATCH_NEWLINE_CR: GRegexMatchFlags = 1048576;
18534pub const GRegexMatchFlags_G_REGEX_MATCH_NEWLINE_LF: GRegexMatchFlags = 2097152;
18535pub const GRegexMatchFlags_G_REGEX_MATCH_NEWLINE_CRLF: GRegexMatchFlags = 3145728;
18536pub const GRegexMatchFlags_G_REGEX_MATCH_NEWLINE_ANY: GRegexMatchFlags = 4194304;
18537pub const GRegexMatchFlags_G_REGEX_MATCH_NEWLINE_ANYCRLF: GRegexMatchFlags = 5242880;
18538pub const GRegexMatchFlags_G_REGEX_MATCH_BSR_ANYCRLF: GRegexMatchFlags = 8388608;
18539pub const GRegexMatchFlags_G_REGEX_MATCH_BSR_ANY: GRegexMatchFlags = 16777216;
18540pub const GRegexMatchFlags_G_REGEX_MATCH_PARTIAL_SOFT: GRegexMatchFlags = 32768;
18541pub const GRegexMatchFlags_G_REGEX_MATCH_PARTIAL_HARD: GRegexMatchFlags = 134217728;
18542pub const GRegexMatchFlags_G_REGEX_MATCH_NOTEMPTY_ATSTART: GRegexMatchFlags = 268435456;
18543#[doc = " GRegexMatchFlags:\n @G_REGEX_MATCH_DEFAULT: No special options set. Since: 2.74\n @G_REGEX_MATCH_ANCHORED: The pattern is forced to be \"anchored\", that is,\n     it is constrained to match only at the first matching point in the\n     string that is being searched. This effect can also be achieved by\n     appropriate constructs in the pattern itself such as the \"^\"\n     metacharacter.\n @G_REGEX_MATCH_NOTBOL: Specifies that first character of the string is\n     not the beginning of a line, so the circumflex metacharacter should\n     not match before it. Setting this without %G_REGEX_MULTILINE (at\n     compile time) causes circumflex never to match. This option affects\n     only the behaviour of the circumflex metacharacter, it does not\n     affect \"\\A\".\n @G_REGEX_MATCH_NOTEOL: Specifies that the end of the subject string is\n     not the end of a line, so the dollar metacharacter should not match\n     it nor (except in multiline mode) a newline immediately before it.\n     Setting this without %G_REGEX_MULTILINE (at compile time) causes\n     dollar never to match. This option affects only the behaviour of\n     the dollar metacharacter, it does not affect \"\\Z\" or \"\\z\".\n @G_REGEX_MATCH_NOTEMPTY: An empty string is not considered to be a valid\n     match if this option is set. If there are alternatives in the pattern,\n     they are tried. If all the alternatives match the empty string, the\n     entire match fails. For example, if the pattern \"a?b?\" is applied to\n     a string not beginning with \"a\" or \"b\", it matches the empty string\n     at the start of the string. With this flag set, this match is not\n     valid, so GRegex searches further into the string for occurrences\n     of \"a\" or \"b\".\n @G_REGEX_MATCH_PARTIAL: Turns on the partial matching feature, for more\n     documentation on partial matching see g_match_info_is_partial_match().\n @G_REGEX_MATCH_NEWLINE_CR: Overrides the newline definition set when\n     creating a new #GRegex, setting the '\\r' character as line terminator.\n @G_REGEX_MATCH_NEWLINE_LF: Overrides the newline definition set when\n     creating a new #GRegex, setting the '\\n' character as line terminator.\n @G_REGEX_MATCH_NEWLINE_CRLF: Overrides the newline definition set when\n     creating a new #GRegex, setting the '\\r\\n' characters sequence as line terminator.\n @G_REGEX_MATCH_NEWLINE_ANY: Overrides the newline definition set when\n     creating a new #GRegex, any Unicode newline sequence\n     is recognised as a newline. These are '\\r', '\\n' and '\\rn', and the\n     single characters U+000B LINE TABULATION, U+000C FORM FEED (FF),\n     U+0085 NEXT LINE (NEL), U+2028 LINE SEPARATOR and\n     U+2029 PARAGRAPH SEPARATOR.\n @G_REGEX_MATCH_NEWLINE_ANYCRLF: Overrides the newline definition set when\n     creating a new #GRegex; any '\\r', '\\n', or '\\r\\n' character sequence\n     is recognized as a newline. Since: 2.34\n @G_REGEX_MATCH_BSR_ANYCRLF: Overrides the newline definition for \"\\R\" set when\n     creating a new #GRegex; only '\\r', '\\n', or '\\r\\n' character sequences\n     are recognized as a newline by \"\\R\". Since: 2.34\n @G_REGEX_MATCH_BSR_ANY: Overrides the newline definition for \"\\R\" set when\n     creating a new #GRegex; any Unicode newline character or character sequence\n     are recognized as a newline by \"\\R\". These are '\\r', '\\n' and '\\rn', and the\n     single characters U+000B LINE TABULATION, U+000C FORM FEED (FF),\n     U+0085 NEXT LINE (NEL), U+2028 LINE SEPARATOR and\n     U+2029 PARAGRAPH SEPARATOR. Since: 2.34\n @G_REGEX_MATCH_PARTIAL_SOFT: An alias for %G_REGEX_MATCH_PARTIAL. Since: 2.34\n @G_REGEX_MATCH_PARTIAL_HARD: Turns on the partial matching feature. In contrast to\n     to %G_REGEX_MATCH_PARTIAL_SOFT, this stops matching as soon as a partial match\n     is found, without continuing to search for a possible complete match. See\n     g_match_info_is_partial_match() for more information. Since: 2.34\n @G_REGEX_MATCH_NOTEMPTY_ATSTART: Like %G_REGEX_MATCH_NOTEMPTY, but only applied to\n     the start of the matched string. For anchored\n     patterns this can only happen for pattern containing \"\\K\". Since: 2.34\n\n Flags specifying match-time options.\n\n Since: 2.14"]
18544pub type GRegexMatchFlags = ::std::os::raw::c_uint;
18545#[repr(C)]
18546#[derive(Debug, Copy, Clone)]
18547pub struct _GRegex {
18548    _unused: [u8; 0],
18549}
18550#[doc = " GRegex:\n\n A GRegex is the \"compiled\" form of a regular expression pattern.\n This structure is opaque and its fields cannot be accessed directly.\n\n Since: 2.14"]
18551pub type GRegex = _GRegex;
18552#[repr(C)]
18553#[derive(Debug, Copy, Clone)]
18554pub struct _GMatchInfo {
18555    _unused: [u8; 0],
18556}
18557#[doc = " GMatchInfo:\n\n A GMatchInfo is an opaque struct used to return information about\n matches."]
18558pub type GMatchInfo = _GMatchInfo;
18559#[doc = " GRegexEvalCallback:\n @match_info: the #GMatchInfo generated by the match.\n     Use g_match_info_get_regex() and g_match_info_get_string() if you\n     need the #GRegex or the matched string.\n @result: a #GString containing the new string\n @user_data: user data passed to g_regex_replace_eval()\n\n Specifies the type of the function passed to g_regex_replace_eval().\n It is called for each occurrence of the pattern in the string passed\n to g_regex_replace_eval(), and it should append the replacement to\n @result.\n\n Returns: %FALSE to continue the replacement process, %TRUE to stop it\n\n Since: 2.14"]
18560pub type GRegexEvalCallback = ::std::option::Option<
18561    unsafe extern "C" fn(
18562        match_info: *const GMatchInfo,
18563        result: *mut GString,
18564        user_data: gpointer,
18565    ) -> gboolean,
18566>;
18567extern "C" {
18568    pub fn g_regex_new(
18569        pattern: *const gchar,
18570        compile_options: GRegexCompileFlags,
18571        match_options: GRegexMatchFlags,
18572        error: *mut *mut GError,
18573    ) -> *mut GRegex;
18574}
18575extern "C" {
18576    pub fn g_regex_ref(regex: *mut GRegex) -> *mut GRegex;
18577}
18578extern "C" {
18579    pub fn g_regex_unref(regex: *mut GRegex);
18580}
18581extern "C" {
18582    pub fn g_regex_get_pattern(regex: *const GRegex) -> *const gchar;
18583}
18584extern "C" {
18585    pub fn g_regex_get_max_backref(regex: *const GRegex) -> gint;
18586}
18587extern "C" {
18588    pub fn g_regex_get_capture_count(regex: *const GRegex) -> gint;
18589}
18590extern "C" {
18591    pub fn g_regex_get_has_cr_or_lf(regex: *const GRegex) -> gboolean;
18592}
18593extern "C" {
18594    pub fn g_regex_get_max_lookbehind(regex: *const GRegex) -> gint;
18595}
18596extern "C" {
18597    pub fn g_regex_get_string_number(regex: *const GRegex, name: *const gchar) -> gint;
18598}
18599extern "C" {
18600    pub fn g_regex_escape_string(string: *const gchar, length: gint) -> *mut gchar;
18601}
18602extern "C" {
18603    pub fn g_regex_escape_nul(string: *const gchar, length: gint) -> *mut gchar;
18604}
18605extern "C" {
18606    pub fn g_regex_get_compile_flags(regex: *const GRegex) -> GRegexCompileFlags;
18607}
18608extern "C" {
18609    pub fn g_regex_get_match_flags(regex: *const GRegex) -> GRegexMatchFlags;
18610}
18611extern "C" {
18612    pub fn g_regex_match_simple(
18613        pattern: *const gchar,
18614        string: *const gchar,
18615        compile_options: GRegexCompileFlags,
18616        match_options: GRegexMatchFlags,
18617    ) -> gboolean;
18618}
18619extern "C" {
18620    pub fn g_regex_match(
18621        regex: *const GRegex,
18622        string: *const gchar,
18623        match_options: GRegexMatchFlags,
18624        match_info: *mut *mut GMatchInfo,
18625    ) -> gboolean;
18626}
18627extern "C" {
18628    pub fn g_regex_match_full(
18629        regex: *const GRegex,
18630        string: *const gchar,
18631        string_len: gssize,
18632        start_position: gint,
18633        match_options: GRegexMatchFlags,
18634        match_info: *mut *mut GMatchInfo,
18635        error: *mut *mut GError,
18636    ) -> gboolean;
18637}
18638extern "C" {
18639    pub fn g_regex_match_all(
18640        regex: *const GRegex,
18641        string: *const gchar,
18642        match_options: GRegexMatchFlags,
18643        match_info: *mut *mut GMatchInfo,
18644    ) -> gboolean;
18645}
18646extern "C" {
18647    pub fn g_regex_match_all_full(
18648        regex: *const GRegex,
18649        string: *const gchar,
18650        string_len: gssize,
18651        start_position: gint,
18652        match_options: GRegexMatchFlags,
18653        match_info: *mut *mut GMatchInfo,
18654        error: *mut *mut GError,
18655    ) -> gboolean;
18656}
18657extern "C" {
18658    pub fn g_regex_split_simple(
18659        pattern: *const gchar,
18660        string: *const gchar,
18661        compile_options: GRegexCompileFlags,
18662        match_options: GRegexMatchFlags,
18663    ) -> *mut *mut gchar;
18664}
18665extern "C" {
18666    pub fn g_regex_split(
18667        regex: *const GRegex,
18668        string: *const gchar,
18669        match_options: GRegexMatchFlags,
18670    ) -> *mut *mut gchar;
18671}
18672extern "C" {
18673    pub fn g_regex_split_full(
18674        regex: *const GRegex,
18675        string: *const gchar,
18676        string_len: gssize,
18677        start_position: gint,
18678        match_options: GRegexMatchFlags,
18679        max_tokens: gint,
18680        error: *mut *mut GError,
18681    ) -> *mut *mut gchar;
18682}
18683extern "C" {
18684    pub fn g_regex_replace(
18685        regex: *const GRegex,
18686        string: *const gchar,
18687        string_len: gssize,
18688        start_position: gint,
18689        replacement: *const gchar,
18690        match_options: GRegexMatchFlags,
18691        error: *mut *mut GError,
18692    ) -> *mut gchar;
18693}
18694extern "C" {
18695    pub fn g_regex_replace_literal(
18696        regex: *const GRegex,
18697        string: *const gchar,
18698        string_len: gssize,
18699        start_position: gint,
18700        replacement: *const gchar,
18701        match_options: GRegexMatchFlags,
18702        error: *mut *mut GError,
18703    ) -> *mut gchar;
18704}
18705extern "C" {
18706    pub fn g_regex_replace_eval(
18707        regex: *const GRegex,
18708        string: *const gchar,
18709        string_len: gssize,
18710        start_position: gint,
18711        match_options: GRegexMatchFlags,
18712        eval: GRegexEvalCallback,
18713        user_data: gpointer,
18714        error: *mut *mut GError,
18715    ) -> *mut gchar;
18716}
18717extern "C" {
18718    pub fn g_regex_check_replacement(
18719        replacement: *const gchar,
18720        has_references: *mut gboolean,
18721        error: *mut *mut GError,
18722    ) -> gboolean;
18723}
18724extern "C" {
18725    pub fn g_match_info_get_regex(match_info: *const GMatchInfo) -> *mut GRegex;
18726}
18727extern "C" {
18728    pub fn g_match_info_get_string(match_info: *const GMatchInfo) -> *const gchar;
18729}
18730extern "C" {
18731    pub fn g_match_info_ref(match_info: *mut GMatchInfo) -> *mut GMatchInfo;
18732}
18733extern "C" {
18734    pub fn g_match_info_unref(match_info: *mut GMatchInfo);
18735}
18736extern "C" {
18737    pub fn g_match_info_free(match_info: *mut GMatchInfo);
18738}
18739extern "C" {
18740    pub fn g_match_info_next(match_info: *mut GMatchInfo, error: *mut *mut GError) -> gboolean;
18741}
18742extern "C" {
18743    pub fn g_match_info_matches(match_info: *const GMatchInfo) -> gboolean;
18744}
18745extern "C" {
18746    pub fn g_match_info_get_match_count(match_info: *const GMatchInfo) -> gint;
18747}
18748extern "C" {
18749    pub fn g_match_info_is_partial_match(match_info: *const GMatchInfo) -> gboolean;
18750}
18751extern "C" {
18752    pub fn g_match_info_expand_references(
18753        match_info: *const GMatchInfo,
18754        string_to_expand: *const gchar,
18755        error: *mut *mut GError,
18756    ) -> *mut gchar;
18757}
18758extern "C" {
18759    pub fn g_match_info_fetch(match_info: *const GMatchInfo, match_num: gint) -> *mut gchar;
18760}
18761extern "C" {
18762    pub fn g_match_info_fetch_pos(
18763        match_info: *const GMatchInfo,
18764        match_num: gint,
18765        start_pos: *mut gint,
18766        end_pos: *mut gint,
18767    ) -> gboolean;
18768}
18769extern "C" {
18770    pub fn g_match_info_fetch_named(
18771        match_info: *const GMatchInfo,
18772        name: *const gchar,
18773    ) -> *mut gchar;
18774}
18775extern "C" {
18776    pub fn g_match_info_fetch_named_pos(
18777        match_info: *const GMatchInfo,
18778        name: *const gchar,
18779        start_pos: *mut gint,
18780        end_pos: *mut gint,
18781    ) -> gboolean;
18782}
18783extern "C" {
18784    pub fn g_match_info_fetch_all(match_info: *const GMatchInfo) -> *mut *mut gchar;
18785}
18786pub type GScanner = _GScanner;
18787pub type GScannerConfig = _GScannerConfig;
18788pub type GTokenValue = _GTokenValue;
18789pub type GScannerMsgFunc = ::std::option::Option<
18790    unsafe extern "C" fn(scanner: *mut GScanner, message: *mut gchar, error: gboolean),
18791>;
18792pub const GErrorType_G_ERR_UNKNOWN: GErrorType = 0;
18793pub const GErrorType_G_ERR_UNEXP_EOF: GErrorType = 1;
18794pub const GErrorType_G_ERR_UNEXP_EOF_IN_STRING: GErrorType = 2;
18795pub const GErrorType_G_ERR_UNEXP_EOF_IN_COMMENT: GErrorType = 3;
18796pub const GErrorType_G_ERR_NON_DIGIT_IN_CONST: GErrorType = 4;
18797pub const GErrorType_G_ERR_DIGIT_RADIX: GErrorType = 5;
18798pub const GErrorType_G_ERR_FLOAT_RADIX: GErrorType = 6;
18799pub const GErrorType_G_ERR_FLOAT_MALFORMED: GErrorType = 7;
18800pub type GErrorType = ::std::os::raw::c_uint;
18801pub const GTokenType_G_TOKEN_EOF: GTokenType = 0;
18802pub const GTokenType_G_TOKEN_LEFT_PAREN: GTokenType = 40;
18803pub const GTokenType_G_TOKEN_RIGHT_PAREN: GTokenType = 41;
18804pub const GTokenType_G_TOKEN_LEFT_CURLY: GTokenType = 123;
18805pub const GTokenType_G_TOKEN_RIGHT_CURLY: GTokenType = 125;
18806pub const GTokenType_G_TOKEN_LEFT_BRACE: GTokenType = 91;
18807pub const GTokenType_G_TOKEN_RIGHT_BRACE: GTokenType = 93;
18808pub const GTokenType_G_TOKEN_EQUAL_SIGN: GTokenType = 61;
18809pub const GTokenType_G_TOKEN_COMMA: GTokenType = 44;
18810pub const GTokenType_G_TOKEN_NONE: GTokenType = 256;
18811pub const GTokenType_G_TOKEN_ERROR: GTokenType = 257;
18812pub const GTokenType_G_TOKEN_CHAR: GTokenType = 258;
18813pub const GTokenType_G_TOKEN_BINARY: GTokenType = 259;
18814pub const GTokenType_G_TOKEN_OCTAL: GTokenType = 260;
18815pub const GTokenType_G_TOKEN_INT: GTokenType = 261;
18816pub const GTokenType_G_TOKEN_HEX: GTokenType = 262;
18817pub const GTokenType_G_TOKEN_FLOAT: GTokenType = 263;
18818pub const GTokenType_G_TOKEN_STRING: GTokenType = 264;
18819pub const GTokenType_G_TOKEN_SYMBOL: GTokenType = 265;
18820pub const GTokenType_G_TOKEN_IDENTIFIER: GTokenType = 266;
18821pub const GTokenType_G_TOKEN_IDENTIFIER_NULL: GTokenType = 267;
18822pub const GTokenType_G_TOKEN_COMMENT_SINGLE: GTokenType = 268;
18823pub const GTokenType_G_TOKEN_COMMENT_MULTI: GTokenType = 269;
18824pub const GTokenType_G_TOKEN_LAST: GTokenType = 270;
18825pub type GTokenType = ::std::os::raw::c_uint;
18826#[repr(C)]
18827#[derive(Copy, Clone)]
18828pub union _GTokenValue {
18829    pub v_symbol: gpointer,
18830    pub v_identifier: *mut gchar,
18831    pub v_binary: gulong,
18832    pub v_octal: gulong,
18833    pub v_int: gulong,
18834    pub v_int64: guint64,
18835    pub v_float: gdouble,
18836    pub v_hex: gulong,
18837    pub v_string: *mut gchar,
18838    pub v_comment: *mut gchar,
18839    pub v_char: guchar,
18840    pub v_error: guint,
18841}
18842#[test]
18843fn bindgen_test_layout__GTokenValue() {
18844    const UNINIT: ::std::mem::MaybeUninit<_GTokenValue> = ::std::mem::MaybeUninit::uninit();
18845    let ptr = UNINIT.as_ptr();
18846    assert_eq!(
18847        ::std::mem::size_of::<_GTokenValue>(),
18848        8usize,
18849        concat!("Size of: ", stringify!(_GTokenValue))
18850    );
18851    assert_eq!(
18852        ::std::mem::align_of::<_GTokenValue>(),
18853        8usize,
18854        concat!("Alignment of ", stringify!(_GTokenValue))
18855    );
18856    assert_eq!(
18857        unsafe { ::std::ptr::addr_of!((*ptr).v_symbol) as usize - ptr as usize },
18858        0usize,
18859        concat!(
18860            "Offset of field: ",
18861            stringify!(_GTokenValue),
18862            "::",
18863            stringify!(v_symbol)
18864        )
18865    );
18866    assert_eq!(
18867        unsafe { ::std::ptr::addr_of!((*ptr).v_identifier) as usize - ptr as usize },
18868        0usize,
18869        concat!(
18870            "Offset of field: ",
18871            stringify!(_GTokenValue),
18872            "::",
18873            stringify!(v_identifier)
18874        )
18875    );
18876    assert_eq!(
18877        unsafe { ::std::ptr::addr_of!((*ptr).v_binary) as usize - ptr as usize },
18878        0usize,
18879        concat!(
18880            "Offset of field: ",
18881            stringify!(_GTokenValue),
18882            "::",
18883            stringify!(v_binary)
18884        )
18885    );
18886    assert_eq!(
18887        unsafe { ::std::ptr::addr_of!((*ptr).v_octal) as usize - ptr as usize },
18888        0usize,
18889        concat!(
18890            "Offset of field: ",
18891            stringify!(_GTokenValue),
18892            "::",
18893            stringify!(v_octal)
18894        )
18895    );
18896    assert_eq!(
18897        unsafe { ::std::ptr::addr_of!((*ptr).v_int) as usize - ptr as usize },
18898        0usize,
18899        concat!(
18900            "Offset of field: ",
18901            stringify!(_GTokenValue),
18902            "::",
18903            stringify!(v_int)
18904        )
18905    );
18906    assert_eq!(
18907        unsafe { ::std::ptr::addr_of!((*ptr).v_int64) as usize - ptr as usize },
18908        0usize,
18909        concat!(
18910            "Offset of field: ",
18911            stringify!(_GTokenValue),
18912            "::",
18913            stringify!(v_int64)
18914        )
18915    );
18916    assert_eq!(
18917        unsafe { ::std::ptr::addr_of!((*ptr).v_float) as usize - ptr as usize },
18918        0usize,
18919        concat!(
18920            "Offset of field: ",
18921            stringify!(_GTokenValue),
18922            "::",
18923            stringify!(v_float)
18924        )
18925    );
18926    assert_eq!(
18927        unsafe { ::std::ptr::addr_of!((*ptr).v_hex) as usize - ptr as usize },
18928        0usize,
18929        concat!(
18930            "Offset of field: ",
18931            stringify!(_GTokenValue),
18932            "::",
18933            stringify!(v_hex)
18934        )
18935    );
18936    assert_eq!(
18937        unsafe { ::std::ptr::addr_of!((*ptr).v_string) as usize - ptr as usize },
18938        0usize,
18939        concat!(
18940            "Offset of field: ",
18941            stringify!(_GTokenValue),
18942            "::",
18943            stringify!(v_string)
18944        )
18945    );
18946    assert_eq!(
18947        unsafe { ::std::ptr::addr_of!((*ptr).v_comment) as usize - ptr as usize },
18948        0usize,
18949        concat!(
18950            "Offset of field: ",
18951            stringify!(_GTokenValue),
18952            "::",
18953            stringify!(v_comment)
18954        )
18955    );
18956    assert_eq!(
18957        unsafe { ::std::ptr::addr_of!((*ptr).v_char) as usize - ptr as usize },
18958        0usize,
18959        concat!(
18960            "Offset of field: ",
18961            stringify!(_GTokenValue),
18962            "::",
18963            stringify!(v_char)
18964        )
18965    );
18966    assert_eq!(
18967        unsafe { ::std::ptr::addr_of!((*ptr).v_error) as usize - ptr as usize },
18968        0usize,
18969        concat!(
18970            "Offset of field: ",
18971            stringify!(_GTokenValue),
18972            "::",
18973            stringify!(v_error)
18974        )
18975    );
18976}
18977impl ::std::fmt::Debug for _GTokenValue {
18978    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18979        write!(f, "_GTokenValue {{ union }}")
18980    }
18981}
18982#[repr(C)]
18983#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18984pub struct _GScannerConfig {
18985    pub cset_skip_characters: *mut gchar,
18986    pub cset_identifier_first: *mut gchar,
18987    pub cset_identifier_nth: *mut gchar,
18988    pub cpair_comment_single: *mut gchar,
18989    pub _bitfield_align_1: [u8; 0],
18990    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>,
18991    pub padding_dummy: guint,
18992}
18993#[test]
18994fn bindgen_test_layout__GScannerConfig() {
18995    const UNINIT: ::std::mem::MaybeUninit<_GScannerConfig> = ::std::mem::MaybeUninit::uninit();
18996    let ptr = UNINIT.as_ptr();
18997    assert_eq!(
18998        ::std::mem::size_of::<_GScannerConfig>(),
18999        40usize,
19000        concat!("Size of: ", stringify!(_GScannerConfig))
19001    );
19002    assert_eq!(
19003        ::std::mem::align_of::<_GScannerConfig>(),
19004        8usize,
19005        concat!("Alignment of ", stringify!(_GScannerConfig))
19006    );
19007    assert_eq!(
19008        unsafe { ::std::ptr::addr_of!((*ptr).cset_skip_characters) as usize - ptr as usize },
19009        0usize,
19010        concat!(
19011            "Offset of field: ",
19012            stringify!(_GScannerConfig),
19013            "::",
19014            stringify!(cset_skip_characters)
19015        )
19016    );
19017    assert_eq!(
19018        unsafe { ::std::ptr::addr_of!((*ptr).cset_identifier_first) as usize - ptr as usize },
19019        8usize,
19020        concat!(
19021            "Offset of field: ",
19022            stringify!(_GScannerConfig),
19023            "::",
19024            stringify!(cset_identifier_first)
19025        )
19026    );
19027    assert_eq!(
19028        unsafe { ::std::ptr::addr_of!((*ptr).cset_identifier_nth) as usize - ptr as usize },
19029        16usize,
19030        concat!(
19031            "Offset of field: ",
19032            stringify!(_GScannerConfig),
19033            "::",
19034            stringify!(cset_identifier_nth)
19035        )
19036    );
19037    assert_eq!(
19038        unsafe { ::std::ptr::addr_of!((*ptr).cpair_comment_single) as usize - ptr as usize },
19039        24usize,
19040        concat!(
19041            "Offset of field: ",
19042            stringify!(_GScannerConfig),
19043            "::",
19044            stringify!(cpair_comment_single)
19045        )
19046    );
19047    assert_eq!(
19048        unsafe { ::std::ptr::addr_of!((*ptr).padding_dummy) as usize - ptr as usize },
19049        36usize,
19050        concat!(
19051            "Offset of field: ",
19052            stringify!(_GScannerConfig),
19053            "::",
19054            stringify!(padding_dummy)
19055        )
19056    );
19057}
19058impl _GScannerConfig {
19059    #[inline]
19060    pub fn case_sensitive(&self) -> guint {
19061        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
19062    }
19063    #[inline]
19064    pub fn set_case_sensitive(&mut self, val: guint) {
19065        unsafe {
19066            let val: u32 = ::std::mem::transmute(val);
19067            self._bitfield_1.set(0usize, 1u8, val as u64)
19068        }
19069    }
19070    #[inline]
19071    pub fn skip_comment_multi(&self) -> guint {
19072        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
19073    }
19074    #[inline]
19075    pub fn set_skip_comment_multi(&mut self, val: guint) {
19076        unsafe {
19077            let val: u32 = ::std::mem::transmute(val);
19078            self._bitfield_1.set(1usize, 1u8, val as u64)
19079        }
19080    }
19081    #[inline]
19082    pub fn skip_comment_single(&self) -> guint {
19083        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
19084    }
19085    #[inline]
19086    pub fn set_skip_comment_single(&mut self, val: guint) {
19087        unsafe {
19088            let val: u32 = ::std::mem::transmute(val);
19089            self._bitfield_1.set(2usize, 1u8, val as u64)
19090        }
19091    }
19092    #[inline]
19093    pub fn scan_comment_multi(&self) -> guint {
19094        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
19095    }
19096    #[inline]
19097    pub fn set_scan_comment_multi(&mut self, val: guint) {
19098        unsafe {
19099            let val: u32 = ::std::mem::transmute(val);
19100            self._bitfield_1.set(3usize, 1u8, val as u64)
19101        }
19102    }
19103    #[inline]
19104    pub fn scan_identifier(&self) -> guint {
19105        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
19106    }
19107    #[inline]
19108    pub fn set_scan_identifier(&mut self, val: guint) {
19109        unsafe {
19110            let val: u32 = ::std::mem::transmute(val);
19111            self._bitfield_1.set(4usize, 1u8, val as u64)
19112        }
19113    }
19114    #[inline]
19115    pub fn scan_identifier_1char(&self) -> guint {
19116        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
19117    }
19118    #[inline]
19119    pub fn set_scan_identifier_1char(&mut self, val: guint) {
19120        unsafe {
19121            let val: u32 = ::std::mem::transmute(val);
19122            self._bitfield_1.set(5usize, 1u8, val as u64)
19123        }
19124    }
19125    #[inline]
19126    pub fn scan_identifier_NULL(&self) -> guint {
19127        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
19128    }
19129    #[inline]
19130    pub fn set_scan_identifier_NULL(&mut self, val: guint) {
19131        unsafe {
19132            let val: u32 = ::std::mem::transmute(val);
19133            self._bitfield_1.set(6usize, 1u8, val as u64)
19134        }
19135    }
19136    #[inline]
19137    pub fn scan_symbols(&self) -> guint {
19138        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
19139    }
19140    #[inline]
19141    pub fn set_scan_symbols(&mut self, val: guint) {
19142        unsafe {
19143            let val: u32 = ::std::mem::transmute(val);
19144            self._bitfield_1.set(7usize, 1u8, val as u64)
19145        }
19146    }
19147    #[inline]
19148    pub fn scan_binary(&self) -> guint {
19149        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
19150    }
19151    #[inline]
19152    pub fn set_scan_binary(&mut self, val: guint) {
19153        unsafe {
19154            let val: u32 = ::std::mem::transmute(val);
19155            self._bitfield_1.set(8usize, 1u8, val as u64)
19156        }
19157    }
19158    #[inline]
19159    pub fn scan_octal(&self) -> guint {
19160        unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
19161    }
19162    #[inline]
19163    pub fn set_scan_octal(&mut self, val: guint) {
19164        unsafe {
19165            let val: u32 = ::std::mem::transmute(val);
19166            self._bitfield_1.set(9usize, 1u8, val as u64)
19167        }
19168    }
19169    #[inline]
19170    pub fn scan_float(&self) -> guint {
19171        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
19172    }
19173    #[inline]
19174    pub fn set_scan_float(&mut self, val: guint) {
19175        unsafe {
19176            let val: u32 = ::std::mem::transmute(val);
19177            self._bitfield_1.set(10usize, 1u8, val as u64)
19178        }
19179    }
19180    #[inline]
19181    pub fn scan_hex(&self) -> guint {
19182        unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
19183    }
19184    #[inline]
19185    pub fn set_scan_hex(&mut self, val: guint) {
19186        unsafe {
19187            let val: u32 = ::std::mem::transmute(val);
19188            self._bitfield_1.set(11usize, 1u8, val as u64)
19189        }
19190    }
19191    #[inline]
19192    pub fn scan_hex_dollar(&self) -> guint {
19193        unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
19194    }
19195    #[inline]
19196    pub fn set_scan_hex_dollar(&mut self, val: guint) {
19197        unsafe {
19198            let val: u32 = ::std::mem::transmute(val);
19199            self._bitfield_1.set(12usize, 1u8, val as u64)
19200        }
19201    }
19202    #[inline]
19203    pub fn scan_string_sq(&self) -> guint {
19204        unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
19205    }
19206    #[inline]
19207    pub fn set_scan_string_sq(&mut self, val: guint) {
19208        unsafe {
19209            let val: u32 = ::std::mem::transmute(val);
19210            self._bitfield_1.set(13usize, 1u8, val as u64)
19211        }
19212    }
19213    #[inline]
19214    pub fn scan_string_dq(&self) -> guint {
19215        unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
19216    }
19217    #[inline]
19218    pub fn set_scan_string_dq(&mut self, val: guint) {
19219        unsafe {
19220            let val: u32 = ::std::mem::transmute(val);
19221            self._bitfield_1.set(14usize, 1u8, val as u64)
19222        }
19223    }
19224    #[inline]
19225    pub fn numbers_2_int(&self) -> guint {
19226        unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
19227    }
19228    #[inline]
19229    pub fn set_numbers_2_int(&mut self, val: guint) {
19230        unsafe {
19231            let val: u32 = ::std::mem::transmute(val);
19232            self._bitfield_1.set(15usize, 1u8, val as u64)
19233        }
19234    }
19235    #[inline]
19236    pub fn int_2_float(&self) -> guint {
19237        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
19238    }
19239    #[inline]
19240    pub fn set_int_2_float(&mut self, val: guint) {
19241        unsafe {
19242            let val: u32 = ::std::mem::transmute(val);
19243            self._bitfield_1.set(16usize, 1u8, val as u64)
19244        }
19245    }
19246    #[inline]
19247    pub fn identifier_2_string(&self) -> guint {
19248        unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) }
19249    }
19250    #[inline]
19251    pub fn set_identifier_2_string(&mut self, val: guint) {
19252        unsafe {
19253            let val: u32 = ::std::mem::transmute(val);
19254            self._bitfield_1.set(17usize, 1u8, val as u64)
19255        }
19256    }
19257    #[inline]
19258    pub fn char_2_token(&self) -> guint {
19259        unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) }
19260    }
19261    #[inline]
19262    pub fn set_char_2_token(&mut self, val: guint) {
19263        unsafe {
19264            let val: u32 = ::std::mem::transmute(val);
19265            self._bitfield_1.set(18usize, 1u8, val as u64)
19266        }
19267    }
19268    #[inline]
19269    pub fn symbol_2_token(&self) -> guint {
19270        unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) }
19271    }
19272    #[inline]
19273    pub fn set_symbol_2_token(&mut self, val: guint) {
19274        unsafe {
19275            let val: u32 = ::std::mem::transmute(val);
19276            self._bitfield_1.set(19usize, 1u8, val as u64)
19277        }
19278    }
19279    #[inline]
19280    pub fn scope_0_fallback(&self) -> guint {
19281        unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) }
19282    }
19283    #[inline]
19284    pub fn set_scope_0_fallback(&mut self, val: guint) {
19285        unsafe {
19286            let val: u32 = ::std::mem::transmute(val);
19287            self._bitfield_1.set(20usize, 1u8, val as u64)
19288        }
19289    }
19290    #[inline]
19291    pub fn store_int64(&self) -> guint {
19292        unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) }
19293    }
19294    #[inline]
19295    pub fn set_store_int64(&mut self, val: guint) {
19296        unsafe {
19297            let val: u32 = ::std::mem::transmute(val);
19298            self._bitfield_1.set(21usize, 1u8, val as u64)
19299        }
19300    }
19301    #[inline]
19302    pub fn new_bitfield_1(
19303        case_sensitive: guint,
19304        skip_comment_multi: guint,
19305        skip_comment_single: guint,
19306        scan_comment_multi: guint,
19307        scan_identifier: guint,
19308        scan_identifier_1char: guint,
19309        scan_identifier_NULL: guint,
19310        scan_symbols: guint,
19311        scan_binary: guint,
19312        scan_octal: guint,
19313        scan_float: guint,
19314        scan_hex: guint,
19315        scan_hex_dollar: guint,
19316        scan_string_sq: guint,
19317        scan_string_dq: guint,
19318        numbers_2_int: guint,
19319        int_2_float: guint,
19320        identifier_2_string: guint,
19321        char_2_token: guint,
19322        symbol_2_token: guint,
19323        scope_0_fallback: guint,
19324        store_int64: guint,
19325    ) -> __BindgenBitfieldUnit<[u8; 3usize]> {
19326        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default();
19327        __bindgen_bitfield_unit.set(0usize, 1u8, {
19328            let case_sensitive: u32 = unsafe { ::std::mem::transmute(case_sensitive) };
19329            case_sensitive as u64
19330        });
19331        __bindgen_bitfield_unit.set(1usize, 1u8, {
19332            let skip_comment_multi: u32 = unsafe { ::std::mem::transmute(skip_comment_multi) };
19333            skip_comment_multi as u64
19334        });
19335        __bindgen_bitfield_unit.set(2usize, 1u8, {
19336            let skip_comment_single: u32 = unsafe { ::std::mem::transmute(skip_comment_single) };
19337            skip_comment_single as u64
19338        });
19339        __bindgen_bitfield_unit.set(3usize, 1u8, {
19340            let scan_comment_multi: u32 = unsafe { ::std::mem::transmute(scan_comment_multi) };
19341            scan_comment_multi as u64
19342        });
19343        __bindgen_bitfield_unit.set(4usize, 1u8, {
19344            let scan_identifier: u32 = unsafe { ::std::mem::transmute(scan_identifier) };
19345            scan_identifier as u64
19346        });
19347        __bindgen_bitfield_unit.set(5usize, 1u8, {
19348            let scan_identifier_1char: u32 =
19349                unsafe { ::std::mem::transmute(scan_identifier_1char) };
19350            scan_identifier_1char as u64
19351        });
19352        __bindgen_bitfield_unit.set(6usize, 1u8, {
19353            let scan_identifier_NULL: u32 = unsafe { ::std::mem::transmute(scan_identifier_NULL) };
19354            scan_identifier_NULL as u64
19355        });
19356        __bindgen_bitfield_unit.set(7usize, 1u8, {
19357            let scan_symbols: u32 = unsafe { ::std::mem::transmute(scan_symbols) };
19358            scan_symbols as u64
19359        });
19360        __bindgen_bitfield_unit.set(8usize, 1u8, {
19361            let scan_binary: u32 = unsafe { ::std::mem::transmute(scan_binary) };
19362            scan_binary as u64
19363        });
19364        __bindgen_bitfield_unit.set(9usize, 1u8, {
19365            let scan_octal: u32 = unsafe { ::std::mem::transmute(scan_octal) };
19366            scan_octal as u64
19367        });
19368        __bindgen_bitfield_unit.set(10usize, 1u8, {
19369            let scan_float: u32 = unsafe { ::std::mem::transmute(scan_float) };
19370            scan_float as u64
19371        });
19372        __bindgen_bitfield_unit.set(11usize, 1u8, {
19373            let scan_hex: u32 = unsafe { ::std::mem::transmute(scan_hex) };
19374            scan_hex as u64
19375        });
19376        __bindgen_bitfield_unit.set(12usize, 1u8, {
19377            let scan_hex_dollar: u32 = unsafe { ::std::mem::transmute(scan_hex_dollar) };
19378            scan_hex_dollar as u64
19379        });
19380        __bindgen_bitfield_unit.set(13usize, 1u8, {
19381            let scan_string_sq: u32 = unsafe { ::std::mem::transmute(scan_string_sq) };
19382            scan_string_sq as u64
19383        });
19384        __bindgen_bitfield_unit.set(14usize, 1u8, {
19385            let scan_string_dq: u32 = unsafe { ::std::mem::transmute(scan_string_dq) };
19386            scan_string_dq as u64
19387        });
19388        __bindgen_bitfield_unit.set(15usize, 1u8, {
19389            let numbers_2_int: u32 = unsafe { ::std::mem::transmute(numbers_2_int) };
19390            numbers_2_int as u64
19391        });
19392        __bindgen_bitfield_unit.set(16usize, 1u8, {
19393            let int_2_float: u32 = unsafe { ::std::mem::transmute(int_2_float) };
19394            int_2_float as u64
19395        });
19396        __bindgen_bitfield_unit.set(17usize, 1u8, {
19397            let identifier_2_string: u32 = unsafe { ::std::mem::transmute(identifier_2_string) };
19398            identifier_2_string as u64
19399        });
19400        __bindgen_bitfield_unit.set(18usize, 1u8, {
19401            let char_2_token: u32 = unsafe { ::std::mem::transmute(char_2_token) };
19402            char_2_token as u64
19403        });
19404        __bindgen_bitfield_unit.set(19usize, 1u8, {
19405            let symbol_2_token: u32 = unsafe { ::std::mem::transmute(symbol_2_token) };
19406            symbol_2_token as u64
19407        });
19408        __bindgen_bitfield_unit.set(20usize, 1u8, {
19409            let scope_0_fallback: u32 = unsafe { ::std::mem::transmute(scope_0_fallback) };
19410            scope_0_fallback as u64
19411        });
19412        __bindgen_bitfield_unit.set(21usize, 1u8, {
19413            let store_int64: u32 = unsafe { ::std::mem::transmute(store_int64) };
19414            store_int64 as u64
19415        });
19416        __bindgen_bitfield_unit
19417    }
19418}
19419#[repr(C)]
19420#[derive(Copy, Clone)]
19421pub struct _GScanner {
19422    pub user_data: gpointer,
19423    pub max_parse_errors: guint,
19424    pub parse_errors: guint,
19425    pub input_name: *const gchar,
19426    pub qdata: *mut GData,
19427    pub config: *mut GScannerConfig,
19428    pub token: GTokenType,
19429    pub value: GTokenValue,
19430    pub line: guint,
19431    pub position: guint,
19432    pub next_token: GTokenType,
19433    pub next_value: GTokenValue,
19434    pub next_line: guint,
19435    pub next_position: guint,
19436    pub symbol_table: *mut GHashTable,
19437    pub input_fd: gint,
19438    pub text: *const gchar,
19439    pub text_end: *const gchar,
19440    pub buffer: *mut gchar,
19441    pub scope_id: guint,
19442    pub msg_handler: GScannerMsgFunc,
19443}
19444#[test]
19445fn bindgen_test_layout__GScanner() {
19446    const UNINIT: ::std::mem::MaybeUninit<_GScanner> = ::std::mem::MaybeUninit::uninit();
19447    let ptr = UNINIT.as_ptr();
19448    assert_eq!(
19449        ::std::mem::size_of::<_GScanner>(),
19450        144usize,
19451        concat!("Size of: ", stringify!(_GScanner))
19452    );
19453    assert_eq!(
19454        ::std::mem::align_of::<_GScanner>(),
19455        8usize,
19456        concat!("Alignment of ", stringify!(_GScanner))
19457    );
19458    assert_eq!(
19459        unsafe { ::std::ptr::addr_of!((*ptr).user_data) as usize - ptr as usize },
19460        0usize,
19461        concat!(
19462            "Offset of field: ",
19463            stringify!(_GScanner),
19464            "::",
19465            stringify!(user_data)
19466        )
19467    );
19468    assert_eq!(
19469        unsafe { ::std::ptr::addr_of!((*ptr).max_parse_errors) as usize - ptr as usize },
19470        8usize,
19471        concat!(
19472            "Offset of field: ",
19473            stringify!(_GScanner),
19474            "::",
19475            stringify!(max_parse_errors)
19476        )
19477    );
19478    assert_eq!(
19479        unsafe { ::std::ptr::addr_of!((*ptr).parse_errors) as usize - ptr as usize },
19480        12usize,
19481        concat!(
19482            "Offset of field: ",
19483            stringify!(_GScanner),
19484            "::",
19485            stringify!(parse_errors)
19486        )
19487    );
19488    assert_eq!(
19489        unsafe { ::std::ptr::addr_of!((*ptr).input_name) as usize - ptr as usize },
19490        16usize,
19491        concat!(
19492            "Offset of field: ",
19493            stringify!(_GScanner),
19494            "::",
19495            stringify!(input_name)
19496        )
19497    );
19498    assert_eq!(
19499        unsafe { ::std::ptr::addr_of!((*ptr).qdata) as usize - ptr as usize },
19500        24usize,
19501        concat!(
19502            "Offset of field: ",
19503            stringify!(_GScanner),
19504            "::",
19505            stringify!(qdata)
19506        )
19507    );
19508    assert_eq!(
19509        unsafe { ::std::ptr::addr_of!((*ptr).config) as usize - ptr as usize },
19510        32usize,
19511        concat!(
19512            "Offset of field: ",
19513            stringify!(_GScanner),
19514            "::",
19515            stringify!(config)
19516        )
19517    );
19518    assert_eq!(
19519        unsafe { ::std::ptr::addr_of!((*ptr).token) as usize - ptr as usize },
19520        40usize,
19521        concat!(
19522            "Offset of field: ",
19523            stringify!(_GScanner),
19524            "::",
19525            stringify!(token)
19526        )
19527    );
19528    assert_eq!(
19529        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
19530        48usize,
19531        concat!(
19532            "Offset of field: ",
19533            stringify!(_GScanner),
19534            "::",
19535            stringify!(value)
19536        )
19537    );
19538    assert_eq!(
19539        unsafe { ::std::ptr::addr_of!((*ptr).line) as usize - ptr as usize },
19540        56usize,
19541        concat!(
19542            "Offset of field: ",
19543            stringify!(_GScanner),
19544            "::",
19545            stringify!(line)
19546        )
19547    );
19548    assert_eq!(
19549        unsafe { ::std::ptr::addr_of!((*ptr).position) as usize - ptr as usize },
19550        60usize,
19551        concat!(
19552            "Offset of field: ",
19553            stringify!(_GScanner),
19554            "::",
19555            stringify!(position)
19556        )
19557    );
19558    assert_eq!(
19559        unsafe { ::std::ptr::addr_of!((*ptr).next_token) as usize - ptr as usize },
19560        64usize,
19561        concat!(
19562            "Offset of field: ",
19563            stringify!(_GScanner),
19564            "::",
19565            stringify!(next_token)
19566        )
19567    );
19568    assert_eq!(
19569        unsafe { ::std::ptr::addr_of!((*ptr).next_value) as usize - ptr as usize },
19570        72usize,
19571        concat!(
19572            "Offset of field: ",
19573            stringify!(_GScanner),
19574            "::",
19575            stringify!(next_value)
19576        )
19577    );
19578    assert_eq!(
19579        unsafe { ::std::ptr::addr_of!((*ptr).next_line) as usize - ptr as usize },
19580        80usize,
19581        concat!(
19582            "Offset of field: ",
19583            stringify!(_GScanner),
19584            "::",
19585            stringify!(next_line)
19586        )
19587    );
19588    assert_eq!(
19589        unsafe { ::std::ptr::addr_of!((*ptr).next_position) as usize - ptr as usize },
19590        84usize,
19591        concat!(
19592            "Offset of field: ",
19593            stringify!(_GScanner),
19594            "::",
19595            stringify!(next_position)
19596        )
19597    );
19598    assert_eq!(
19599        unsafe { ::std::ptr::addr_of!((*ptr).symbol_table) as usize - ptr as usize },
19600        88usize,
19601        concat!(
19602            "Offset of field: ",
19603            stringify!(_GScanner),
19604            "::",
19605            stringify!(symbol_table)
19606        )
19607    );
19608    assert_eq!(
19609        unsafe { ::std::ptr::addr_of!((*ptr).input_fd) as usize - ptr as usize },
19610        96usize,
19611        concat!(
19612            "Offset of field: ",
19613            stringify!(_GScanner),
19614            "::",
19615            stringify!(input_fd)
19616        )
19617    );
19618    assert_eq!(
19619        unsafe { ::std::ptr::addr_of!((*ptr).text) as usize - ptr as usize },
19620        104usize,
19621        concat!(
19622            "Offset of field: ",
19623            stringify!(_GScanner),
19624            "::",
19625            stringify!(text)
19626        )
19627    );
19628    assert_eq!(
19629        unsafe { ::std::ptr::addr_of!((*ptr).text_end) as usize - ptr as usize },
19630        112usize,
19631        concat!(
19632            "Offset of field: ",
19633            stringify!(_GScanner),
19634            "::",
19635            stringify!(text_end)
19636        )
19637    );
19638    assert_eq!(
19639        unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
19640        120usize,
19641        concat!(
19642            "Offset of field: ",
19643            stringify!(_GScanner),
19644            "::",
19645            stringify!(buffer)
19646        )
19647    );
19648    assert_eq!(
19649        unsafe { ::std::ptr::addr_of!((*ptr).scope_id) as usize - ptr as usize },
19650        128usize,
19651        concat!(
19652            "Offset of field: ",
19653            stringify!(_GScanner),
19654            "::",
19655            stringify!(scope_id)
19656        )
19657    );
19658    assert_eq!(
19659        unsafe { ::std::ptr::addr_of!((*ptr).msg_handler) as usize - ptr as usize },
19660        136usize,
19661        concat!(
19662            "Offset of field: ",
19663            stringify!(_GScanner),
19664            "::",
19665            stringify!(msg_handler)
19666        )
19667    );
19668}
19669impl ::std::fmt::Debug for _GScanner {
19670    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19671        write ! (f , "_GScanner {{ user_data: {:?}, max_parse_errors: {:?}, parse_errors: {:?}, input_name: {:?}, qdata: {:?}, config: {:?}, token: {:?}, value: {:?}, line: {:?}, position: {:?}, next_token: {:?}, next_value: {:?}, next_line: {:?}, next_position: {:?}, symbol_table: {:?}, input_fd: {:?}, text: {:?}, text_end: {:?}, buffer: {:?}, scope_id: {:?}, msg_handler: {:?} }}" , self . user_data , self . max_parse_errors , self . parse_errors , self . input_name , self . qdata , self . config , self . token , self . value , self . line , self . position , self . next_token , self . next_value , self . next_line , self . next_position , self . symbol_table , self . input_fd , self . text , self . text_end , self . buffer , self . scope_id , self . msg_handler)
19672    }
19673}
19674extern "C" {
19675    pub fn g_scanner_new(config_templ: *const GScannerConfig) -> *mut GScanner;
19676}
19677extern "C" {
19678    pub fn g_scanner_destroy(scanner: *mut GScanner);
19679}
19680extern "C" {
19681    pub fn g_scanner_input_file(scanner: *mut GScanner, input_fd: gint);
19682}
19683extern "C" {
19684    pub fn g_scanner_sync_file_offset(scanner: *mut GScanner);
19685}
19686extern "C" {
19687    pub fn g_scanner_input_text(scanner: *mut GScanner, text: *const gchar, text_len: guint);
19688}
19689extern "C" {
19690    pub fn g_scanner_get_next_token(scanner: *mut GScanner) -> GTokenType;
19691}
19692extern "C" {
19693    pub fn g_scanner_peek_next_token(scanner: *mut GScanner) -> GTokenType;
19694}
19695extern "C" {
19696    pub fn g_scanner_cur_token(scanner: *mut GScanner) -> GTokenType;
19697}
19698extern "C" {
19699    pub fn g_scanner_cur_value(scanner: *mut GScanner) -> GTokenValue;
19700}
19701extern "C" {
19702    pub fn g_scanner_cur_line(scanner: *mut GScanner) -> guint;
19703}
19704extern "C" {
19705    pub fn g_scanner_cur_position(scanner: *mut GScanner) -> guint;
19706}
19707extern "C" {
19708    pub fn g_scanner_eof(scanner: *mut GScanner) -> gboolean;
19709}
19710extern "C" {
19711    pub fn g_scanner_set_scope(scanner: *mut GScanner, scope_id: guint) -> guint;
19712}
19713extern "C" {
19714    pub fn g_scanner_scope_add_symbol(
19715        scanner: *mut GScanner,
19716        scope_id: guint,
19717        symbol: *const gchar,
19718        value: gpointer,
19719    );
19720}
19721extern "C" {
19722    pub fn g_scanner_scope_remove_symbol(
19723        scanner: *mut GScanner,
19724        scope_id: guint,
19725        symbol: *const gchar,
19726    );
19727}
19728extern "C" {
19729    pub fn g_scanner_scope_lookup_symbol(
19730        scanner: *mut GScanner,
19731        scope_id: guint,
19732        symbol: *const gchar,
19733    ) -> gpointer;
19734}
19735extern "C" {
19736    pub fn g_scanner_scope_foreach_symbol(
19737        scanner: *mut GScanner,
19738        scope_id: guint,
19739        func: GHFunc,
19740        user_data: gpointer,
19741    );
19742}
19743extern "C" {
19744    pub fn g_scanner_lookup_symbol(scanner: *mut GScanner, symbol: *const gchar) -> gpointer;
19745}
19746extern "C" {
19747    pub fn g_scanner_unexp_token(
19748        scanner: *mut GScanner,
19749        expected_token: GTokenType,
19750        identifier_spec: *const gchar,
19751        symbol_spec: *const gchar,
19752        symbol_name: *const gchar,
19753        message: *const gchar,
19754        is_error: gint,
19755    );
19756}
19757extern "C" {
19758    pub fn g_scanner_error(scanner: *mut GScanner, format: *const gchar, ...);
19759}
19760extern "C" {
19761    pub fn g_scanner_warn(scanner: *mut GScanner, format: *const gchar, ...);
19762}
19763#[repr(C)]
19764#[derive(Debug, Copy, Clone)]
19765pub struct _GSequence {
19766    _unused: [u8; 0],
19767}
19768pub type GSequence = _GSequence;
19769#[repr(C)]
19770#[derive(Debug, Copy, Clone)]
19771pub struct _GSequenceNode {
19772    _unused: [u8; 0],
19773}
19774pub type GSequenceIter = _GSequenceNode;
19775pub type GSequenceIterCompareFunc = ::std::option::Option<
19776    unsafe extern "C" fn(a: *mut GSequenceIter, b: *mut GSequenceIter, data: gpointer) -> gint,
19777>;
19778extern "C" {
19779    pub fn g_sequence_new(data_destroy: GDestroyNotify) -> *mut GSequence;
19780}
19781extern "C" {
19782    pub fn g_sequence_free(seq: *mut GSequence);
19783}
19784extern "C" {
19785    pub fn g_sequence_get_length(seq: *mut GSequence) -> gint;
19786}
19787extern "C" {
19788    pub fn g_sequence_foreach(seq: *mut GSequence, func: GFunc, user_data: gpointer);
19789}
19790extern "C" {
19791    pub fn g_sequence_foreach_range(
19792        begin: *mut GSequenceIter,
19793        end: *mut GSequenceIter,
19794        func: GFunc,
19795        user_data: gpointer,
19796    );
19797}
19798extern "C" {
19799    pub fn g_sequence_sort(seq: *mut GSequence, cmp_func: GCompareDataFunc, cmp_data: gpointer);
19800}
19801extern "C" {
19802    pub fn g_sequence_sort_iter(
19803        seq: *mut GSequence,
19804        cmp_func: GSequenceIterCompareFunc,
19805        cmp_data: gpointer,
19806    );
19807}
19808extern "C" {
19809    pub fn g_sequence_is_empty(seq: *mut GSequence) -> gboolean;
19810}
19811extern "C" {
19812    pub fn g_sequence_get_begin_iter(seq: *mut GSequence) -> *mut GSequenceIter;
19813}
19814extern "C" {
19815    pub fn g_sequence_get_end_iter(seq: *mut GSequence) -> *mut GSequenceIter;
19816}
19817extern "C" {
19818    pub fn g_sequence_get_iter_at_pos(seq: *mut GSequence, pos: gint) -> *mut GSequenceIter;
19819}
19820extern "C" {
19821    pub fn g_sequence_append(seq: *mut GSequence, data: gpointer) -> *mut GSequenceIter;
19822}
19823extern "C" {
19824    pub fn g_sequence_prepend(seq: *mut GSequence, data: gpointer) -> *mut GSequenceIter;
19825}
19826extern "C" {
19827    pub fn g_sequence_insert_before(iter: *mut GSequenceIter, data: gpointer)
19828        -> *mut GSequenceIter;
19829}
19830extern "C" {
19831    pub fn g_sequence_move(src: *mut GSequenceIter, dest: *mut GSequenceIter);
19832}
19833extern "C" {
19834    pub fn g_sequence_swap(a: *mut GSequenceIter, b: *mut GSequenceIter);
19835}
19836extern "C" {
19837    pub fn g_sequence_insert_sorted(
19838        seq: *mut GSequence,
19839        data: gpointer,
19840        cmp_func: GCompareDataFunc,
19841        cmp_data: gpointer,
19842    ) -> *mut GSequenceIter;
19843}
19844extern "C" {
19845    pub fn g_sequence_insert_sorted_iter(
19846        seq: *mut GSequence,
19847        data: gpointer,
19848        iter_cmp: GSequenceIterCompareFunc,
19849        cmp_data: gpointer,
19850    ) -> *mut GSequenceIter;
19851}
19852extern "C" {
19853    pub fn g_sequence_sort_changed(
19854        iter: *mut GSequenceIter,
19855        cmp_func: GCompareDataFunc,
19856        cmp_data: gpointer,
19857    );
19858}
19859extern "C" {
19860    pub fn g_sequence_sort_changed_iter(
19861        iter: *mut GSequenceIter,
19862        iter_cmp: GSequenceIterCompareFunc,
19863        cmp_data: gpointer,
19864    );
19865}
19866extern "C" {
19867    pub fn g_sequence_remove(iter: *mut GSequenceIter);
19868}
19869extern "C" {
19870    pub fn g_sequence_remove_range(begin: *mut GSequenceIter, end: *mut GSequenceIter);
19871}
19872extern "C" {
19873    pub fn g_sequence_move_range(
19874        dest: *mut GSequenceIter,
19875        begin: *mut GSequenceIter,
19876        end: *mut GSequenceIter,
19877    );
19878}
19879extern "C" {
19880    pub fn g_sequence_search(
19881        seq: *mut GSequence,
19882        data: gpointer,
19883        cmp_func: GCompareDataFunc,
19884        cmp_data: gpointer,
19885    ) -> *mut GSequenceIter;
19886}
19887extern "C" {
19888    pub fn g_sequence_search_iter(
19889        seq: *mut GSequence,
19890        data: gpointer,
19891        iter_cmp: GSequenceIterCompareFunc,
19892        cmp_data: gpointer,
19893    ) -> *mut GSequenceIter;
19894}
19895extern "C" {
19896    pub fn g_sequence_lookup(
19897        seq: *mut GSequence,
19898        data: gpointer,
19899        cmp_func: GCompareDataFunc,
19900        cmp_data: gpointer,
19901    ) -> *mut GSequenceIter;
19902}
19903extern "C" {
19904    pub fn g_sequence_lookup_iter(
19905        seq: *mut GSequence,
19906        data: gpointer,
19907        iter_cmp: GSequenceIterCompareFunc,
19908        cmp_data: gpointer,
19909    ) -> *mut GSequenceIter;
19910}
19911extern "C" {
19912    pub fn g_sequence_get(iter: *mut GSequenceIter) -> gpointer;
19913}
19914extern "C" {
19915    pub fn g_sequence_set(iter: *mut GSequenceIter, data: gpointer);
19916}
19917extern "C" {
19918    pub fn g_sequence_iter_is_begin(iter: *mut GSequenceIter) -> gboolean;
19919}
19920extern "C" {
19921    pub fn g_sequence_iter_is_end(iter: *mut GSequenceIter) -> gboolean;
19922}
19923extern "C" {
19924    pub fn g_sequence_iter_next(iter: *mut GSequenceIter) -> *mut GSequenceIter;
19925}
19926extern "C" {
19927    pub fn g_sequence_iter_prev(iter: *mut GSequenceIter) -> *mut GSequenceIter;
19928}
19929extern "C" {
19930    pub fn g_sequence_iter_get_position(iter: *mut GSequenceIter) -> gint;
19931}
19932extern "C" {
19933    pub fn g_sequence_iter_move(iter: *mut GSequenceIter, delta: gint) -> *mut GSequenceIter;
19934}
19935extern "C" {
19936    pub fn g_sequence_iter_get_sequence(iter: *mut GSequenceIter) -> *mut GSequence;
19937}
19938extern "C" {
19939    pub fn g_sequence_iter_compare(a: *mut GSequenceIter, b: *mut GSequenceIter) -> gint;
19940}
19941extern "C" {
19942    pub fn g_sequence_range_get_midpoint(
19943        begin: *mut GSequenceIter,
19944        end: *mut GSequenceIter,
19945    ) -> *mut GSequenceIter;
19946}
19947pub const GShellError_G_SHELL_ERROR_BAD_QUOTING: GShellError = 0;
19948pub const GShellError_G_SHELL_ERROR_EMPTY_STRING: GShellError = 1;
19949pub const GShellError_G_SHELL_ERROR_FAILED: GShellError = 2;
19950pub type GShellError = ::std::os::raw::c_uint;
19951extern "C" {
19952    pub fn g_shell_error_quark() -> GQuark;
19953}
19954extern "C" {
19955    pub fn g_shell_quote(unquoted_string: *const gchar) -> *mut gchar;
19956}
19957extern "C" {
19958    pub fn g_shell_unquote(quoted_string: *const gchar, error: *mut *mut GError) -> *mut gchar;
19959}
19960extern "C" {
19961    pub fn g_shell_parse_argv(
19962        command_line: *const gchar,
19963        argcp: *mut gint,
19964        argvp: *mut *mut *mut gchar,
19965        error: *mut *mut GError,
19966    ) -> gboolean;
19967}
19968extern "C" {
19969    pub fn g_slice_alloc(block_size: gsize) -> gpointer;
19970}
19971extern "C" {
19972    pub fn g_slice_alloc0(block_size: gsize) -> gpointer;
19973}
19974extern "C" {
19975    pub fn g_slice_copy(block_size: gsize, mem_block: gconstpointer) -> gpointer;
19976}
19977extern "C" {
19978    pub fn g_slice_free1(block_size: gsize, mem_block: gpointer);
19979}
19980extern "C" {
19981    pub fn g_slice_free_chain_with_offset(
19982        block_size: gsize,
19983        mem_chain: gpointer,
19984        next_offset: gsize,
19985    );
19986}
19987pub const GSliceConfig_G_SLICE_CONFIG_ALWAYS_MALLOC: GSliceConfig = 1;
19988pub const GSliceConfig_G_SLICE_CONFIG_BYPASS_MAGAZINES: GSliceConfig = 2;
19989pub const GSliceConfig_G_SLICE_CONFIG_WORKING_SET_MSECS: GSliceConfig = 3;
19990pub const GSliceConfig_G_SLICE_CONFIG_COLOR_INCREMENT: GSliceConfig = 4;
19991pub const GSliceConfig_G_SLICE_CONFIG_CHUNK_SIZES: GSliceConfig = 5;
19992pub const GSliceConfig_G_SLICE_CONFIG_CONTENTION_COUNTER: GSliceConfig = 6;
19993pub type GSliceConfig = ::std::os::raw::c_uint;
19994extern "C" {
19995    pub fn g_slice_set_config(ckey: GSliceConfig, value: gint64);
19996}
19997extern "C" {
19998    pub fn g_slice_get_config(ckey: GSliceConfig) -> gint64;
19999}
20000extern "C" {
20001    pub fn g_slice_get_config_state(
20002        ckey: GSliceConfig,
20003        address: gint64,
20004        n_values: *mut guint,
20005    ) -> *mut gint64;
20006}
20007pub const GSpawnError_G_SPAWN_ERROR_FORK: GSpawnError = 0;
20008pub const GSpawnError_G_SPAWN_ERROR_READ: GSpawnError = 1;
20009pub const GSpawnError_G_SPAWN_ERROR_CHDIR: GSpawnError = 2;
20010pub const GSpawnError_G_SPAWN_ERROR_ACCES: GSpawnError = 3;
20011pub const GSpawnError_G_SPAWN_ERROR_PERM: GSpawnError = 4;
20012pub const GSpawnError_G_SPAWN_ERROR_TOO_BIG: GSpawnError = 5;
20013pub const GSpawnError_G_SPAWN_ERROR_2BIG: GSpawnError = 5;
20014pub const GSpawnError_G_SPAWN_ERROR_NOEXEC: GSpawnError = 6;
20015pub const GSpawnError_G_SPAWN_ERROR_NAMETOOLONG: GSpawnError = 7;
20016pub const GSpawnError_G_SPAWN_ERROR_NOENT: GSpawnError = 8;
20017pub const GSpawnError_G_SPAWN_ERROR_NOMEM: GSpawnError = 9;
20018pub const GSpawnError_G_SPAWN_ERROR_NOTDIR: GSpawnError = 10;
20019pub const GSpawnError_G_SPAWN_ERROR_LOOP: GSpawnError = 11;
20020pub const GSpawnError_G_SPAWN_ERROR_TXTBUSY: GSpawnError = 12;
20021pub const GSpawnError_G_SPAWN_ERROR_IO: GSpawnError = 13;
20022pub const GSpawnError_G_SPAWN_ERROR_NFILE: GSpawnError = 14;
20023pub const GSpawnError_G_SPAWN_ERROR_MFILE: GSpawnError = 15;
20024pub const GSpawnError_G_SPAWN_ERROR_INVAL: GSpawnError = 16;
20025pub const GSpawnError_G_SPAWN_ERROR_ISDIR: GSpawnError = 17;
20026pub const GSpawnError_G_SPAWN_ERROR_LIBBAD: GSpawnError = 18;
20027pub const GSpawnError_G_SPAWN_ERROR_FAILED: GSpawnError = 19;
20028#[doc = " GSpawnError:\n @G_SPAWN_ERROR_FORK: Fork failed due to lack of memory.\n @G_SPAWN_ERROR_READ: Read or select on pipes failed.\n @G_SPAWN_ERROR_CHDIR: Changing to working directory failed.\n @G_SPAWN_ERROR_ACCES: execv() returned `EACCES`\n @G_SPAWN_ERROR_PERM: execv() returned `EPERM`\n @G_SPAWN_ERROR_TOO_BIG: execv() returned `E2BIG`\n @G_SPAWN_ERROR_2BIG: deprecated alias for %G_SPAWN_ERROR_TOO_BIG (deprecated since GLib 2.32)\n @G_SPAWN_ERROR_NOEXEC: execv() returned `ENOEXEC`\n @G_SPAWN_ERROR_NAMETOOLONG: execv() returned `ENAMETOOLONG`\n @G_SPAWN_ERROR_NOENT: execv() returned `ENOENT`\n @G_SPAWN_ERROR_NOMEM: execv() returned `ENOMEM`\n @G_SPAWN_ERROR_NOTDIR: execv() returned `ENOTDIR`\n @G_SPAWN_ERROR_LOOP: execv() returned `ELOOP`\n @G_SPAWN_ERROR_TXTBUSY: execv() returned `ETXTBUSY`\n @G_SPAWN_ERROR_IO: execv() returned `EIO`\n @G_SPAWN_ERROR_NFILE: execv() returned `ENFILE`\n @G_SPAWN_ERROR_MFILE: execv() returned `EMFILE`\n @G_SPAWN_ERROR_INVAL: execv() returned `EINVAL`\n @G_SPAWN_ERROR_ISDIR: execv() returned `EISDIR`\n @G_SPAWN_ERROR_LIBBAD: execv() returned `ELIBBAD`\n @G_SPAWN_ERROR_FAILED: Some other fatal failure,\n   `error->message` should explain.\n\n Error codes returned by spawning processes."]
20029pub type GSpawnError = ::std::os::raw::c_uint;
20030#[doc = " GSpawnChildSetupFunc:\n @data: user data passed to the function.\n\n Specifies the type of the setup function passed to g_spawn_async(),\n g_spawn_sync() and g_spawn_async_with_pipes(), which can, in very\n limited ways, be used to affect the child's execution.\n\n On POSIX platforms, the function is called in the child after GLib\n has performed all the setup it plans to perform, but before calling\n exec(). Actions taken in this function will only affect the child,\n not the parent.\n\n On Windows, the function is called in the parent. Its usefulness on\n Windows is thus questionable. In many cases executing the child setup\n function in the parent can have ill effects, and you should be very\n careful when porting software to Windows that uses child setup\n functions.\n\n However, even on POSIX, you are extremely limited in what you can\n safely do from a #GSpawnChildSetupFunc, because any mutexes that were\n held by other threads in the parent process at the time of the fork()\n will still be locked in the child process, and they will never be\n unlocked (since the threads that held them don't exist in the child).\n POSIX allows only async-signal-safe functions (see signal(7)) to be\n called in the child between fork() and exec(), which drastically limits\n the usefulness of child setup functions.\n\n In particular, it is not safe to call any function which may\n call malloc(), which includes POSIX functions such as setenv().\n If you need to set up the child environment differently from\n the parent, you should use g_get_environ(), g_environ_setenv(),\n and g_environ_unsetenv(), and then pass the complete environment\n list to the `g_spawn...` function."]
20031pub type GSpawnChildSetupFunc = ::std::option::Option<unsafe extern "C" fn(data: gpointer)>;
20032pub const GSpawnFlags_G_SPAWN_DEFAULT: GSpawnFlags = 0;
20033pub const GSpawnFlags_G_SPAWN_LEAVE_DESCRIPTORS_OPEN: GSpawnFlags = 1;
20034pub const GSpawnFlags_G_SPAWN_DO_NOT_REAP_CHILD: GSpawnFlags = 2;
20035pub const GSpawnFlags_G_SPAWN_SEARCH_PATH: GSpawnFlags = 4;
20036pub const GSpawnFlags_G_SPAWN_STDOUT_TO_DEV_NULL: GSpawnFlags = 8;
20037pub const GSpawnFlags_G_SPAWN_STDERR_TO_DEV_NULL: GSpawnFlags = 16;
20038pub const GSpawnFlags_G_SPAWN_CHILD_INHERITS_STDIN: GSpawnFlags = 32;
20039pub const GSpawnFlags_G_SPAWN_FILE_AND_ARGV_ZERO: GSpawnFlags = 64;
20040pub const GSpawnFlags_G_SPAWN_SEARCH_PATH_FROM_ENVP: GSpawnFlags = 128;
20041pub const GSpawnFlags_G_SPAWN_CLOEXEC_PIPES: GSpawnFlags = 256;
20042#[doc = " G_SPAWN_CHILD_INHERITS_STDOUT:\n\n The child will inherit the parent's standard output.\n\n Since: 2.74"]
20043pub const GSpawnFlags_G_SPAWN_CHILD_INHERITS_STDOUT: GSpawnFlags = 512;
20044#[doc = " G_SPAWN_CHILD_INHERITS_STDERR:\n\n The child will inherit the parent's standard error.\n\n Since: 2.74"]
20045pub const GSpawnFlags_G_SPAWN_CHILD_INHERITS_STDERR: GSpawnFlags = 1024;
20046#[doc = " G_SPAWN_STDIN_FROM_DEV_NULL:\n\n The child's standard input is attached to `/dev/null`.\n\n Since: 2.74"]
20047pub const GSpawnFlags_G_SPAWN_STDIN_FROM_DEV_NULL: GSpawnFlags = 2048;
20048#[doc = " GSpawnFlags:\n @G_SPAWN_DEFAULT: no flags, default behaviour\n @G_SPAWN_LEAVE_DESCRIPTORS_OPEN: the parent's open file descriptors will\n     be inherited by the child; otherwise all descriptors except stdin,\n     stdout and stderr will be closed before calling exec() in the child.\n @G_SPAWN_DO_NOT_REAP_CHILD: the child will not be automatically reaped;\n     you must use g_child_watch_add() yourself (or call waitpid() or handle\n     `SIGCHLD` yourself), or the child will become a zombie.\n @G_SPAWN_SEARCH_PATH: `argv[0]` need not be an absolute path, it will be\n     looked for in the user's `PATH`.\n @G_SPAWN_STDOUT_TO_DEV_NULL: the child's standard output will be discarded,\n     instead of going to the same location as the parent's standard output.\n @G_SPAWN_STDERR_TO_DEV_NULL: the child's standard error will be discarded.\n @G_SPAWN_CHILD_INHERITS_STDIN: the child will inherit the parent's standard\n     input (by default, the child's standard input is attached to `/dev/null`).\n @G_SPAWN_FILE_AND_ARGV_ZERO: the first element of `argv` is the file to\n     execute, while the remaining elements are the actual argument vector\n     to pass to the file. Normally g_spawn_async_with_pipes() uses `argv[0]`\n     as the file to execute, and passes all of `argv` to the child.\n @G_SPAWN_SEARCH_PATH_FROM_ENVP: if `argv[0]` is not an absolute path,\n     it will be looked for in the `PATH` from the passed child environment.\n     Since: 2.34\n @G_SPAWN_CLOEXEC_PIPES: create all pipes with the `O_CLOEXEC` flag set.\n     Since: 2.40\n @G_SPAWN_CHILD_INHERITS_STDOUT: the child will inherit the parent's standard output.\n     Since: 2.74\n @G_SPAWN_CHILD_INHERITS_STDERR: the child will inherit the parent's standard error.\n     Since: 2.74\n @G_SPAWN_STDIN_FROM_DEV_NULL: the child's standard input is attached to `/dev/null`.\n     Since: 2.74\n\n Flags passed to g_spawn_sync(), g_spawn_async() and g_spawn_async_with_pipes()."]
20049pub type GSpawnFlags = ::std::os::raw::c_uint;
20050extern "C" {
20051    pub fn g_spawn_error_quark() -> GQuark;
20052}
20053extern "C" {
20054    pub fn g_spawn_exit_error_quark() -> GQuark;
20055}
20056extern "C" {
20057    pub fn g_spawn_async(
20058        working_directory: *const gchar,
20059        argv: *mut *mut gchar,
20060        envp: *mut *mut gchar,
20061        flags: GSpawnFlags,
20062        child_setup: GSpawnChildSetupFunc,
20063        user_data: gpointer,
20064        child_pid: *mut GPid,
20065        error: *mut *mut GError,
20066    ) -> gboolean;
20067}
20068extern "C" {
20069    pub fn g_spawn_async_with_pipes(
20070        working_directory: *const gchar,
20071        argv: *mut *mut gchar,
20072        envp: *mut *mut gchar,
20073        flags: GSpawnFlags,
20074        child_setup: GSpawnChildSetupFunc,
20075        user_data: gpointer,
20076        child_pid: *mut GPid,
20077        standard_input: *mut gint,
20078        standard_output: *mut gint,
20079        standard_error: *mut gint,
20080        error: *mut *mut GError,
20081    ) -> gboolean;
20082}
20083extern "C" {
20084    pub fn g_spawn_async_with_pipes_and_fds(
20085        working_directory: *const gchar,
20086        argv: *const *const gchar,
20087        envp: *const *const gchar,
20088        flags: GSpawnFlags,
20089        child_setup: GSpawnChildSetupFunc,
20090        user_data: gpointer,
20091        stdin_fd: gint,
20092        stdout_fd: gint,
20093        stderr_fd: gint,
20094        source_fds: *const gint,
20095        target_fds: *const gint,
20096        n_fds: gsize,
20097        child_pid_out: *mut GPid,
20098        stdin_pipe_out: *mut gint,
20099        stdout_pipe_out: *mut gint,
20100        stderr_pipe_out: *mut gint,
20101        error: *mut *mut GError,
20102    ) -> gboolean;
20103}
20104extern "C" {
20105    pub fn g_spawn_async_with_fds(
20106        working_directory: *const gchar,
20107        argv: *mut *mut gchar,
20108        envp: *mut *mut gchar,
20109        flags: GSpawnFlags,
20110        child_setup: GSpawnChildSetupFunc,
20111        user_data: gpointer,
20112        child_pid: *mut GPid,
20113        stdin_fd: gint,
20114        stdout_fd: gint,
20115        stderr_fd: gint,
20116        error: *mut *mut GError,
20117    ) -> gboolean;
20118}
20119extern "C" {
20120    pub fn g_spawn_sync(
20121        working_directory: *const gchar,
20122        argv: *mut *mut gchar,
20123        envp: *mut *mut gchar,
20124        flags: GSpawnFlags,
20125        child_setup: GSpawnChildSetupFunc,
20126        user_data: gpointer,
20127        standard_output: *mut *mut gchar,
20128        standard_error: *mut *mut gchar,
20129        wait_status: *mut gint,
20130        error: *mut *mut GError,
20131    ) -> gboolean;
20132}
20133extern "C" {
20134    pub fn g_spawn_command_line_sync(
20135        command_line: *const gchar,
20136        standard_output: *mut *mut gchar,
20137        standard_error: *mut *mut gchar,
20138        wait_status: *mut gint,
20139        error: *mut *mut GError,
20140    ) -> gboolean;
20141}
20142extern "C" {
20143    pub fn g_spawn_command_line_async(
20144        command_line: *const gchar,
20145        error: *mut *mut GError,
20146    ) -> gboolean;
20147}
20148extern "C" {
20149    pub fn g_spawn_check_wait_status(wait_status: gint, error: *mut *mut GError) -> gboolean;
20150}
20151extern "C" {
20152    pub fn g_spawn_check_exit_status(wait_status: gint, error: *mut *mut GError) -> gboolean;
20153}
20154extern "C" {
20155    pub fn g_spawn_close_pid(pid: GPid);
20156}
20157#[repr(C)]
20158#[derive(Debug, Copy, Clone)]
20159pub struct _GStringChunk {
20160    _unused: [u8; 0],
20161}
20162pub type GStringChunk = _GStringChunk;
20163extern "C" {
20164    pub fn g_string_chunk_new(size: gsize) -> *mut GStringChunk;
20165}
20166extern "C" {
20167    pub fn g_string_chunk_free(chunk: *mut GStringChunk);
20168}
20169extern "C" {
20170    pub fn g_string_chunk_clear(chunk: *mut GStringChunk);
20171}
20172extern "C" {
20173    pub fn g_string_chunk_insert(chunk: *mut GStringChunk, string: *const gchar) -> *mut gchar;
20174}
20175extern "C" {
20176    pub fn g_string_chunk_insert_len(
20177        chunk: *mut GStringChunk,
20178        string: *const gchar,
20179        len: gssize,
20180    ) -> *mut gchar;
20181}
20182extern "C" {
20183    pub fn g_string_chunk_insert_const(
20184        chunk: *mut GStringChunk,
20185        string: *const gchar,
20186    ) -> *mut gchar;
20187}
20188#[repr(C)]
20189#[derive(Debug, Copy, Clone)]
20190pub struct _GStrvBuilder {
20191    _unused: [u8; 0],
20192}
20193#[doc = " GStrvBuilder:\n\n A helper object to build a %NULL-terminated string array\n by appending. See g_strv_builder_new().\n\n Since: 2.68"]
20194pub type GStrvBuilder = _GStrvBuilder;
20195extern "C" {
20196    pub fn g_strv_builder_new() -> *mut GStrvBuilder;
20197}
20198extern "C" {
20199    pub fn g_strv_builder_unref(builder: *mut GStrvBuilder);
20200}
20201extern "C" {
20202    pub fn g_strv_builder_ref(builder: *mut GStrvBuilder) -> *mut GStrvBuilder;
20203}
20204extern "C" {
20205    pub fn g_strv_builder_add(builder: *mut GStrvBuilder, value: *const ::std::os::raw::c_char);
20206}
20207extern "C" {
20208    pub fn g_strv_builder_addv(
20209        builder: *mut GStrvBuilder,
20210        value: *mut *const ::std::os::raw::c_char,
20211    );
20212}
20213extern "C" {
20214    pub fn g_strv_builder_add_many(builder: *mut GStrvBuilder, ...);
20215}
20216extern "C" {
20217    pub fn g_strv_builder_end(builder: *mut GStrvBuilder) -> GStrv;
20218}
20219extern "C" {
20220    pub fn __error() -> *mut ::std::os::raw::c_int;
20221}
20222#[repr(C)]
20223#[derive(Debug, Copy, Clone)]
20224pub struct GTestCase {
20225    _unused: [u8; 0],
20226}
20227#[repr(C)]
20228#[derive(Debug, Copy, Clone)]
20229pub struct GTestSuite {
20230    _unused: [u8; 0],
20231}
20232pub type GTestFunc = ::std::option::Option<unsafe extern "C" fn()>;
20233pub type GTestDataFunc = ::std::option::Option<unsafe extern "C" fn(user_data: gconstpointer)>;
20234pub type GTestFixtureFunc =
20235    ::std::option::Option<unsafe extern "C" fn(fixture: gpointer, user_data: gconstpointer)>;
20236extern "C" {
20237    pub fn g_strcmp0(
20238        str1: *const ::std::os::raw::c_char,
20239        str2: *const ::std::os::raw::c_char,
20240    ) -> ::std::os::raw::c_int;
20241}
20242extern "C" {
20243    pub fn g_test_minimized_result(
20244        minimized_quantity: f64,
20245        format: *const ::std::os::raw::c_char,
20246        ...
20247    );
20248}
20249extern "C" {
20250    pub fn g_test_maximized_result(
20251        maximized_quantity: f64,
20252        format: *const ::std::os::raw::c_char,
20253        ...
20254    );
20255}
20256extern "C" {
20257    pub fn g_test_init(
20258        argc: *mut ::std::os::raw::c_int,
20259        argv: *mut *mut *mut ::std::os::raw::c_char,
20260        ...
20261    );
20262}
20263extern "C" {
20264    pub fn g_test_subprocess() -> gboolean;
20265}
20266extern "C" {
20267    pub fn g_test_run() -> ::std::os::raw::c_int;
20268}
20269extern "C" {
20270    pub fn g_test_add_func(testpath: *const ::std::os::raw::c_char, test_func: GTestFunc);
20271}
20272extern "C" {
20273    pub fn g_test_add_data_func(
20274        testpath: *const ::std::os::raw::c_char,
20275        test_data: gconstpointer,
20276        test_func: GTestDataFunc,
20277    );
20278}
20279extern "C" {
20280    pub fn g_test_add_data_func_full(
20281        testpath: *const ::std::os::raw::c_char,
20282        test_data: gpointer,
20283        test_func: GTestDataFunc,
20284        data_free_func: GDestroyNotify,
20285    );
20286}
20287extern "C" {
20288    pub fn g_test_get_path() -> *const ::std::os::raw::c_char;
20289}
20290extern "C" {
20291    pub fn g_test_fail();
20292}
20293extern "C" {
20294    pub fn g_test_fail_printf(format: *const ::std::os::raw::c_char, ...);
20295}
20296extern "C" {
20297    pub fn g_test_incomplete(msg: *const gchar);
20298}
20299extern "C" {
20300    pub fn g_test_incomplete_printf(format: *const ::std::os::raw::c_char, ...);
20301}
20302extern "C" {
20303    pub fn g_test_skip(msg: *const gchar);
20304}
20305extern "C" {
20306    pub fn g_test_skip_printf(format: *const ::std::os::raw::c_char, ...);
20307}
20308extern "C" {
20309    pub fn g_test_failed() -> gboolean;
20310}
20311extern "C" {
20312    pub fn g_test_set_nonfatal_assertions();
20313}
20314extern "C" {
20315    pub fn g_test_disable_crash_reporting();
20316}
20317extern "C" {
20318    pub fn g_test_message(format: *const ::std::os::raw::c_char, ...);
20319}
20320extern "C" {
20321    pub fn g_test_bug_base(uri_pattern: *const ::std::os::raw::c_char);
20322}
20323extern "C" {
20324    pub fn g_test_bug(bug_uri_snippet: *const ::std::os::raw::c_char);
20325}
20326extern "C" {
20327    pub fn g_test_summary(summary: *const ::std::os::raw::c_char);
20328}
20329extern "C" {
20330    pub fn g_test_timer_start();
20331}
20332extern "C" {
20333    pub fn g_test_timer_elapsed() -> f64;
20334}
20335extern "C" {
20336    pub fn g_test_timer_last() -> f64;
20337}
20338extern "C" {
20339    pub fn g_test_queue_free(gfree_pointer: gpointer);
20340}
20341extern "C" {
20342    pub fn g_test_queue_destroy(destroy_func: GDestroyNotify, destroy_data: gpointer);
20343}
20344pub const GTestTrapFlags_G_TEST_TRAP_DEFAULT: GTestTrapFlags = 0;
20345pub const GTestTrapFlags_G_TEST_TRAP_SILENCE_STDOUT: GTestTrapFlags = 128;
20346pub const GTestTrapFlags_G_TEST_TRAP_SILENCE_STDERR: GTestTrapFlags = 256;
20347pub const GTestTrapFlags_G_TEST_TRAP_INHERIT_STDIN: GTestTrapFlags = 512;
20348#[doc = " GTestTrapFlags:\n @G_TEST_TRAP_DEFAULT: Default behaviour. Since: 2.74\n @G_TEST_TRAP_SILENCE_STDOUT: Redirect stdout of the test child to\n     `/dev/null` so it cannot be observed on the console during test\n     runs. The actual output is still captured though to allow later\n     tests with g_test_trap_assert_stdout().\n @G_TEST_TRAP_SILENCE_STDERR: Redirect stderr of the test child to\n     `/dev/null` so it cannot be observed on the console during test\n     runs. The actual output is still captured though to allow later\n     tests with g_test_trap_assert_stderr().\n @G_TEST_TRAP_INHERIT_STDIN: If this flag is given, stdin of the\n     child process is shared with stdin of its parent process.\n     It is redirected to `/dev/null` otherwise.\n\n Test traps are guards around forked tests.\n These flags determine what traps to set.\n\n Deprecated: 2.38: #GTestTrapFlags is used only with g_test_trap_fork(),\n which is deprecated. g_test_trap_subprocess() uses\n #GTestSubprocessFlags."]
20349pub type GTestTrapFlags = ::std::os::raw::c_uint;
20350extern "C" {
20351    pub fn g_test_trap_fork(usec_timeout: guint64, test_trap_flags: GTestTrapFlags) -> gboolean;
20352}
20353pub const GTestSubprocessFlags_G_TEST_SUBPROCESS_DEFAULT: GTestSubprocessFlags = 0;
20354pub const GTestSubprocessFlags_G_TEST_SUBPROCESS_INHERIT_STDIN: GTestSubprocessFlags = 1;
20355pub const GTestSubprocessFlags_G_TEST_SUBPROCESS_INHERIT_STDOUT: GTestSubprocessFlags = 2;
20356pub const GTestSubprocessFlags_G_TEST_SUBPROCESS_INHERIT_STDERR: GTestSubprocessFlags = 4;
20357pub type GTestSubprocessFlags = ::std::os::raw::c_uint;
20358extern "C" {
20359    pub fn g_test_trap_subprocess(
20360        test_path: *const ::std::os::raw::c_char,
20361        usec_timeout: guint64,
20362        test_flags: GTestSubprocessFlags,
20363    );
20364}
20365extern "C" {
20366    pub fn g_test_trap_has_passed() -> gboolean;
20367}
20368extern "C" {
20369    pub fn g_test_trap_reached_timeout() -> gboolean;
20370}
20371extern "C" {
20372    pub fn g_test_rand_int() -> gint32;
20373}
20374extern "C" {
20375    pub fn g_test_rand_int_range(begin: gint32, end: gint32) -> gint32;
20376}
20377extern "C" {
20378    pub fn g_test_rand_double() -> f64;
20379}
20380extern "C" {
20381    pub fn g_test_rand_double_range(range_start: f64, range_end: f64) -> f64;
20382}
20383extern "C" {
20384    pub fn g_test_create_case(
20385        test_name: *const ::std::os::raw::c_char,
20386        data_size: gsize,
20387        test_data: gconstpointer,
20388        data_setup: GTestFixtureFunc,
20389        data_test: GTestFixtureFunc,
20390        data_teardown: GTestFixtureFunc,
20391    ) -> *mut GTestCase;
20392}
20393extern "C" {
20394    pub fn g_test_create_suite(suite_name: *const ::std::os::raw::c_char) -> *mut GTestSuite;
20395}
20396extern "C" {
20397    pub fn g_test_get_root() -> *mut GTestSuite;
20398}
20399extern "C" {
20400    pub fn g_test_suite_add(suite: *mut GTestSuite, test_case: *mut GTestCase);
20401}
20402extern "C" {
20403    pub fn g_test_suite_add_suite(suite: *mut GTestSuite, nestedsuite: *mut GTestSuite);
20404}
20405extern "C" {
20406    pub fn g_test_run_suite(suite: *mut GTestSuite) -> ::std::os::raw::c_int;
20407}
20408extern "C" {
20409    pub fn g_test_case_free(test_case: *mut GTestCase);
20410}
20411extern "C" {
20412    pub fn g_test_suite_free(suite: *mut GTestSuite);
20413}
20414extern "C" {
20415    pub fn g_test_trap_assertions(
20416        domain: *const ::std::os::raw::c_char,
20417        file: *const ::std::os::raw::c_char,
20418        line: ::std::os::raw::c_int,
20419        func: *const ::std::os::raw::c_char,
20420        assertion_flags: guint64,
20421        pattern: *const ::std::os::raw::c_char,
20422    );
20423}
20424extern "C" {
20425    pub fn g_assertion_message(
20426        domain: *const ::std::os::raw::c_char,
20427        file: *const ::std::os::raw::c_char,
20428        line: ::std::os::raw::c_int,
20429        func: *const ::std::os::raw::c_char,
20430        message: *const ::std::os::raw::c_char,
20431    );
20432}
20433extern "C" {
20434    pub fn g_assertion_message_expr(
20435        domain: *const ::std::os::raw::c_char,
20436        file: *const ::std::os::raw::c_char,
20437        line: ::std::os::raw::c_int,
20438        func: *const ::std::os::raw::c_char,
20439        expr: *const ::std::os::raw::c_char,
20440    ) -> !;
20441}
20442extern "C" {
20443    pub fn g_assertion_message_cmpstr(
20444        domain: *const ::std::os::raw::c_char,
20445        file: *const ::std::os::raw::c_char,
20446        line: ::std::os::raw::c_int,
20447        func: *const ::std::os::raw::c_char,
20448        expr: *const ::std::os::raw::c_char,
20449        arg1: *const ::std::os::raw::c_char,
20450        cmp: *const ::std::os::raw::c_char,
20451        arg2: *const ::std::os::raw::c_char,
20452    );
20453}
20454extern "C" {
20455    pub fn g_assertion_message_cmpstrv(
20456        domain: *const ::std::os::raw::c_char,
20457        file: *const ::std::os::raw::c_char,
20458        line: ::std::os::raw::c_int,
20459        func: *const ::std::os::raw::c_char,
20460        expr: *const ::std::os::raw::c_char,
20461        arg1: *const *const ::std::os::raw::c_char,
20462        arg2: *const *const ::std::os::raw::c_char,
20463        first_wrong_idx: gsize,
20464    );
20465}
20466extern "C" {
20467    pub fn g_assertion_message_cmpint(
20468        domain: *const ::std::os::raw::c_char,
20469        file: *const ::std::os::raw::c_char,
20470        line: ::std::os::raw::c_int,
20471        func: *const ::std::os::raw::c_char,
20472        expr: *const ::std::os::raw::c_char,
20473        arg1: guint64,
20474        cmp: *const ::std::os::raw::c_char,
20475        arg2: guint64,
20476        numtype: ::std::os::raw::c_char,
20477    );
20478}
20479extern "C" {
20480    pub fn g_assertion_message_cmpnum(
20481        domain: *const ::std::os::raw::c_char,
20482        file: *const ::std::os::raw::c_char,
20483        line: ::std::os::raw::c_int,
20484        func: *const ::std::os::raw::c_char,
20485        expr: *const ::std::os::raw::c_char,
20486        arg1: f64,
20487        cmp: *const ::std::os::raw::c_char,
20488        arg2: f64,
20489        numtype: ::std::os::raw::c_char,
20490    );
20491}
20492extern "C" {
20493    pub fn g_assertion_message_error(
20494        domain: *const ::std::os::raw::c_char,
20495        file: *const ::std::os::raw::c_char,
20496        line: ::std::os::raw::c_int,
20497        func: *const ::std::os::raw::c_char,
20498        expr: *const ::std::os::raw::c_char,
20499        error: *const GError,
20500        error_domain: GQuark,
20501        error_code: ::std::os::raw::c_int,
20502    );
20503}
20504extern "C" {
20505    pub fn g_test_add_vtable(
20506        testpath: *const ::std::os::raw::c_char,
20507        data_size: gsize,
20508        test_data: gconstpointer,
20509        data_setup: GTestFixtureFunc,
20510        data_test: GTestFixtureFunc,
20511        data_teardown: GTestFixtureFunc,
20512    );
20513}
20514#[repr(C)]
20515#[derive(Debug, Copy, Clone, PartialEq, Eq)]
20516pub struct GTestConfig {
20517    pub test_initialized: gboolean,
20518    pub test_quick: gboolean,
20519    pub test_perf: gboolean,
20520    pub test_verbose: gboolean,
20521    pub test_quiet: gboolean,
20522    pub test_undefined: gboolean,
20523}
20524#[test]
20525fn bindgen_test_layout_GTestConfig() {
20526    const UNINIT: ::std::mem::MaybeUninit<GTestConfig> = ::std::mem::MaybeUninit::uninit();
20527    let ptr = UNINIT.as_ptr();
20528    assert_eq!(
20529        ::std::mem::size_of::<GTestConfig>(),
20530        24usize,
20531        concat!("Size of: ", stringify!(GTestConfig))
20532    );
20533    assert_eq!(
20534        ::std::mem::align_of::<GTestConfig>(),
20535        4usize,
20536        concat!("Alignment of ", stringify!(GTestConfig))
20537    );
20538    assert_eq!(
20539        unsafe { ::std::ptr::addr_of!((*ptr).test_initialized) as usize - ptr as usize },
20540        0usize,
20541        concat!(
20542            "Offset of field: ",
20543            stringify!(GTestConfig),
20544            "::",
20545            stringify!(test_initialized)
20546        )
20547    );
20548    assert_eq!(
20549        unsafe { ::std::ptr::addr_of!((*ptr).test_quick) as usize - ptr as usize },
20550        4usize,
20551        concat!(
20552            "Offset of field: ",
20553            stringify!(GTestConfig),
20554            "::",
20555            stringify!(test_quick)
20556        )
20557    );
20558    assert_eq!(
20559        unsafe { ::std::ptr::addr_of!((*ptr).test_perf) as usize - ptr as usize },
20560        8usize,
20561        concat!(
20562            "Offset of field: ",
20563            stringify!(GTestConfig),
20564            "::",
20565            stringify!(test_perf)
20566        )
20567    );
20568    assert_eq!(
20569        unsafe { ::std::ptr::addr_of!((*ptr).test_verbose) as usize - ptr as usize },
20570        12usize,
20571        concat!(
20572            "Offset of field: ",
20573            stringify!(GTestConfig),
20574            "::",
20575            stringify!(test_verbose)
20576        )
20577    );
20578    assert_eq!(
20579        unsafe { ::std::ptr::addr_of!((*ptr).test_quiet) as usize - ptr as usize },
20580        16usize,
20581        concat!(
20582            "Offset of field: ",
20583            stringify!(GTestConfig),
20584            "::",
20585            stringify!(test_quiet)
20586        )
20587    );
20588    assert_eq!(
20589        unsafe { ::std::ptr::addr_of!((*ptr).test_undefined) as usize - ptr as usize },
20590        20usize,
20591        concat!(
20592            "Offset of field: ",
20593            stringify!(GTestConfig),
20594            "::",
20595            stringify!(test_undefined)
20596        )
20597    );
20598}
20599extern "C" {
20600    pub static g_test_config_vars: *const GTestConfig;
20601}
20602pub const GTestResult_G_TEST_RUN_SUCCESS: GTestResult = 0;
20603pub const GTestResult_G_TEST_RUN_SKIPPED: GTestResult = 1;
20604pub const GTestResult_G_TEST_RUN_FAILURE: GTestResult = 2;
20605pub const GTestResult_G_TEST_RUN_INCOMPLETE: GTestResult = 3;
20606pub type GTestResult = ::std::os::raw::c_uint;
20607pub const GTestLogType_G_TEST_LOG_NONE: GTestLogType = 0;
20608pub const GTestLogType_G_TEST_LOG_ERROR: GTestLogType = 1;
20609pub const GTestLogType_G_TEST_LOG_START_BINARY: GTestLogType = 2;
20610pub const GTestLogType_G_TEST_LOG_LIST_CASE: GTestLogType = 3;
20611pub const GTestLogType_G_TEST_LOG_SKIP_CASE: GTestLogType = 4;
20612pub const GTestLogType_G_TEST_LOG_START_CASE: GTestLogType = 5;
20613pub const GTestLogType_G_TEST_LOG_STOP_CASE: GTestLogType = 6;
20614pub const GTestLogType_G_TEST_LOG_MIN_RESULT: GTestLogType = 7;
20615pub const GTestLogType_G_TEST_LOG_MAX_RESULT: GTestLogType = 8;
20616pub const GTestLogType_G_TEST_LOG_MESSAGE: GTestLogType = 9;
20617pub const GTestLogType_G_TEST_LOG_START_SUITE: GTestLogType = 10;
20618pub const GTestLogType_G_TEST_LOG_STOP_SUITE: GTestLogType = 11;
20619pub type GTestLogType = ::std::os::raw::c_uint;
20620#[repr(C)]
20621#[derive(Debug, Copy, Clone, PartialEq, Eq)]
20622pub struct GTestLogMsg {
20623    pub log_type: GTestLogType,
20624    pub n_strings: guint,
20625    pub strings: *mut *mut gchar,
20626    pub n_nums: guint,
20627    pub nums: *mut f64,
20628}
20629#[test]
20630fn bindgen_test_layout_GTestLogMsg() {
20631    const UNINIT: ::std::mem::MaybeUninit<GTestLogMsg> = ::std::mem::MaybeUninit::uninit();
20632    let ptr = UNINIT.as_ptr();
20633    assert_eq!(
20634        ::std::mem::size_of::<GTestLogMsg>(),
20635        32usize,
20636        concat!("Size of: ", stringify!(GTestLogMsg))
20637    );
20638    assert_eq!(
20639        ::std::mem::align_of::<GTestLogMsg>(),
20640        8usize,
20641        concat!("Alignment of ", stringify!(GTestLogMsg))
20642    );
20643    assert_eq!(
20644        unsafe { ::std::ptr::addr_of!((*ptr).log_type) as usize - ptr as usize },
20645        0usize,
20646        concat!(
20647            "Offset of field: ",
20648            stringify!(GTestLogMsg),
20649            "::",
20650            stringify!(log_type)
20651        )
20652    );
20653    assert_eq!(
20654        unsafe { ::std::ptr::addr_of!((*ptr).n_strings) as usize - ptr as usize },
20655        4usize,
20656        concat!(
20657            "Offset of field: ",
20658            stringify!(GTestLogMsg),
20659            "::",
20660            stringify!(n_strings)
20661        )
20662    );
20663    assert_eq!(
20664        unsafe { ::std::ptr::addr_of!((*ptr).strings) as usize - ptr as usize },
20665        8usize,
20666        concat!(
20667            "Offset of field: ",
20668            stringify!(GTestLogMsg),
20669            "::",
20670            stringify!(strings)
20671        )
20672    );
20673    assert_eq!(
20674        unsafe { ::std::ptr::addr_of!((*ptr).n_nums) as usize - ptr as usize },
20675        16usize,
20676        concat!(
20677            "Offset of field: ",
20678            stringify!(GTestLogMsg),
20679            "::",
20680            stringify!(n_nums)
20681        )
20682    );
20683    assert_eq!(
20684        unsafe { ::std::ptr::addr_of!((*ptr).nums) as usize - ptr as usize },
20685        24usize,
20686        concat!(
20687            "Offset of field: ",
20688            stringify!(GTestLogMsg),
20689            "::",
20690            stringify!(nums)
20691        )
20692    );
20693}
20694#[repr(C)]
20695#[derive(Debug, Copy, Clone, PartialEq, Eq)]
20696pub struct GTestLogBuffer {
20697    pub data: *mut GString,
20698    pub msgs: *mut GSList,
20699}
20700#[test]
20701fn bindgen_test_layout_GTestLogBuffer() {
20702    const UNINIT: ::std::mem::MaybeUninit<GTestLogBuffer> = ::std::mem::MaybeUninit::uninit();
20703    let ptr = UNINIT.as_ptr();
20704    assert_eq!(
20705        ::std::mem::size_of::<GTestLogBuffer>(),
20706        16usize,
20707        concat!("Size of: ", stringify!(GTestLogBuffer))
20708    );
20709    assert_eq!(
20710        ::std::mem::align_of::<GTestLogBuffer>(),
20711        8usize,
20712        concat!("Alignment of ", stringify!(GTestLogBuffer))
20713    );
20714    assert_eq!(
20715        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
20716        0usize,
20717        concat!(
20718            "Offset of field: ",
20719            stringify!(GTestLogBuffer),
20720            "::",
20721            stringify!(data)
20722        )
20723    );
20724    assert_eq!(
20725        unsafe { ::std::ptr::addr_of!((*ptr).msgs) as usize - ptr as usize },
20726        8usize,
20727        concat!(
20728            "Offset of field: ",
20729            stringify!(GTestLogBuffer),
20730            "::",
20731            stringify!(msgs)
20732        )
20733    );
20734}
20735extern "C" {
20736    pub fn g_test_log_type_name(log_type: GTestLogType) -> *const ::std::os::raw::c_char;
20737}
20738extern "C" {
20739    pub fn g_test_log_buffer_new() -> *mut GTestLogBuffer;
20740}
20741extern "C" {
20742    pub fn g_test_log_buffer_free(tbuffer: *mut GTestLogBuffer);
20743}
20744extern "C" {
20745    pub fn g_test_log_buffer_push(
20746        tbuffer: *mut GTestLogBuffer,
20747        n_bytes: guint,
20748        bytes: *const guint8,
20749    );
20750}
20751extern "C" {
20752    pub fn g_test_log_buffer_pop(tbuffer: *mut GTestLogBuffer) -> *mut GTestLogMsg;
20753}
20754extern "C" {
20755    pub fn g_test_log_msg_free(tmsg: *mut GTestLogMsg);
20756}
20757#[doc = " GTestLogFatalFunc:\n @log_domain: the log domain of the message\n @log_level: the log level of the message (including the fatal and recursion flags)\n @message: the message to process\n @user_data: user data, set in g_test_log_set_fatal_handler()\n\n Specifies the prototype of fatal log handler functions.\n\n Returns: %TRUE if the program should abort, %FALSE otherwise\n\n Since: 2.22"]
20758pub type GTestLogFatalFunc = ::std::option::Option<
20759    unsafe extern "C" fn(
20760        log_domain: *const gchar,
20761        log_level: GLogLevelFlags,
20762        message: *const gchar,
20763        user_data: gpointer,
20764    ) -> gboolean,
20765>;
20766extern "C" {
20767    pub fn g_test_log_set_fatal_handler(log_func: GTestLogFatalFunc, user_data: gpointer);
20768}
20769extern "C" {
20770    pub fn g_test_expect_message(
20771        log_domain: *const gchar,
20772        log_level: GLogLevelFlags,
20773        pattern: *const gchar,
20774    );
20775}
20776extern "C" {
20777    pub fn g_test_assert_expected_messages_internal(
20778        domain: *const ::std::os::raw::c_char,
20779        file: *const ::std::os::raw::c_char,
20780        line: ::std::os::raw::c_int,
20781        func: *const ::std::os::raw::c_char,
20782    );
20783}
20784pub const GTestFileType_G_TEST_DIST: GTestFileType = 0;
20785pub const GTestFileType_G_TEST_BUILT: GTestFileType = 1;
20786pub type GTestFileType = ::std::os::raw::c_uint;
20787extern "C" {
20788    pub fn g_test_build_filename(
20789        file_type: GTestFileType,
20790        first_path: *const gchar,
20791        ...
20792    ) -> *mut gchar;
20793}
20794extern "C" {
20795    pub fn g_test_get_dir(file_type: GTestFileType) -> *const gchar;
20796}
20797extern "C" {
20798    pub fn g_test_get_filename(
20799        file_type: GTestFileType,
20800        first_path: *const gchar,
20801        ...
20802    ) -> *const gchar;
20803}
20804pub type GThreadPool = _GThreadPool;
20805#[repr(C)]
20806#[derive(Debug, Copy, Clone, PartialEq, Eq)]
20807pub struct _GThreadPool {
20808    pub func: GFunc,
20809    pub user_data: gpointer,
20810    pub exclusive: gboolean,
20811}
20812#[test]
20813fn bindgen_test_layout__GThreadPool() {
20814    const UNINIT: ::std::mem::MaybeUninit<_GThreadPool> = ::std::mem::MaybeUninit::uninit();
20815    let ptr = UNINIT.as_ptr();
20816    assert_eq!(
20817        ::std::mem::size_of::<_GThreadPool>(),
20818        24usize,
20819        concat!("Size of: ", stringify!(_GThreadPool))
20820    );
20821    assert_eq!(
20822        ::std::mem::align_of::<_GThreadPool>(),
20823        8usize,
20824        concat!("Alignment of ", stringify!(_GThreadPool))
20825    );
20826    assert_eq!(
20827        unsafe { ::std::ptr::addr_of!((*ptr).func) as usize - ptr as usize },
20828        0usize,
20829        concat!(
20830            "Offset of field: ",
20831            stringify!(_GThreadPool),
20832            "::",
20833            stringify!(func)
20834        )
20835    );
20836    assert_eq!(
20837        unsafe { ::std::ptr::addr_of!((*ptr).user_data) as usize - ptr as usize },
20838        8usize,
20839        concat!(
20840            "Offset of field: ",
20841            stringify!(_GThreadPool),
20842            "::",
20843            stringify!(user_data)
20844        )
20845    );
20846    assert_eq!(
20847        unsafe { ::std::ptr::addr_of!((*ptr).exclusive) as usize - ptr as usize },
20848        16usize,
20849        concat!(
20850            "Offset of field: ",
20851            stringify!(_GThreadPool),
20852            "::",
20853            stringify!(exclusive)
20854        )
20855    );
20856}
20857extern "C" {
20858    pub fn g_thread_pool_new(
20859        func: GFunc,
20860        user_data: gpointer,
20861        max_threads: gint,
20862        exclusive: gboolean,
20863        error: *mut *mut GError,
20864    ) -> *mut GThreadPool;
20865}
20866extern "C" {
20867    pub fn g_thread_pool_new_full(
20868        func: GFunc,
20869        user_data: gpointer,
20870        item_free_func: GDestroyNotify,
20871        max_threads: gint,
20872        exclusive: gboolean,
20873        error: *mut *mut GError,
20874    ) -> *mut GThreadPool;
20875}
20876extern "C" {
20877    pub fn g_thread_pool_free(pool: *mut GThreadPool, immediate: gboolean, wait_: gboolean);
20878}
20879extern "C" {
20880    pub fn g_thread_pool_push(
20881        pool: *mut GThreadPool,
20882        data: gpointer,
20883        error: *mut *mut GError,
20884    ) -> gboolean;
20885}
20886extern "C" {
20887    pub fn g_thread_pool_unprocessed(pool: *mut GThreadPool) -> guint;
20888}
20889extern "C" {
20890    pub fn g_thread_pool_set_sort_function(
20891        pool: *mut GThreadPool,
20892        func: GCompareDataFunc,
20893        user_data: gpointer,
20894    );
20895}
20896extern "C" {
20897    pub fn g_thread_pool_move_to_front(pool: *mut GThreadPool, data: gpointer) -> gboolean;
20898}
20899extern "C" {
20900    pub fn g_thread_pool_set_max_threads(
20901        pool: *mut GThreadPool,
20902        max_threads: gint,
20903        error: *mut *mut GError,
20904    ) -> gboolean;
20905}
20906extern "C" {
20907    pub fn g_thread_pool_get_max_threads(pool: *mut GThreadPool) -> gint;
20908}
20909extern "C" {
20910    pub fn g_thread_pool_get_num_threads(pool: *mut GThreadPool) -> guint;
20911}
20912extern "C" {
20913    pub fn g_thread_pool_set_max_unused_threads(max_threads: gint);
20914}
20915extern "C" {
20916    pub fn g_thread_pool_get_max_unused_threads() -> gint;
20917}
20918extern "C" {
20919    pub fn g_thread_pool_get_num_unused_threads() -> guint;
20920}
20921extern "C" {
20922    pub fn g_thread_pool_stop_unused_threads();
20923}
20924extern "C" {
20925    pub fn g_thread_pool_set_max_idle_time(interval: guint);
20926}
20927extern "C" {
20928    pub fn g_thread_pool_get_max_idle_time() -> guint;
20929}
20930#[repr(C)]
20931#[derive(Debug, Copy, Clone)]
20932pub struct _GTimer {
20933    _unused: [u8; 0],
20934}
20935pub type GTimer = _GTimer;
20936extern "C" {
20937    pub fn g_timer_new() -> *mut GTimer;
20938}
20939extern "C" {
20940    pub fn g_timer_destroy(timer: *mut GTimer);
20941}
20942extern "C" {
20943    pub fn g_timer_start(timer: *mut GTimer);
20944}
20945extern "C" {
20946    pub fn g_timer_stop(timer: *mut GTimer);
20947}
20948extern "C" {
20949    pub fn g_timer_reset(timer: *mut GTimer);
20950}
20951extern "C" {
20952    pub fn g_timer_continue(timer: *mut GTimer);
20953}
20954extern "C" {
20955    pub fn g_timer_elapsed(timer: *mut GTimer, microseconds: *mut gulong) -> gdouble;
20956}
20957extern "C" {
20958    pub fn g_timer_is_active(timer: *mut GTimer) -> gboolean;
20959}
20960extern "C" {
20961    pub fn g_usleep(microseconds: gulong);
20962}
20963extern "C" {
20964    pub fn g_time_val_add(time_: *mut GTimeVal, microseconds: glong);
20965}
20966extern "C" {
20967    pub fn g_time_val_from_iso8601(iso_date: *const gchar, time_: *mut GTimeVal) -> gboolean;
20968}
20969extern "C" {
20970    pub fn g_time_val_to_iso8601(time_: *mut GTimeVal) -> *mut gchar;
20971}
20972pub type GTrashStack = _GTrashStack;
20973#[repr(C)]
20974#[derive(Debug, Copy, Clone, PartialEq, Eq)]
20975pub struct _GTrashStack {
20976    pub next: *mut GTrashStack,
20977}
20978#[test]
20979fn bindgen_test_layout__GTrashStack() {
20980    const UNINIT: ::std::mem::MaybeUninit<_GTrashStack> = ::std::mem::MaybeUninit::uninit();
20981    let ptr = UNINIT.as_ptr();
20982    assert_eq!(
20983        ::std::mem::size_of::<_GTrashStack>(),
20984        8usize,
20985        concat!("Size of: ", stringify!(_GTrashStack))
20986    );
20987    assert_eq!(
20988        ::std::mem::align_of::<_GTrashStack>(),
20989        8usize,
20990        concat!("Alignment of ", stringify!(_GTrashStack))
20991    );
20992    assert_eq!(
20993        unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
20994        0usize,
20995        concat!(
20996            "Offset of field: ",
20997            stringify!(_GTrashStack),
20998            "::",
20999            stringify!(next)
21000        )
21001    );
21002}
21003extern "C" {
21004    pub fn g_trash_stack_push(stack_p: *mut *mut GTrashStack, data_p: gpointer);
21005}
21006extern "C" {
21007    pub fn g_trash_stack_pop(stack_p: *mut *mut GTrashStack) -> gpointer;
21008}
21009extern "C" {
21010    pub fn g_trash_stack_peek(stack_p: *mut *mut GTrashStack) -> gpointer;
21011}
21012extern "C" {
21013    pub fn g_trash_stack_height(stack_p: *mut *mut GTrashStack) -> guint;
21014}
21015#[repr(C)]
21016#[derive(Debug, Copy, Clone)]
21017pub struct _GTree {
21018    _unused: [u8; 0],
21019}
21020pub type GTree = _GTree;
21021#[repr(C)]
21022#[derive(Debug, Copy, Clone)]
21023pub struct _GTreeNode {
21024    _unused: [u8; 0],
21025}
21026#[doc = " GTreeNode:\n\n An opaque type which identifies a specific node in a #GTree.\n\n Since: 2.68"]
21027pub type GTreeNode = _GTreeNode;
21028pub type GTraverseFunc = ::std::option::Option<
21029    unsafe extern "C" fn(key: gpointer, value: gpointer, data: gpointer) -> gboolean,
21030>;
21031#[doc = " GTraverseNodeFunc:\n @node: a #GTreeNode\n @data: user data passed to g_tree_foreach_node()\n\n Specifies the type of function passed to g_tree_foreach_node(). It is\n passed each node, together with the @user_data parameter passed to\n g_tree_foreach_node(). If the function returns %TRUE, the traversal is\n stopped.\n\n Returns: %TRUE to stop the traversal\n Since: 2.68"]
21032pub type GTraverseNodeFunc =
21033    ::std::option::Option<unsafe extern "C" fn(node: *mut GTreeNode, data: gpointer) -> gboolean>;
21034extern "C" {
21035    pub fn g_tree_new(key_compare_func: GCompareFunc) -> *mut GTree;
21036}
21037extern "C" {
21038    pub fn g_tree_new_with_data(
21039        key_compare_func: GCompareDataFunc,
21040        key_compare_data: gpointer,
21041    ) -> *mut GTree;
21042}
21043extern "C" {
21044    pub fn g_tree_new_full(
21045        key_compare_func: GCompareDataFunc,
21046        key_compare_data: gpointer,
21047        key_destroy_func: GDestroyNotify,
21048        value_destroy_func: GDestroyNotify,
21049    ) -> *mut GTree;
21050}
21051extern "C" {
21052    pub fn g_tree_node_first(tree: *mut GTree) -> *mut GTreeNode;
21053}
21054extern "C" {
21055    pub fn g_tree_node_last(tree: *mut GTree) -> *mut GTreeNode;
21056}
21057extern "C" {
21058    pub fn g_tree_node_previous(node: *mut GTreeNode) -> *mut GTreeNode;
21059}
21060extern "C" {
21061    pub fn g_tree_node_next(node: *mut GTreeNode) -> *mut GTreeNode;
21062}
21063extern "C" {
21064    pub fn g_tree_ref(tree: *mut GTree) -> *mut GTree;
21065}
21066extern "C" {
21067    pub fn g_tree_unref(tree: *mut GTree);
21068}
21069extern "C" {
21070    pub fn g_tree_destroy(tree: *mut GTree);
21071}
21072extern "C" {
21073    pub fn g_tree_insert_node(tree: *mut GTree, key: gpointer, value: gpointer) -> *mut GTreeNode;
21074}
21075extern "C" {
21076    pub fn g_tree_insert(tree: *mut GTree, key: gpointer, value: gpointer);
21077}
21078extern "C" {
21079    pub fn g_tree_replace_node(tree: *mut GTree, key: gpointer, value: gpointer) -> *mut GTreeNode;
21080}
21081extern "C" {
21082    pub fn g_tree_replace(tree: *mut GTree, key: gpointer, value: gpointer);
21083}
21084extern "C" {
21085    pub fn g_tree_remove(tree: *mut GTree, key: gconstpointer) -> gboolean;
21086}
21087extern "C" {
21088    pub fn g_tree_remove_all(tree: *mut GTree);
21089}
21090extern "C" {
21091    pub fn g_tree_steal(tree: *mut GTree, key: gconstpointer) -> gboolean;
21092}
21093extern "C" {
21094    pub fn g_tree_node_key(node: *mut GTreeNode) -> gpointer;
21095}
21096extern "C" {
21097    pub fn g_tree_node_value(node: *mut GTreeNode) -> gpointer;
21098}
21099extern "C" {
21100    pub fn g_tree_lookup_node(tree: *mut GTree, key: gconstpointer) -> *mut GTreeNode;
21101}
21102extern "C" {
21103    pub fn g_tree_lookup(tree: *mut GTree, key: gconstpointer) -> gpointer;
21104}
21105extern "C" {
21106    pub fn g_tree_lookup_extended(
21107        tree: *mut GTree,
21108        lookup_key: gconstpointer,
21109        orig_key: *mut gpointer,
21110        value: *mut gpointer,
21111    ) -> gboolean;
21112}
21113extern "C" {
21114    pub fn g_tree_foreach(tree: *mut GTree, func: GTraverseFunc, user_data: gpointer);
21115}
21116extern "C" {
21117    pub fn g_tree_foreach_node(tree: *mut GTree, func: GTraverseNodeFunc, user_data: gpointer);
21118}
21119extern "C" {
21120    pub fn g_tree_traverse(
21121        tree: *mut GTree,
21122        traverse_func: GTraverseFunc,
21123        traverse_type: GTraverseType,
21124        user_data: gpointer,
21125    );
21126}
21127extern "C" {
21128    pub fn g_tree_search_node(
21129        tree: *mut GTree,
21130        search_func: GCompareFunc,
21131        user_data: gconstpointer,
21132    ) -> *mut GTreeNode;
21133}
21134extern "C" {
21135    pub fn g_tree_search(
21136        tree: *mut GTree,
21137        search_func: GCompareFunc,
21138        user_data: gconstpointer,
21139    ) -> gpointer;
21140}
21141extern "C" {
21142    pub fn g_tree_lower_bound(tree: *mut GTree, key: gconstpointer) -> *mut GTreeNode;
21143}
21144extern "C" {
21145    pub fn g_tree_upper_bound(tree: *mut GTree, key: gconstpointer) -> *mut GTreeNode;
21146}
21147extern "C" {
21148    pub fn g_tree_height(tree: *mut GTree) -> gint;
21149}
21150extern "C" {
21151    pub fn g_tree_nnodes(tree: *mut GTree) -> gint;
21152}
21153#[repr(C)]
21154#[derive(Debug, Copy, Clone)]
21155pub struct _GUri {
21156    _unused: [u8; 0],
21157}
21158pub type GUri = _GUri;
21159extern "C" {
21160    pub fn g_uri_ref(uri: *mut GUri) -> *mut GUri;
21161}
21162extern "C" {
21163    pub fn g_uri_unref(uri: *mut GUri);
21164}
21165pub const GUriFlags_G_URI_FLAGS_NONE: GUriFlags = 0;
21166pub const GUriFlags_G_URI_FLAGS_PARSE_RELAXED: GUriFlags = 1;
21167pub const GUriFlags_G_URI_FLAGS_HAS_PASSWORD: GUriFlags = 2;
21168pub const GUriFlags_G_URI_FLAGS_HAS_AUTH_PARAMS: GUriFlags = 4;
21169pub const GUriFlags_G_URI_FLAGS_ENCODED: GUriFlags = 8;
21170pub const GUriFlags_G_URI_FLAGS_NON_DNS: GUriFlags = 16;
21171pub const GUriFlags_G_URI_FLAGS_ENCODED_QUERY: GUriFlags = 32;
21172pub const GUriFlags_G_URI_FLAGS_ENCODED_PATH: GUriFlags = 64;
21173pub const GUriFlags_G_URI_FLAGS_ENCODED_FRAGMENT: GUriFlags = 128;
21174pub const GUriFlags_G_URI_FLAGS_SCHEME_NORMALIZE: GUriFlags = 256;
21175#[doc = " GUriFlags:\n @G_URI_FLAGS_NONE: No flags set.\n @G_URI_FLAGS_PARSE_RELAXED: Parse the URI more relaxedly than the\n     [RFC 3986](https://tools.ietf.org/html/rfc3986) grammar specifies,\n     fixing up or ignoring common mistakes in URIs coming from external\n     sources. This is also needed for some obscure URI schemes where `;`\n     separates the host from the path. Don’t use this flag unless you need to.\n @G_URI_FLAGS_HAS_PASSWORD: The userinfo field may contain a password,\n     which will be separated from the username by `:`.\n @G_URI_FLAGS_HAS_AUTH_PARAMS: The userinfo may contain additional\n     authentication-related parameters, which will be separated from\n     the username and/or password by `;`.\n @G_URI_FLAGS_NON_DNS: The host component should not be assumed to be a\n     DNS hostname or IP address (for example, for `smb` URIs with NetBIOS\n     hostnames).\n @G_URI_FLAGS_ENCODED: When parsing a URI, this indicates that `%`-encoded\n     characters in the userinfo, path, query, and fragment fields\n     should not be decoded. (And likewise the host field if\n     %G_URI_FLAGS_NON_DNS is also set.) When building a URI, it indicates\n     that you have already `%`-encoded the components, and so #GUri\n     should not do any encoding itself.\n @G_URI_FLAGS_ENCODED_QUERY: Same as %G_URI_FLAGS_ENCODED, for the query\n     field only.\n @G_URI_FLAGS_ENCODED_PATH: Same as %G_URI_FLAGS_ENCODED, for the path only.\n @G_URI_FLAGS_ENCODED_FRAGMENT: Same as %G_URI_FLAGS_ENCODED, for the\n     fragment only.\n @G_URI_FLAGS_SCHEME_NORMALIZE: A scheme-based normalization will be applied.\n     For example, when parsing an HTTP URI changing omitted path to `/` and\n     omitted port to `80`; and when building a URI, changing empty path to `/`\n     and default port `80`). This only supports a subset of known schemes. (Since: 2.68)\n\n Flags that describe a URI.\n\n When parsing a URI, if you need to choose different flags based on\n the type of URI, you can use g_uri_peek_scheme() on the URI string\n to check the scheme first, and use that to decide what flags to\n parse it with.\n\n Since: 2.66"]
21176pub type GUriFlags = ::std::os::raw::c_uint;
21177extern "C" {
21178    pub fn g_uri_split(
21179        uri_ref: *const gchar,
21180        flags: GUriFlags,
21181        scheme: *mut *mut gchar,
21182        userinfo: *mut *mut gchar,
21183        host: *mut *mut gchar,
21184        port: *mut gint,
21185        path: *mut *mut gchar,
21186        query: *mut *mut gchar,
21187        fragment: *mut *mut gchar,
21188        error: *mut *mut GError,
21189    ) -> gboolean;
21190}
21191extern "C" {
21192    pub fn g_uri_split_with_user(
21193        uri_ref: *const gchar,
21194        flags: GUriFlags,
21195        scheme: *mut *mut gchar,
21196        user: *mut *mut gchar,
21197        password: *mut *mut gchar,
21198        auth_params: *mut *mut gchar,
21199        host: *mut *mut gchar,
21200        port: *mut gint,
21201        path: *mut *mut gchar,
21202        query: *mut *mut gchar,
21203        fragment: *mut *mut gchar,
21204        error: *mut *mut GError,
21205    ) -> gboolean;
21206}
21207extern "C" {
21208    pub fn g_uri_split_network(
21209        uri_string: *const gchar,
21210        flags: GUriFlags,
21211        scheme: *mut *mut gchar,
21212        host: *mut *mut gchar,
21213        port: *mut gint,
21214        error: *mut *mut GError,
21215    ) -> gboolean;
21216}
21217extern "C" {
21218    pub fn g_uri_is_valid(
21219        uri_string: *const gchar,
21220        flags: GUriFlags,
21221        error: *mut *mut GError,
21222    ) -> gboolean;
21223}
21224extern "C" {
21225    pub fn g_uri_join(
21226        flags: GUriFlags,
21227        scheme: *const gchar,
21228        userinfo: *const gchar,
21229        host: *const gchar,
21230        port: gint,
21231        path: *const gchar,
21232        query: *const gchar,
21233        fragment: *const gchar,
21234    ) -> *mut gchar;
21235}
21236extern "C" {
21237    pub fn g_uri_join_with_user(
21238        flags: GUriFlags,
21239        scheme: *const gchar,
21240        user: *const gchar,
21241        password: *const gchar,
21242        auth_params: *const gchar,
21243        host: *const gchar,
21244        port: gint,
21245        path: *const gchar,
21246        query: *const gchar,
21247        fragment: *const gchar,
21248    ) -> *mut gchar;
21249}
21250extern "C" {
21251    pub fn g_uri_parse(
21252        uri_string: *const gchar,
21253        flags: GUriFlags,
21254        error: *mut *mut GError,
21255    ) -> *mut GUri;
21256}
21257extern "C" {
21258    pub fn g_uri_parse_relative(
21259        base_uri: *mut GUri,
21260        uri_ref: *const gchar,
21261        flags: GUriFlags,
21262        error: *mut *mut GError,
21263    ) -> *mut GUri;
21264}
21265extern "C" {
21266    pub fn g_uri_resolve_relative(
21267        base_uri_string: *const gchar,
21268        uri_ref: *const gchar,
21269        flags: GUriFlags,
21270        error: *mut *mut GError,
21271    ) -> *mut gchar;
21272}
21273extern "C" {
21274    pub fn g_uri_build(
21275        flags: GUriFlags,
21276        scheme: *const gchar,
21277        userinfo: *const gchar,
21278        host: *const gchar,
21279        port: gint,
21280        path: *const gchar,
21281        query: *const gchar,
21282        fragment: *const gchar,
21283    ) -> *mut GUri;
21284}
21285extern "C" {
21286    pub fn g_uri_build_with_user(
21287        flags: GUriFlags,
21288        scheme: *const gchar,
21289        user: *const gchar,
21290        password: *const gchar,
21291        auth_params: *const gchar,
21292        host: *const gchar,
21293        port: gint,
21294        path: *const gchar,
21295        query: *const gchar,
21296        fragment: *const gchar,
21297    ) -> *mut GUri;
21298}
21299pub const GUriHideFlags_G_URI_HIDE_NONE: GUriHideFlags = 0;
21300pub const GUriHideFlags_G_URI_HIDE_USERINFO: GUriHideFlags = 1;
21301pub const GUriHideFlags_G_URI_HIDE_PASSWORD: GUriHideFlags = 2;
21302pub const GUriHideFlags_G_URI_HIDE_AUTH_PARAMS: GUriHideFlags = 4;
21303pub const GUriHideFlags_G_URI_HIDE_QUERY: GUriHideFlags = 8;
21304pub const GUriHideFlags_G_URI_HIDE_FRAGMENT: GUriHideFlags = 16;
21305#[doc = " GUriHideFlags:\n @G_URI_HIDE_NONE: No flags set.\n @G_URI_HIDE_USERINFO: Hide the userinfo.\n @G_URI_HIDE_PASSWORD: Hide the password.\n @G_URI_HIDE_AUTH_PARAMS: Hide the auth_params.\n @G_URI_HIDE_QUERY: Hide the query.\n @G_URI_HIDE_FRAGMENT: Hide the fragment.\n\n Flags describing what parts of the URI to hide in\n g_uri_to_string_partial(). Note that %G_URI_HIDE_PASSWORD and\n %G_URI_HIDE_AUTH_PARAMS will only work if the #GUri was parsed with\n the corresponding flags.\n\n Since: 2.66"]
21306pub type GUriHideFlags = ::std::os::raw::c_uint;
21307extern "C" {
21308    pub fn g_uri_to_string(uri: *mut GUri) -> *mut ::std::os::raw::c_char;
21309}
21310extern "C" {
21311    pub fn g_uri_to_string_partial(
21312        uri: *mut GUri,
21313        flags: GUriHideFlags,
21314    ) -> *mut ::std::os::raw::c_char;
21315}
21316extern "C" {
21317    pub fn g_uri_get_scheme(uri: *mut GUri) -> *const gchar;
21318}
21319extern "C" {
21320    pub fn g_uri_get_userinfo(uri: *mut GUri) -> *const gchar;
21321}
21322extern "C" {
21323    pub fn g_uri_get_user(uri: *mut GUri) -> *const gchar;
21324}
21325extern "C" {
21326    pub fn g_uri_get_password(uri: *mut GUri) -> *const gchar;
21327}
21328extern "C" {
21329    pub fn g_uri_get_auth_params(uri: *mut GUri) -> *const gchar;
21330}
21331extern "C" {
21332    pub fn g_uri_get_host(uri: *mut GUri) -> *const gchar;
21333}
21334extern "C" {
21335    pub fn g_uri_get_port(uri: *mut GUri) -> gint;
21336}
21337extern "C" {
21338    pub fn g_uri_get_path(uri: *mut GUri) -> *const gchar;
21339}
21340extern "C" {
21341    pub fn g_uri_get_query(uri: *mut GUri) -> *const gchar;
21342}
21343extern "C" {
21344    pub fn g_uri_get_fragment(uri: *mut GUri) -> *const gchar;
21345}
21346extern "C" {
21347    pub fn g_uri_get_flags(uri: *mut GUri) -> GUriFlags;
21348}
21349pub const GUriParamsFlags_G_URI_PARAMS_NONE: GUriParamsFlags = 0;
21350pub const GUriParamsFlags_G_URI_PARAMS_CASE_INSENSITIVE: GUriParamsFlags = 1;
21351pub const GUriParamsFlags_G_URI_PARAMS_WWW_FORM: GUriParamsFlags = 2;
21352pub const GUriParamsFlags_G_URI_PARAMS_PARSE_RELAXED: GUriParamsFlags = 4;
21353#[doc = " GUriParamsFlags:\n @G_URI_PARAMS_NONE: No flags set.\n @G_URI_PARAMS_CASE_INSENSITIVE: Parameter names are case insensitive.\n @G_URI_PARAMS_WWW_FORM: Replace `+` with space character. Only useful for\n     URLs on the web, using the `https` or `http` schemas.\n @G_URI_PARAMS_PARSE_RELAXED: See %G_URI_FLAGS_PARSE_RELAXED.\n\n Flags modifying the way parameters are handled by g_uri_parse_params() and\n #GUriParamsIter.\n\n Since: 2.66"]
21354pub type GUriParamsFlags = ::std::os::raw::c_uint;
21355extern "C" {
21356    pub fn g_uri_parse_params(
21357        params: *const gchar,
21358        length: gssize,
21359        separators: *const gchar,
21360        flags: GUriParamsFlags,
21361        error: *mut *mut GError,
21362    ) -> *mut GHashTable;
21363}
21364pub type GUriParamsIter = _GUriParamsIter;
21365#[repr(C)]
21366#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21367pub struct _GUriParamsIter {
21368    pub dummy0: gint,
21369    pub dummy1: gpointer,
21370    pub dummy2: gpointer,
21371    pub dummy3: [guint8; 256usize],
21372}
21373#[test]
21374fn bindgen_test_layout__GUriParamsIter() {
21375    const UNINIT: ::std::mem::MaybeUninit<_GUriParamsIter> = ::std::mem::MaybeUninit::uninit();
21376    let ptr = UNINIT.as_ptr();
21377    assert_eq!(
21378        ::std::mem::size_of::<_GUriParamsIter>(),
21379        280usize,
21380        concat!("Size of: ", stringify!(_GUriParamsIter))
21381    );
21382    assert_eq!(
21383        ::std::mem::align_of::<_GUriParamsIter>(),
21384        8usize,
21385        concat!("Alignment of ", stringify!(_GUriParamsIter))
21386    );
21387    assert_eq!(
21388        unsafe { ::std::ptr::addr_of!((*ptr).dummy0) as usize - ptr as usize },
21389        0usize,
21390        concat!(
21391            "Offset of field: ",
21392            stringify!(_GUriParamsIter),
21393            "::",
21394            stringify!(dummy0)
21395        )
21396    );
21397    assert_eq!(
21398        unsafe { ::std::ptr::addr_of!((*ptr).dummy1) as usize - ptr as usize },
21399        8usize,
21400        concat!(
21401            "Offset of field: ",
21402            stringify!(_GUriParamsIter),
21403            "::",
21404            stringify!(dummy1)
21405        )
21406    );
21407    assert_eq!(
21408        unsafe { ::std::ptr::addr_of!((*ptr).dummy2) as usize - ptr as usize },
21409        16usize,
21410        concat!(
21411            "Offset of field: ",
21412            stringify!(_GUriParamsIter),
21413            "::",
21414            stringify!(dummy2)
21415        )
21416    );
21417    assert_eq!(
21418        unsafe { ::std::ptr::addr_of!((*ptr).dummy3) as usize - ptr as usize },
21419        24usize,
21420        concat!(
21421            "Offset of field: ",
21422            stringify!(_GUriParamsIter),
21423            "::",
21424            stringify!(dummy3)
21425        )
21426    );
21427}
21428extern "C" {
21429    pub fn g_uri_params_iter_init(
21430        iter: *mut GUriParamsIter,
21431        params: *const gchar,
21432        length: gssize,
21433        separators: *const gchar,
21434        flags: GUriParamsFlags,
21435    );
21436}
21437extern "C" {
21438    pub fn g_uri_params_iter_next(
21439        iter: *mut GUriParamsIter,
21440        attribute: *mut *mut gchar,
21441        value: *mut *mut gchar,
21442        error: *mut *mut GError,
21443    ) -> gboolean;
21444}
21445extern "C" {
21446    pub fn g_uri_error_quark() -> GQuark;
21447}
21448pub const GUriError_G_URI_ERROR_FAILED: GUriError = 0;
21449pub const GUriError_G_URI_ERROR_BAD_SCHEME: GUriError = 1;
21450pub const GUriError_G_URI_ERROR_BAD_USER: GUriError = 2;
21451pub const GUriError_G_URI_ERROR_BAD_PASSWORD: GUriError = 3;
21452pub const GUriError_G_URI_ERROR_BAD_AUTH_PARAMS: GUriError = 4;
21453pub const GUriError_G_URI_ERROR_BAD_HOST: GUriError = 5;
21454pub const GUriError_G_URI_ERROR_BAD_PORT: GUriError = 6;
21455pub const GUriError_G_URI_ERROR_BAD_PATH: GUriError = 7;
21456pub const GUriError_G_URI_ERROR_BAD_QUERY: GUriError = 8;
21457pub const GUriError_G_URI_ERROR_BAD_FRAGMENT: GUriError = 9;
21458#[doc = " GUriError:\n @G_URI_ERROR_FAILED: Generic error if no more specific error is available.\n     See the error message for details.\n @G_URI_ERROR_BAD_SCHEME: The scheme of a URI could not be parsed.\n @G_URI_ERROR_BAD_USER: The user/userinfo of a URI could not be parsed.\n @G_URI_ERROR_BAD_PASSWORD: The password of a URI could not be parsed.\n @G_URI_ERROR_BAD_AUTH_PARAMS: The authentication parameters of a URI could not be parsed.\n @G_URI_ERROR_BAD_HOST: The host of a URI could not be parsed.\n @G_URI_ERROR_BAD_PORT: The port of a URI could not be parsed.\n @G_URI_ERROR_BAD_PATH: The path of a URI could not be parsed.\n @G_URI_ERROR_BAD_QUERY: The query of a URI could not be parsed.\n @G_URI_ERROR_BAD_FRAGMENT: The fragment of a URI could not be parsed.\n\n Error codes returned by #GUri methods.\n\n Since: 2.66"]
21459pub type GUriError = ::std::os::raw::c_uint;
21460extern "C" {
21461    pub fn g_uri_unescape_string(
21462        escaped_string: *const ::std::os::raw::c_char,
21463        illegal_characters: *const ::std::os::raw::c_char,
21464    ) -> *mut ::std::os::raw::c_char;
21465}
21466extern "C" {
21467    pub fn g_uri_unescape_segment(
21468        escaped_string: *const ::std::os::raw::c_char,
21469        escaped_string_end: *const ::std::os::raw::c_char,
21470        illegal_characters: *const ::std::os::raw::c_char,
21471    ) -> *mut ::std::os::raw::c_char;
21472}
21473extern "C" {
21474    pub fn g_uri_parse_scheme(uri: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
21475}
21476extern "C" {
21477    pub fn g_uri_peek_scheme(uri: *const ::std::os::raw::c_char) -> *const ::std::os::raw::c_char;
21478}
21479extern "C" {
21480    pub fn g_uri_escape_string(
21481        unescaped: *const ::std::os::raw::c_char,
21482        reserved_chars_allowed: *const ::std::os::raw::c_char,
21483        allow_utf8: gboolean,
21484    ) -> *mut ::std::os::raw::c_char;
21485}
21486extern "C" {
21487    pub fn g_uri_unescape_bytes(
21488        escaped_string: *const ::std::os::raw::c_char,
21489        length: gssize,
21490        illegal_characters: *const ::std::os::raw::c_char,
21491        error: *mut *mut GError,
21492    ) -> *mut GBytes;
21493}
21494extern "C" {
21495    pub fn g_uri_escape_bytes(
21496        unescaped: *const guint8,
21497        length: gsize,
21498        reserved_chars_allowed: *const ::std::os::raw::c_char,
21499    ) -> *mut ::std::os::raw::c_char;
21500}
21501extern "C" {
21502    pub fn g_uuid_string_is_valid(str_: *const gchar) -> gboolean;
21503}
21504extern "C" {
21505    pub fn g_uuid_string_random() -> *mut gchar;
21506}
21507extern "C" {
21508    pub static glib_major_version: guint;
21509}
21510extern "C" {
21511    pub static glib_minor_version: guint;
21512}
21513extern "C" {
21514    pub static glib_micro_version: guint;
21515}
21516extern "C" {
21517    pub static glib_interface_age: guint;
21518}
21519extern "C" {
21520    pub static glib_binary_age: guint;
21521}
21522extern "C" {
21523    pub fn glib_check_version(
21524        required_major: guint,
21525        required_minor: guint,
21526        required_micro: guint,
21527    ) -> *const gchar;
21528}
21529#[repr(C)]
21530#[derive(Debug, Copy, Clone)]
21531pub struct _GAllocator {
21532    _unused: [u8; 0],
21533}
21534pub type GAllocator = _GAllocator;
21535#[repr(C)]
21536#[derive(Debug, Copy, Clone)]
21537pub struct _GMemChunk {
21538    _unused: [u8; 0],
21539}
21540pub type GMemChunk = _GMemChunk;
21541extern "C" {
21542    pub fn g_mem_chunk_new(
21543        name: *const gchar,
21544        atom_size: gint,
21545        area_size: gsize,
21546        type_: gint,
21547    ) -> *mut GMemChunk;
21548}
21549extern "C" {
21550    pub fn g_mem_chunk_destroy(mem_chunk: *mut GMemChunk);
21551}
21552extern "C" {
21553    pub fn g_mem_chunk_alloc(mem_chunk: *mut GMemChunk) -> gpointer;
21554}
21555extern "C" {
21556    pub fn g_mem_chunk_alloc0(mem_chunk: *mut GMemChunk) -> gpointer;
21557}
21558extern "C" {
21559    pub fn g_mem_chunk_free(mem_chunk: *mut GMemChunk, mem: gpointer);
21560}
21561extern "C" {
21562    pub fn g_mem_chunk_clean(mem_chunk: *mut GMemChunk);
21563}
21564extern "C" {
21565    pub fn g_mem_chunk_reset(mem_chunk: *mut GMemChunk);
21566}
21567extern "C" {
21568    pub fn g_mem_chunk_print(mem_chunk: *mut GMemChunk);
21569}
21570extern "C" {
21571    pub fn g_mem_chunk_info();
21572}
21573extern "C" {
21574    pub fn g_blow_chunks();
21575}
21576extern "C" {
21577    pub fn g_allocator_new(name: *const gchar, n_preallocs: guint) -> *mut GAllocator;
21578}
21579extern "C" {
21580    pub fn g_allocator_free(allocator: *mut GAllocator);
21581}
21582extern "C" {
21583    pub fn g_list_push_allocator(allocator: *mut GAllocator);
21584}
21585extern "C" {
21586    pub fn g_list_pop_allocator();
21587}
21588extern "C" {
21589    pub fn g_slist_push_allocator(allocator: *mut GAllocator);
21590}
21591extern "C" {
21592    pub fn g_slist_pop_allocator();
21593}
21594extern "C" {
21595    pub fn g_node_push_allocator(allocator: *mut GAllocator);
21596}
21597extern "C" {
21598    pub fn g_node_pop_allocator();
21599}
21600#[repr(C)]
21601#[derive(Debug, Copy, Clone)]
21602pub struct _GCache {
21603    _unused: [u8; 0],
21604}
21605pub type GCache = _GCache;
21606pub type GCacheNewFunc = ::std::option::Option<unsafe extern "C" fn(key: gpointer) -> gpointer>;
21607pub type GCacheDupFunc = ::std::option::Option<unsafe extern "C" fn(value: gpointer) -> gpointer>;
21608pub type GCacheDestroyFunc = ::std::option::Option<unsafe extern "C" fn(value: gpointer)>;
21609extern "C" {
21610    pub fn g_cache_new(
21611        value_new_func: GCacheNewFunc,
21612        value_destroy_func: GCacheDestroyFunc,
21613        key_dup_func: GCacheDupFunc,
21614        key_destroy_func: GCacheDestroyFunc,
21615        hash_key_func: GHashFunc,
21616        hash_value_func: GHashFunc,
21617        key_equal_func: GEqualFunc,
21618    ) -> *mut GCache;
21619}
21620extern "C" {
21621    pub fn g_cache_destroy(cache: *mut GCache);
21622}
21623extern "C" {
21624    pub fn g_cache_insert(cache: *mut GCache, key: gpointer) -> gpointer;
21625}
21626extern "C" {
21627    pub fn g_cache_remove(cache: *mut GCache, value: gconstpointer);
21628}
21629extern "C" {
21630    pub fn g_cache_key_foreach(cache: *mut GCache, func: GHFunc, user_data: gpointer);
21631}
21632extern "C" {
21633    pub fn g_cache_value_foreach(cache: *mut GCache, func: GHFunc, user_data: gpointer);
21634}
21635pub type GCompletion = _GCompletion;
21636pub type GCompletionFunc =
21637    ::std::option::Option<unsafe extern "C" fn(arg1: gpointer) -> *mut gchar>;
21638pub type GCompletionStrncmpFunc = ::std::option::Option<
21639    unsafe extern "C" fn(s1: *const gchar, s2: *const gchar, n: gsize) -> gint,
21640>;
21641#[repr(C)]
21642#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21643pub struct _GCompletion {
21644    pub items: *mut GList,
21645    pub func: GCompletionFunc,
21646    pub prefix: *mut gchar,
21647    pub cache: *mut GList,
21648    pub strncmp_func: GCompletionStrncmpFunc,
21649}
21650#[test]
21651fn bindgen_test_layout__GCompletion() {
21652    const UNINIT: ::std::mem::MaybeUninit<_GCompletion> = ::std::mem::MaybeUninit::uninit();
21653    let ptr = UNINIT.as_ptr();
21654    assert_eq!(
21655        ::std::mem::size_of::<_GCompletion>(),
21656        40usize,
21657        concat!("Size of: ", stringify!(_GCompletion))
21658    );
21659    assert_eq!(
21660        ::std::mem::align_of::<_GCompletion>(),
21661        8usize,
21662        concat!("Alignment of ", stringify!(_GCompletion))
21663    );
21664    assert_eq!(
21665        unsafe { ::std::ptr::addr_of!((*ptr).items) as usize - ptr as usize },
21666        0usize,
21667        concat!(
21668            "Offset of field: ",
21669            stringify!(_GCompletion),
21670            "::",
21671            stringify!(items)
21672        )
21673    );
21674    assert_eq!(
21675        unsafe { ::std::ptr::addr_of!((*ptr).func) as usize - ptr as usize },
21676        8usize,
21677        concat!(
21678            "Offset of field: ",
21679            stringify!(_GCompletion),
21680            "::",
21681            stringify!(func)
21682        )
21683    );
21684    assert_eq!(
21685        unsafe { ::std::ptr::addr_of!((*ptr).prefix) as usize - ptr as usize },
21686        16usize,
21687        concat!(
21688            "Offset of field: ",
21689            stringify!(_GCompletion),
21690            "::",
21691            stringify!(prefix)
21692        )
21693    );
21694    assert_eq!(
21695        unsafe { ::std::ptr::addr_of!((*ptr).cache) as usize - ptr as usize },
21696        24usize,
21697        concat!(
21698            "Offset of field: ",
21699            stringify!(_GCompletion),
21700            "::",
21701            stringify!(cache)
21702        )
21703    );
21704    assert_eq!(
21705        unsafe { ::std::ptr::addr_of!((*ptr).strncmp_func) as usize - ptr as usize },
21706        32usize,
21707        concat!(
21708            "Offset of field: ",
21709            stringify!(_GCompletion),
21710            "::",
21711            stringify!(strncmp_func)
21712        )
21713    );
21714}
21715extern "C" {
21716    pub fn g_completion_new(func: GCompletionFunc) -> *mut GCompletion;
21717}
21718extern "C" {
21719    pub fn g_completion_add_items(cmp: *mut GCompletion, items: *mut GList);
21720}
21721extern "C" {
21722    pub fn g_completion_remove_items(cmp: *mut GCompletion, items: *mut GList);
21723}
21724extern "C" {
21725    pub fn g_completion_clear_items(cmp: *mut GCompletion);
21726}
21727extern "C" {
21728    pub fn g_completion_complete(
21729        cmp: *mut GCompletion,
21730        prefix: *const gchar,
21731        new_prefix: *mut *mut gchar,
21732    ) -> *mut GList;
21733}
21734extern "C" {
21735    pub fn g_completion_complete_utf8(
21736        cmp: *mut GCompletion,
21737        prefix: *const gchar,
21738        new_prefix: *mut *mut gchar,
21739    ) -> *mut GList;
21740}
21741extern "C" {
21742    pub fn g_completion_set_compare(cmp: *mut GCompletion, strncmp_func: GCompletionStrncmpFunc);
21743}
21744extern "C" {
21745    pub fn g_completion_free(cmp: *mut GCompletion);
21746}
21747#[repr(C)]
21748#[derive(Debug, Copy, Clone)]
21749pub struct _GRelation {
21750    _unused: [u8; 0],
21751}
21752pub type GRelation = _GRelation;
21753pub type GTuples = _GTuples;
21754#[repr(C)]
21755#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21756pub struct _GTuples {
21757    pub len: guint,
21758}
21759#[test]
21760fn bindgen_test_layout__GTuples() {
21761    const UNINIT: ::std::mem::MaybeUninit<_GTuples> = ::std::mem::MaybeUninit::uninit();
21762    let ptr = UNINIT.as_ptr();
21763    assert_eq!(
21764        ::std::mem::size_of::<_GTuples>(),
21765        4usize,
21766        concat!("Size of: ", stringify!(_GTuples))
21767    );
21768    assert_eq!(
21769        ::std::mem::align_of::<_GTuples>(),
21770        4usize,
21771        concat!("Alignment of ", stringify!(_GTuples))
21772    );
21773    assert_eq!(
21774        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
21775        0usize,
21776        concat!(
21777            "Offset of field: ",
21778            stringify!(_GTuples),
21779            "::",
21780            stringify!(len)
21781        )
21782    );
21783}
21784extern "C" {
21785    pub fn g_relation_new(fields: gint) -> *mut GRelation;
21786}
21787extern "C" {
21788    pub fn g_relation_destroy(relation: *mut GRelation);
21789}
21790extern "C" {
21791    pub fn g_relation_index(
21792        relation: *mut GRelation,
21793        field: gint,
21794        hash_func: GHashFunc,
21795        key_equal_func: GEqualFunc,
21796    );
21797}
21798extern "C" {
21799    pub fn g_relation_insert(relation: *mut GRelation, ...);
21800}
21801extern "C" {
21802    pub fn g_relation_delete(relation: *mut GRelation, key: gconstpointer, field: gint) -> gint;
21803}
21804extern "C" {
21805    pub fn g_relation_select(
21806        relation: *mut GRelation,
21807        key: gconstpointer,
21808        field: gint,
21809    ) -> *mut GTuples;
21810}
21811extern "C" {
21812    pub fn g_relation_count(relation: *mut GRelation, key: gconstpointer, field: gint) -> gint;
21813}
21814extern "C" {
21815    pub fn g_relation_exists(relation: *mut GRelation, ...) -> gboolean;
21816}
21817extern "C" {
21818    pub fn g_relation_print(relation: *mut GRelation);
21819}
21820extern "C" {
21821    pub fn g_tuples_destroy(tuples: *mut GTuples);
21822}
21823extern "C" {
21824    pub fn g_tuples_index(tuples: *mut GTuples, index_: gint, field: gint) -> gpointer;
21825}
21826pub const GThreadPriority_G_THREAD_PRIORITY_LOW: GThreadPriority = 0;
21827pub const GThreadPriority_G_THREAD_PRIORITY_NORMAL: GThreadPriority = 1;
21828pub const GThreadPriority_G_THREAD_PRIORITY_HIGH: GThreadPriority = 2;
21829pub const GThreadPriority_G_THREAD_PRIORITY_URGENT: GThreadPriority = 3;
21830pub type GThreadPriority = ::std::os::raw::c_uint;
21831#[repr(C)]
21832#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21833pub struct _GThread {
21834    pub func: GThreadFunc,
21835    pub data: gpointer,
21836    pub joinable: gboolean,
21837    pub priority: GThreadPriority,
21838}
21839#[test]
21840fn bindgen_test_layout__GThread() {
21841    const UNINIT: ::std::mem::MaybeUninit<_GThread> = ::std::mem::MaybeUninit::uninit();
21842    let ptr = UNINIT.as_ptr();
21843    assert_eq!(
21844        ::std::mem::size_of::<_GThread>(),
21845        24usize,
21846        concat!("Size of: ", stringify!(_GThread))
21847    );
21848    assert_eq!(
21849        ::std::mem::align_of::<_GThread>(),
21850        8usize,
21851        concat!("Alignment of ", stringify!(_GThread))
21852    );
21853    assert_eq!(
21854        unsafe { ::std::ptr::addr_of!((*ptr).func) as usize - ptr as usize },
21855        0usize,
21856        concat!(
21857            "Offset of field: ",
21858            stringify!(_GThread),
21859            "::",
21860            stringify!(func)
21861        )
21862    );
21863    assert_eq!(
21864        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
21865        8usize,
21866        concat!(
21867            "Offset of field: ",
21868            stringify!(_GThread),
21869            "::",
21870            stringify!(data)
21871        )
21872    );
21873    assert_eq!(
21874        unsafe { ::std::ptr::addr_of!((*ptr).joinable) as usize - ptr as usize },
21875        16usize,
21876        concat!(
21877            "Offset of field: ",
21878            stringify!(_GThread),
21879            "::",
21880            stringify!(joinable)
21881        )
21882    );
21883    assert_eq!(
21884        unsafe { ::std::ptr::addr_of!((*ptr).priority) as usize - ptr as usize },
21885        20usize,
21886        concat!(
21887            "Offset of field: ",
21888            stringify!(_GThread),
21889            "::",
21890            stringify!(priority)
21891        )
21892    );
21893}
21894pub type GThreadFunctions = _GThreadFunctions;
21895#[repr(C)]
21896#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21897pub struct _GThreadFunctions {
21898    pub mutex_new: ::std::option::Option<unsafe extern "C" fn() -> *mut GMutex>,
21899    pub mutex_lock: ::std::option::Option<unsafe extern "C" fn(mutex: *mut GMutex)>,
21900    pub mutex_trylock: ::std::option::Option<unsafe extern "C" fn(mutex: *mut GMutex) -> gboolean>,
21901    pub mutex_unlock: ::std::option::Option<unsafe extern "C" fn(mutex: *mut GMutex)>,
21902    pub mutex_free: ::std::option::Option<unsafe extern "C" fn(mutex: *mut GMutex)>,
21903    pub cond_new: ::std::option::Option<unsafe extern "C" fn() -> *mut GCond>,
21904    pub cond_signal: ::std::option::Option<unsafe extern "C" fn(cond: *mut GCond)>,
21905    pub cond_broadcast: ::std::option::Option<unsafe extern "C" fn(cond: *mut GCond)>,
21906    pub cond_wait:
21907        ::std::option::Option<unsafe extern "C" fn(cond: *mut GCond, mutex: *mut GMutex)>,
21908    pub cond_timed_wait: ::std::option::Option<
21909        unsafe extern "C" fn(
21910            cond: *mut GCond,
21911            mutex: *mut GMutex,
21912            end_time: *mut GTimeVal,
21913        ) -> gboolean,
21914    >,
21915    pub cond_free: ::std::option::Option<unsafe extern "C" fn(cond: *mut GCond)>,
21916    pub private_new:
21917        ::std::option::Option<unsafe extern "C" fn(destructor: GDestroyNotify) -> *mut GPrivate>,
21918    pub private_get:
21919        ::std::option::Option<unsafe extern "C" fn(private_key: *mut GPrivate) -> gpointer>,
21920    pub private_set:
21921        ::std::option::Option<unsafe extern "C" fn(private_key: *mut GPrivate, data: gpointer)>,
21922    pub thread_create: ::std::option::Option<
21923        unsafe extern "C" fn(
21924            func: GThreadFunc,
21925            data: gpointer,
21926            stack_size: gulong,
21927            joinable: gboolean,
21928            bound: gboolean,
21929            priority: GThreadPriority,
21930            thread: gpointer,
21931            error: *mut *mut GError,
21932        ),
21933    >,
21934    pub thread_yield: ::std::option::Option<unsafe extern "C" fn()>,
21935    pub thread_join: ::std::option::Option<unsafe extern "C" fn(thread: gpointer)>,
21936    pub thread_exit: ::std::option::Option<unsafe extern "C" fn()>,
21937    pub thread_set_priority:
21938        ::std::option::Option<unsafe extern "C" fn(thread: gpointer, priority: GThreadPriority)>,
21939    pub thread_self: ::std::option::Option<unsafe extern "C" fn(thread: gpointer)>,
21940    pub thread_equal: ::std::option::Option<
21941        unsafe extern "C" fn(thread1: gpointer, thread2: gpointer) -> gboolean,
21942    >,
21943}
21944#[test]
21945fn bindgen_test_layout__GThreadFunctions() {
21946    const UNINIT: ::std::mem::MaybeUninit<_GThreadFunctions> = ::std::mem::MaybeUninit::uninit();
21947    let ptr = UNINIT.as_ptr();
21948    assert_eq!(
21949        ::std::mem::size_of::<_GThreadFunctions>(),
21950        168usize,
21951        concat!("Size of: ", stringify!(_GThreadFunctions))
21952    );
21953    assert_eq!(
21954        ::std::mem::align_of::<_GThreadFunctions>(),
21955        8usize,
21956        concat!("Alignment of ", stringify!(_GThreadFunctions))
21957    );
21958    assert_eq!(
21959        unsafe { ::std::ptr::addr_of!((*ptr).mutex_new) as usize - ptr as usize },
21960        0usize,
21961        concat!(
21962            "Offset of field: ",
21963            stringify!(_GThreadFunctions),
21964            "::",
21965            stringify!(mutex_new)
21966        )
21967    );
21968    assert_eq!(
21969        unsafe { ::std::ptr::addr_of!((*ptr).mutex_lock) as usize - ptr as usize },
21970        8usize,
21971        concat!(
21972            "Offset of field: ",
21973            stringify!(_GThreadFunctions),
21974            "::",
21975            stringify!(mutex_lock)
21976        )
21977    );
21978    assert_eq!(
21979        unsafe { ::std::ptr::addr_of!((*ptr).mutex_trylock) as usize - ptr as usize },
21980        16usize,
21981        concat!(
21982            "Offset of field: ",
21983            stringify!(_GThreadFunctions),
21984            "::",
21985            stringify!(mutex_trylock)
21986        )
21987    );
21988    assert_eq!(
21989        unsafe { ::std::ptr::addr_of!((*ptr).mutex_unlock) as usize - ptr as usize },
21990        24usize,
21991        concat!(
21992            "Offset of field: ",
21993            stringify!(_GThreadFunctions),
21994            "::",
21995            stringify!(mutex_unlock)
21996        )
21997    );
21998    assert_eq!(
21999        unsafe { ::std::ptr::addr_of!((*ptr).mutex_free) as usize - ptr as usize },
22000        32usize,
22001        concat!(
22002            "Offset of field: ",
22003            stringify!(_GThreadFunctions),
22004            "::",
22005            stringify!(mutex_free)
22006        )
22007    );
22008    assert_eq!(
22009        unsafe { ::std::ptr::addr_of!((*ptr).cond_new) as usize - ptr as usize },
22010        40usize,
22011        concat!(
22012            "Offset of field: ",
22013            stringify!(_GThreadFunctions),
22014            "::",
22015            stringify!(cond_new)
22016        )
22017    );
22018    assert_eq!(
22019        unsafe { ::std::ptr::addr_of!((*ptr).cond_signal) as usize - ptr as usize },
22020        48usize,
22021        concat!(
22022            "Offset of field: ",
22023            stringify!(_GThreadFunctions),
22024            "::",
22025            stringify!(cond_signal)
22026        )
22027    );
22028    assert_eq!(
22029        unsafe { ::std::ptr::addr_of!((*ptr).cond_broadcast) as usize - ptr as usize },
22030        56usize,
22031        concat!(
22032            "Offset of field: ",
22033            stringify!(_GThreadFunctions),
22034            "::",
22035            stringify!(cond_broadcast)
22036        )
22037    );
22038    assert_eq!(
22039        unsafe { ::std::ptr::addr_of!((*ptr).cond_wait) as usize - ptr as usize },
22040        64usize,
22041        concat!(
22042            "Offset of field: ",
22043            stringify!(_GThreadFunctions),
22044            "::",
22045            stringify!(cond_wait)
22046        )
22047    );
22048    assert_eq!(
22049        unsafe { ::std::ptr::addr_of!((*ptr).cond_timed_wait) as usize - ptr as usize },
22050        72usize,
22051        concat!(
22052            "Offset of field: ",
22053            stringify!(_GThreadFunctions),
22054            "::",
22055            stringify!(cond_timed_wait)
22056        )
22057    );
22058    assert_eq!(
22059        unsafe { ::std::ptr::addr_of!((*ptr).cond_free) as usize - ptr as usize },
22060        80usize,
22061        concat!(
22062            "Offset of field: ",
22063            stringify!(_GThreadFunctions),
22064            "::",
22065            stringify!(cond_free)
22066        )
22067    );
22068    assert_eq!(
22069        unsafe { ::std::ptr::addr_of!((*ptr).private_new) as usize - ptr as usize },
22070        88usize,
22071        concat!(
22072            "Offset of field: ",
22073            stringify!(_GThreadFunctions),
22074            "::",
22075            stringify!(private_new)
22076        )
22077    );
22078    assert_eq!(
22079        unsafe { ::std::ptr::addr_of!((*ptr).private_get) as usize - ptr as usize },
22080        96usize,
22081        concat!(
22082            "Offset of field: ",
22083            stringify!(_GThreadFunctions),
22084            "::",
22085            stringify!(private_get)
22086        )
22087    );
22088    assert_eq!(
22089        unsafe { ::std::ptr::addr_of!((*ptr).private_set) as usize - ptr as usize },
22090        104usize,
22091        concat!(
22092            "Offset of field: ",
22093            stringify!(_GThreadFunctions),
22094            "::",
22095            stringify!(private_set)
22096        )
22097    );
22098    assert_eq!(
22099        unsafe { ::std::ptr::addr_of!((*ptr).thread_create) as usize - ptr as usize },
22100        112usize,
22101        concat!(
22102            "Offset of field: ",
22103            stringify!(_GThreadFunctions),
22104            "::",
22105            stringify!(thread_create)
22106        )
22107    );
22108    assert_eq!(
22109        unsafe { ::std::ptr::addr_of!((*ptr).thread_yield) as usize - ptr as usize },
22110        120usize,
22111        concat!(
22112            "Offset of field: ",
22113            stringify!(_GThreadFunctions),
22114            "::",
22115            stringify!(thread_yield)
22116        )
22117    );
22118    assert_eq!(
22119        unsafe { ::std::ptr::addr_of!((*ptr).thread_join) as usize - ptr as usize },
22120        128usize,
22121        concat!(
22122            "Offset of field: ",
22123            stringify!(_GThreadFunctions),
22124            "::",
22125            stringify!(thread_join)
22126        )
22127    );
22128    assert_eq!(
22129        unsafe { ::std::ptr::addr_of!((*ptr).thread_exit) as usize - ptr as usize },
22130        136usize,
22131        concat!(
22132            "Offset of field: ",
22133            stringify!(_GThreadFunctions),
22134            "::",
22135            stringify!(thread_exit)
22136        )
22137    );
22138    assert_eq!(
22139        unsafe { ::std::ptr::addr_of!((*ptr).thread_set_priority) as usize - ptr as usize },
22140        144usize,
22141        concat!(
22142            "Offset of field: ",
22143            stringify!(_GThreadFunctions),
22144            "::",
22145            stringify!(thread_set_priority)
22146        )
22147    );
22148    assert_eq!(
22149        unsafe { ::std::ptr::addr_of!((*ptr).thread_self) as usize - ptr as usize },
22150        152usize,
22151        concat!(
22152            "Offset of field: ",
22153            stringify!(_GThreadFunctions),
22154            "::",
22155            stringify!(thread_self)
22156        )
22157    );
22158    assert_eq!(
22159        unsafe { ::std::ptr::addr_of!((*ptr).thread_equal) as usize - ptr as usize },
22160        160usize,
22161        concat!(
22162            "Offset of field: ",
22163            stringify!(_GThreadFunctions),
22164            "::",
22165            stringify!(thread_equal)
22166        )
22167    );
22168}
22169extern "C" {
22170    pub static mut g_thread_functions_for_glib_use: GThreadFunctions;
22171}
22172extern "C" {
22173    pub static mut g_thread_use_default_impl: gboolean;
22174}
22175extern "C" {
22176    pub static mut g_thread_gettime: ::std::option::Option<unsafe extern "C" fn() -> guint64>;
22177}
22178extern "C" {
22179    pub fn g_thread_create(
22180        func: GThreadFunc,
22181        data: gpointer,
22182        joinable: gboolean,
22183        error: *mut *mut GError,
22184    ) -> *mut GThread;
22185}
22186extern "C" {
22187    pub fn g_thread_create_full(
22188        func: GThreadFunc,
22189        data: gpointer,
22190        stack_size: gulong,
22191        joinable: gboolean,
22192        bound: gboolean,
22193        priority: GThreadPriority,
22194        error: *mut *mut GError,
22195    ) -> *mut GThread;
22196}
22197extern "C" {
22198    pub fn g_thread_set_priority(thread: *mut GThread, priority: GThreadPriority);
22199}
22200extern "C" {
22201    pub fn g_thread_foreach(thread_func: GFunc, user_data: gpointer);
22202}
22203pub type u_char = ::std::os::raw::c_uchar;
22204pub type u_short = ::std::os::raw::c_ushort;
22205pub type u_int = ::std::os::raw::c_uint;
22206pub type u_long = ::std::os::raw::c_ulong;
22207pub type ushort = ::std::os::raw::c_ushort;
22208pub type uint = ::std::os::raw::c_uint;
22209pub type u_quad_t = u_int64_t;
22210pub type quad_t = i64;
22211pub type qaddr_t = *mut quad_t;
22212pub type caddr_t = *mut ::std::os::raw::c_char;
22213pub type daddr_t = i32;
22214pub type fixpt_t = u_int32_t;
22215pub type blkcnt_t = __darwin_blkcnt_t;
22216pub type blksize_t = __darwin_blksize_t;
22217pub type gid_t = __darwin_gid_t;
22218pub type in_addr_t = __uint32_t;
22219pub type in_port_t = __uint16_t;
22220pub type ino64_t = __darwin_ino64_t;
22221pub type key_t = __int32_t;
22222pub type nlink_t = __uint16_t;
22223pub type off_t = __darwin_off_t;
22224pub type segsz_t = i32;
22225pub type swblk_t = i32;
22226pub type useconds_t = __darwin_useconds_t;
22227pub type suseconds_t = __darwin_suseconds_t;
22228#[repr(C)]
22229#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22230pub struct fd_set {
22231    pub fds_bits: [__int32_t; 32usize],
22232}
22233#[test]
22234fn bindgen_test_layout_fd_set() {
22235    const UNINIT: ::std::mem::MaybeUninit<fd_set> = ::std::mem::MaybeUninit::uninit();
22236    let ptr = UNINIT.as_ptr();
22237    assert_eq!(
22238        ::std::mem::size_of::<fd_set>(),
22239        128usize,
22240        concat!("Size of: ", stringify!(fd_set))
22241    );
22242    assert_eq!(
22243        ::std::mem::align_of::<fd_set>(),
22244        4usize,
22245        concat!("Alignment of ", stringify!(fd_set))
22246    );
22247    assert_eq!(
22248        unsafe { ::std::ptr::addr_of!((*ptr).fds_bits) as usize - ptr as usize },
22249        0usize,
22250        concat!(
22251            "Offset of field: ",
22252            stringify!(fd_set),
22253            "::",
22254            stringify!(fds_bits)
22255        )
22256    );
22257}
22258extern "C" {
22259    pub fn __darwin_check_fd_set_overflow(
22260        arg1: ::std::os::raw::c_int,
22261        arg2: *const ::std::os::raw::c_void,
22262        arg3: ::std::os::raw::c_int,
22263    ) -> ::std::os::raw::c_int;
22264}
22265pub type fd_mask = __int32_t;
22266pub type pthread_cond_t = __darwin_pthread_cond_t;
22267pub type pthread_condattr_t = __darwin_pthread_condattr_t;
22268pub type pthread_mutex_t = __darwin_pthread_mutex_t;
22269pub type pthread_mutexattr_t = __darwin_pthread_mutexattr_t;
22270pub type pthread_once_t = __darwin_pthread_once_t;
22271pub type pthread_rwlock_t = __darwin_pthread_rwlock_t;
22272pub type pthread_rwlockattr_t = __darwin_pthread_rwlockattr_t;
22273pub type pthread_key_t = __darwin_pthread_key_t;
22274pub type fsblkcnt_t = __darwin_fsblkcnt_t;
22275pub type fsfilcnt_t = __darwin_fsfilcnt_t;
22276#[repr(C)]
22277#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22278pub struct sched_param {
22279    pub sched_priority: ::std::os::raw::c_int,
22280    pub __opaque: [::std::os::raw::c_char; 4usize],
22281}
22282#[test]
22283fn bindgen_test_layout_sched_param() {
22284    const UNINIT: ::std::mem::MaybeUninit<sched_param> = ::std::mem::MaybeUninit::uninit();
22285    let ptr = UNINIT.as_ptr();
22286    assert_eq!(
22287        ::std::mem::size_of::<sched_param>(),
22288        8usize,
22289        concat!("Size of: ", stringify!(sched_param))
22290    );
22291    assert_eq!(
22292        ::std::mem::align_of::<sched_param>(),
22293        4usize,
22294        concat!("Alignment of ", stringify!(sched_param))
22295    );
22296    assert_eq!(
22297        unsafe { ::std::ptr::addr_of!((*ptr).sched_priority) as usize - ptr as usize },
22298        0usize,
22299        concat!(
22300            "Offset of field: ",
22301            stringify!(sched_param),
22302            "::",
22303            stringify!(sched_priority)
22304        )
22305    );
22306    assert_eq!(
22307        unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
22308        4usize,
22309        concat!(
22310            "Offset of field: ",
22311            stringify!(sched_param),
22312            "::",
22313            stringify!(__opaque)
22314        )
22315    );
22316}
22317extern "C" {
22318    pub fn sched_yield() -> ::std::os::raw::c_int;
22319}
22320extern "C" {
22321    pub fn sched_get_priority_min(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
22322}
22323extern "C" {
22324    pub fn sched_get_priority_max(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
22325}
22326pub const QOS_CLASS_USER_INTERACTIVE: _bindgen_ty_1 = 33;
22327pub const QOS_CLASS_USER_INITIATED: _bindgen_ty_1 = 25;
22328pub const QOS_CLASS_DEFAULT: _bindgen_ty_1 = 21;
22329pub const QOS_CLASS_UTILITY: _bindgen_ty_1 = 17;
22330pub const QOS_CLASS_BACKGROUND: _bindgen_ty_1 = 9;
22331pub const QOS_CLASS_UNSPECIFIED: _bindgen_ty_1 = 0;
22332pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
22333pub type qos_class_t = ::std::os::raw::c_uint;
22334extern "C" {
22335    pub fn qos_class_self() -> qos_class_t;
22336}
22337extern "C" {
22338    pub fn qos_class_main() -> qos_class_t;
22339}
22340extern "C" {
22341    pub fn pthread_attr_set_qos_class_np(
22342        __attr: *mut pthread_attr_t,
22343        __qos_class: qos_class_t,
22344        __relative_priority: ::std::os::raw::c_int,
22345    ) -> ::std::os::raw::c_int;
22346}
22347extern "C" {
22348    pub fn pthread_attr_get_qos_class_np(
22349        __attr: *mut pthread_attr_t,
22350        __qos_class: *mut qos_class_t,
22351        __relative_priority: *mut ::std::os::raw::c_int,
22352    ) -> ::std::os::raw::c_int;
22353}
22354extern "C" {
22355    pub fn pthread_set_qos_class_self_np(
22356        __qos_class: qos_class_t,
22357        __relative_priority: ::std::os::raw::c_int,
22358    ) -> ::std::os::raw::c_int;
22359}
22360extern "C" {
22361    pub fn pthread_get_qos_class_np(
22362        __pthread: pthread_t,
22363        __qos_class: *mut qos_class_t,
22364        __relative_priority: *mut ::std::os::raw::c_int,
22365    ) -> ::std::os::raw::c_int;
22366}
22367#[repr(C)]
22368#[derive(Debug, Copy, Clone)]
22369pub struct pthread_override_s {
22370    _unused: [u8; 0],
22371}
22372pub type pthread_override_t = *mut pthread_override_s;
22373extern "C" {
22374    pub fn pthread_override_qos_class_start_np(
22375        __pthread: pthread_t,
22376        __qos_class: qos_class_t,
22377        __relative_priority: ::std::os::raw::c_int,
22378    ) -> pthread_override_t;
22379}
22380extern "C" {
22381    pub fn pthread_override_qos_class_end_np(
22382        __override: pthread_override_t,
22383    ) -> ::std::os::raw::c_int;
22384}
22385pub type mach_port_t = __darwin_mach_port_t;
22386extern "C" {
22387    pub fn pthread_atfork(
22388        arg1: ::std::option::Option<unsafe extern "C" fn()>,
22389        arg2: ::std::option::Option<unsafe extern "C" fn()>,
22390        arg3: ::std::option::Option<unsafe extern "C" fn()>,
22391    ) -> ::std::os::raw::c_int;
22392}
22393extern "C" {
22394    pub fn pthread_attr_destroy(arg1: *mut pthread_attr_t) -> ::std::os::raw::c_int;
22395}
22396extern "C" {
22397    pub fn pthread_attr_getdetachstate(
22398        arg1: *const pthread_attr_t,
22399        arg2: *mut ::std::os::raw::c_int,
22400    ) -> ::std::os::raw::c_int;
22401}
22402extern "C" {
22403    pub fn pthread_attr_getguardsize(
22404        arg1: *const pthread_attr_t,
22405        arg2: *mut size_t,
22406    ) -> ::std::os::raw::c_int;
22407}
22408extern "C" {
22409    pub fn pthread_attr_getinheritsched(
22410        arg1: *const pthread_attr_t,
22411        arg2: *mut ::std::os::raw::c_int,
22412    ) -> ::std::os::raw::c_int;
22413}
22414extern "C" {
22415    pub fn pthread_attr_getschedparam(
22416        arg1: *const pthread_attr_t,
22417        arg2: *mut sched_param,
22418    ) -> ::std::os::raw::c_int;
22419}
22420extern "C" {
22421    pub fn pthread_attr_getschedpolicy(
22422        arg1: *const pthread_attr_t,
22423        arg2: *mut ::std::os::raw::c_int,
22424    ) -> ::std::os::raw::c_int;
22425}
22426extern "C" {
22427    pub fn pthread_attr_getscope(
22428        arg1: *const pthread_attr_t,
22429        arg2: *mut ::std::os::raw::c_int,
22430    ) -> ::std::os::raw::c_int;
22431}
22432extern "C" {
22433    pub fn pthread_attr_getstack(
22434        arg1: *const pthread_attr_t,
22435        arg2: *mut *mut ::std::os::raw::c_void,
22436        arg3: *mut size_t,
22437    ) -> ::std::os::raw::c_int;
22438}
22439extern "C" {
22440    pub fn pthread_attr_getstackaddr(
22441        arg1: *const pthread_attr_t,
22442        arg2: *mut *mut ::std::os::raw::c_void,
22443    ) -> ::std::os::raw::c_int;
22444}
22445extern "C" {
22446    pub fn pthread_attr_getstacksize(
22447        arg1: *const pthread_attr_t,
22448        arg2: *mut size_t,
22449    ) -> ::std::os::raw::c_int;
22450}
22451extern "C" {
22452    pub fn pthread_attr_init(arg1: *mut pthread_attr_t) -> ::std::os::raw::c_int;
22453}
22454extern "C" {
22455    pub fn pthread_attr_setdetachstate(
22456        arg1: *mut pthread_attr_t,
22457        arg2: ::std::os::raw::c_int,
22458    ) -> ::std::os::raw::c_int;
22459}
22460extern "C" {
22461    pub fn pthread_attr_setguardsize(
22462        arg1: *mut pthread_attr_t,
22463        arg2: size_t,
22464    ) -> ::std::os::raw::c_int;
22465}
22466extern "C" {
22467    pub fn pthread_attr_setinheritsched(
22468        arg1: *mut pthread_attr_t,
22469        arg2: ::std::os::raw::c_int,
22470    ) -> ::std::os::raw::c_int;
22471}
22472extern "C" {
22473    pub fn pthread_attr_setschedparam(
22474        arg1: *mut pthread_attr_t,
22475        arg2: *const sched_param,
22476    ) -> ::std::os::raw::c_int;
22477}
22478extern "C" {
22479    pub fn pthread_attr_setschedpolicy(
22480        arg1: *mut pthread_attr_t,
22481        arg2: ::std::os::raw::c_int,
22482    ) -> ::std::os::raw::c_int;
22483}
22484extern "C" {
22485    pub fn pthread_attr_setscope(
22486        arg1: *mut pthread_attr_t,
22487        arg2: ::std::os::raw::c_int,
22488    ) -> ::std::os::raw::c_int;
22489}
22490extern "C" {
22491    pub fn pthread_attr_setstack(
22492        arg1: *mut pthread_attr_t,
22493        arg2: *mut ::std::os::raw::c_void,
22494        arg3: size_t,
22495    ) -> ::std::os::raw::c_int;
22496}
22497extern "C" {
22498    pub fn pthread_attr_setstackaddr(
22499        arg1: *mut pthread_attr_t,
22500        arg2: *mut ::std::os::raw::c_void,
22501    ) -> ::std::os::raw::c_int;
22502}
22503extern "C" {
22504    pub fn pthread_attr_setstacksize(
22505        arg1: *mut pthread_attr_t,
22506        arg2: size_t,
22507    ) -> ::std::os::raw::c_int;
22508}
22509extern "C" {
22510    pub fn pthread_cancel(arg1: pthread_t) -> ::std::os::raw::c_int;
22511}
22512extern "C" {
22513    pub fn pthread_cond_broadcast(arg1: *mut pthread_cond_t) -> ::std::os::raw::c_int;
22514}
22515extern "C" {
22516    pub fn pthread_cond_destroy(arg1: *mut pthread_cond_t) -> ::std::os::raw::c_int;
22517}
22518extern "C" {
22519    pub fn pthread_cond_init(
22520        arg1: *mut pthread_cond_t,
22521        arg2: *const pthread_condattr_t,
22522    ) -> ::std::os::raw::c_int;
22523}
22524extern "C" {
22525    pub fn pthread_cond_signal(arg1: *mut pthread_cond_t) -> ::std::os::raw::c_int;
22526}
22527extern "C" {
22528    pub fn pthread_cond_timedwait(
22529        arg1: *mut pthread_cond_t,
22530        arg2: *mut pthread_mutex_t,
22531        arg3: *const timespec,
22532    ) -> ::std::os::raw::c_int;
22533}
22534extern "C" {
22535    pub fn pthread_cond_wait(
22536        arg1: *mut pthread_cond_t,
22537        arg2: *mut pthread_mutex_t,
22538    ) -> ::std::os::raw::c_int;
22539}
22540extern "C" {
22541    pub fn pthread_condattr_destroy(arg1: *mut pthread_condattr_t) -> ::std::os::raw::c_int;
22542}
22543extern "C" {
22544    pub fn pthread_condattr_init(arg1: *mut pthread_condattr_t) -> ::std::os::raw::c_int;
22545}
22546extern "C" {
22547    pub fn pthread_condattr_getpshared(
22548        arg1: *const pthread_condattr_t,
22549        arg2: *mut ::std::os::raw::c_int,
22550    ) -> ::std::os::raw::c_int;
22551}
22552extern "C" {
22553    pub fn pthread_condattr_setpshared(
22554        arg1: *mut pthread_condattr_t,
22555        arg2: ::std::os::raw::c_int,
22556    ) -> ::std::os::raw::c_int;
22557}
22558extern "C" {
22559    pub fn pthread_create(
22560        arg1: *mut pthread_t,
22561        arg2: *const pthread_attr_t,
22562        arg3: ::std::option::Option<
22563            unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
22564        >,
22565        arg4: *mut ::std::os::raw::c_void,
22566    ) -> ::std::os::raw::c_int;
22567}
22568extern "C" {
22569    pub fn pthread_detach(arg1: pthread_t) -> ::std::os::raw::c_int;
22570}
22571extern "C" {
22572    pub fn pthread_equal(arg1: pthread_t, arg2: pthread_t) -> ::std::os::raw::c_int;
22573}
22574extern "C" {
22575    pub fn pthread_exit(arg1: *mut ::std::os::raw::c_void) -> !;
22576}
22577extern "C" {
22578    pub fn pthread_getconcurrency() -> ::std::os::raw::c_int;
22579}
22580extern "C" {
22581    pub fn pthread_getschedparam(
22582        arg1: pthread_t,
22583        arg2: *mut ::std::os::raw::c_int,
22584        arg3: *mut sched_param,
22585    ) -> ::std::os::raw::c_int;
22586}
22587extern "C" {
22588    pub fn pthread_getspecific(arg1: pthread_key_t) -> *mut ::std::os::raw::c_void;
22589}
22590extern "C" {
22591    pub fn pthread_join(
22592        arg1: pthread_t,
22593        arg2: *mut *mut ::std::os::raw::c_void,
22594    ) -> ::std::os::raw::c_int;
22595}
22596extern "C" {
22597    pub fn pthread_key_create(
22598        arg1: *mut pthread_key_t,
22599        arg2: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
22600    ) -> ::std::os::raw::c_int;
22601}
22602extern "C" {
22603    pub fn pthread_key_delete(arg1: pthread_key_t) -> ::std::os::raw::c_int;
22604}
22605extern "C" {
22606    pub fn pthread_mutex_destroy(arg1: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
22607}
22608extern "C" {
22609    pub fn pthread_mutex_getprioceiling(
22610        arg1: *const pthread_mutex_t,
22611        arg2: *mut ::std::os::raw::c_int,
22612    ) -> ::std::os::raw::c_int;
22613}
22614extern "C" {
22615    pub fn pthread_mutex_init(
22616        arg1: *mut pthread_mutex_t,
22617        arg2: *const pthread_mutexattr_t,
22618    ) -> ::std::os::raw::c_int;
22619}
22620extern "C" {
22621    pub fn pthread_mutex_lock(arg1: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
22622}
22623extern "C" {
22624    pub fn pthread_mutex_setprioceiling(
22625        arg1: *mut pthread_mutex_t,
22626        arg2: ::std::os::raw::c_int,
22627        arg3: *mut ::std::os::raw::c_int,
22628    ) -> ::std::os::raw::c_int;
22629}
22630extern "C" {
22631    pub fn pthread_mutex_trylock(arg1: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
22632}
22633extern "C" {
22634    pub fn pthread_mutex_unlock(arg1: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
22635}
22636extern "C" {
22637    pub fn pthread_mutexattr_destroy(arg1: *mut pthread_mutexattr_t) -> ::std::os::raw::c_int;
22638}
22639extern "C" {
22640    pub fn pthread_mutexattr_getprioceiling(
22641        arg1: *const pthread_mutexattr_t,
22642        arg2: *mut ::std::os::raw::c_int,
22643    ) -> ::std::os::raw::c_int;
22644}
22645extern "C" {
22646    pub fn pthread_mutexattr_getprotocol(
22647        arg1: *const pthread_mutexattr_t,
22648        arg2: *mut ::std::os::raw::c_int,
22649    ) -> ::std::os::raw::c_int;
22650}
22651extern "C" {
22652    pub fn pthread_mutexattr_getpshared(
22653        arg1: *const pthread_mutexattr_t,
22654        arg2: *mut ::std::os::raw::c_int,
22655    ) -> ::std::os::raw::c_int;
22656}
22657extern "C" {
22658    pub fn pthread_mutexattr_gettype(
22659        arg1: *const pthread_mutexattr_t,
22660        arg2: *mut ::std::os::raw::c_int,
22661    ) -> ::std::os::raw::c_int;
22662}
22663extern "C" {
22664    pub fn pthread_mutexattr_getpolicy_np(
22665        arg1: *const pthread_mutexattr_t,
22666        arg2: *mut ::std::os::raw::c_int,
22667    ) -> ::std::os::raw::c_int;
22668}
22669extern "C" {
22670    pub fn pthread_mutexattr_init(arg1: *mut pthread_mutexattr_t) -> ::std::os::raw::c_int;
22671}
22672extern "C" {
22673    pub fn pthread_mutexattr_setprioceiling(
22674        arg1: *mut pthread_mutexattr_t,
22675        arg2: ::std::os::raw::c_int,
22676    ) -> ::std::os::raw::c_int;
22677}
22678extern "C" {
22679    pub fn pthread_mutexattr_setprotocol(
22680        arg1: *mut pthread_mutexattr_t,
22681        arg2: ::std::os::raw::c_int,
22682    ) -> ::std::os::raw::c_int;
22683}
22684extern "C" {
22685    pub fn pthread_mutexattr_setpshared(
22686        arg1: *mut pthread_mutexattr_t,
22687        arg2: ::std::os::raw::c_int,
22688    ) -> ::std::os::raw::c_int;
22689}
22690extern "C" {
22691    pub fn pthread_mutexattr_settype(
22692        arg1: *mut pthread_mutexattr_t,
22693        arg2: ::std::os::raw::c_int,
22694    ) -> ::std::os::raw::c_int;
22695}
22696extern "C" {
22697    pub fn pthread_mutexattr_setpolicy_np(
22698        arg1: *mut pthread_mutexattr_t,
22699        arg2: ::std::os::raw::c_int,
22700    ) -> ::std::os::raw::c_int;
22701}
22702extern "C" {
22703    pub fn pthread_once(
22704        arg1: *mut pthread_once_t,
22705        arg2: ::std::option::Option<unsafe extern "C" fn()>,
22706    ) -> ::std::os::raw::c_int;
22707}
22708extern "C" {
22709    pub fn pthread_rwlock_destroy(arg1: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
22710}
22711extern "C" {
22712    pub fn pthread_rwlock_init(
22713        arg1: *mut pthread_rwlock_t,
22714        arg2: *const pthread_rwlockattr_t,
22715    ) -> ::std::os::raw::c_int;
22716}
22717extern "C" {
22718    pub fn pthread_rwlock_rdlock(arg1: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
22719}
22720extern "C" {
22721    pub fn pthread_rwlock_tryrdlock(arg1: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
22722}
22723extern "C" {
22724    pub fn pthread_rwlock_trywrlock(arg1: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
22725}
22726extern "C" {
22727    pub fn pthread_rwlock_wrlock(arg1: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
22728}
22729extern "C" {
22730    pub fn pthread_rwlock_unlock(arg1: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
22731}
22732extern "C" {
22733    pub fn pthread_rwlockattr_destroy(arg1: *mut pthread_rwlockattr_t) -> ::std::os::raw::c_int;
22734}
22735extern "C" {
22736    pub fn pthread_rwlockattr_getpshared(
22737        arg1: *const pthread_rwlockattr_t,
22738        arg2: *mut ::std::os::raw::c_int,
22739    ) -> ::std::os::raw::c_int;
22740}
22741extern "C" {
22742    pub fn pthread_rwlockattr_init(arg1: *mut pthread_rwlockattr_t) -> ::std::os::raw::c_int;
22743}
22744extern "C" {
22745    pub fn pthread_rwlockattr_setpshared(
22746        arg1: *mut pthread_rwlockattr_t,
22747        arg2: ::std::os::raw::c_int,
22748    ) -> ::std::os::raw::c_int;
22749}
22750extern "C" {
22751    pub fn pthread_self() -> pthread_t;
22752}
22753extern "C" {
22754    pub fn pthread_setcancelstate(
22755        arg1: ::std::os::raw::c_int,
22756        arg2: *mut ::std::os::raw::c_int,
22757    ) -> ::std::os::raw::c_int;
22758}
22759extern "C" {
22760    pub fn pthread_setcanceltype(
22761        arg1: ::std::os::raw::c_int,
22762        arg2: *mut ::std::os::raw::c_int,
22763    ) -> ::std::os::raw::c_int;
22764}
22765extern "C" {
22766    pub fn pthread_setconcurrency(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
22767}
22768extern "C" {
22769    pub fn pthread_setschedparam(
22770        arg1: pthread_t,
22771        arg2: ::std::os::raw::c_int,
22772        arg3: *const sched_param,
22773    ) -> ::std::os::raw::c_int;
22774}
22775extern "C" {
22776    pub fn pthread_setspecific(
22777        arg1: pthread_key_t,
22778        arg2: *const ::std::os::raw::c_void,
22779    ) -> ::std::os::raw::c_int;
22780}
22781extern "C" {
22782    pub fn pthread_testcancel();
22783}
22784extern "C" {
22785    pub fn pthread_is_threaded_np() -> ::std::os::raw::c_int;
22786}
22787extern "C" {
22788    pub fn pthread_threadid_np(arg1: pthread_t, arg2: *mut __uint64_t) -> ::std::os::raw::c_int;
22789}
22790extern "C" {
22791    pub fn pthread_getname_np(
22792        arg1: pthread_t,
22793        arg2: *mut ::std::os::raw::c_char,
22794        arg3: size_t,
22795    ) -> ::std::os::raw::c_int;
22796}
22797extern "C" {
22798    pub fn pthread_setname_np(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
22799}
22800extern "C" {
22801    pub fn pthread_main_np() -> ::std::os::raw::c_int;
22802}
22803extern "C" {
22804    pub fn pthread_mach_thread_np(arg1: pthread_t) -> mach_port_t;
22805}
22806extern "C" {
22807    pub fn pthread_get_stacksize_np(arg1: pthread_t) -> size_t;
22808}
22809extern "C" {
22810    pub fn pthread_get_stackaddr_np(arg1: pthread_t) -> *mut ::std::os::raw::c_void;
22811}
22812extern "C" {
22813    pub fn pthread_cond_signal_thread_np(
22814        arg1: *mut pthread_cond_t,
22815        arg2: pthread_t,
22816    ) -> ::std::os::raw::c_int;
22817}
22818extern "C" {
22819    pub fn pthread_cond_timedwait_relative_np(
22820        arg1: *mut pthread_cond_t,
22821        arg2: *mut pthread_mutex_t,
22822        arg3: *const timespec,
22823    ) -> ::std::os::raw::c_int;
22824}
22825extern "C" {
22826    pub fn pthread_create_suspended_np(
22827        arg1: *mut pthread_t,
22828        arg2: *const pthread_attr_t,
22829        arg3: ::std::option::Option<
22830            unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
22831        >,
22832        arg4: *mut ::std::os::raw::c_void,
22833    ) -> ::std::os::raw::c_int;
22834}
22835extern "C" {
22836    pub fn pthread_from_mach_thread_np(arg1: mach_port_t) -> pthread_t;
22837}
22838extern "C" {
22839    pub fn pthread_yield_np();
22840}
22841extern "C" {
22842    pub fn pthread_jit_write_protect_np(enabled: ::std::os::raw::c_int);
22843}
22844extern "C" {
22845    pub fn pthread_jit_write_protect_supported_np() -> ::std::os::raw::c_int;
22846}
22847pub type pthread_jit_write_callback_t = ::std::option::Option<
22848    unsafe extern "C" fn(ctx: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
22849>;
22850extern "C" {
22851    pub fn pthread_jit_write_with_callback_np(
22852        callback: pthread_jit_write_callback_t,
22853        ctx: *mut ::std::os::raw::c_void,
22854    ) -> ::std::os::raw::c_int;
22855}
22856extern "C" {
22857    pub fn pthread_jit_write_freeze_callbacks_np();
22858}
22859extern "C" {
22860    pub fn pthread_cpu_number_np(cpu_number_out: *mut size_t) -> ::std::os::raw::c_int;
22861}
22862#[repr(C)]
22863#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22864pub struct GStaticMutex {
22865    pub mutex: *mut GMutex,
22866    pub unused: pthread_mutex_t,
22867}
22868#[test]
22869fn bindgen_test_layout_GStaticMutex() {
22870    const UNINIT: ::std::mem::MaybeUninit<GStaticMutex> = ::std::mem::MaybeUninit::uninit();
22871    let ptr = UNINIT.as_ptr();
22872    assert_eq!(
22873        ::std::mem::size_of::<GStaticMutex>(),
22874        72usize,
22875        concat!("Size of: ", stringify!(GStaticMutex))
22876    );
22877    assert_eq!(
22878        ::std::mem::align_of::<GStaticMutex>(),
22879        8usize,
22880        concat!("Alignment of ", stringify!(GStaticMutex))
22881    );
22882    assert_eq!(
22883        unsafe { ::std::ptr::addr_of!((*ptr).mutex) as usize - ptr as usize },
22884        0usize,
22885        concat!(
22886            "Offset of field: ",
22887            stringify!(GStaticMutex),
22888            "::",
22889            stringify!(mutex)
22890        )
22891    );
22892    assert_eq!(
22893        unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize },
22894        8usize,
22895        concat!(
22896            "Offset of field: ",
22897            stringify!(GStaticMutex),
22898            "::",
22899            stringify!(unused)
22900        )
22901    );
22902}
22903extern "C" {
22904    pub fn g_static_mutex_init(mutex: *mut GStaticMutex);
22905}
22906extern "C" {
22907    pub fn g_static_mutex_free(mutex: *mut GStaticMutex);
22908}
22909extern "C" {
22910    pub fn g_static_mutex_get_mutex_impl(mutex: *mut GStaticMutex) -> *mut GMutex;
22911}
22912pub type GStaticRecMutex = _GStaticRecMutex;
22913#[repr(C)]
22914#[derive(Copy, Clone)]
22915pub struct _GStaticRecMutex {
22916    pub mutex: GStaticMutex,
22917    pub depth: guint,
22918    pub unused: _GStaticRecMutex__bindgen_ty_1,
22919}
22920#[repr(C)]
22921#[derive(Copy, Clone)]
22922pub union _GStaticRecMutex__bindgen_ty_1 {
22923    pub owner: pthread_t,
22924    pub dummy: gdouble,
22925}
22926#[test]
22927fn bindgen_test_layout__GStaticRecMutex__bindgen_ty_1() {
22928    const UNINIT: ::std::mem::MaybeUninit<_GStaticRecMutex__bindgen_ty_1> =
22929        ::std::mem::MaybeUninit::uninit();
22930    let ptr = UNINIT.as_ptr();
22931    assert_eq!(
22932        ::std::mem::size_of::<_GStaticRecMutex__bindgen_ty_1>(),
22933        8usize,
22934        concat!("Size of: ", stringify!(_GStaticRecMutex__bindgen_ty_1))
22935    );
22936    assert_eq!(
22937        ::std::mem::align_of::<_GStaticRecMutex__bindgen_ty_1>(),
22938        8usize,
22939        concat!("Alignment of ", stringify!(_GStaticRecMutex__bindgen_ty_1))
22940    );
22941    assert_eq!(
22942        unsafe { ::std::ptr::addr_of!((*ptr).owner) as usize - ptr as usize },
22943        0usize,
22944        concat!(
22945            "Offset of field: ",
22946            stringify!(_GStaticRecMutex__bindgen_ty_1),
22947            "::",
22948            stringify!(owner)
22949        )
22950    );
22951    assert_eq!(
22952        unsafe { ::std::ptr::addr_of!((*ptr).dummy) as usize - ptr as usize },
22953        0usize,
22954        concat!(
22955            "Offset of field: ",
22956            stringify!(_GStaticRecMutex__bindgen_ty_1),
22957            "::",
22958            stringify!(dummy)
22959        )
22960    );
22961}
22962impl ::std::fmt::Debug for _GStaticRecMutex__bindgen_ty_1 {
22963    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
22964        write!(f, "_GStaticRecMutex__bindgen_ty_1 {{ union }}")
22965    }
22966}
22967#[test]
22968fn bindgen_test_layout__GStaticRecMutex() {
22969    const UNINIT: ::std::mem::MaybeUninit<_GStaticRecMutex> = ::std::mem::MaybeUninit::uninit();
22970    let ptr = UNINIT.as_ptr();
22971    assert_eq!(
22972        ::std::mem::size_of::<_GStaticRecMutex>(),
22973        88usize,
22974        concat!("Size of: ", stringify!(_GStaticRecMutex))
22975    );
22976    assert_eq!(
22977        ::std::mem::align_of::<_GStaticRecMutex>(),
22978        8usize,
22979        concat!("Alignment of ", stringify!(_GStaticRecMutex))
22980    );
22981    assert_eq!(
22982        unsafe { ::std::ptr::addr_of!((*ptr).mutex) as usize - ptr as usize },
22983        0usize,
22984        concat!(
22985            "Offset of field: ",
22986            stringify!(_GStaticRecMutex),
22987            "::",
22988            stringify!(mutex)
22989        )
22990    );
22991    assert_eq!(
22992        unsafe { ::std::ptr::addr_of!((*ptr).depth) as usize - ptr as usize },
22993        72usize,
22994        concat!(
22995            "Offset of field: ",
22996            stringify!(_GStaticRecMutex),
22997            "::",
22998            stringify!(depth)
22999        )
23000    );
23001    assert_eq!(
23002        unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize },
23003        80usize,
23004        concat!(
23005            "Offset of field: ",
23006            stringify!(_GStaticRecMutex),
23007            "::",
23008            stringify!(unused)
23009        )
23010    );
23011}
23012impl ::std::fmt::Debug for _GStaticRecMutex {
23013    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
23014        write!(
23015            f,
23016            "_GStaticRecMutex {{ mutex: {:?}, depth: {:?}, unused: {:?} }}",
23017            self.mutex, self.depth, self.unused
23018        )
23019    }
23020}
23021extern "C" {
23022    pub fn g_static_rec_mutex_init(mutex: *mut GStaticRecMutex);
23023}
23024extern "C" {
23025    pub fn g_static_rec_mutex_lock(mutex: *mut GStaticRecMutex);
23026}
23027extern "C" {
23028    pub fn g_static_rec_mutex_trylock(mutex: *mut GStaticRecMutex) -> gboolean;
23029}
23030extern "C" {
23031    pub fn g_static_rec_mutex_unlock(mutex: *mut GStaticRecMutex);
23032}
23033extern "C" {
23034    pub fn g_static_rec_mutex_lock_full(mutex: *mut GStaticRecMutex, depth: guint);
23035}
23036extern "C" {
23037    pub fn g_static_rec_mutex_unlock_full(mutex: *mut GStaticRecMutex) -> guint;
23038}
23039extern "C" {
23040    pub fn g_static_rec_mutex_free(mutex: *mut GStaticRecMutex);
23041}
23042pub type GStaticRWLock = _GStaticRWLock;
23043#[repr(C)]
23044#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23045pub struct _GStaticRWLock {
23046    pub mutex: GStaticMutex,
23047    pub read_cond: *mut GCond,
23048    pub write_cond: *mut GCond,
23049    pub read_counter: guint,
23050    pub have_writer: gboolean,
23051    pub want_to_read: guint,
23052    pub want_to_write: guint,
23053}
23054#[test]
23055fn bindgen_test_layout__GStaticRWLock() {
23056    const UNINIT: ::std::mem::MaybeUninit<_GStaticRWLock> = ::std::mem::MaybeUninit::uninit();
23057    let ptr = UNINIT.as_ptr();
23058    assert_eq!(
23059        ::std::mem::size_of::<_GStaticRWLock>(),
23060        104usize,
23061        concat!("Size of: ", stringify!(_GStaticRWLock))
23062    );
23063    assert_eq!(
23064        ::std::mem::align_of::<_GStaticRWLock>(),
23065        8usize,
23066        concat!("Alignment of ", stringify!(_GStaticRWLock))
23067    );
23068    assert_eq!(
23069        unsafe { ::std::ptr::addr_of!((*ptr).mutex) as usize - ptr as usize },
23070        0usize,
23071        concat!(
23072            "Offset of field: ",
23073            stringify!(_GStaticRWLock),
23074            "::",
23075            stringify!(mutex)
23076        )
23077    );
23078    assert_eq!(
23079        unsafe { ::std::ptr::addr_of!((*ptr).read_cond) as usize - ptr as usize },
23080        72usize,
23081        concat!(
23082            "Offset of field: ",
23083            stringify!(_GStaticRWLock),
23084            "::",
23085            stringify!(read_cond)
23086        )
23087    );
23088    assert_eq!(
23089        unsafe { ::std::ptr::addr_of!((*ptr).write_cond) as usize - ptr as usize },
23090        80usize,
23091        concat!(
23092            "Offset of field: ",
23093            stringify!(_GStaticRWLock),
23094            "::",
23095            stringify!(write_cond)
23096        )
23097    );
23098    assert_eq!(
23099        unsafe { ::std::ptr::addr_of!((*ptr).read_counter) as usize - ptr as usize },
23100        88usize,
23101        concat!(
23102            "Offset of field: ",
23103            stringify!(_GStaticRWLock),
23104            "::",
23105            stringify!(read_counter)
23106        )
23107    );
23108    assert_eq!(
23109        unsafe { ::std::ptr::addr_of!((*ptr).have_writer) as usize - ptr as usize },
23110        92usize,
23111        concat!(
23112            "Offset of field: ",
23113            stringify!(_GStaticRWLock),
23114            "::",
23115            stringify!(have_writer)
23116        )
23117    );
23118    assert_eq!(
23119        unsafe { ::std::ptr::addr_of!((*ptr).want_to_read) as usize - ptr as usize },
23120        96usize,
23121        concat!(
23122            "Offset of field: ",
23123            stringify!(_GStaticRWLock),
23124            "::",
23125            stringify!(want_to_read)
23126        )
23127    );
23128    assert_eq!(
23129        unsafe { ::std::ptr::addr_of!((*ptr).want_to_write) as usize - ptr as usize },
23130        100usize,
23131        concat!(
23132            "Offset of field: ",
23133            stringify!(_GStaticRWLock),
23134            "::",
23135            stringify!(want_to_write)
23136        )
23137    );
23138}
23139extern "C" {
23140    pub fn g_static_rw_lock_init(lock: *mut GStaticRWLock);
23141}
23142extern "C" {
23143    pub fn g_static_rw_lock_reader_lock(lock: *mut GStaticRWLock);
23144}
23145extern "C" {
23146    pub fn g_static_rw_lock_reader_trylock(lock: *mut GStaticRWLock) -> gboolean;
23147}
23148extern "C" {
23149    pub fn g_static_rw_lock_reader_unlock(lock: *mut GStaticRWLock);
23150}
23151extern "C" {
23152    pub fn g_static_rw_lock_writer_lock(lock: *mut GStaticRWLock);
23153}
23154extern "C" {
23155    pub fn g_static_rw_lock_writer_trylock(lock: *mut GStaticRWLock) -> gboolean;
23156}
23157extern "C" {
23158    pub fn g_static_rw_lock_writer_unlock(lock: *mut GStaticRWLock);
23159}
23160extern "C" {
23161    pub fn g_static_rw_lock_free(lock: *mut GStaticRWLock);
23162}
23163extern "C" {
23164    pub fn g_private_new(notify: GDestroyNotify) -> *mut GPrivate;
23165}
23166pub type GStaticPrivate = _GStaticPrivate;
23167#[repr(C)]
23168#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23169pub struct _GStaticPrivate {
23170    pub index: guint,
23171}
23172#[test]
23173fn bindgen_test_layout__GStaticPrivate() {
23174    const UNINIT: ::std::mem::MaybeUninit<_GStaticPrivate> = ::std::mem::MaybeUninit::uninit();
23175    let ptr = UNINIT.as_ptr();
23176    assert_eq!(
23177        ::std::mem::size_of::<_GStaticPrivate>(),
23178        4usize,
23179        concat!("Size of: ", stringify!(_GStaticPrivate))
23180    );
23181    assert_eq!(
23182        ::std::mem::align_of::<_GStaticPrivate>(),
23183        4usize,
23184        concat!("Alignment of ", stringify!(_GStaticPrivate))
23185    );
23186    assert_eq!(
23187        unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
23188        0usize,
23189        concat!(
23190            "Offset of field: ",
23191            stringify!(_GStaticPrivate),
23192            "::",
23193            stringify!(index)
23194        )
23195    );
23196}
23197extern "C" {
23198    pub fn g_static_private_init(private_key: *mut GStaticPrivate);
23199}
23200extern "C" {
23201    pub fn g_static_private_get(private_key: *mut GStaticPrivate) -> gpointer;
23202}
23203extern "C" {
23204    pub fn g_static_private_set(
23205        private_key: *mut GStaticPrivate,
23206        data: gpointer,
23207        notify: GDestroyNotify,
23208    );
23209}
23210extern "C" {
23211    pub fn g_static_private_free(private_key: *mut GStaticPrivate);
23212}
23213extern "C" {
23214    pub fn g_once_init_enter_impl(location: *mut gsize) -> gboolean;
23215}
23216extern "C" {
23217    pub fn g_thread_init(vtable: gpointer);
23218}
23219extern "C" {
23220    pub fn g_thread_init_with_errorcheck_mutexes(vtable: gpointer);
23221}
23222extern "C" {
23223    pub fn g_thread_get_initialized() -> gboolean;
23224}
23225extern "C" {
23226    pub static mut g_threads_got_initialized: gboolean;
23227}
23228extern "C" {
23229    pub fn g_mutex_new() -> *mut GMutex;
23230}
23231extern "C" {
23232    pub fn g_mutex_free(mutex: *mut GMutex);
23233}
23234extern "C" {
23235    pub fn g_cond_new() -> *mut GCond;
23236}
23237extern "C" {
23238    pub fn g_cond_free(cond: *mut GCond);
23239}
23240extern "C" {
23241    pub fn g_cond_timed_wait(
23242        cond: *mut GCond,
23243        mutex: *mut GMutex,
23244        timeval: *mut GTimeVal,
23245    ) -> gboolean;
23246}
23247pub type GAsyncQueue_autoptr = *mut GAsyncQueue;
23248pub type GAsyncQueue_listautoptr = *mut GList;
23249pub type GAsyncQueue_slistautoptr = *mut GSList;
23250pub type GAsyncQueue_queueautoptr = *mut GQueue;
23251pub type GBookmarkFile_autoptr = *mut GBookmarkFile;
23252pub type GBookmarkFile_listautoptr = *mut GList;
23253pub type GBookmarkFile_slistautoptr = *mut GSList;
23254pub type GBookmarkFile_queueautoptr = *mut GQueue;
23255pub type GBytes_autoptr = *mut GBytes;
23256pub type GBytes_listautoptr = *mut GList;
23257pub type GBytes_slistautoptr = *mut GSList;
23258pub type GBytes_queueautoptr = *mut GQueue;
23259pub type GChecksum_autoptr = *mut GChecksum;
23260pub type GChecksum_listautoptr = *mut GList;
23261pub type GChecksum_slistautoptr = *mut GSList;
23262pub type GChecksum_queueautoptr = *mut GQueue;
23263pub type GDateTime_autoptr = *mut GDateTime;
23264pub type GDateTime_listautoptr = *mut GList;
23265pub type GDateTime_slistautoptr = *mut GSList;
23266pub type GDateTime_queueautoptr = *mut GQueue;
23267pub type GDate_autoptr = *mut GDate;
23268pub type GDate_listautoptr = *mut GList;
23269pub type GDate_slistautoptr = *mut GSList;
23270pub type GDate_queueautoptr = *mut GQueue;
23271pub type GDir_autoptr = *mut GDir;
23272pub type GDir_listautoptr = *mut GList;
23273pub type GDir_slistautoptr = *mut GSList;
23274pub type GDir_queueautoptr = *mut GQueue;
23275pub type GError_autoptr = *mut GError;
23276pub type GError_listautoptr = *mut GList;
23277pub type GError_slistautoptr = *mut GSList;
23278pub type GError_queueautoptr = *mut GQueue;
23279pub type GHashTable_autoptr = *mut GHashTable;
23280pub type GHashTable_listautoptr = *mut GList;
23281pub type GHashTable_slistautoptr = *mut GSList;
23282pub type GHashTable_queueautoptr = *mut GQueue;
23283pub type GHmac_autoptr = *mut GHmac;
23284pub type GHmac_listautoptr = *mut GList;
23285pub type GHmac_slistautoptr = *mut GSList;
23286pub type GHmac_queueautoptr = *mut GQueue;
23287pub type GIOChannel_autoptr = *mut GIOChannel;
23288pub type GIOChannel_listautoptr = *mut GList;
23289pub type GIOChannel_slistautoptr = *mut GSList;
23290pub type GIOChannel_queueautoptr = *mut GQueue;
23291pub type GKeyFile_autoptr = *mut GKeyFile;
23292pub type GKeyFile_listautoptr = *mut GList;
23293pub type GKeyFile_slistautoptr = *mut GSList;
23294pub type GKeyFile_queueautoptr = *mut GQueue;
23295pub type GList_autoptr = *mut GList;
23296pub type GList_listautoptr = *mut GList;
23297pub type GList_slistautoptr = *mut GSList;
23298pub type GList_queueautoptr = *mut GQueue;
23299pub type GArray_autoptr = *mut GArray;
23300pub type GArray_listautoptr = *mut GList;
23301pub type GArray_slistautoptr = *mut GSList;
23302pub type GArray_queueautoptr = *mut GQueue;
23303pub type GPtrArray_autoptr = *mut GPtrArray;
23304pub type GPtrArray_listautoptr = *mut GList;
23305pub type GPtrArray_slistautoptr = *mut GSList;
23306pub type GPtrArray_queueautoptr = *mut GQueue;
23307pub type GByteArray_autoptr = *mut GByteArray;
23308pub type GByteArray_listautoptr = *mut GList;
23309pub type GByteArray_slistautoptr = *mut GSList;
23310pub type GByteArray_queueautoptr = *mut GQueue;
23311pub type GMainContext_autoptr = *mut GMainContext;
23312pub type GMainContext_listautoptr = *mut GList;
23313pub type GMainContext_slistautoptr = *mut GSList;
23314pub type GMainContext_queueautoptr = *mut GQueue;
23315pub type GMainContextPusher_autoptr = *mut GMainContextPusher;
23316pub type GMainContextPusher_listautoptr = *mut GList;
23317pub type GMainContextPusher_slistautoptr = *mut GSList;
23318pub type GMainContextPusher_queueautoptr = *mut GQueue;
23319pub type GMainLoop_autoptr = *mut GMainLoop;
23320pub type GMainLoop_listautoptr = *mut GList;
23321pub type GMainLoop_slistautoptr = *mut GSList;
23322pub type GMainLoop_queueautoptr = *mut GQueue;
23323pub type GSource_autoptr = *mut GSource;
23324pub type GSource_listautoptr = *mut GList;
23325pub type GSource_slistautoptr = *mut GSList;
23326pub type GSource_queueautoptr = *mut GQueue;
23327pub type GMappedFile_autoptr = *mut GMappedFile;
23328pub type GMappedFile_listautoptr = *mut GList;
23329pub type GMappedFile_slistautoptr = *mut GSList;
23330pub type GMappedFile_queueautoptr = *mut GQueue;
23331pub type GMarkupParseContext_autoptr = *mut GMarkupParseContext;
23332pub type GMarkupParseContext_listautoptr = *mut GList;
23333pub type GMarkupParseContext_slistautoptr = *mut GSList;
23334pub type GMarkupParseContext_queueautoptr = *mut GQueue;
23335pub type GNode_autoptr = *mut GNode;
23336pub type GNode_listautoptr = *mut GList;
23337pub type GNode_slistautoptr = *mut GSList;
23338pub type GNode_queueautoptr = *mut GQueue;
23339pub type GOptionContext_autoptr = *mut GOptionContext;
23340pub type GOptionContext_listautoptr = *mut GList;
23341pub type GOptionContext_slistautoptr = *mut GSList;
23342pub type GOptionContext_queueautoptr = *mut GQueue;
23343pub type GOptionGroup_autoptr = *mut GOptionGroup;
23344pub type GOptionGroup_listautoptr = *mut GList;
23345pub type GOptionGroup_slistautoptr = *mut GSList;
23346pub type GOptionGroup_queueautoptr = *mut GQueue;
23347pub type GPatternSpec_autoptr = *mut GPatternSpec;
23348pub type GPatternSpec_listautoptr = *mut GList;
23349pub type GPatternSpec_slistautoptr = *mut GSList;
23350pub type GPatternSpec_queueautoptr = *mut GQueue;
23351pub type GQueue_autoptr = *mut GQueue;
23352pub type GQueue_listautoptr = *mut GList;
23353pub type GQueue_slistautoptr = *mut GSList;
23354pub type GQueue_queueautoptr = *mut GQueue;
23355pub type GRand_autoptr = *mut GRand;
23356pub type GRand_listautoptr = *mut GList;
23357pub type GRand_slistautoptr = *mut GSList;
23358pub type GRand_queueautoptr = *mut GQueue;
23359pub type GRegex_autoptr = *mut GRegex;
23360pub type GRegex_listautoptr = *mut GList;
23361pub type GRegex_slistautoptr = *mut GSList;
23362pub type GRegex_queueautoptr = *mut GQueue;
23363pub type GMatchInfo_autoptr = *mut GMatchInfo;
23364pub type GMatchInfo_listautoptr = *mut GList;
23365pub type GMatchInfo_slistautoptr = *mut GSList;
23366pub type GMatchInfo_queueautoptr = *mut GQueue;
23367pub type GScanner_autoptr = *mut GScanner;
23368pub type GScanner_listautoptr = *mut GList;
23369pub type GScanner_slistautoptr = *mut GSList;
23370pub type GScanner_queueautoptr = *mut GQueue;
23371pub type GSequence_autoptr = *mut GSequence;
23372pub type GSequence_listautoptr = *mut GList;
23373pub type GSequence_slistautoptr = *mut GSList;
23374pub type GSequence_queueautoptr = *mut GQueue;
23375pub type GSList_autoptr = *mut GSList;
23376pub type GSList_listautoptr = *mut GList;
23377pub type GSList_slistautoptr = *mut GSList;
23378pub type GSList_queueautoptr = *mut GQueue;
23379pub type GString_autoptr = *mut GString;
23380pub type GString_listautoptr = *mut GList;
23381pub type GString_slistautoptr = *mut GSList;
23382pub type GString_queueautoptr = *mut GQueue;
23383pub type GStringChunk_autoptr = *mut GStringChunk;
23384pub type GStringChunk_listautoptr = *mut GList;
23385pub type GStringChunk_slistautoptr = *mut GSList;
23386pub type GStringChunk_queueautoptr = *mut GQueue;
23387pub type GStrvBuilder_autoptr = *mut GStrvBuilder;
23388pub type GStrvBuilder_listautoptr = *mut GList;
23389pub type GStrvBuilder_slistautoptr = *mut GSList;
23390pub type GStrvBuilder_queueautoptr = *mut GQueue;
23391pub type GThread_autoptr = *mut GThread;
23392pub type GThread_listautoptr = *mut GList;
23393pub type GThread_slistautoptr = *mut GSList;
23394pub type GThread_queueautoptr = *mut GQueue;
23395pub type GMutexLocker_autoptr = *mut GMutexLocker;
23396pub type GMutexLocker_listautoptr = *mut GList;
23397pub type GMutexLocker_slistautoptr = *mut GSList;
23398pub type GMutexLocker_queueautoptr = *mut GQueue;
23399pub type GRecMutexLocker_autoptr = *mut GRecMutexLocker;
23400pub type GRecMutexLocker_listautoptr = *mut GList;
23401pub type GRecMutexLocker_slistautoptr = *mut GSList;
23402pub type GRecMutexLocker_queueautoptr = *mut GQueue;
23403pub type GRWLockWriterLocker_autoptr = *mut GRWLockWriterLocker;
23404pub type GRWLockWriterLocker_listautoptr = *mut GList;
23405pub type GRWLockWriterLocker_slistautoptr = *mut GSList;
23406pub type GRWLockWriterLocker_queueautoptr = *mut GQueue;
23407pub type GRWLockReaderLocker_autoptr = *mut GRWLockReaderLocker;
23408pub type GRWLockReaderLocker_listautoptr = *mut GList;
23409pub type GRWLockReaderLocker_slistautoptr = *mut GSList;
23410pub type GRWLockReaderLocker_queueautoptr = *mut GQueue;
23411pub type GTimer_autoptr = *mut GTimer;
23412pub type GTimer_listautoptr = *mut GList;
23413pub type GTimer_slistautoptr = *mut GSList;
23414pub type GTimer_queueautoptr = *mut GQueue;
23415pub type GTimeZone_autoptr = *mut GTimeZone;
23416pub type GTimeZone_listautoptr = *mut GList;
23417pub type GTimeZone_slistautoptr = *mut GSList;
23418pub type GTimeZone_queueautoptr = *mut GQueue;
23419pub type GTree_autoptr = *mut GTree;
23420pub type GTree_listautoptr = *mut GList;
23421pub type GTree_slistautoptr = *mut GSList;
23422pub type GTree_queueautoptr = *mut GQueue;
23423pub type GVariant_autoptr = *mut GVariant;
23424pub type GVariant_listautoptr = *mut GList;
23425pub type GVariant_slistautoptr = *mut GSList;
23426pub type GVariant_queueautoptr = *mut GQueue;
23427pub type GVariantBuilder_autoptr = *mut GVariantBuilder;
23428pub type GVariantBuilder_listautoptr = *mut GList;
23429pub type GVariantBuilder_slistautoptr = *mut GSList;
23430pub type GVariantBuilder_queueautoptr = *mut GQueue;
23431pub type GVariantIter_autoptr = *mut GVariantIter;
23432pub type GVariantIter_listautoptr = *mut GList;
23433pub type GVariantIter_slistautoptr = *mut GSList;
23434pub type GVariantIter_queueautoptr = *mut GQueue;
23435pub type GVariantDict_autoptr = *mut GVariantDict;
23436pub type GVariantDict_listautoptr = *mut GList;
23437pub type GVariantDict_slistautoptr = *mut GSList;
23438pub type GVariantDict_queueautoptr = *mut GQueue;
23439pub type GVariantType_autoptr = *mut GVariantType;
23440pub type GVariantType_listautoptr = *mut GList;
23441pub type GVariantType_slistautoptr = *mut GSList;
23442pub type GVariantType_queueautoptr = *mut GQueue;
23443pub type GRefString_autoptr = *mut GRefString;
23444pub type GRefString_listautoptr = *mut GList;
23445pub type GRefString_slistautoptr = *mut GSList;
23446pub type GRefString_queueautoptr = *mut GQueue;
23447pub type GUri_autoptr = *mut GUri;
23448pub type GUri_listautoptr = *mut GList;
23449pub type GUri_slistautoptr = *mut GSList;
23450pub type GUri_queueautoptr = *mut GQueue;
23451pub type GPathBuf_autoptr = *mut GPathBuf;
23452pub type GPathBuf_listautoptr = *mut GList;
23453pub type GPathBuf_slistautoptr = *mut GSList;
23454pub type GPathBuf_queueautoptr = *mut GQueue;
23455extern "C" {
23456    pub fn renameat(
23457        arg1: ::std::os::raw::c_int,
23458        arg2: *const ::std::os::raw::c_char,
23459        arg3: ::std::os::raw::c_int,
23460        arg4: *const ::std::os::raw::c_char,
23461    ) -> ::std::os::raw::c_int;
23462}
23463extern "C" {
23464    pub fn renamex_np(
23465        arg1: *const ::std::os::raw::c_char,
23466        arg2: *const ::std::os::raw::c_char,
23467        arg3: ::std::os::raw::c_uint,
23468    ) -> ::std::os::raw::c_int;
23469}
23470extern "C" {
23471    pub fn renameatx_np(
23472        arg1: ::std::os::raw::c_int,
23473        arg2: *const ::std::os::raw::c_char,
23474        arg3: ::std::os::raw::c_int,
23475        arg4: *const ::std::os::raw::c_char,
23476        arg5: ::std::os::raw::c_uint,
23477    ) -> ::std::os::raw::c_int;
23478}
23479pub type fpos_t = __darwin_off_t;
23480#[repr(C)]
23481#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23482pub struct __sbuf {
23483    pub _base: *mut ::std::os::raw::c_uchar,
23484    pub _size: ::std::os::raw::c_int,
23485}
23486#[test]
23487fn bindgen_test_layout___sbuf() {
23488    const UNINIT: ::std::mem::MaybeUninit<__sbuf> = ::std::mem::MaybeUninit::uninit();
23489    let ptr = UNINIT.as_ptr();
23490    assert_eq!(
23491        ::std::mem::size_of::<__sbuf>(),
23492        16usize,
23493        concat!("Size of: ", stringify!(__sbuf))
23494    );
23495    assert_eq!(
23496        ::std::mem::align_of::<__sbuf>(),
23497        8usize,
23498        concat!("Alignment of ", stringify!(__sbuf))
23499    );
23500    assert_eq!(
23501        unsafe { ::std::ptr::addr_of!((*ptr)._base) as usize - ptr as usize },
23502        0usize,
23503        concat!(
23504            "Offset of field: ",
23505            stringify!(__sbuf),
23506            "::",
23507            stringify!(_base)
23508        )
23509    );
23510    assert_eq!(
23511        unsafe { ::std::ptr::addr_of!((*ptr)._size) as usize - ptr as usize },
23512        8usize,
23513        concat!(
23514            "Offset of field: ",
23515            stringify!(__sbuf),
23516            "::",
23517            stringify!(_size)
23518        )
23519    );
23520}
23521#[repr(C)]
23522#[derive(Debug, Copy, Clone)]
23523pub struct __sFILEX {
23524    _unused: [u8; 0],
23525}
23526#[repr(C)]
23527#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23528pub struct __sFILE {
23529    pub _p: *mut ::std::os::raw::c_uchar,
23530    pub _r: ::std::os::raw::c_int,
23531    pub _w: ::std::os::raw::c_int,
23532    pub _flags: ::std::os::raw::c_short,
23533    pub _file: ::std::os::raw::c_short,
23534    pub _bf: __sbuf,
23535    pub _lbfsize: ::std::os::raw::c_int,
23536    pub _cookie: *mut ::std::os::raw::c_void,
23537    pub _close: ::std::option::Option<
23538        unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
23539    >,
23540    pub _read: ::std::option::Option<
23541        unsafe extern "C" fn(
23542            arg1: *mut ::std::os::raw::c_void,
23543            arg2: *mut ::std::os::raw::c_char,
23544            arg3: ::std::os::raw::c_int,
23545        ) -> ::std::os::raw::c_int,
23546    >,
23547    pub _seek: ::std::option::Option<
23548        unsafe extern "C" fn(
23549            arg1: *mut ::std::os::raw::c_void,
23550            arg2: fpos_t,
23551            arg3: ::std::os::raw::c_int,
23552        ) -> fpos_t,
23553    >,
23554    pub _write: ::std::option::Option<
23555        unsafe extern "C" fn(
23556            arg1: *mut ::std::os::raw::c_void,
23557            arg2: *const ::std::os::raw::c_char,
23558            arg3: ::std::os::raw::c_int,
23559        ) -> ::std::os::raw::c_int,
23560    >,
23561    pub _ub: __sbuf,
23562    pub _extra: *mut __sFILEX,
23563    pub _ur: ::std::os::raw::c_int,
23564    pub _ubuf: [::std::os::raw::c_uchar; 3usize],
23565    pub _nbuf: [::std::os::raw::c_uchar; 1usize],
23566    pub _lb: __sbuf,
23567    pub _blksize: ::std::os::raw::c_int,
23568    pub _offset: fpos_t,
23569}
23570#[test]
23571fn bindgen_test_layout___sFILE() {
23572    const UNINIT: ::std::mem::MaybeUninit<__sFILE> = ::std::mem::MaybeUninit::uninit();
23573    let ptr = UNINIT.as_ptr();
23574    assert_eq!(
23575        ::std::mem::size_of::<__sFILE>(),
23576        152usize,
23577        concat!("Size of: ", stringify!(__sFILE))
23578    );
23579    assert_eq!(
23580        ::std::mem::align_of::<__sFILE>(),
23581        8usize,
23582        concat!("Alignment of ", stringify!(__sFILE))
23583    );
23584    assert_eq!(
23585        unsafe { ::std::ptr::addr_of!((*ptr)._p) as usize - ptr as usize },
23586        0usize,
23587        concat!(
23588            "Offset of field: ",
23589            stringify!(__sFILE),
23590            "::",
23591            stringify!(_p)
23592        )
23593    );
23594    assert_eq!(
23595        unsafe { ::std::ptr::addr_of!((*ptr)._r) as usize - ptr as usize },
23596        8usize,
23597        concat!(
23598            "Offset of field: ",
23599            stringify!(__sFILE),
23600            "::",
23601            stringify!(_r)
23602        )
23603    );
23604    assert_eq!(
23605        unsafe { ::std::ptr::addr_of!((*ptr)._w) as usize - ptr as usize },
23606        12usize,
23607        concat!(
23608            "Offset of field: ",
23609            stringify!(__sFILE),
23610            "::",
23611            stringify!(_w)
23612        )
23613    );
23614    assert_eq!(
23615        unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
23616        16usize,
23617        concat!(
23618            "Offset of field: ",
23619            stringify!(__sFILE),
23620            "::",
23621            stringify!(_flags)
23622        )
23623    );
23624    assert_eq!(
23625        unsafe { ::std::ptr::addr_of!((*ptr)._file) as usize - ptr as usize },
23626        18usize,
23627        concat!(
23628            "Offset of field: ",
23629            stringify!(__sFILE),
23630            "::",
23631            stringify!(_file)
23632        )
23633    );
23634    assert_eq!(
23635        unsafe { ::std::ptr::addr_of!((*ptr)._bf) as usize - ptr as usize },
23636        24usize,
23637        concat!(
23638            "Offset of field: ",
23639            stringify!(__sFILE),
23640            "::",
23641            stringify!(_bf)
23642        )
23643    );
23644    assert_eq!(
23645        unsafe { ::std::ptr::addr_of!((*ptr)._lbfsize) as usize - ptr as usize },
23646        40usize,
23647        concat!(
23648            "Offset of field: ",
23649            stringify!(__sFILE),
23650            "::",
23651            stringify!(_lbfsize)
23652        )
23653    );
23654    assert_eq!(
23655        unsafe { ::std::ptr::addr_of!((*ptr)._cookie) as usize - ptr as usize },
23656        48usize,
23657        concat!(
23658            "Offset of field: ",
23659            stringify!(__sFILE),
23660            "::",
23661            stringify!(_cookie)
23662        )
23663    );
23664    assert_eq!(
23665        unsafe { ::std::ptr::addr_of!((*ptr)._close) as usize - ptr as usize },
23666        56usize,
23667        concat!(
23668            "Offset of field: ",
23669            stringify!(__sFILE),
23670            "::",
23671            stringify!(_close)
23672        )
23673    );
23674    assert_eq!(
23675        unsafe { ::std::ptr::addr_of!((*ptr)._read) as usize - ptr as usize },
23676        64usize,
23677        concat!(
23678            "Offset of field: ",
23679            stringify!(__sFILE),
23680            "::",
23681            stringify!(_read)
23682        )
23683    );
23684    assert_eq!(
23685        unsafe { ::std::ptr::addr_of!((*ptr)._seek) as usize - ptr as usize },
23686        72usize,
23687        concat!(
23688            "Offset of field: ",
23689            stringify!(__sFILE),
23690            "::",
23691            stringify!(_seek)
23692        )
23693    );
23694    assert_eq!(
23695        unsafe { ::std::ptr::addr_of!((*ptr)._write) as usize - ptr as usize },
23696        80usize,
23697        concat!(
23698            "Offset of field: ",
23699            stringify!(__sFILE),
23700            "::",
23701            stringify!(_write)
23702        )
23703    );
23704    assert_eq!(
23705        unsafe { ::std::ptr::addr_of!((*ptr)._ub) as usize - ptr as usize },
23706        88usize,
23707        concat!(
23708            "Offset of field: ",
23709            stringify!(__sFILE),
23710            "::",
23711            stringify!(_ub)
23712        )
23713    );
23714    assert_eq!(
23715        unsafe { ::std::ptr::addr_of!((*ptr)._extra) as usize - ptr as usize },
23716        104usize,
23717        concat!(
23718            "Offset of field: ",
23719            stringify!(__sFILE),
23720            "::",
23721            stringify!(_extra)
23722        )
23723    );
23724    assert_eq!(
23725        unsafe { ::std::ptr::addr_of!((*ptr)._ur) as usize - ptr as usize },
23726        112usize,
23727        concat!(
23728            "Offset of field: ",
23729            stringify!(__sFILE),
23730            "::",
23731            stringify!(_ur)
23732        )
23733    );
23734    assert_eq!(
23735        unsafe { ::std::ptr::addr_of!((*ptr)._ubuf) as usize - ptr as usize },
23736        116usize,
23737        concat!(
23738            "Offset of field: ",
23739            stringify!(__sFILE),
23740            "::",
23741            stringify!(_ubuf)
23742        )
23743    );
23744    assert_eq!(
23745        unsafe { ::std::ptr::addr_of!((*ptr)._nbuf) as usize - ptr as usize },
23746        119usize,
23747        concat!(
23748            "Offset of field: ",
23749            stringify!(__sFILE),
23750            "::",
23751            stringify!(_nbuf)
23752        )
23753    );
23754    assert_eq!(
23755        unsafe { ::std::ptr::addr_of!((*ptr)._lb) as usize - ptr as usize },
23756        120usize,
23757        concat!(
23758            "Offset of field: ",
23759            stringify!(__sFILE),
23760            "::",
23761            stringify!(_lb)
23762        )
23763    );
23764    assert_eq!(
23765        unsafe { ::std::ptr::addr_of!((*ptr)._blksize) as usize - ptr as usize },
23766        136usize,
23767        concat!(
23768            "Offset of field: ",
23769            stringify!(__sFILE),
23770            "::",
23771            stringify!(_blksize)
23772        )
23773    );
23774    assert_eq!(
23775        unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
23776        144usize,
23777        concat!(
23778            "Offset of field: ",
23779            stringify!(__sFILE),
23780            "::",
23781            stringify!(_offset)
23782        )
23783    );
23784}
23785pub type FILE = __sFILE;
23786extern "C" {
23787    pub static mut __stdinp: *mut FILE;
23788}
23789extern "C" {
23790    pub static mut __stdoutp: *mut FILE;
23791}
23792extern "C" {
23793    pub static mut __stderrp: *mut FILE;
23794}
23795extern "C" {
23796    pub fn clearerr(arg1: *mut FILE);
23797}
23798extern "C" {
23799    pub fn fclose(arg1: *mut FILE) -> ::std::os::raw::c_int;
23800}
23801extern "C" {
23802    pub fn feof(arg1: *mut FILE) -> ::std::os::raw::c_int;
23803}
23804extern "C" {
23805    pub fn ferror(arg1: *mut FILE) -> ::std::os::raw::c_int;
23806}
23807extern "C" {
23808    pub fn fflush(arg1: *mut FILE) -> ::std::os::raw::c_int;
23809}
23810extern "C" {
23811    pub fn fgetc(arg1: *mut FILE) -> ::std::os::raw::c_int;
23812}
23813extern "C" {
23814    pub fn fgetpos(arg1: *mut FILE, arg2: *mut fpos_t) -> ::std::os::raw::c_int;
23815}
23816extern "C" {
23817    pub fn fgets(
23818        arg1: *mut ::std::os::raw::c_char,
23819        arg2: ::std::os::raw::c_int,
23820        arg3: *mut FILE,
23821    ) -> *mut ::std::os::raw::c_char;
23822}
23823extern "C" {
23824    pub fn fopen(
23825        __filename: *const ::std::os::raw::c_char,
23826        __mode: *const ::std::os::raw::c_char,
23827    ) -> *mut FILE;
23828}
23829extern "C" {
23830    pub fn fprintf(
23831        arg1: *mut FILE,
23832        arg2: *const ::std::os::raw::c_char,
23833        ...
23834    ) -> ::std::os::raw::c_int;
23835}
23836extern "C" {
23837    pub fn fputc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
23838}
23839extern "C" {
23840    pub fn fputs(arg1: *const ::std::os::raw::c_char, arg2: *mut FILE) -> ::std::os::raw::c_int;
23841}
23842extern "C" {
23843    pub fn fread(
23844        __ptr: *mut ::std::os::raw::c_void,
23845        __size: ::std::os::raw::c_ulong,
23846        __nitems: ::std::os::raw::c_ulong,
23847        __stream: *mut FILE,
23848    ) -> ::std::os::raw::c_ulong;
23849}
23850extern "C" {
23851    pub fn freopen(
23852        arg1: *const ::std::os::raw::c_char,
23853        arg2: *const ::std::os::raw::c_char,
23854        arg3: *mut FILE,
23855    ) -> *mut FILE;
23856}
23857extern "C" {
23858    pub fn fscanf(
23859        arg1: *mut FILE,
23860        arg2: *const ::std::os::raw::c_char,
23861        ...
23862    ) -> ::std::os::raw::c_int;
23863}
23864extern "C" {
23865    pub fn fseek(
23866        arg1: *mut FILE,
23867        arg2: ::std::os::raw::c_long,
23868        arg3: ::std::os::raw::c_int,
23869    ) -> ::std::os::raw::c_int;
23870}
23871extern "C" {
23872    pub fn fsetpos(arg1: *mut FILE, arg2: *const fpos_t) -> ::std::os::raw::c_int;
23873}
23874extern "C" {
23875    pub fn ftell(arg1: *mut FILE) -> ::std::os::raw::c_long;
23876}
23877extern "C" {
23878    pub fn fwrite(
23879        __ptr: *const ::std::os::raw::c_void,
23880        __size: ::std::os::raw::c_ulong,
23881        __nitems: ::std::os::raw::c_ulong,
23882        __stream: *mut FILE,
23883    ) -> ::std::os::raw::c_ulong;
23884}
23885extern "C" {
23886    pub fn getc(arg1: *mut FILE) -> ::std::os::raw::c_int;
23887}
23888extern "C" {
23889    pub fn getchar() -> ::std::os::raw::c_int;
23890}
23891extern "C" {
23892    pub fn gets(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
23893}
23894extern "C" {
23895    pub fn perror(arg1: *const ::std::os::raw::c_char);
23896}
23897extern "C" {
23898    pub fn printf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
23899}
23900extern "C" {
23901    pub fn putc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
23902}
23903extern "C" {
23904    pub fn putchar(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
23905}
23906extern "C" {
23907    pub fn puts(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
23908}
23909extern "C" {
23910    pub fn remove(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
23911}
23912extern "C" {
23913    pub fn rename(
23914        __old: *const ::std::os::raw::c_char,
23915        __new: *const ::std::os::raw::c_char,
23916    ) -> ::std::os::raw::c_int;
23917}
23918extern "C" {
23919    pub fn rewind(arg1: *mut FILE);
23920}
23921extern "C" {
23922    pub fn scanf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
23923}
23924extern "C" {
23925    pub fn setbuf(arg1: *mut FILE, arg2: *mut ::std::os::raw::c_char);
23926}
23927extern "C" {
23928    pub fn setvbuf(
23929        arg1: *mut FILE,
23930        arg2: *mut ::std::os::raw::c_char,
23931        arg3: ::std::os::raw::c_int,
23932        arg4: size_t,
23933    ) -> ::std::os::raw::c_int;
23934}
23935extern "C" {
23936    pub fn sprintf(
23937        arg1: *mut ::std::os::raw::c_char,
23938        arg2: *const ::std::os::raw::c_char,
23939        ...
23940    ) -> ::std::os::raw::c_int;
23941}
23942extern "C" {
23943    pub fn sscanf(
23944        arg1: *const ::std::os::raw::c_char,
23945        arg2: *const ::std::os::raw::c_char,
23946        ...
23947    ) -> ::std::os::raw::c_int;
23948}
23949extern "C" {
23950    pub fn tmpfile() -> *mut FILE;
23951}
23952extern "C" {
23953    pub fn tmpnam(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
23954}
23955extern "C" {
23956    pub fn ungetc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
23957}
23958extern "C" {
23959    pub fn vfprintf(
23960        arg1: *mut FILE,
23961        arg2: *const ::std::os::raw::c_char,
23962        arg3: __builtin_va_list,
23963    ) -> ::std::os::raw::c_int;
23964}
23965extern "C" {
23966    pub fn vprintf(
23967        arg1: *const ::std::os::raw::c_char,
23968        arg2: __builtin_va_list,
23969    ) -> ::std::os::raw::c_int;
23970}
23971extern "C" {
23972    pub fn vsprintf(
23973        arg1: *mut ::std::os::raw::c_char,
23974        arg2: *const ::std::os::raw::c_char,
23975        arg3: __builtin_va_list,
23976    ) -> ::std::os::raw::c_int;
23977}
23978extern "C" {
23979    pub fn ctermid(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
23980}
23981extern "C" {
23982    pub fn fdopen(arg1: ::std::os::raw::c_int, arg2: *const ::std::os::raw::c_char) -> *mut FILE;
23983}
23984extern "C" {
23985    pub fn fileno(arg1: *mut FILE) -> ::std::os::raw::c_int;
23986}
23987extern "C" {
23988    pub fn pclose(arg1: *mut FILE) -> ::std::os::raw::c_int;
23989}
23990extern "C" {
23991    pub fn popen(
23992        arg1: *const ::std::os::raw::c_char,
23993        arg2: *const ::std::os::raw::c_char,
23994    ) -> *mut FILE;
23995}
23996extern "C" {
23997    pub fn __srget(arg1: *mut FILE) -> ::std::os::raw::c_int;
23998}
23999extern "C" {
24000    pub fn __svfscanf(
24001        arg1: *mut FILE,
24002        arg2: *const ::std::os::raw::c_char,
24003        arg3: va_list,
24004    ) -> ::std::os::raw::c_int;
24005}
24006extern "C" {
24007    pub fn __swbuf(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
24008}
24009extern "C" {
24010    pub fn flockfile(arg1: *mut FILE);
24011}
24012extern "C" {
24013    pub fn ftrylockfile(arg1: *mut FILE) -> ::std::os::raw::c_int;
24014}
24015extern "C" {
24016    pub fn funlockfile(arg1: *mut FILE);
24017}
24018extern "C" {
24019    pub fn getc_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int;
24020}
24021extern "C" {
24022    pub fn getchar_unlocked() -> ::std::os::raw::c_int;
24023}
24024extern "C" {
24025    pub fn putc_unlocked(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
24026}
24027extern "C" {
24028    pub fn putchar_unlocked(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
24029}
24030extern "C" {
24031    pub fn getw(arg1: *mut FILE) -> ::std::os::raw::c_int;
24032}
24033extern "C" {
24034    pub fn putw(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
24035}
24036extern "C" {
24037    pub fn tempnam(
24038        __dir: *const ::std::os::raw::c_char,
24039        __prefix: *const ::std::os::raw::c_char,
24040    ) -> *mut ::std::os::raw::c_char;
24041}
24042extern "C" {
24043    pub fn fseeko(
24044        __stream: *mut FILE,
24045        __offset: off_t,
24046        __whence: ::std::os::raw::c_int,
24047    ) -> ::std::os::raw::c_int;
24048}
24049extern "C" {
24050    pub fn ftello(__stream: *mut FILE) -> off_t;
24051}
24052extern "C" {
24053    pub fn snprintf(
24054        __str: *mut ::std::os::raw::c_char,
24055        __size: ::std::os::raw::c_ulong,
24056        __format: *const ::std::os::raw::c_char,
24057        ...
24058    ) -> ::std::os::raw::c_int;
24059}
24060extern "C" {
24061    pub fn vfscanf(
24062        __stream: *mut FILE,
24063        __format: *const ::std::os::raw::c_char,
24064        arg1: __builtin_va_list,
24065    ) -> ::std::os::raw::c_int;
24066}
24067extern "C" {
24068    pub fn vscanf(
24069        __format: *const ::std::os::raw::c_char,
24070        arg1: __builtin_va_list,
24071    ) -> ::std::os::raw::c_int;
24072}
24073extern "C" {
24074    pub fn vsnprintf(
24075        __str: *mut ::std::os::raw::c_char,
24076        __size: ::std::os::raw::c_ulong,
24077        __format: *const ::std::os::raw::c_char,
24078        arg1: __builtin_va_list,
24079    ) -> ::std::os::raw::c_int;
24080}
24081extern "C" {
24082    pub fn vsscanf(
24083        __str: *const ::std::os::raw::c_char,
24084        __format: *const ::std::os::raw::c_char,
24085        arg1: __builtin_va_list,
24086    ) -> ::std::os::raw::c_int;
24087}
24088extern "C" {
24089    pub fn dprintf(
24090        arg1: ::std::os::raw::c_int,
24091        arg2: *const ::std::os::raw::c_char,
24092        ...
24093    ) -> ::std::os::raw::c_int;
24094}
24095extern "C" {
24096    pub fn vdprintf(
24097        arg1: ::std::os::raw::c_int,
24098        arg2: *const ::std::os::raw::c_char,
24099        arg3: va_list,
24100    ) -> ::std::os::raw::c_int;
24101}
24102extern "C" {
24103    pub fn getdelim(
24104        __linep: *mut *mut ::std::os::raw::c_char,
24105        __linecapp: *mut size_t,
24106        __delimiter: ::std::os::raw::c_int,
24107        __stream: *mut FILE,
24108    ) -> ssize_t;
24109}
24110extern "C" {
24111    pub fn getline(
24112        __linep: *mut *mut ::std::os::raw::c_char,
24113        __linecapp: *mut size_t,
24114        __stream: *mut FILE,
24115    ) -> ssize_t;
24116}
24117extern "C" {
24118    pub fn fmemopen(
24119        __buf: *mut ::std::os::raw::c_void,
24120        __size: size_t,
24121        __mode: *const ::std::os::raw::c_char,
24122    ) -> *mut FILE;
24123}
24124extern "C" {
24125    pub fn open_memstream(
24126        __bufp: *mut *mut ::std::os::raw::c_char,
24127        __sizep: *mut size_t,
24128    ) -> *mut FILE;
24129}
24130extern "C" {
24131    pub static sys_nerr: ::std::os::raw::c_int;
24132}
24133extern "C" {
24134    pub static sys_errlist: [*const ::std::os::raw::c_char; 0usize];
24135}
24136extern "C" {
24137    pub fn asprintf(
24138        arg1: *mut *mut ::std::os::raw::c_char,
24139        arg2: *const ::std::os::raw::c_char,
24140        ...
24141    ) -> ::std::os::raw::c_int;
24142}
24143extern "C" {
24144    pub fn ctermid_r(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
24145}
24146extern "C" {
24147    pub fn fgetln(arg1: *mut FILE, arg2: *mut size_t) -> *mut ::std::os::raw::c_char;
24148}
24149extern "C" {
24150    pub fn fmtcheck(
24151        arg1: *const ::std::os::raw::c_char,
24152        arg2: *const ::std::os::raw::c_char,
24153    ) -> *const ::std::os::raw::c_char;
24154}
24155extern "C" {
24156    pub fn fpurge(arg1: *mut FILE) -> ::std::os::raw::c_int;
24157}
24158extern "C" {
24159    pub fn setbuffer(
24160        arg1: *mut FILE,
24161        arg2: *mut ::std::os::raw::c_char,
24162        arg3: ::std::os::raw::c_int,
24163    );
24164}
24165extern "C" {
24166    pub fn setlinebuf(arg1: *mut FILE) -> ::std::os::raw::c_int;
24167}
24168extern "C" {
24169    pub fn vasprintf(
24170        arg1: *mut *mut ::std::os::raw::c_char,
24171        arg2: *const ::std::os::raw::c_char,
24172        arg3: va_list,
24173    ) -> ::std::os::raw::c_int;
24174}
24175extern "C" {
24176    pub fn funopen(
24177        arg1: *const ::std::os::raw::c_void,
24178        arg2: ::std::option::Option<
24179            unsafe extern "C" fn(
24180                arg1: *mut ::std::os::raw::c_void,
24181                arg2: *mut ::std::os::raw::c_char,
24182                arg3: ::std::os::raw::c_int,
24183            ) -> ::std::os::raw::c_int,
24184        >,
24185        arg3: ::std::option::Option<
24186            unsafe extern "C" fn(
24187                arg1: *mut ::std::os::raw::c_void,
24188                arg2: *const ::std::os::raw::c_char,
24189                arg3: ::std::os::raw::c_int,
24190            ) -> ::std::os::raw::c_int,
24191        >,
24192        arg4: ::std::option::Option<
24193            unsafe extern "C" fn(
24194                arg1: *mut ::std::os::raw::c_void,
24195                arg2: fpos_t,
24196                arg3: ::std::os::raw::c_int,
24197            ) -> fpos_t,
24198        >,
24199        arg5: ::std::option::Option<
24200            unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
24201        >,
24202    ) -> *mut FILE;
24203}
24204extern "C" {
24205    pub fn __sprintf_chk(
24206        arg1: *mut ::std::os::raw::c_char,
24207        arg2: ::std::os::raw::c_int,
24208        arg3: size_t,
24209        arg4: *const ::std::os::raw::c_char,
24210        ...
24211    ) -> ::std::os::raw::c_int;
24212}
24213extern "C" {
24214    pub fn __snprintf_chk(
24215        arg1: *mut ::std::os::raw::c_char,
24216        arg2: size_t,
24217        arg3: ::std::os::raw::c_int,
24218        arg4: size_t,
24219        arg5: *const ::std::os::raw::c_char,
24220        ...
24221    ) -> ::std::os::raw::c_int;
24222}
24223extern "C" {
24224    pub fn __vsprintf_chk(
24225        arg1: *mut ::std::os::raw::c_char,
24226        arg2: ::std::os::raw::c_int,
24227        arg3: size_t,
24228        arg4: *const ::std::os::raw::c_char,
24229        arg5: va_list,
24230    ) -> ::std::os::raw::c_int;
24231}
24232extern "C" {
24233    pub fn __vsnprintf_chk(
24234        arg1: *mut ::std::os::raw::c_char,
24235        arg2: size_t,
24236        arg3: ::std::os::raw::c_int,
24237        arg4: size_t,
24238        arg5: *const ::std::os::raw::c_char,
24239        arg6: va_list,
24240    ) -> ::std::os::raw::c_int;
24241}
24242extern "C" {
24243    pub fn g_printf(format: *const gchar, ...) -> gint;
24244}
24245extern "C" {
24246    pub fn g_fprintf(file: *mut FILE, format: *const gchar, ...) -> gint;
24247}
24248extern "C" {
24249    pub fn g_sprintf(string: *mut gchar, format: *const gchar, ...) -> gint;
24250}
24251extern "C" {
24252    pub fn g_vprintf(format: *const gchar, args: va_list) -> gint;
24253}
24254extern "C" {
24255    pub fn g_vfprintf(file: *mut FILE, format: *const gchar, args: va_list) -> gint;
24256}
24257extern "C" {
24258    pub fn g_vsprintf(string: *mut gchar, format: *const gchar, args: va_list) -> gint;
24259}
24260extern "C" {
24261    pub fn g_vasprintf(string: *mut *mut gchar, format: *const gchar, args: va_list) -> gint;
24262}
24263#[repr(C)]
24264#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24265pub struct ostat {
24266    pub st_dev: __uint16_t,
24267    pub st_ino: ino_t,
24268    pub st_mode: mode_t,
24269    pub st_nlink: nlink_t,
24270    pub st_uid: __uint16_t,
24271    pub st_gid: __uint16_t,
24272    pub st_rdev: __uint16_t,
24273    pub st_size: __int32_t,
24274    pub st_atimespec: timespec,
24275    pub st_mtimespec: timespec,
24276    pub st_ctimespec: timespec,
24277    pub st_blksize: __int32_t,
24278    pub st_blocks: __int32_t,
24279    pub st_flags: __uint32_t,
24280    pub st_gen: __uint32_t,
24281}
24282#[test]
24283fn bindgen_test_layout_ostat() {
24284    const UNINIT: ::std::mem::MaybeUninit<ostat> = ::std::mem::MaybeUninit::uninit();
24285    let ptr = UNINIT.as_ptr();
24286    assert_eq!(
24287        ::std::mem::size_of::<ostat>(),
24288        96usize,
24289        concat!("Size of: ", stringify!(ostat))
24290    );
24291    assert_eq!(
24292        ::std::mem::align_of::<ostat>(),
24293        8usize,
24294        concat!("Alignment of ", stringify!(ostat))
24295    );
24296    assert_eq!(
24297        unsafe { ::std::ptr::addr_of!((*ptr).st_dev) as usize - ptr as usize },
24298        0usize,
24299        concat!(
24300            "Offset of field: ",
24301            stringify!(ostat),
24302            "::",
24303            stringify!(st_dev)
24304        )
24305    );
24306    assert_eq!(
24307        unsafe { ::std::ptr::addr_of!((*ptr).st_ino) as usize - ptr as usize },
24308        8usize,
24309        concat!(
24310            "Offset of field: ",
24311            stringify!(ostat),
24312            "::",
24313            stringify!(st_ino)
24314        )
24315    );
24316    assert_eq!(
24317        unsafe { ::std::ptr::addr_of!((*ptr).st_mode) as usize - ptr as usize },
24318        16usize,
24319        concat!(
24320            "Offset of field: ",
24321            stringify!(ostat),
24322            "::",
24323            stringify!(st_mode)
24324        )
24325    );
24326    assert_eq!(
24327        unsafe { ::std::ptr::addr_of!((*ptr).st_nlink) as usize - ptr as usize },
24328        18usize,
24329        concat!(
24330            "Offset of field: ",
24331            stringify!(ostat),
24332            "::",
24333            stringify!(st_nlink)
24334        )
24335    );
24336    assert_eq!(
24337        unsafe { ::std::ptr::addr_of!((*ptr).st_uid) as usize - ptr as usize },
24338        20usize,
24339        concat!(
24340            "Offset of field: ",
24341            stringify!(ostat),
24342            "::",
24343            stringify!(st_uid)
24344        )
24345    );
24346    assert_eq!(
24347        unsafe { ::std::ptr::addr_of!((*ptr).st_gid) as usize - ptr as usize },
24348        22usize,
24349        concat!(
24350            "Offset of field: ",
24351            stringify!(ostat),
24352            "::",
24353            stringify!(st_gid)
24354        )
24355    );
24356    assert_eq!(
24357        unsafe { ::std::ptr::addr_of!((*ptr).st_rdev) as usize - ptr as usize },
24358        24usize,
24359        concat!(
24360            "Offset of field: ",
24361            stringify!(ostat),
24362            "::",
24363            stringify!(st_rdev)
24364        )
24365    );
24366    assert_eq!(
24367        unsafe { ::std::ptr::addr_of!((*ptr).st_size) as usize - ptr as usize },
24368        28usize,
24369        concat!(
24370            "Offset of field: ",
24371            stringify!(ostat),
24372            "::",
24373            stringify!(st_size)
24374        )
24375    );
24376    assert_eq!(
24377        unsafe { ::std::ptr::addr_of!((*ptr).st_atimespec) as usize - ptr as usize },
24378        32usize,
24379        concat!(
24380            "Offset of field: ",
24381            stringify!(ostat),
24382            "::",
24383            stringify!(st_atimespec)
24384        )
24385    );
24386    assert_eq!(
24387        unsafe { ::std::ptr::addr_of!((*ptr).st_mtimespec) as usize - ptr as usize },
24388        48usize,
24389        concat!(
24390            "Offset of field: ",
24391            stringify!(ostat),
24392            "::",
24393            stringify!(st_mtimespec)
24394        )
24395    );
24396    assert_eq!(
24397        unsafe { ::std::ptr::addr_of!((*ptr).st_ctimespec) as usize - ptr as usize },
24398        64usize,
24399        concat!(
24400            "Offset of field: ",
24401            stringify!(ostat),
24402            "::",
24403            stringify!(st_ctimespec)
24404        )
24405    );
24406    assert_eq!(
24407        unsafe { ::std::ptr::addr_of!((*ptr).st_blksize) as usize - ptr as usize },
24408        80usize,
24409        concat!(
24410            "Offset of field: ",
24411            stringify!(ostat),
24412            "::",
24413            stringify!(st_blksize)
24414        )
24415    );
24416    assert_eq!(
24417        unsafe { ::std::ptr::addr_of!((*ptr).st_blocks) as usize - ptr as usize },
24418        84usize,
24419        concat!(
24420            "Offset of field: ",
24421            stringify!(ostat),
24422            "::",
24423            stringify!(st_blocks)
24424        )
24425    );
24426    assert_eq!(
24427        unsafe { ::std::ptr::addr_of!((*ptr).st_flags) as usize - ptr as usize },
24428        88usize,
24429        concat!(
24430            "Offset of field: ",
24431            stringify!(ostat),
24432            "::",
24433            stringify!(st_flags)
24434        )
24435    );
24436    assert_eq!(
24437        unsafe { ::std::ptr::addr_of!((*ptr).st_gen) as usize - ptr as usize },
24438        92usize,
24439        concat!(
24440            "Offset of field: ",
24441            stringify!(ostat),
24442            "::",
24443            stringify!(st_gen)
24444        )
24445    );
24446}
24447#[repr(C)]
24448#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24449pub struct stat {
24450    pub st_dev: dev_t,
24451    pub st_mode: mode_t,
24452    pub st_nlink: nlink_t,
24453    pub st_ino: __darwin_ino64_t,
24454    pub st_uid: uid_t,
24455    pub st_gid: gid_t,
24456    pub st_rdev: dev_t,
24457    pub st_atimespec: timespec,
24458    pub st_mtimespec: timespec,
24459    pub st_ctimespec: timespec,
24460    pub st_birthtimespec: timespec,
24461    pub st_size: off_t,
24462    pub st_blocks: blkcnt_t,
24463    pub st_blksize: blksize_t,
24464    pub st_flags: __uint32_t,
24465    pub st_gen: __uint32_t,
24466    pub st_lspare: __int32_t,
24467    pub st_qspare: [__int64_t; 2usize],
24468}
24469#[test]
24470fn bindgen_test_layout_stat() {
24471    const UNINIT: ::std::mem::MaybeUninit<stat> = ::std::mem::MaybeUninit::uninit();
24472    let ptr = UNINIT.as_ptr();
24473    assert_eq!(
24474        ::std::mem::size_of::<stat>(),
24475        144usize,
24476        concat!("Size of: ", stringify!(stat))
24477    );
24478    assert_eq!(
24479        ::std::mem::align_of::<stat>(),
24480        8usize,
24481        concat!("Alignment of ", stringify!(stat))
24482    );
24483    assert_eq!(
24484        unsafe { ::std::ptr::addr_of!((*ptr).st_dev) as usize - ptr as usize },
24485        0usize,
24486        concat!(
24487            "Offset of field: ",
24488            stringify!(stat),
24489            "::",
24490            stringify!(st_dev)
24491        )
24492    );
24493    assert_eq!(
24494        unsafe { ::std::ptr::addr_of!((*ptr).st_mode) as usize - ptr as usize },
24495        4usize,
24496        concat!(
24497            "Offset of field: ",
24498            stringify!(stat),
24499            "::",
24500            stringify!(st_mode)
24501        )
24502    );
24503    assert_eq!(
24504        unsafe { ::std::ptr::addr_of!((*ptr).st_nlink) as usize - ptr as usize },
24505        6usize,
24506        concat!(
24507            "Offset of field: ",
24508            stringify!(stat),
24509            "::",
24510            stringify!(st_nlink)
24511        )
24512    );
24513    assert_eq!(
24514        unsafe { ::std::ptr::addr_of!((*ptr).st_ino) as usize - ptr as usize },
24515        8usize,
24516        concat!(
24517            "Offset of field: ",
24518            stringify!(stat),
24519            "::",
24520            stringify!(st_ino)
24521        )
24522    );
24523    assert_eq!(
24524        unsafe { ::std::ptr::addr_of!((*ptr).st_uid) as usize - ptr as usize },
24525        16usize,
24526        concat!(
24527            "Offset of field: ",
24528            stringify!(stat),
24529            "::",
24530            stringify!(st_uid)
24531        )
24532    );
24533    assert_eq!(
24534        unsafe { ::std::ptr::addr_of!((*ptr).st_gid) as usize - ptr as usize },
24535        20usize,
24536        concat!(
24537            "Offset of field: ",
24538            stringify!(stat),
24539            "::",
24540            stringify!(st_gid)
24541        )
24542    );
24543    assert_eq!(
24544        unsafe { ::std::ptr::addr_of!((*ptr).st_rdev) as usize - ptr as usize },
24545        24usize,
24546        concat!(
24547            "Offset of field: ",
24548            stringify!(stat),
24549            "::",
24550            stringify!(st_rdev)
24551        )
24552    );
24553    assert_eq!(
24554        unsafe { ::std::ptr::addr_of!((*ptr).st_atimespec) as usize - ptr as usize },
24555        32usize,
24556        concat!(
24557            "Offset of field: ",
24558            stringify!(stat),
24559            "::",
24560            stringify!(st_atimespec)
24561        )
24562    );
24563    assert_eq!(
24564        unsafe { ::std::ptr::addr_of!((*ptr).st_mtimespec) as usize - ptr as usize },
24565        48usize,
24566        concat!(
24567            "Offset of field: ",
24568            stringify!(stat),
24569            "::",
24570            stringify!(st_mtimespec)
24571        )
24572    );
24573    assert_eq!(
24574        unsafe { ::std::ptr::addr_of!((*ptr).st_ctimespec) as usize - ptr as usize },
24575        64usize,
24576        concat!(
24577            "Offset of field: ",
24578            stringify!(stat),
24579            "::",
24580            stringify!(st_ctimespec)
24581        )
24582    );
24583    assert_eq!(
24584        unsafe { ::std::ptr::addr_of!((*ptr).st_birthtimespec) as usize - ptr as usize },
24585        80usize,
24586        concat!(
24587            "Offset of field: ",
24588            stringify!(stat),
24589            "::",
24590            stringify!(st_birthtimespec)
24591        )
24592    );
24593    assert_eq!(
24594        unsafe { ::std::ptr::addr_of!((*ptr).st_size) as usize - ptr as usize },
24595        96usize,
24596        concat!(
24597            "Offset of field: ",
24598            stringify!(stat),
24599            "::",
24600            stringify!(st_size)
24601        )
24602    );
24603    assert_eq!(
24604        unsafe { ::std::ptr::addr_of!((*ptr).st_blocks) as usize - ptr as usize },
24605        104usize,
24606        concat!(
24607            "Offset of field: ",
24608            stringify!(stat),
24609            "::",
24610            stringify!(st_blocks)
24611        )
24612    );
24613    assert_eq!(
24614        unsafe { ::std::ptr::addr_of!((*ptr).st_blksize) as usize - ptr as usize },
24615        112usize,
24616        concat!(
24617            "Offset of field: ",
24618            stringify!(stat),
24619            "::",
24620            stringify!(st_blksize)
24621        )
24622    );
24623    assert_eq!(
24624        unsafe { ::std::ptr::addr_of!((*ptr).st_flags) as usize - ptr as usize },
24625        116usize,
24626        concat!(
24627            "Offset of field: ",
24628            stringify!(stat),
24629            "::",
24630            stringify!(st_flags)
24631        )
24632    );
24633    assert_eq!(
24634        unsafe { ::std::ptr::addr_of!((*ptr).st_gen) as usize - ptr as usize },
24635        120usize,
24636        concat!(
24637            "Offset of field: ",
24638            stringify!(stat),
24639            "::",
24640            stringify!(st_gen)
24641        )
24642    );
24643    assert_eq!(
24644        unsafe { ::std::ptr::addr_of!((*ptr).st_lspare) as usize - ptr as usize },
24645        124usize,
24646        concat!(
24647            "Offset of field: ",
24648            stringify!(stat),
24649            "::",
24650            stringify!(st_lspare)
24651        )
24652    );
24653    assert_eq!(
24654        unsafe { ::std::ptr::addr_of!((*ptr).st_qspare) as usize - ptr as usize },
24655        128usize,
24656        concat!(
24657            "Offset of field: ",
24658            stringify!(stat),
24659            "::",
24660            stringify!(st_qspare)
24661        )
24662    );
24663}
24664extern "C" {
24665    pub fn chmod(arg1: *const ::std::os::raw::c_char, arg2: mode_t) -> ::std::os::raw::c_int;
24666}
24667extern "C" {
24668    pub fn fchmod(arg1: ::std::os::raw::c_int, arg2: mode_t) -> ::std::os::raw::c_int;
24669}
24670extern "C" {
24671    pub fn fstat(arg1: ::std::os::raw::c_int, arg2: *mut stat) -> ::std::os::raw::c_int;
24672}
24673extern "C" {
24674    pub fn lstat(arg1: *const ::std::os::raw::c_char, arg2: *mut stat) -> ::std::os::raw::c_int;
24675}
24676extern "C" {
24677    pub fn mkdir(arg1: *const ::std::os::raw::c_char, arg2: mode_t) -> ::std::os::raw::c_int;
24678}
24679extern "C" {
24680    pub fn mkfifo(arg1: *const ::std::os::raw::c_char, arg2: mode_t) -> ::std::os::raw::c_int;
24681}
24682extern "C" {
24683    pub fn stat(arg1: *const ::std::os::raw::c_char, arg2: *mut stat) -> ::std::os::raw::c_int;
24684}
24685extern "C" {
24686    pub fn mknod(
24687        arg1: *const ::std::os::raw::c_char,
24688        arg2: mode_t,
24689        arg3: dev_t,
24690    ) -> ::std::os::raw::c_int;
24691}
24692extern "C" {
24693    pub fn umask(arg1: mode_t) -> mode_t;
24694}
24695extern "C" {
24696    pub fn fchmodat(
24697        arg1: ::std::os::raw::c_int,
24698        arg2: *const ::std::os::raw::c_char,
24699        arg3: mode_t,
24700        arg4: ::std::os::raw::c_int,
24701    ) -> ::std::os::raw::c_int;
24702}
24703extern "C" {
24704    pub fn fstatat(
24705        arg1: ::std::os::raw::c_int,
24706        arg2: *const ::std::os::raw::c_char,
24707        arg3: *mut stat,
24708        arg4: ::std::os::raw::c_int,
24709    ) -> ::std::os::raw::c_int;
24710}
24711extern "C" {
24712    pub fn mkdirat(
24713        arg1: ::std::os::raw::c_int,
24714        arg2: *const ::std::os::raw::c_char,
24715        arg3: mode_t,
24716    ) -> ::std::os::raw::c_int;
24717}
24718extern "C" {
24719    pub fn mkfifoat(
24720        arg1: ::std::os::raw::c_int,
24721        arg2: *const ::std::os::raw::c_char,
24722        arg3: mode_t,
24723    ) -> ::std::os::raw::c_int;
24724}
24725extern "C" {
24726    pub fn mknodat(
24727        arg1: ::std::os::raw::c_int,
24728        arg2: *const ::std::os::raw::c_char,
24729        arg3: mode_t,
24730        arg4: dev_t,
24731    ) -> ::std::os::raw::c_int;
24732}
24733extern "C" {
24734    pub fn futimens(__fd: ::std::os::raw::c_int, __times: *const timespec)
24735        -> ::std::os::raw::c_int;
24736}
24737extern "C" {
24738    pub fn utimensat(
24739        __fd: ::std::os::raw::c_int,
24740        __path: *const ::std::os::raw::c_char,
24741        __times: *const timespec,
24742        __flag: ::std::os::raw::c_int,
24743    ) -> ::std::os::raw::c_int;
24744}
24745#[repr(C)]
24746#[derive(Debug, Copy, Clone)]
24747pub struct _filesec {
24748    _unused: [u8; 0],
24749}
24750pub type filesec_t = *mut _filesec;
24751extern "C" {
24752    pub fn chflags(arg1: *const ::std::os::raw::c_char, arg2: __uint32_t) -> ::std::os::raw::c_int;
24753}
24754extern "C" {
24755    pub fn chmodx_np(arg1: *const ::std::os::raw::c_char, arg2: filesec_t)
24756        -> ::std::os::raw::c_int;
24757}
24758extern "C" {
24759    pub fn fchflags(arg1: ::std::os::raw::c_int, arg2: __uint32_t) -> ::std::os::raw::c_int;
24760}
24761extern "C" {
24762    pub fn fchmodx_np(arg1: ::std::os::raw::c_int, arg2: filesec_t) -> ::std::os::raw::c_int;
24763}
24764extern "C" {
24765    pub fn fstatx_np(
24766        arg1: ::std::os::raw::c_int,
24767        arg2: *mut stat,
24768        arg3: filesec_t,
24769    ) -> ::std::os::raw::c_int;
24770}
24771extern "C" {
24772    pub fn lchflags(arg1: *const ::std::os::raw::c_char, arg2: __uint32_t)
24773        -> ::std::os::raw::c_int;
24774}
24775extern "C" {
24776    pub fn lchmod(arg1: *const ::std::os::raw::c_char, arg2: mode_t) -> ::std::os::raw::c_int;
24777}
24778extern "C" {
24779    pub fn lstatx_np(
24780        arg1: *const ::std::os::raw::c_char,
24781        arg2: *mut stat,
24782        arg3: filesec_t,
24783    ) -> ::std::os::raw::c_int;
24784}
24785extern "C" {
24786    pub fn mkdirx_np(arg1: *const ::std::os::raw::c_char, arg2: filesec_t)
24787        -> ::std::os::raw::c_int;
24788}
24789extern "C" {
24790    pub fn mkfifox_np(
24791        arg1: *const ::std::os::raw::c_char,
24792        arg2: filesec_t,
24793    ) -> ::std::os::raw::c_int;
24794}
24795extern "C" {
24796    pub fn statx_np(
24797        arg1: *const ::std::os::raw::c_char,
24798        arg2: *mut stat,
24799        arg3: filesec_t,
24800    ) -> ::std::os::raw::c_int;
24801}
24802extern "C" {
24803    pub fn umaskx_np(arg1: filesec_t) -> ::std::os::raw::c_int;
24804}
24805pub type GStatBuf = stat;
24806extern "C" {
24807    pub fn g_access(filename: *const gchar, mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
24808}
24809extern "C" {
24810    pub fn g_chdir(path: *const gchar) -> ::std::os::raw::c_int;
24811}
24812extern "C" {
24813    pub fn g_unlink(filename: *const gchar) -> ::std::os::raw::c_int;
24814}
24815extern "C" {
24816    pub fn g_rmdir(filename: *const gchar) -> ::std::os::raw::c_int;
24817}
24818extern "C" {
24819    pub fn g_close(fd: gint, error: *mut *mut GError) -> gboolean;
24820}
24821pub const GModuleFlags_G_MODULE_BIND_LAZY: GModuleFlags = 1;
24822pub const GModuleFlags_G_MODULE_BIND_LOCAL: GModuleFlags = 2;
24823pub const GModuleFlags_G_MODULE_BIND_MASK: GModuleFlags = 3;
24824#[doc = " GModuleFlags:\n @G_MODULE_BIND_LAZY: specifies that symbols are only resolved when\n     needed. The default action is to bind all symbols when the module\n     is loaded.\n @G_MODULE_BIND_LOCAL: specifies that symbols in the module should\n     not be added to the global name space. The default action on most\n     platforms is to place symbols in the module in the global name space,\n     which may cause conflicts with existing symbols.\n @G_MODULE_BIND_MASK: mask for all flags.\n\n Flags passed to g_module_open().\n Note that these flags are not supported on all platforms."]
24825pub type GModuleFlags = ::std::os::raw::c_uint;
24826#[repr(C)]
24827#[derive(Debug, Copy, Clone)]
24828pub struct _GModule {
24829    _unused: [u8; 0],
24830}
24831pub type GModule = _GModule;
24832pub type GModuleCheckInit =
24833    ::std::option::Option<unsafe extern "C" fn(module: *mut GModule) -> *const gchar>;
24834pub type GModuleUnload = ::std::option::Option<unsafe extern "C" fn(module: *mut GModule)>;
24835extern "C" {
24836    pub fn g_module_error_quark() -> GQuark;
24837}
24838pub const GModuleError_G_MODULE_ERROR_FAILED: GModuleError = 0;
24839pub const GModuleError_G_MODULE_ERROR_CHECK_FAILED: GModuleError = 1;
24840#[doc = " GModuleError:\n @G_MODULE_ERROR_FAILED: there was an error loading or opening a module file\n @G_MODULE_ERROR_CHECK_FAILED: a module returned an error from its `g_module_check_init()` function\n\n Errors returned by g_module_open_full().\n\n Since: 2.70"]
24841pub type GModuleError = ::std::os::raw::c_uint;
24842extern "C" {
24843    pub fn g_module_supported() -> gboolean;
24844}
24845extern "C" {
24846    pub fn g_module_open(file_name: *const gchar, flags: GModuleFlags) -> *mut GModule;
24847}
24848extern "C" {
24849    pub fn g_module_open_full(
24850        file_name: *const gchar,
24851        flags: GModuleFlags,
24852        error: *mut *mut GError,
24853    ) -> *mut GModule;
24854}
24855extern "C" {
24856    pub fn g_module_close(module: *mut GModule) -> gboolean;
24857}
24858extern "C" {
24859    pub fn g_module_make_resident(module: *mut GModule);
24860}
24861extern "C" {
24862    pub fn g_module_error() -> *const gchar;
24863}
24864extern "C" {
24865    pub fn g_module_symbol(
24866        module: *mut GModule,
24867        symbol_name: *const gchar,
24868        symbol: *mut gpointer,
24869    ) -> gboolean;
24870}
24871extern "C" {
24872    pub fn g_module_name(module: *mut GModule) -> *const gchar;
24873}
24874extern "C" {
24875    pub fn g_module_build_path(directory: *const gchar, module_name: *const gchar) -> *mut gchar;
24876}
24877pub type GType = gsize;
24878#[doc = " GValue:\n\n An opaque structure used to hold different types of values.\n\n The data within the structure has protected scope: it is accessible only\n to functions within a #GTypeValueTable structure, or implementations of\n the g_value_*() API. That is, code portions which implement new fundamental\n types.\n\n #GValue users cannot make any assumptions about how data is stored\n within the 2 element @data union, and the @g_type member should\n only be accessed through the G_VALUE_TYPE() macro."]
24879pub type GValue = _GValue;
24880#[repr(C)]
24881#[derive(Copy, Clone)]
24882pub struct _GTypeCValue {
24883    _unused: [u8; 0],
24884}
24885impl ::std::fmt::Debug for _GTypeCValue {
24886    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24887        write!(f, "_GTypeCValue {{ union }}")
24888    }
24889}
24890pub type GTypeCValue = _GTypeCValue;
24891#[repr(C)]
24892#[derive(Debug, Copy, Clone)]
24893pub struct _GTypePlugin {
24894    _unused: [u8; 0],
24895}
24896pub type GTypePlugin = _GTypePlugin;
24897#[doc = " GTypeClass:\n\n An opaque structure used as the base of all classes."]
24898pub type GTypeClass = _GTypeClass;
24899#[doc = " GTypeInterface:\n\n An opaque structure used as the base of all interface types."]
24900pub type GTypeInterface = _GTypeInterface;
24901#[doc = " GTypeInstance:\n\n An opaque structure used as the base of all type instances."]
24902pub type GTypeInstance = _GTypeInstance;
24903#[doc = " GTypeInfo:\n @class_size: Size of the class structure (required for interface, classed and instantiatable types)\n @base_init: Location of the base initialization function (optional)\n @base_finalize: Location of the base finalization function (optional)\n @class_init: Location of the class initialization function for\n  classed and instantiatable types. Location of the default vtable\n  inititalization function for interface types. (optional) This function\n  is used both to fill in virtual functions in the class or default vtable,\n  and to do type-specific setup such as registering signals and object\n  properties.\n @class_finalize: Location of the class finalization function for\n  classed and instantiatable types. Location of the default vtable\n  finalization function for interface types. (optional)\n @class_data: User-supplied data passed to the class init/finalize functions\n @instance_size: Size of the instance (object) structure (required for instantiatable types only)\n @n_preallocs: Prior to GLib 2.10, it specified the number of pre-allocated (cached) instances to reserve memory for (0 indicates no caching). Since GLib 2.10 this field is ignored.\n @instance_init: Location of the instance initialization function (optional, for instantiatable types only)\n @value_table: A #GTypeValueTable function table for generic handling of GValues\n  of this type (usually only useful for fundamental types)\n\n This structure is used to provide the type system with the information\n required to initialize and destruct (finalize) a type's class and\n its instances.\n\n The initialized structure is passed to the g_type_register_static() function\n (or is copied into the provided #GTypeInfo structure in the\n g_type_plugin_complete_type_info()). The type system will perform a deep\n copy of this structure, so its memory does not need to be persistent\n across invocation of g_type_register_static()."]
24904pub type GTypeInfo = _GTypeInfo;
24905#[doc = " GTypeFundamentalInfo:\n @type_flags: #GTypeFundamentalFlags describing the characteristics of the fundamental type\n\n A structure that provides information to the type system which is\n used specifically for managing fundamental types."]
24906pub type GTypeFundamentalInfo = _GTypeFundamentalInfo;
24907#[doc = " GInterfaceInfo:\n @interface_init: location of the interface initialization function\n @interface_finalize: location of the interface finalization function\n @interface_data: user-supplied data passed to the interface init/finalize functions\n\n A structure that provides information to the type system which is\n used specifically for managing interface types."]
24908pub type GInterfaceInfo = _GInterfaceInfo;
24909#[doc = " GTypeValueTable:\n @value_init: Function to initialize a GValue\n @value_free: Function to free a GValue\n @value_copy: Function to copy a GValue\n @value_peek_pointer: Function to peek the contents of a GValue if they fit\n   into a pointer\n @collect_format: A string format describing how to collect the contents of\n   this value bit-by-bit. Each character in the format represents\n   an argument to be collected, and the characters themselves indicate\n   the type of the argument. Currently supported arguments are:\n    - `'i'`: Integers, passed as `collect_values[].v_int`\n    - `'l'`: Longs, passed as `collect_values[].v_long`\n    - `'d'`: Doubles, passed as `collect_values[].v_double`\n    - `'p'`: Pointers, passed as `collect_values[].v_pointer`\n   It should be noted that for variable argument list construction,\n   ANSI C promotes every type smaller than an integer to an int, and\n   floats to doubles. So for collection of short int or char, `'i'`\n   needs to be used, and for collection of floats `'d'`.\n @collect_value: Function to initialize a GValue from the values\n   collected from variadic arguments\n @lcopy_format: Format description of the arguments to collect for @lcopy_value,\n   analogous to @collect_format. Usually, @lcopy_format string consists\n   only of `'p'`s to provide lcopy_value() with pointers to storage locations.\n @lcopy_value: Function to store the contents of a value into the\n   locations collected from variadic arguments\n\n The #GTypeValueTable provides the functions required by the #GValue\n implementation, to serve as a container for values of a type."]
24910pub type GTypeValueTable = _GTypeValueTable;
24911#[doc = " GTypeQuery:\n @type: the #GType value of the type\n @type_name: the name of the type\n @class_size: the size of the class structure\n @instance_size: the size of the instance structure\n\n A structure holding information for a specific type.\n\n See also: g_type_query()"]
24912pub type GTypeQuery = _GTypeQuery;
24913#[doc = " GTypeClass:\n\n An opaque structure used as the base of all classes."]
24914#[repr(C)]
24915#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24916pub struct _GTypeClass {
24917    pub g_type: GType,
24918}
24919#[test]
24920fn bindgen_test_layout__GTypeClass() {
24921    const UNINIT: ::std::mem::MaybeUninit<_GTypeClass> = ::std::mem::MaybeUninit::uninit();
24922    let ptr = UNINIT.as_ptr();
24923    assert_eq!(
24924        ::std::mem::size_of::<_GTypeClass>(),
24925        8usize,
24926        concat!("Size of: ", stringify!(_GTypeClass))
24927    );
24928    assert_eq!(
24929        ::std::mem::align_of::<_GTypeClass>(),
24930        8usize,
24931        concat!("Alignment of ", stringify!(_GTypeClass))
24932    );
24933    assert_eq!(
24934        unsafe { ::std::ptr::addr_of!((*ptr).g_type) as usize - ptr as usize },
24935        0usize,
24936        concat!(
24937            "Offset of field: ",
24938            stringify!(_GTypeClass),
24939            "::",
24940            stringify!(g_type)
24941        )
24942    );
24943}
24944#[doc = " GTypeInstance:\n\n An opaque structure used as the base of all type instances."]
24945#[repr(C)]
24946#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24947pub struct _GTypeInstance {
24948    pub g_class: *mut GTypeClass,
24949}
24950#[test]
24951fn bindgen_test_layout__GTypeInstance() {
24952    const UNINIT: ::std::mem::MaybeUninit<_GTypeInstance> = ::std::mem::MaybeUninit::uninit();
24953    let ptr = UNINIT.as_ptr();
24954    assert_eq!(
24955        ::std::mem::size_of::<_GTypeInstance>(),
24956        8usize,
24957        concat!("Size of: ", stringify!(_GTypeInstance))
24958    );
24959    assert_eq!(
24960        ::std::mem::align_of::<_GTypeInstance>(),
24961        8usize,
24962        concat!("Alignment of ", stringify!(_GTypeInstance))
24963    );
24964    assert_eq!(
24965        unsafe { ::std::ptr::addr_of!((*ptr).g_class) as usize - ptr as usize },
24966        0usize,
24967        concat!(
24968            "Offset of field: ",
24969            stringify!(_GTypeInstance),
24970            "::",
24971            stringify!(g_class)
24972        )
24973    );
24974}
24975#[doc = " GTypeInterface:\n\n An opaque structure used as the base of all interface types."]
24976#[repr(C)]
24977#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24978pub struct _GTypeInterface {
24979    pub g_type: GType,
24980    pub g_instance_type: GType,
24981}
24982#[test]
24983fn bindgen_test_layout__GTypeInterface() {
24984    const UNINIT: ::std::mem::MaybeUninit<_GTypeInterface> = ::std::mem::MaybeUninit::uninit();
24985    let ptr = UNINIT.as_ptr();
24986    assert_eq!(
24987        ::std::mem::size_of::<_GTypeInterface>(),
24988        16usize,
24989        concat!("Size of: ", stringify!(_GTypeInterface))
24990    );
24991    assert_eq!(
24992        ::std::mem::align_of::<_GTypeInterface>(),
24993        8usize,
24994        concat!("Alignment of ", stringify!(_GTypeInterface))
24995    );
24996    assert_eq!(
24997        unsafe { ::std::ptr::addr_of!((*ptr).g_type) as usize - ptr as usize },
24998        0usize,
24999        concat!(
25000            "Offset of field: ",
25001            stringify!(_GTypeInterface),
25002            "::",
25003            stringify!(g_type)
25004        )
25005    );
25006    assert_eq!(
25007        unsafe { ::std::ptr::addr_of!((*ptr).g_instance_type) as usize - ptr as usize },
25008        8usize,
25009        concat!(
25010            "Offset of field: ",
25011            stringify!(_GTypeInterface),
25012            "::",
25013            stringify!(g_instance_type)
25014        )
25015    );
25016}
25017#[doc = " GTypeQuery:\n @type: the #GType value of the type\n @type_name: the name of the type\n @class_size: the size of the class structure\n @instance_size: the size of the instance structure\n\n A structure holding information for a specific type.\n\n See also: g_type_query()"]
25018#[repr(C)]
25019#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25020pub struct _GTypeQuery {
25021    pub type_: GType,
25022    pub type_name: *const gchar,
25023    pub class_size: guint,
25024    pub instance_size: guint,
25025}
25026#[test]
25027fn bindgen_test_layout__GTypeQuery() {
25028    const UNINIT: ::std::mem::MaybeUninit<_GTypeQuery> = ::std::mem::MaybeUninit::uninit();
25029    let ptr = UNINIT.as_ptr();
25030    assert_eq!(
25031        ::std::mem::size_of::<_GTypeQuery>(),
25032        24usize,
25033        concat!("Size of: ", stringify!(_GTypeQuery))
25034    );
25035    assert_eq!(
25036        ::std::mem::align_of::<_GTypeQuery>(),
25037        8usize,
25038        concat!("Alignment of ", stringify!(_GTypeQuery))
25039    );
25040    assert_eq!(
25041        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
25042        0usize,
25043        concat!(
25044            "Offset of field: ",
25045            stringify!(_GTypeQuery),
25046            "::",
25047            stringify!(type_)
25048        )
25049    );
25050    assert_eq!(
25051        unsafe { ::std::ptr::addr_of!((*ptr).type_name) as usize - ptr as usize },
25052        8usize,
25053        concat!(
25054            "Offset of field: ",
25055            stringify!(_GTypeQuery),
25056            "::",
25057            stringify!(type_name)
25058        )
25059    );
25060    assert_eq!(
25061        unsafe { ::std::ptr::addr_of!((*ptr).class_size) as usize - ptr as usize },
25062        16usize,
25063        concat!(
25064            "Offset of field: ",
25065            stringify!(_GTypeQuery),
25066            "::",
25067            stringify!(class_size)
25068        )
25069    );
25070    assert_eq!(
25071        unsafe { ::std::ptr::addr_of!((*ptr).instance_size) as usize - ptr as usize },
25072        20usize,
25073        concat!(
25074            "Offset of field: ",
25075            stringify!(_GTypeQuery),
25076            "::",
25077            stringify!(instance_size)
25078        )
25079    );
25080}
25081pub const GTypeDebugFlags_G_TYPE_DEBUG_NONE: GTypeDebugFlags = 0;
25082pub const GTypeDebugFlags_G_TYPE_DEBUG_OBJECTS: GTypeDebugFlags = 1;
25083pub const GTypeDebugFlags_G_TYPE_DEBUG_SIGNALS: GTypeDebugFlags = 2;
25084pub const GTypeDebugFlags_G_TYPE_DEBUG_INSTANCE_COUNT: GTypeDebugFlags = 4;
25085pub const GTypeDebugFlags_G_TYPE_DEBUG_MASK: GTypeDebugFlags = 7;
25086#[doc = " GTypeDebugFlags:\n @G_TYPE_DEBUG_NONE: Print no messages\n @G_TYPE_DEBUG_OBJECTS: Print messages about object bookkeeping\n @G_TYPE_DEBUG_SIGNALS: Print messages about signal emissions\n @G_TYPE_DEBUG_MASK: Mask covering all debug flags\n @G_TYPE_DEBUG_INSTANCE_COUNT: Keep a count of instances of each type\n\n These flags used to be passed to g_type_init_with_debug_flags() which\n is now deprecated.\n\n If you need to enable debugging features, use the `GOBJECT_DEBUG`\n environment variable.\n\n Deprecated: 2.36: g_type_init() is now done automatically"]
25087pub type GTypeDebugFlags = ::std::os::raw::c_uint;
25088extern "C" {
25089    pub fn g_type_init();
25090}
25091extern "C" {
25092    pub fn g_type_init_with_debug_flags(debug_flags: GTypeDebugFlags);
25093}
25094extern "C" {
25095    pub fn g_type_name(type_: GType) -> *const gchar;
25096}
25097extern "C" {
25098    pub fn g_type_qname(type_: GType) -> GQuark;
25099}
25100extern "C" {
25101    pub fn g_type_from_name(name: *const gchar) -> GType;
25102}
25103extern "C" {
25104    pub fn g_type_parent(type_: GType) -> GType;
25105}
25106extern "C" {
25107    pub fn g_type_depth(type_: GType) -> guint;
25108}
25109extern "C" {
25110    pub fn g_type_next_base(leaf_type: GType, root_type: GType) -> GType;
25111}
25112extern "C" {
25113    pub fn g_type_is_a(type_: GType, is_a_type: GType) -> gboolean;
25114}
25115extern "C" {
25116    pub fn g_type_class_ref(type_: GType) -> gpointer;
25117}
25118extern "C" {
25119    pub fn g_type_class_peek(type_: GType) -> gpointer;
25120}
25121extern "C" {
25122    pub fn g_type_class_peek_static(type_: GType) -> gpointer;
25123}
25124extern "C" {
25125    pub fn g_type_class_unref(g_class: gpointer);
25126}
25127extern "C" {
25128    pub fn g_type_class_peek_parent(g_class: gpointer) -> gpointer;
25129}
25130extern "C" {
25131    pub fn g_type_interface_peek(instance_class: gpointer, iface_type: GType) -> gpointer;
25132}
25133extern "C" {
25134    pub fn g_type_interface_peek_parent(g_iface: gpointer) -> gpointer;
25135}
25136extern "C" {
25137    pub fn g_type_default_interface_ref(g_type: GType) -> gpointer;
25138}
25139extern "C" {
25140    pub fn g_type_default_interface_peek(g_type: GType) -> gpointer;
25141}
25142extern "C" {
25143    pub fn g_type_default_interface_unref(g_iface: gpointer);
25144}
25145extern "C" {
25146    pub fn g_type_children(type_: GType, n_children: *mut guint) -> *mut GType;
25147}
25148extern "C" {
25149    pub fn g_type_interfaces(type_: GType, n_interfaces: *mut guint) -> *mut GType;
25150}
25151extern "C" {
25152    pub fn g_type_set_qdata(type_: GType, quark: GQuark, data: gpointer);
25153}
25154extern "C" {
25155    pub fn g_type_get_qdata(type_: GType, quark: GQuark) -> gpointer;
25156}
25157extern "C" {
25158    pub fn g_type_query(type_: GType, query: *mut GTypeQuery);
25159}
25160extern "C" {
25161    pub fn g_type_get_instance_count(type_: GType) -> ::std::os::raw::c_int;
25162}
25163#[doc = " GBaseInitFunc:\n @g_class: (type GObject.TypeClass): The #GTypeClass structure to initialize\n\n A callback function used by the type system to do base initialization\n of the class structures of derived types.\n\n This function is called as part of the initialization process of all derived\n classes and should reallocate or reset all dynamic class members copied over\n from the parent class.\n\n For example, class members (such as strings) that are not sufficiently\n handled by a plain memory copy of the parent class into the derived class\n have to be altered. See GClassInitFunc() for a discussion of the class\n initialization process."]
25164pub type GBaseInitFunc = ::std::option::Option<unsafe extern "C" fn(g_class: gpointer)>;
25165#[doc = " GBaseFinalizeFunc:\n @g_class: (type GObject.TypeClass): The #GTypeClass structure to finalize\n\n A callback function used by the type system to finalize those portions\n of a derived types class structure that were setup from the corresponding\n GBaseInitFunc() function.\n\n Class finalization basically works the inverse way in which class\n initialization is performed.\n\n See GClassInitFunc() for a discussion of the class initialization process."]
25166pub type GBaseFinalizeFunc = ::std::option::Option<unsafe extern "C" fn(g_class: gpointer)>;
25167#[doc = " GClassInitFunc:\n @g_class: (type GObject.TypeClass): The #GTypeClass structure to initialize.\n @class_data: The @class_data member supplied via the #GTypeInfo structure.\n\n A callback function used by the type system to initialize the class\n of a specific type.\n\n This function should initialize all static class members.\n\n The initialization process of a class involves:\n\n - Copying common members from the parent class over to the\n   derived class structure.\n - Zero initialization of the remaining members not copied\n   over from the parent class.\n - Invocation of the GBaseInitFunc() initializers of all parent\n   types and the class' type.\n - Invocation of the class' GClassInitFunc() initializer.\n\n Since derived classes are partially initialized through a memory copy\n of the parent class, the general rule is that GBaseInitFunc() and\n GBaseFinalizeFunc() should take care of necessary reinitialization\n and release of those class members that were introduced by the type\n that specified these GBaseInitFunc()/GBaseFinalizeFunc().\n GClassInitFunc() should only care about initializing static\n class members, while dynamic class members (such as allocated strings\n or reference counted resources) are better handled by a GBaseInitFunc()\n for this type, so proper initialization of the dynamic class members\n is performed for class initialization of derived types as well.\n\n An example may help to correspond the intend of the different class\n initializers:\n\n |[<!-- language=\"C\" -->\n typedef struct {\n   GObjectClass parent_class;\n   gint         static_integer;\n   gchar       *dynamic_string;\n } TypeAClass;\n static void\n type_a_base_class_init (TypeAClass *class)\n {\n   class->dynamic_string = g_strdup (\"some string\");\n }\n static void\n type_a_base_class_finalize (TypeAClass *class)\n {\n   g_free (class->dynamic_string);\n }\n static void\n type_a_class_init (TypeAClass *class)\n {\n   class->static_integer = 42;\n }\n\n typedef struct {\n   TypeAClass   parent_class;\n   gfloat       static_float;\n   GString     *dynamic_gstring;\n } TypeBClass;\n static void\n type_b_base_class_init (TypeBClass *class)\n {\n   class->dynamic_gstring = g_string_new (\"some other string\");\n }\n static void\n type_b_base_class_finalize (TypeBClass *class)\n {\n   g_string_free (class->dynamic_gstring);\n }\n static void\n type_b_class_init (TypeBClass *class)\n {\n   class->static_float = 3.14159265358979323846;\n }\n ]|\n\n Initialization of TypeBClass will first cause initialization of\n TypeAClass (derived classes reference their parent classes, see\n g_type_class_ref() on this).\n\n Initialization of TypeAClass roughly involves zero-initializing its fields,\n then calling its GBaseInitFunc() type_a_base_class_init() to allocate\n its dynamic members (dynamic_string), and finally calling its GClassInitFunc()\n type_a_class_init() to initialize its static members (static_integer).\n The first step in the initialization process of TypeBClass is then\n a plain memory copy of the contents of TypeAClass into TypeBClass and\n zero-initialization of the remaining fields in TypeBClass.\n The dynamic members of TypeAClass within TypeBClass now need\n reinitialization which is performed by calling type_a_base_class_init()\n with an argument of TypeBClass.\n\n After that, the GBaseInitFunc() of TypeBClass, type_b_base_class_init()\n is called to allocate the dynamic members of TypeBClass (dynamic_gstring),\n and finally the GClassInitFunc() of TypeBClass, type_b_class_init(),\n is called to complete the initialization process with the static members\n (static_float).\n\n Corresponding finalization counter parts to the GBaseInitFunc() functions\n have to be provided to release allocated resources at class finalization\n time."]
25168pub type GClassInitFunc =
25169    ::std::option::Option<unsafe extern "C" fn(g_class: gpointer, class_data: gpointer)>;
25170#[doc = " GClassFinalizeFunc:\n @g_class: (type GObject.TypeClass): The #GTypeClass structure to finalize\n @class_data: The @class_data member supplied via the #GTypeInfo structure\n\n A callback function used by the type system to finalize a class.\n\n This function is rarely needed, as dynamically allocated class resources\n should be handled by GBaseInitFunc() and GBaseFinalizeFunc().\n\n Also, specification of a GClassFinalizeFunc() in the #GTypeInfo\n structure of a static type is invalid, because classes of static types\n will never be finalized (they are artificially kept alive when their\n reference count drops to zero)."]
25171pub type GClassFinalizeFunc =
25172    ::std::option::Option<unsafe extern "C" fn(g_class: gpointer, class_data: gpointer)>;
25173#[doc = " GInstanceInitFunc:\n @instance: The instance to initialize\n @g_class: (type GObject.TypeClass): The class of the type the instance is\n    created for\n\n A callback function used by the type system to initialize a new\n instance of a type.\n\n This function initializes all instance members and allocates any resources\n required by it.\n\n Initialization of a derived instance involves calling all its parent\n types instance initializers, so the class member of the instance\n is altered during its initialization to always point to the class that\n belongs to the type the current initializer was introduced for.\n\n The extended members of @instance are guaranteed to have been filled with\n zeros before this function is called."]
25174pub type GInstanceInitFunc =
25175    ::std::option::Option<unsafe extern "C" fn(instance: *mut GTypeInstance, g_class: gpointer)>;
25176#[doc = " GInterfaceInitFunc:\n @g_iface: (type GObject.TypeInterface): The interface structure to initialize\n @iface_data: The @interface_data supplied via the #GInterfaceInfo structure\n\n A callback function used by the type system to initialize a new\n interface.\n\n This function should initialize all internal data and* allocate any\n resources required by the interface.\n\n The members of @iface_data are guaranteed to have been filled with\n zeros before this function is called."]
25177pub type GInterfaceInitFunc =
25178    ::std::option::Option<unsafe extern "C" fn(g_iface: gpointer, iface_data: gpointer)>;
25179#[doc = " GInterfaceFinalizeFunc:\n @g_iface: (type GObject.TypeInterface): The interface structure to finalize\n @iface_data: The @interface_data supplied via the #GInterfaceInfo structure\n\n A callback function used by the type system to finalize an interface.\n\n This function should destroy any internal data and release any resources\n allocated by the corresponding GInterfaceInitFunc() function."]
25180pub type GInterfaceFinalizeFunc =
25181    ::std::option::Option<unsafe extern "C" fn(g_iface: gpointer, iface_data: gpointer)>;
25182#[doc = " GTypeClassCacheFunc:\n @cache_data: data that was given to the g_type_add_class_cache_func() call\n @g_class: (type GObject.TypeClass): The #GTypeClass structure which is\n    unreferenced\n\n A callback function which is called when the reference count of a class\n drops to zero.\n\n It may use g_type_class_ref() to prevent the class from being freed. You\n should not call g_type_class_unref() from a #GTypeClassCacheFunc function\n to prevent infinite recursion, use g_type_class_unref_uncached() instead.\n\n The functions have to check the class id passed in to figure\n whether they actually want to cache the class of this type, since all\n classes are routed through the same #GTypeClassCacheFunc chain.\n\n Returns: %TRUE to stop further #GTypeClassCacheFuncs from being\n  called, %FALSE to continue"]
25183pub type GTypeClassCacheFunc = ::std::option::Option<
25184    unsafe extern "C" fn(cache_data: gpointer, g_class: *mut GTypeClass) -> gboolean,
25185>;
25186#[doc = " GTypeInterfaceCheckFunc:\n @check_data: data passed to g_type_add_interface_check()\n @g_iface: (type GObject.TypeInterface): the interface that has been\n    initialized\n\n A callback called after an interface vtable is initialized.\n\n See g_type_add_interface_check().\n\n Since: 2.4"]
25187pub type GTypeInterfaceCheckFunc =
25188    ::std::option::Option<unsafe extern "C" fn(check_data: gpointer, g_iface: gpointer)>;
25189pub const GTypeFundamentalFlags_G_TYPE_FLAG_CLASSED: GTypeFundamentalFlags = 1;
25190pub const GTypeFundamentalFlags_G_TYPE_FLAG_INSTANTIATABLE: GTypeFundamentalFlags = 2;
25191pub const GTypeFundamentalFlags_G_TYPE_FLAG_DERIVABLE: GTypeFundamentalFlags = 4;
25192pub const GTypeFundamentalFlags_G_TYPE_FLAG_DEEP_DERIVABLE: GTypeFundamentalFlags = 8;
25193#[doc = " GTypeFundamentalFlags:\n @G_TYPE_FLAG_CLASSED: Indicates a classed type\n @G_TYPE_FLAG_INSTANTIATABLE: Indicates an instantiatable type (implies classed)\n @G_TYPE_FLAG_DERIVABLE: Indicates a flat derivable type\n @G_TYPE_FLAG_DEEP_DERIVABLE: Indicates a deep derivable type (implies derivable)\n\n Bit masks used to check or determine specific characteristics of a\n fundamental type."]
25194pub type GTypeFundamentalFlags = ::std::os::raw::c_uint;
25195pub const GTypeFlags_G_TYPE_FLAG_NONE: GTypeFlags = 0;
25196pub const GTypeFlags_G_TYPE_FLAG_ABSTRACT: GTypeFlags = 16;
25197pub const GTypeFlags_G_TYPE_FLAG_VALUE_ABSTRACT: GTypeFlags = 32;
25198pub const GTypeFlags_G_TYPE_FLAG_FINAL: GTypeFlags = 64;
25199pub const GTypeFlags_G_TYPE_FLAG_DEPRECATED: GTypeFlags = 128;
25200#[doc = " GTypeFlags:\n @G_TYPE_FLAG_NONE: No special flags. Since: 2.74\n @G_TYPE_FLAG_ABSTRACT: Indicates an abstract type. No instances can be\n  created for an abstract type\n @G_TYPE_FLAG_VALUE_ABSTRACT: Indicates an abstract value type, i.e. a type\n  that introduces a value table, but can't be used for\n  g_value_init()\n @G_TYPE_FLAG_FINAL: Indicates a final type. A final type is a non-derivable\n  leaf node in a deep derivable type hierarchy tree. Since: 2.70\n @G_TYPE_FLAG_DEPRECATED: The type is deprecated and may be removed in a\n  future version. A warning will be emitted if it is instantiated while\n  running with `G_ENABLE_DIAGNOSTIC=1`. Since 2.76\n\n Bit masks used to check or determine characteristics of a type."]
25201pub type GTypeFlags = ::std::os::raw::c_uint;
25202#[doc = " GTypeInfo:\n @class_size: Size of the class structure (required for interface, classed and instantiatable types)\n @base_init: Location of the base initialization function (optional)\n @base_finalize: Location of the base finalization function (optional)\n @class_init: Location of the class initialization function for\n  classed and instantiatable types. Location of the default vtable\n  inititalization function for interface types. (optional) This function\n  is used both to fill in virtual functions in the class or default vtable,\n  and to do type-specific setup such as registering signals and object\n  properties.\n @class_finalize: Location of the class finalization function for\n  classed and instantiatable types. Location of the default vtable\n  finalization function for interface types. (optional)\n @class_data: User-supplied data passed to the class init/finalize functions\n @instance_size: Size of the instance (object) structure (required for instantiatable types only)\n @n_preallocs: Prior to GLib 2.10, it specified the number of pre-allocated (cached) instances to reserve memory for (0 indicates no caching). Since GLib 2.10 this field is ignored.\n @instance_init: Location of the instance initialization function (optional, for instantiatable types only)\n @value_table: A #GTypeValueTable function table for generic handling of GValues\n  of this type (usually only useful for fundamental types)\n\n This structure is used to provide the type system with the information\n required to initialize and destruct (finalize) a type's class and\n its instances.\n\n The initialized structure is passed to the g_type_register_static() function\n (or is copied into the provided #GTypeInfo structure in the\n g_type_plugin_complete_type_info()). The type system will perform a deep\n copy of this structure, so its memory does not need to be persistent\n across invocation of g_type_register_static()."]
25203#[repr(C)]
25204#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25205pub struct _GTypeInfo {
25206    pub class_size: guint16,
25207    pub base_init: GBaseInitFunc,
25208    pub base_finalize: GBaseFinalizeFunc,
25209    pub class_init: GClassInitFunc,
25210    pub class_finalize: GClassFinalizeFunc,
25211    pub class_data: gconstpointer,
25212    pub instance_size: guint16,
25213    pub n_preallocs: guint16,
25214    pub instance_init: GInstanceInitFunc,
25215    pub value_table: *const GTypeValueTable,
25216}
25217#[test]
25218fn bindgen_test_layout__GTypeInfo() {
25219    const UNINIT: ::std::mem::MaybeUninit<_GTypeInfo> = ::std::mem::MaybeUninit::uninit();
25220    let ptr = UNINIT.as_ptr();
25221    assert_eq!(
25222        ::std::mem::size_of::<_GTypeInfo>(),
25223        72usize,
25224        concat!("Size of: ", stringify!(_GTypeInfo))
25225    );
25226    assert_eq!(
25227        ::std::mem::align_of::<_GTypeInfo>(),
25228        8usize,
25229        concat!("Alignment of ", stringify!(_GTypeInfo))
25230    );
25231    assert_eq!(
25232        unsafe { ::std::ptr::addr_of!((*ptr).class_size) as usize - ptr as usize },
25233        0usize,
25234        concat!(
25235            "Offset of field: ",
25236            stringify!(_GTypeInfo),
25237            "::",
25238            stringify!(class_size)
25239        )
25240    );
25241    assert_eq!(
25242        unsafe { ::std::ptr::addr_of!((*ptr).base_init) as usize - ptr as usize },
25243        8usize,
25244        concat!(
25245            "Offset of field: ",
25246            stringify!(_GTypeInfo),
25247            "::",
25248            stringify!(base_init)
25249        )
25250    );
25251    assert_eq!(
25252        unsafe { ::std::ptr::addr_of!((*ptr).base_finalize) as usize - ptr as usize },
25253        16usize,
25254        concat!(
25255            "Offset of field: ",
25256            stringify!(_GTypeInfo),
25257            "::",
25258            stringify!(base_finalize)
25259        )
25260    );
25261    assert_eq!(
25262        unsafe { ::std::ptr::addr_of!((*ptr).class_init) as usize - ptr as usize },
25263        24usize,
25264        concat!(
25265            "Offset of field: ",
25266            stringify!(_GTypeInfo),
25267            "::",
25268            stringify!(class_init)
25269        )
25270    );
25271    assert_eq!(
25272        unsafe { ::std::ptr::addr_of!((*ptr).class_finalize) as usize - ptr as usize },
25273        32usize,
25274        concat!(
25275            "Offset of field: ",
25276            stringify!(_GTypeInfo),
25277            "::",
25278            stringify!(class_finalize)
25279        )
25280    );
25281    assert_eq!(
25282        unsafe { ::std::ptr::addr_of!((*ptr).class_data) as usize - ptr as usize },
25283        40usize,
25284        concat!(
25285            "Offset of field: ",
25286            stringify!(_GTypeInfo),
25287            "::",
25288            stringify!(class_data)
25289        )
25290    );
25291    assert_eq!(
25292        unsafe { ::std::ptr::addr_of!((*ptr).instance_size) as usize - ptr as usize },
25293        48usize,
25294        concat!(
25295            "Offset of field: ",
25296            stringify!(_GTypeInfo),
25297            "::",
25298            stringify!(instance_size)
25299        )
25300    );
25301    assert_eq!(
25302        unsafe { ::std::ptr::addr_of!((*ptr).n_preallocs) as usize - ptr as usize },
25303        50usize,
25304        concat!(
25305            "Offset of field: ",
25306            stringify!(_GTypeInfo),
25307            "::",
25308            stringify!(n_preallocs)
25309        )
25310    );
25311    assert_eq!(
25312        unsafe { ::std::ptr::addr_of!((*ptr).instance_init) as usize - ptr as usize },
25313        56usize,
25314        concat!(
25315            "Offset of field: ",
25316            stringify!(_GTypeInfo),
25317            "::",
25318            stringify!(instance_init)
25319        )
25320    );
25321    assert_eq!(
25322        unsafe { ::std::ptr::addr_of!((*ptr).value_table) as usize - ptr as usize },
25323        64usize,
25324        concat!(
25325            "Offset of field: ",
25326            stringify!(_GTypeInfo),
25327            "::",
25328            stringify!(value_table)
25329        )
25330    );
25331}
25332#[doc = " GTypeFundamentalInfo:\n @type_flags: #GTypeFundamentalFlags describing the characteristics of the fundamental type\n\n A structure that provides information to the type system which is\n used specifically for managing fundamental types."]
25333#[repr(C)]
25334#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25335pub struct _GTypeFundamentalInfo {
25336    pub type_flags: GTypeFundamentalFlags,
25337}
25338#[test]
25339fn bindgen_test_layout__GTypeFundamentalInfo() {
25340    const UNINIT: ::std::mem::MaybeUninit<_GTypeFundamentalInfo> =
25341        ::std::mem::MaybeUninit::uninit();
25342    let ptr = UNINIT.as_ptr();
25343    assert_eq!(
25344        ::std::mem::size_of::<_GTypeFundamentalInfo>(),
25345        4usize,
25346        concat!("Size of: ", stringify!(_GTypeFundamentalInfo))
25347    );
25348    assert_eq!(
25349        ::std::mem::align_of::<_GTypeFundamentalInfo>(),
25350        4usize,
25351        concat!("Alignment of ", stringify!(_GTypeFundamentalInfo))
25352    );
25353    assert_eq!(
25354        unsafe { ::std::ptr::addr_of!((*ptr).type_flags) as usize - ptr as usize },
25355        0usize,
25356        concat!(
25357            "Offset of field: ",
25358            stringify!(_GTypeFundamentalInfo),
25359            "::",
25360            stringify!(type_flags)
25361        )
25362    );
25363}
25364#[doc = " GInterfaceInfo:\n @interface_init: location of the interface initialization function\n @interface_finalize: location of the interface finalization function\n @interface_data: user-supplied data passed to the interface init/finalize functions\n\n A structure that provides information to the type system which is\n used specifically for managing interface types."]
25365#[repr(C)]
25366#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25367pub struct _GInterfaceInfo {
25368    pub interface_init: GInterfaceInitFunc,
25369    pub interface_finalize: GInterfaceFinalizeFunc,
25370    pub interface_data: gpointer,
25371}
25372#[test]
25373fn bindgen_test_layout__GInterfaceInfo() {
25374    const UNINIT: ::std::mem::MaybeUninit<_GInterfaceInfo> = ::std::mem::MaybeUninit::uninit();
25375    let ptr = UNINIT.as_ptr();
25376    assert_eq!(
25377        ::std::mem::size_of::<_GInterfaceInfo>(),
25378        24usize,
25379        concat!("Size of: ", stringify!(_GInterfaceInfo))
25380    );
25381    assert_eq!(
25382        ::std::mem::align_of::<_GInterfaceInfo>(),
25383        8usize,
25384        concat!("Alignment of ", stringify!(_GInterfaceInfo))
25385    );
25386    assert_eq!(
25387        unsafe { ::std::ptr::addr_of!((*ptr).interface_init) as usize - ptr as usize },
25388        0usize,
25389        concat!(
25390            "Offset of field: ",
25391            stringify!(_GInterfaceInfo),
25392            "::",
25393            stringify!(interface_init)
25394        )
25395    );
25396    assert_eq!(
25397        unsafe { ::std::ptr::addr_of!((*ptr).interface_finalize) as usize - ptr as usize },
25398        8usize,
25399        concat!(
25400            "Offset of field: ",
25401            stringify!(_GInterfaceInfo),
25402            "::",
25403            stringify!(interface_finalize)
25404        )
25405    );
25406    assert_eq!(
25407        unsafe { ::std::ptr::addr_of!((*ptr).interface_data) as usize - ptr as usize },
25408        16usize,
25409        concat!(
25410            "Offset of field: ",
25411            stringify!(_GInterfaceInfo),
25412            "::",
25413            stringify!(interface_data)
25414        )
25415    );
25416}
25417#[doc = " GTypeValueInitFunc:\n @value: the value to initialize\n\n Initializes the value contents by setting the fields of the `value->data`\n array.\n\n The data array of the #GValue passed into this function was zero-filled\n with `memset()`, so no care has to be taken to free any old contents.\n For example, in the case of a string value that may never be %NULL, the\n implementation might look like:\n\n |[<!-- language=\"C\" -->\n value->data[0].v_pointer = g_strdup (\"\");\n ]|\n\n Since: 2.78"]
25418pub type GTypeValueInitFunc = ::std::option::Option<unsafe extern "C" fn(value: *mut GValue)>;
25419#[doc = " GTypeValueFreeFunc:\n @value: the value to free\n\n Frees any old contents that might be left in the `value->data` array of\n the given value.\n\n No resources may remain allocated through the #GValue contents after this\n function returns. E.g. for our above string type:\n\n |[<!-- language=\"C\" -->\n // only free strings without a specific flag for static storage\n if (!(value->data[1].v_uint & G_VALUE_NOCOPY_CONTENTS))\n   g_free (value->data[0].v_pointer);\n ]|\n\n Since: 2.78"]
25420pub type GTypeValueFreeFunc = ::std::option::Option<unsafe extern "C" fn(value: *mut GValue)>;
25421#[doc = " GTypeValueCopyFunc:\n @src_value: the value to copy\n @dest_value: (out): the location of the copy\n\n Copies the content of a #GValue into another.\n\n The @dest_value is a #GValue with zero-filled data section and @src_value\n is a properly initialized #GValue of same type, or derived type.\n\n The purpose of this function is to copy the contents of @src_value\n into @dest_value in a way, that even after @src_value has been freed, the\n contents of @dest_value remain valid. String type example:\n\n |[<!-- language=\"C\" -->\n dest_value->data[0].v_pointer = g_strdup (src_value->data[0].v_pointer);\n ]|\n\n Since: 2.78"]
25422pub type GTypeValueCopyFunc =
25423    ::std::option::Option<unsafe extern "C" fn(src_value: *const GValue, dest_value: *mut GValue)>;
25424#[doc = " GTypeValuePeekPointerFunc:\n @value: the value to peek\n\n If the value contents fit into a pointer, such as objects or strings,\n return this pointer, so the caller can peek at the current contents.\n\n To extend on our above string example:\n\n |[<!-- language=\"C\" -->\n return value->data[0].v_pointer;\n ]|\n\n Returns: (transfer none): a pointer to the value contents\n\n Since: 2.78"]
25425pub type GTypeValuePeekPointerFunc =
25426    ::std::option::Option<unsafe extern "C" fn(value: *const GValue) -> gpointer>;
25427#[doc = " GTypeValueCollectFunc:\n @value: the value to initialize\n @n_collect_values: the number of collected values\n @collect_values: (array length=n_collect_values): the collected values\n @collect_flags: optional flags\n\n This function is responsible for converting the values collected from\n a variadic argument list into contents suitable for storage in a #GValue.\n\n This function should setup @value similar to #GTypeValueInitFunc; e.g.\n for a string value that does not allow `NULL` pointers, it needs to either\n emit an error, or do an implicit conversion by storing an empty string.\n\n The @value passed in to this function has a zero-filled data array, so\n just like for #GTypeValueInitFunc it is guaranteed to not contain any old\n contents that might need freeing.\n\n The @n_collect_values argument is the string length of the `collect_format`\n field of #GTypeValueTable, and `collect_values` is an array of #GTypeCValue\n with length of @n_collect_values, containing the collected values according\n to `collect_format`.\n\n The @collect_flags argument provided as a hint by the caller. It may\n contain the flag %G_VALUE_NOCOPY_CONTENTS indicating that the collected\n value contents may be considered ‘static’ for the duration of the @value\n lifetime. Thus an extra copy of the contents stored in @collect_values is\n not required for assignment to @value.\n\n For our above string example, we continue with:\n\n |[<!-- language=\"C\" -->\n if (!collect_values[0].v_pointer)\n   value->data[0].v_pointer = g_strdup (\"\");\n else if (collect_flags & G_VALUE_NOCOPY_CONTENTS)\n   {\n     value->data[0].v_pointer = collect_values[0].v_pointer;\n     // keep a flag for the value_free() implementation to not free this string\n     value->data[1].v_uint = G_VALUE_NOCOPY_CONTENTS;\n   }\n else\n   value->data[0].v_pointer = g_strdup (collect_values[0].v_pointer);\n return NULL;\n ]|\n\n It should be noted, that it is generally a bad idea to follow the\n %G_VALUE_NOCOPY_CONTENTS hint for reference counted types. Due to\n reentrancy requirements and reference count assertions performed\n by the signal emission code, reference counts should always be\n incremented for reference counted contents stored in the `value->data`\n array. To deviate from our string example for a moment, and taking\n a look at an exemplary implementation for `GTypeValueTable.collect_value()`\n of `GObject`:\n\n |[<!-- language=\"C\" -->\n GObject *object = G_OBJECT (collect_values[0].v_pointer);\n g_return_val_if_fail (object != NULL,\n    g_strdup_printf (\"Object %p passed as invalid NULL pointer\", object));\n // never honour G_VALUE_NOCOPY_CONTENTS for ref-counted types\n value->data[0].v_pointer = g_object_ref (object);\n return NULL;\n ]|\n\n The reference count for valid objects is always incremented, regardless\n of `collect_flags`. For invalid objects, the example returns a newly\n allocated string without altering `value`.\n\n Upon success, `collect_value()` needs to return `NULL`. If, however,\n an error condition occurred, `collect_value()` should return a newly\n allocated string containing an error diagnostic.\n\n The calling code makes no assumptions about the `value` contents being\n valid upon error returns, `value` is simply thrown away without further\n freeing. As such, it is a good idea to not allocate `GValue` contents\n prior to returning an error; however, `collect_values()` is not obliged\n to return a correctly setup @value for error returns, simply because\n any non-`NULL` return is considered a fatal programming error, and\n further program behaviour is undefined.\n\n Returns: (transfer full) (nullable): `NULL` on success, otherwise a\n   newly allocated error string on failure\n\n Since: 2.78"]
25428pub type GTypeValueCollectFunc = ::std::option::Option<
25429    unsafe extern "C" fn(
25430        value: *mut GValue,
25431        n_collect_values: guint,
25432        collect_values: *mut GTypeCValue,
25433        collect_flags: guint,
25434    ) -> *mut gchar,
25435>;
25436#[doc = " GTypeValueLCopyFunc:\n @value: the value to lcopy\n @n_collect_values: the number of collected values\n @collect_values: (array length=n_collect_values): the collected\n   locations for storage\n @collect_flags: optional flags\n\n This function is responsible for storing the `value`\n contents into arguments passed through a variadic argument list which\n got collected into `collect_values` according to `lcopy_format`.\n\n The `n_collect_values` argument equals the string length of\n `lcopy_format`, and `collect_flags` may contain %G_VALUE_NOCOPY_CONTENTS.\n\n In contrast to #GTypeValueCollectFunc, this function is obliged to always\n properly support %G_VALUE_NOCOPY_CONTENTS.\n\n Similar to #GTypeValueCollectFunc the function may prematurely abort by\n returning a newly allocated string describing an error condition. To\n complete the string example:\n\n |[<!-- language=\"C\" -->\n gchar **string_p = collect_values[0].v_pointer;\n g_return_val_if_fail (string_p != NULL,\n   g_strdup (\"string location passed as NULL\"));\n\n if (collect_flags & G_VALUE_NOCOPY_CONTENTS)\n   *string_p = value->data[0].v_pointer;\n else\n   *string_p = g_strdup (value->data[0].v_pointer);\n ]|\n\n And an illustrative version of this function for reference-counted\n types:\n\n |[<!-- language=\"C\" -->\n GObject **object_p = collect_values[0].v_pointer;\n g_return_val_if_fail (object_p != NULL,\n   g_strdup (\"object location passed as NULL\"));\n\n if (value->data[0].v_pointer == NULL)\n   *object_p = NULL;\n else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) // always honour\n   *object_p = value->data[0].v_pointer;\n else\n   *object_p = g_object_ref (value->data[0].v_pointer);\n\n return NULL;\n ]|\n\n Returns: (transfer full) (nullable): `NULL` on success, otherwise\n   a newly allocated error string on failure\n\n Since: 2.78"]
25437pub type GTypeValueLCopyFunc = ::std::option::Option<
25438    unsafe extern "C" fn(
25439        value: *const GValue,
25440        n_collect_values: guint,
25441        collect_values: *mut GTypeCValue,
25442        collect_flags: guint,
25443    ) -> *mut gchar,
25444>;
25445#[doc = " GTypeValueTable:\n @value_init: Function to initialize a GValue\n @value_free: Function to free a GValue\n @value_copy: Function to copy a GValue\n @value_peek_pointer: Function to peek the contents of a GValue if they fit\n   into a pointer\n @collect_format: A string format describing how to collect the contents of\n   this value bit-by-bit. Each character in the format represents\n   an argument to be collected, and the characters themselves indicate\n   the type of the argument. Currently supported arguments are:\n    - `'i'`: Integers, passed as `collect_values[].v_int`\n    - `'l'`: Longs, passed as `collect_values[].v_long`\n    - `'d'`: Doubles, passed as `collect_values[].v_double`\n    - `'p'`: Pointers, passed as `collect_values[].v_pointer`\n   It should be noted that for variable argument list construction,\n   ANSI C promotes every type smaller than an integer to an int, and\n   floats to doubles. So for collection of short int or char, `'i'`\n   needs to be used, and for collection of floats `'d'`.\n @collect_value: Function to initialize a GValue from the values\n   collected from variadic arguments\n @lcopy_format: Format description of the arguments to collect for @lcopy_value,\n   analogous to @collect_format. Usually, @lcopy_format string consists\n   only of `'p'`s to provide lcopy_value() with pointers to storage locations.\n @lcopy_value: Function to store the contents of a value into the\n   locations collected from variadic arguments\n\n The #GTypeValueTable provides the functions required by the #GValue\n implementation, to serve as a container for values of a type."]
25446#[repr(C)]
25447#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25448pub struct _GTypeValueTable {
25449    pub value_init: GTypeValueInitFunc,
25450    pub value_free: GTypeValueFreeFunc,
25451    pub value_copy: GTypeValueCopyFunc,
25452    pub value_peek_pointer: GTypeValuePeekPointerFunc,
25453    pub collect_format: *const gchar,
25454    pub collect_value: GTypeValueCollectFunc,
25455    pub lcopy_format: *const gchar,
25456    pub lcopy_value: GTypeValueLCopyFunc,
25457}
25458#[test]
25459fn bindgen_test_layout__GTypeValueTable() {
25460    const UNINIT: ::std::mem::MaybeUninit<_GTypeValueTable> = ::std::mem::MaybeUninit::uninit();
25461    let ptr = UNINIT.as_ptr();
25462    assert_eq!(
25463        ::std::mem::size_of::<_GTypeValueTable>(),
25464        64usize,
25465        concat!("Size of: ", stringify!(_GTypeValueTable))
25466    );
25467    assert_eq!(
25468        ::std::mem::align_of::<_GTypeValueTable>(),
25469        8usize,
25470        concat!("Alignment of ", stringify!(_GTypeValueTable))
25471    );
25472    assert_eq!(
25473        unsafe { ::std::ptr::addr_of!((*ptr).value_init) as usize - ptr as usize },
25474        0usize,
25475        concat!(
25476            "Offset of field: ",
25477            stringify!(_GTypeValueTable),
25478            "::",
25479            stringify!(value_init)
25480        )
25481    );
25482    assert_eq!(
25483        unsafe { ::std::ptr::addr_of!((*ptr).value_free) as usize - ptr as usize },
25484        8usize,
25485        concat!(
25486            "Offset of field: ",
25487            stringify!(_GTypeValueTable),
25488            "::",
25489            stringify!(value_free)
25490        )
25491    );
25492    assert_eq!(
25493        unsafe { ::std::ptr::addr_of!((*ptr).value_copy) as usize - ptr as usize },
25494        16usize,
25495        concat!(
25496            "Offset of field: ",
25497            stringify!(_GTypeValueTable),
25498            "::",
25499            stringify!(value_copy)
25500        )
25501    );
25502    assert_eq!(
25503        unsafe { ::std::ptr::addr_of!((*ptr).value_peek_pointer) as usize - ptr as usize },
25504        24usize,
25505        concat!(
25506            "Offset of field: ",
25507            stringify!(_GTypeValueTable),
25508            "::",
25509            stringify!(value_peek_pointer)
25510        )
25511    );
25512    assert_eq!(
25513        unsafe { ::std::ptr::addr_of!((*ptr).collect_format) as usize - ptr as usize },
25514        32usize,
25515        concat!(
25516            "Offset of field: ",
25517            stringify!(_GTypeValueTable),
25518            "::",
25519            stringify!(collect_format)
25520        )
25521    );
25522    assert_eq!(
25523        unsafe { ::std::ptr::addr_of!((*ptr).collect_value) as usize - ptr as usize },
25524        40usize,
25525        concat!(
25526            "Offset of field: ",
25527            stringify!(_GTypeValueTable),
25528            "::",
25529            stringify!(collect_value)
25530        )
25531    );
25532    assert_eq!(
25533        unsafe { ::std::ptr::addr_of!((*ptr).lcopy_format) as usize - ptr as usize },
25534        48usize,
25535        concat!(
25536            "Offset of field: ",
25537            stringify!(_GTypeValueTable),
25538            "::",
25539            stringify!(lcopy_format)
25540        )
25541    );
25542    assert_eq!(
25543        unsafe { ::std::ptr::addr_of!((*ptr).lcopy_value) as usize - ptr as usize },
25544        56usize,
25545        concat!(
25546            "Offset of field: ",
25547            stringify!(_GTypeValueTable),
25548            "::",
25549            stringify!(lcopy_value)
25550        )
25551    );
25552}
25553extern "C" {
25554    pub fn g_type_register_static(
25555        parent_type: GType,
25556        type_name: *const gchar,
25557        info: *const GTypeInfo,
25558        flags: GTypeFlags,
25559    ) -> GType;
25560}
25561extern "C" {
25562    pub fn g_type_register_static_simple(
25563        parent_type: GType,
25564        type_name: *const gchar,
25565        class_size: guint,
25566        class_init: GClassInitFunc,
25567        instance_size: guint,
25568        instance_init: GInstanceInitFunc,
25569        flags: GTypeFlags,
25570    ) -> GType;
25571}
25572extern "C" {
25573    pub fn g_type_register_dynamic(
25574        parent_type: GType,
25575        type_name: *const gchar,
25576        plugin: *mut GTypePlugin,
25577        flags: GTypeFlags,
25578    ) -> GType;
25579}
25580extern "C" {
25581    pub fn g_type_register_fundamental(
25582        type_id: GType,
25583        type_name: *const gchar,
25584        info: *const GTypeInfo,
25585        finfo: *const GTypeFundamentalInfo,
25586        flags: GTypeFlags,
25587    ) -> GType;
25588}
25589extern "C" {
25590    pub fn g_type_add_interface_static(
25591        instance_type: GType,
25592        interface_type: GType,
25593        info: *const GInterfaceInfo,
25594    );
25595}
25596extern "C" {
25597    pub fn g_type_add_interface_dynamic(
25598        instance_type: GType,
25599        interface_type: GType,
25600        plugin: *mut GTypePlugin,
25601    );
25602}
25603extern "C" {
25604    pub fn g_type_interface_add_prerequisite(interface_type: GType, prerequisite_type: GType);
25605}
25606extern "C" {
25607    pub fn g_type_interface_prerequisites(
25608        interface_type: GType,
25609        n_prerequisites: *mut guint,
25610    ) -> *mut GType;
25611}
25612extern "C" {
25613    pub fn g_type_interface_instantiatable_prerequisite(interface_type: GType) -> GType;
25614}
25615extern "C" {
25616    pub fn g_type_class_add_private(g_class: gpointer, private_size: gsize);
25617}
25618extern "C" {
25619    pub fn g_type_add_instance_private(class_type: GType, private_size: gsize) -> gint;
25620}
25621extern "C" {
25622    pub fn g_type_instance_get_private(
25623        instance: *mut GTypeInstance,
25624        private_type: GType,
25625    ) -> gpointer;
25626}
25627extern "C" {
25628    pub fn g_type_class_adjust_private_offset(g_class: gpointer, private_size_or_offset: *mut gint);
25629}
25630extern "C" {
25631    pub fn g_type_add_class_private(class_type: GType, private_size: gsize);
25632}
25633extern "C" {
25634    pub fn g_type_class_get_private(klass: *mut GTypeClass, private_type: GType) -> gpointer;
25635}
25636extern "C" {
25637    pub fn g_type_class_get_instance_private_offset(g_class: gpointer) -> gint;
25638}
25639extern "C" {
25640    pub fn g_type_ensure(type_: GType);
25641}
25642extern "C" {
25643    pub fn g_type_get_type_registration_serial() -> guint;
25644}
25645extern "C" {
25646    pub fn g_type_get_plugin(type_: GType) -> *mut GTypePlugin;
25647}
25648extern "C" {
25649    pub fn g_type_interface_get_plugin(
25650        instance_type: GType,
25651        interface_type: GType,
25652    ) -> *mut GTypePlugin;
25653}
25654extern "C" {
25655    pub fn g_type_fundamental_next() -> GType;
25656}
25657extern "C" {
25658    pub fn g_type_fundamental(type_id: GType) -> GType;
25659}
25660extern "C" {
25661    pub fn g_type_create_instance(type_: GType) -> *mut GTypeInstance;
25662}
25663extern "C" {
25664    pub fn g_type_free_instance(instance: *mut GTypeInstance);
25665}
25666extern "C" {
25667    pub fn g_type_add_class_cache_func(cache_data: gpointer, cache_func: GTypeClassCacheFunc);
25668}
25669extern "C" {
25670    pub fn g_type_remove_class_cache_func(cache_data: gpointer, cache_func: GTypeClassCacheFunc);
25671}
25672extern "C" {
25673    pub fn g_type_class_unref_uncached(g_class: gpointer);
25674}
25675extern "C" {
25676    pub fn g_type_add_interface_check(check_data: gpointer, check_func: GTypeInterfaceCheckFunc);
25677}
25678extern "C" {
25679    pub fn g_type_remove_interface_check(check_data: gpointer, check_func: GTypeInterfaceCheckFunc);
25680}
25681extern "C" {
25682    pub fn g_type_value_table_peek(type_: GType) -> *mut GTypeValueTable;
25683}
25684extern "C" {
25685    pub fn g_type_check_instance(instance: *mut GTypeInstance) -> gboolean;
25686}
25687extern "C" {
25688    pub fn g_type_check_instance_cast(
25689        instance: *mut GTypeInstance,
25690        iface_type: GType,
25691    ) -> *mut GTypeInstance;
25692}
25693extern "C" {
25694    pub fn g_type_check_instance_is_a(instance: *mut GTypeInstance, iface_type: GType) -> gboolean;
25695}
25696extern "C" {
25697    pub fn g_type_check_instance_is_fundamentally_a(
25698        instance: *mut GTypeInstance,
25699        fundamental_type: GType,
25700    ) -> gboolean;
25701}
25702extern "C" {
25703    pub fn g_type_check_class_cast(g_class: *mut GTypeClass, is_a_type: GType) -> *mut GTypeClass;
25704}
25705extern "C" {
25706    pub fn g_type_check_class_is_a(g_class: *mut GTypeClass, is_a_type: GType) -> gboolean;
25707}
25708extern "C" {
25709    pub fn g_type_check_is_value_type(type_: GType) -> gboolean;
25710}
25711extern "C" {
25712    pub fn g_type_check_value(value: *const GValue) -> gboolean;
25713}
25714extern "C" {
25715    pub fn g_type_check_value_holds(value: *const GValue, type_: GType) -> gboolean;
25716}
25717extern "C" {
25718    pub fn g_type_test_flags(type_: GType, flags: guint) -> gboolean;
25719}
25720extern "C" {
25721    pub fn g_type_name_from_instance(instance: *mut GTypeInstance) -> *const gchar;
25722}
25723extern "C" {
25724    pub fn g_type_name_from_class(g_class: *mut GTypeClass) -> *const gchar;
25725}
25726#[doc = " GValueTransform:\n @src_value: Source value.\n @dest_value: Target value.\n\n The type of value transformation functions which can be registered with\n g_value_register_transform_func().\n\n @dest_value will be initialized to the correct destination type."]
25727pub type GValueTransform =
25728    ::std::option::Option<unsafe extern "C" fn(src_value: *const GValue, dest_value: *mut GValue)>;
25729#[doc = " GValue:\n\n An opaque structure used to hold different types of values.\n\n The data within the structure has protected scope: it is accessible only\n to functions within a #GTypeValueTable structure, or implementations of\n the g_value_*() API. That is, code portions which implement new fundamental\n types.\n\n #GValue users cannot make any assumptions about how data is stored\n within the 2 element @data union, and the @g_type member should\n only be accessed through the G_VALUE_TYPE() macro."]
25730#[repr(C)]
25731#[derive(Copy, Clone)]
25732pub struct _GValue {
25733    pub g_type: GType,
25734    pub data: [_GValue__bindgen_ty_1; 2usize],
25735}
25736#[repr(C)]
25737#[derive(Copy, Clone)]
25738pub union _GValue__bindgen_ty_1 {
25739    pub v_int: gint,
25740    pub v_uint: guint,
25741    pub v_long: glong,
25742    pub v_ulong: gulong,
25743    pub v_int64: gint64,
25744    pub v_uint64: guint64,
25745    pub v_float: gfloat,
25746    pub v_double: gdouble,
25747    pub v_pointer: gpointer,
25748}
25749#[test]
25750fn bindgen_test_layout__GValue__bindgen_ty_1() {
25751    const UNINIT: ::std::mem::MaybeUninit<_GValue__bindgen_ty_1> =
25752        ::std::mem::MaybeUninit::uninit();
25753    let ptr = UNINIT.as_ptr();
25754    assert_eq!(
25755        ::std::mem::size_of::<_GValue__bindgen_ty_1>(),
25756        8usize,
25757        concat!("Size of: ", stringify!(_GValue__bindgen_ty_1))
25758    );
25759    assert_eq!(
25760        ::std::mem::align_of::<_GValue__bindgen_ty_1>(),
25761        8usize,
25762        concat!("Alignment of ", stringify!(_GValue__bindgen_ty_1))
25763    );
25764    assert_eq!(
25765        unsafe { ::std::ptr::addr_of!((*ptr).v_int) as usize - ptr as usize },
25766        0usize,
25767        concat!(
25768            "Offset of field: ",
25769            stringify!(_GValue__bindgen_ty_1),
25770            "::",
25771            stringify!(v_int)
25772        )
25773    );
25774    assert_eq!(
25775        unsafe { ::std::ptr::addr_of!((*ptr).v_uint) as usize - ptr as usize },
25776        0usize,
25777        concat!(
25778            "Offset of field: ",
25779            stringify!(_GValue__bindgen_ty_1),
25780            "::",
25781            stringify!(v_uint)
25782        )
25783    );
25784    assert_eq!(
25785        unsafe { ::std::ptr::addr_of!((*ptr).v_long) as usize - ptr as usize },
25786        0usize,
25787        concat!(
25788            "Offset of field: ",
25789            stringify!(_GValue__bindgen_ty_1),
25790            "::",
25791            stringify!(v_long)
25792        )
25793    );
25794    assert_eq!(
25795        unsafe { ::std::ptr::addr_of!((*ptr).v_ulong) as usize - ptr as usize },
25796        0usize,
25797        concat!(
25798            "Offset of field: ",
25799            stringify!(_GValue__bindgen_ty_1),
25800            "::",
25801            stringify!(v_ulong)
25802        )
25803    );
25804    assert_eq!(
25805        unsafe { ::std::ptr::addr_of!((*ptr).v_int64) as usize - ptr as usize },
25806        0usize,
25807        concat!(
25808            "Offset of field: ",
25809            stringify!(_GValue__bindgen_ty_1),
25810            "::",
25811            stringify!(v_int64)
25812        )
25813    );
25814    assert_eq!(
25815        unsafe { ::std::ptr::addr_of!((*ptr).v_uint64) as usize - ptr as usize },
25816        0usize,
25817        concat!(
25818            "Offset of field: ",
25819            stringify!(_GValue__bindgen_ty_1),
25820            "::",
25821            stringify!(v_uint64)
25822        )
25823    );
25824    assert_eq!(
25825        unsafe { ::std::ptr::addr_of!((*ptr).v_float) as usize - ptr as usize },
25826        0usize,
25827        concat!(
25828            "Offset of field: ",
25829            stringify!(_GValue__bindgen_ty_1),
25830            "::",
25831            stringify!(v_float)
25832        )
25833    );
25834    assert_eq!(
25835        unsafe { ::std::ptr::addr_of!((*ptr).v_double) as usize - ptr as usize },
25836        0usize,
25837        concat!(
25838            "Offset of field: ",
25839            stringify!(_GValue__bindgen_ty_1),
25840            "::",
25841            stringify!(v_double)
25842        )
25843    );
25844    assert_eq!(
25845        unsafe { ::std::ptr::addr_of!((*ptr).v_pointer) as usize - ptr as usize },
25846        0usize,
25847        concat!(
25848            "Offset of field: ",
25849            stringify!(_GValue__bindgen_ty_1),
25850            "::",
25851            stringify!(v_pointer)
25852        )
25853    );
25854}
25855impl ::std::fmt::Debug for _GValue__bindgen_ty_1 {
25856    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
25857        write!(f, "_GValue__bindgen_ty_1 {{ union }}")
25858    }
25859}
25860#[test]
25861fn bindgen_test_layout__GValue() {
25862    const UNINIT: ::std::mem::MaybeUninit<_GValue> = ::std::mem::MaybeUninit::uninit();
25863    let ptr = UNINIT.as_ptr();
25864    assert_eq!(
25865        ::std::mem::size_of::<_GValue>(),
25866        24usize,
25867        concat!("Size of: ", stringify!(_GValue))
25868    );
25869    assert_eq!(
25870        ::std::mem::align_of::<_GValue>(),
25871        8usize,
25872        concat!("Alignment of ", stringify!(_GValue))
25873    );
25874    assert_eq!(
25875        unsafe { ::std::ptr::addr_of!((*ptr).g_type) as usize - ptr as usize },
25876        0usize,
25877        concat!(
25878            "Offset of field: ",
25879            stringify!(_GValue),
25880            "::",
25881            stringify!(g_type)
25882        )
25883    );
25884    assert_eq!(
25885        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
25886        8usize,
25887        concat!(
25888            "Offset of field: ",
25889            stringify!(_GValue),
25890            "::",
25891            stringify!(data)
25892        )
25893    );
25894}
25895impl ::std::fmt::Debug for _GValue {
25896    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
25897        write!(
25898            f,
25899            "_GValue {{ g_type: {:?}, data: {:?} }}",
25900            self.g_type, self.data
25901        )
25902    }
25903}
25904extern "C" {
25905    pub fn g_value_init(value: *mut GValue, g_type: GType) -> *mut GValue;
25906}
25907extern "C" {
25908    pub fn g_value_copy(src_value: *const GValue, dest_value: *mut GValue);
25909}
25910extern "C" {
25911    pub fn g_value_reset(value: *mut GValue) -> *mut GValue;
25912}
25913extern "C" {
25914    pub fn g_value_unset(value: *mut GValue);
25915}
25916extern "C" {
25917    pub fn g_value_set_instance(value: *mut GValue, instance: gpointer);
25918}
25919extern "C" {
25920    pub fn g_value_init_from_instance(value: *mut GValue, instance: gpointer);
25921}
25922extern "C" {
25923    pub fn g_value_fits_pointer(value: *const GValue) -> gboolean;
25924}
25925extern "C" {
25926    pub fn g_value_peek_pointer(value: *const GValue) -> gpointer;
25927}
25928extern "C" {
25929    pub fn g_value_type_compatible(src_type: GType, dest_type: GType) -> gboolean;
25930}
25931extern "C" {
25932    pub fn g_value_type_transformable(src_type: GType, dest_type: GType) -> gboolean;
25933}
25934extern "C" {
25935    pub fn g_value_transform(src_value: *const GValue, dest_value: *mut GValue) -> gboolean;
25936}
25937extern "C" {
25938    pub fn g_value_register_transform_func(
25939        src_type: GType,
25940        dest_type: GType,
25941        transform_func: GValueTransform,
25942    );
25943}
25944pub const GParamFlags_G_PARAM_READABLE: GParamFlags = 1;
25945pub const GParamFlags_G_PARAM_WRITABLE: GParamFlags = 2;
25946pub const GParamFlags_G_PARAM_READWRITE: GParamFlags = 3;
25947pub const GParamFlags_G_PARAM_CONSTRUCT: GParamFlags = 4;
25948pub const GParamFlags_G_PARAM_CONSTRUCT_ONLY: GParamFlags = 8;
25949pub const GParamFlags_G_PARAM_LAX_VALIDATION: GParamFlags = 16;
25950pub const GParamFlags_G_PARAM_STATIC_NAME: GParamFlags = 32;
25951pub const GParamFlags_G_PARAM_PRIVATE: GParamFlags = 32;
25952pub const GParamFlags_G_PARAM_STATIC_NICK: GParamFlags = 64;
25953pub const GParamFlags_G_PARAM_STATIC_BLURB: GParamFlags = 128;
25954pub const GParamFlags_G_PARAM_EXPLICIT_NOTIFY: GParamFlags = 1073741824;
25955pub const GParamFlags_G_PARAM_DEPRECATED: GParamFlags = -2147483648;
25956#[doc = " GParamFlags:\n @G_PARAM_READABLE: the parameter is readable\n @G_PARAM_WRITABLE: the parameter is writable\n @G_PARAM_READWRITE: alias for %G_PARAM_READABLE | %G_PARAM_WRITABLE\n @G_PARAM_CONSTRUCT: the parameter will be set upon object construction\n @G_PARAM_CONSTRUCT_ONLY: the parameter can only be set upon object construction\n @G_PARAM_LAX_VALIDATION: upon parameter conversion (see g_param_value_convert())\n  strict validation is not required\n @G_PARAM_STATIC_NAME: the string used as name when constructing the\n  parameter is guaranteed to remain valid and\n  unmodified for the lifetime of the parameter.\n  Since 2.8\n @G_PARAM_STATIC_NICK: the string used as nick when constructing the\n  parameter is guaranteed to remain valid and\n  unmmodified for the lifetime of the parameter.\n  Since 2.8\n @G_PARAM_STATIC_BLURB: the string used as blurb when constructing the\n  parameter is guaranteed to remain valid and\n  unmodified for the lifetime of the parameter.\n  Since 2.8\n @G_PARAM_EXPLICIT_NOTIFY: calls to g_object_set_property() for this\n   property will not automatically result in a \"notify\" signal being\n   emitted: the implementation must call g_object_notify() themselves\n   in case the property actually changes.  Since: 2.42.\n @G_PARAM_PRIVATE: internal\n @G_PARAM_DEPRECATED: the parameter is deprecated and will be removed\n  in a future version. A warning will be generated if it is used\n  while running with G_ENABLE_DIAGNOSTIC=1.\n  Since 2.26\n\n Through the #GParamFlags flag values, certain aspects of parameters\n can be configured.\n\n See also: %G_PARAM_STATIC_STRINGS"]
25957pub type GParamFlags = ::std::os::raw::c_int;
25958#[doc = " GParamSpec: (ref-func g_param_spec_ref_sink) (unref-func g_param_spec_unref) (set-value-func g_value_set_param) (get-value-func g_value_get_param)\n @g_type_instance: private #GTypeInstance portion\n @name: name of this parameter: always an interned string\n @flags: #GParamFlags flags for this parameter\n @value_type: the #GValue type for this parameter\n @owner_type: #GType type that uses (introduces) this parameter\n\n All other fields of the GParamSpec struct are private and\n should not be used directly."]
25959pub type GParamSpec = _GParamSpec;
25960#[doc = " GParamSpecClass:\n @g_type_class: the parent class\n @value_type: the #GValue type for this parameter\n @finalize: The instance finalization function (optional), should chain\n  up to the finalize method of the parent class.\n @value_set_default: Resets a @value to the default value for this type\n  (recommended, the default is g_value_reset()), see\n  g_param_value_set_default().\n @value_validate: Ensures that the contents of @value comply with the\n  specifications set out by this type (optional), see\n  g_param_value_validate().\n @values_cmp: Compares @value1 with @value2 according to this type\n  (recommended, the default is memcmp()), see g_param_values_cmp().\n @value_is_valid: Checks if contents of @value comply with the specifications\n   set out by this type, without modifying the value. This vfunc is optional.\n   If it isn't set, GObject will use @value_validate. Since 2.74\n\n The class structure for the GParamSpec type.\n Normally, GParamSpec classes are filled by\n g_param_type_register_static()."]
25961pub type GParamSpecClass = _GParamSpecClass;
25962#[doc = " GParameter:\n @name: the parameter name\n @value: the parameter value\n\n The GParameter struct is an auxiliary structure used\n to hand parameter name/value pairs to g_object_newv().\n\n Deprecated: 2.54: This type is not introspectable."]
25963pub type GParameter = _GParameter;
25964#[repr(C)]
25965#[derive(Debug, Copy, Clone)]
25966pub struct _GParamSpecPool {
25967    _unused: [u8; 0],
25968}
25969pub type GParamSpecPool = _GParamSpecPool;
25970#[doc = " GParamSpec: (ref-func g_param_spec_ref_sink) (unref-func g_param_spec_unref) (set-value-func g_value_set_param) (get-value-func g_value_get_param)\n @g_type_instance: private #GTypeInstance portion\n @name: name of this parameter: always an interned string\n @flags: #GParamFlags flags for this parameter\n @value_type: the #GValue type for this parameter\n @owner_type: #GType type that uses (introduces) this parameter\n\n All other fields of the GParamSpec struct are private and\n should not be used directly."]
25971#[repr(C)]
25972#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25973pub struct _GParamSpec {
25974    pub g_type_instance: GTypeInstance,
25975    pub name: *const gchar,
25976    pub flags: GParamFlags,
25977    pub value_type: GType,
25978    pub owner_type: GType,
25979    pub _nick: *mut gchar,
25980    pub _blurb: *mut gchar,
25981    pub qdata: *mut GData,
25982    pub ref_count: guint,
25983    pub param_id: guint,
25984}
25985#[test]
25986fn bindgen_test_layout__GParamSpec() {
25987    const UNINIT: ::std::mem::MaybeUninit<_GParamSpec> = ::std::mem::MaybeUninit::uninit();
25988    let ptr = UNINIT.as_ptr();
25989    assert_eq!(
25990        ::std::mem::size_of::<_GParamSpec>(),
25991        72usize,
25992        concat!("Size of: ", stringify!(_GParamSpec))
25993    );
25994    assert_eq!(
25995        ::std::mem::align_of::<_GParamSpec>(),
25996        8usize,
25997        concat!("Alignment of ", stringify!(_GParamSpec))
25998    );
25999    assert_eq!(
26000        unsafe { ::std::ptr::addr_of!((*ptr).g_type_instance) as usize - ptr as usize },
26001        0usize,
26002        concat!(
26003            "Offset of field: ",
26004            stringify!(_GParamSpec),
26005            "::",
26006            stringify!(g_type_instance)
26007        )
26008    );
26009    assert_eq!(
26010        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
26011        8usize,
26012        concat!(
26013            "Offset of field: ",
26014            stringify!(_GParamSpec),
26015            "::",
26016            stringify!(name)
26017        )
26018    );
26019    assert_eq!(
26020        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
26021        16usize,
26022        concat!(
26023            "Offset of field: ",
26024            stringify!(_GParamSpec),
26025            "::",
26026            stringify!(flags)
26027        )
26028    );
26029    assert_eq!(
26030        unsafe { ::std::ptr::addr_of!((*ptr).value_type) as usize - ptr as usize },
26031        24usize,
26032        concat!(
26033            "Offset of field: ",
26034            stringify!(_GParamSpec),
26035            "::",
26036            stringify!(value_type)
26037        )
26038    );
26039    assert_eq!(
26040        unsafe { ::std::ptr::addr_of!((*ptr).owner_type) as usize - ptr as usize },
26041        32usize,
26042        concat!(
26043            "Offset of field: ",
26044            stringify!(_GParamSpec),
26045            "::",
26046            stringify!(owner_type)
26047        )
26048    );
26049    assert_eq!(
26050        unsafe { ::std::ptr::addr_of!((*ptr)._nick) as usize - ptr as usize },
26051        40usize,
26052        concat!(
26053            "Offset of field: ",
26054            stringify!(_GParamSpec),
26055            "::",
26056            stringify!(_nick)
26057        )
26058    );
26059    assert_eq!(
26060        unsafe { ::std::ptr::addr_of!((*ptr)._blurb) as usize - ptr as usize },
26061        48usize,
26062        concat!(
26063            "Offset of field: ",
26064            stringify!(_GParamSpec),
26065            "::",
26066            stringify!(_blurb)
26067        )
26068    );
26069    assert_eq!(
26070        unsafe { ::std::ptr::addr_of!((*ptr).qdata) as usize - ptr as usize },
26071        56usize,
26072        concat!(
26073            "Offset of field: ",
26074            stringify!(_GParamSpec),
26075            "::",
26076            stringify!(qdata)
26077        )
26078    );
26079    assert_eq!(
26080        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
26081        64usize,
26082        concat!(
26083            "Offset of field: ",
26084            stringify!(_GParamSpec),
26085            "::",
26086            stringify!(ref_count)
26087        )
26088    );
26089    assert_eq!(
26090        unsafe { ::std::ptr::addr_of!((*ptr).param_id) as usize - ptr as usize },
26091        68usize,
26092        concat!(
26093            "Offset of field: ",
26094            stringify!(_GParamSpec),
26095            "::",
26096            stringify!(param_id)
26097        )
26098    );
26099}
26100#[doc = " GParamSpecClass:\n @g_type_class: the parent class\n @value_type: the #GValue type for this parameter\n @finalize: The instance finalization function (optional), should chain\n  up to the finalize method of the parent class.\n @value_set_default: Resets a @value to the default value for this type\n  (recommended, the default is g_value_reset()), see\n  g_param_value_set_default().\n @value_validate: Ensures that the contents of @value comply with the\n  specifications set out by this type (optional), see\n  g_param_value_validate().\n @values_cmp: Compares @value1 with @value2 according to this type\n  (recommended, the default is memcmp()), see g_param_values_cmp().\n @value_is_valid: Checks if contents of @value comply with the specifications\n   set out by this type, without modifying the value. This vfunc is optional.\n   If it isn't set, GObject will use @value_validate. Since 2.74\n\n The class structure for the GParamSpec type.\n Normally, GParamSpec classes are filled by\n g_param_type_register_static()."]
26101#[repr(C)]
26102#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26103pub struct _GParamSpecClass {
26104    pub g_type_class: GTypeClass,
26105    pub value_type: GType,
26106    pub finalize: ::std::option::Option<unsafe extern "C" fn(pspec: *mut GParamSpec)>,
26107    pub value_set_default:
26108        ::std::option::Option<unsafe extern "C" fn(pspec: *mut GParamSpec, value: *mut GValue)>,
26109    pub value_validate: ::std::option::Option<
26110        unsafe extern "C" fn(pspec: *mut GParamSpec, value: *mut GValue) -> gboolean,
26111    >,
26112    pub values_cmp: ::std::option::Option<
26113        unsafe extern "C" fn(
26114            pspec: *mut GParamSpec,
26115            value1: *const GValue,
26116            value2: *const GValue,
26117        ) -> gint,
26118    >,
26119    pub value_is_valid: ::std::option::Option<
26120        unsafe extern "C" fn(pspec: *mut GParamSpec, value: *const GValue) -> gboolean,
26121    >,
26122    pub dummy: [gpointer; 3usize],
26123}
26124#[test]
26125fn bindgen_test_layout__GParamSpecClass() {
26126    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecClass> = ::std::mem::MaybeUninit::uninit();
26127    let ptr = UNINIT.as_ptr();
26128    assert_eq!(
26129        ::std::mem::size_of::<_GParamSpecClass>(),
26130        80usize,
26131        concat!("Size of: ", stringify!(_GParamSpecClass))
26132    );
26133    assert_eq!(
26134        ::std::mem::align_of::<_GParamSpecClass>(),
26135        8usize,
26136        concat!("Alignment of ", stringify!(_GParamSpecClass))
26137    );
26138    assert_eq!(
26139        unsafe { ::std::ptr::addr_of!((*ptr).g_type_class) as usize - ptr as usize },
26140        0usize,
26141        concat!(
26142            "Offset of field: ",
26143            stringify!(_GParamSpecClass),
26144            "::",
26145            stringify!(g_type_class)
26146        )
26147    );
26148    assert_eq!(
26149        unsafe { ::std::ptr::addr_of!((*ptr).value_type) as usize - ptr as usize },
26150        8usize,
26151        concat!(
26152            "Offset of field: ",
26153            stringify!(_GParamSpecClass),
26154            "::",
26155            stringify!(value_type)
26156        )
26157    );
26158    assert_eq!(
26159        unsafe { ::std::ptr::addr_of!((*ptr).finalize) as usize - ptr as usize },
26160        16usize,
26161        concat!(
26162            "Offset of field: ",
26163            stringify!(_GParamSpecClass),
26164            "::",
26165            stringify!(finalize)
26166        )
26167    );
26168    assert_eq!(
26169        unsafe { ::std::ptr::addr_of!((*ptr).value_set_default) as usize - ptr as usize },
26170        24usize,
26171        concat!(
26172            "Offset of field: ",
26173            stringify!(_GParamSpecClass),
26174            "::",
26175            stringify!(value_set_default)
26176        )
26177    );
26178    assert_eq!(
26179        unsafe { ::std::ptr::addr_of!((*ptr).value_validate) as usize - ptr as usize },
26180        32usize,
26181        concat!(
26182            "Offset of field: ",
26183            stringify!(_GParamSpecClass),
26184            "::",
26185            stringify!(value_validate)
26186        )
26187    );
26188    assert_eq!(
26189        unsafe { ::std::ptr::addr_of!((*ptr).values_cmp) as usize - ptr as usize },
26190        40usize,
26191        concat!(
26192            "Offset of field: ",
26193            stringify!(_GParamSpecClass),
26194            "::",
26195            stringify!(values_cmp)
26196        )
26197    );
26198    assert_eq!(
26199        unsafe { ::std::ptr::addr_of!((*ptr).value_is_valid) as usize - ptr as usize },
26200        48usize,
26201        concat!(
26202            "Offset of field: ",
26203            stringify!(_GParamSpecClass),
26204            "::",
26205            stringify!(value_is_valid)
26206        )
26207    );
26208    assert_eq!(
26209        unsafe { ::std::ptr::addr_of!((*ptr).dummy) as usize - ptr as usize },
26210        56usize,
26211        concat!(
26212            "Offset of field: ",
26213            stringify!(_GParamSpecClass),
26214            "::",
26215            stringify!(dummy)
26216        )
26217    );
26218}
26219#[doc = " GParameter:\n @name: the parameter name\n @value: the parameter value\n\n The GParameter struct is an auxiliary structure used\n to hand parameter name/value pairs to g_object_newv().\n\n Deprecated: 2.54: This type is not introspectable."]
26220#[repr(C)]
26221#[derive(Copy, Clone)]
26222pub struct _GParameter {
26223    pub name: *const gchar,
26224    pub value: GValue,
26225}
26226#[test]
26227fn bindgen_test_layout__GParameter() {
26228    const UNINIT: ::std::mem::MaybeUninit<_GParameter> = ::std::mem::MaybeUninit::uninit();
26229    let ptr = UNINIT.as_ptr();
26230    assert_eq!(
26231        ::std::mem::size_of::<_GParameter>(),
26232        32usize,
26233        concat!("Size of: ", stringify!(_GParameter))
26234    );
26235    assert_eq!(
26236        ::std::mem::align_of::<_GParameter>(),
26237        8usize,
26238        concat!("Alignment of ", stringify!(_GParameter))
26239    );
26240    assert_eq!(
26241        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
26242        0usize,
26243        concat!(
26244            "Offset of field: ",
26245            stringify!(_GParameter),
26246            "::",
26247            stringify!(name)
26248        )
26249    );
26250    assert_eq!(
26251        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
26252        8usize,
26253        concat!(
26254            "Offset of field: ",
26255            stringify!(_GParameter),
26256            "::",
26257            stringify!(value)
26258        )
26259    );
26260}
26261impl ::std::fmt::Debug for _GParameter {
26262    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
26263        write!(
26264            f,
26265            "_GParameter {{ name: {:?}, value: {:?} }}",
26266            self.name, self.value
26267        )
26268    }
26269}
26270extern "C" {
26271    pub fn g_param_spec_ref(pspec: *mut GParamSpec) -> *mut GParamSpec;
26272}
26273extern "C" {
26274    pub fn g_param_spec_unref(pspec: *mut GParamSpec);
26275}
26276extern "C" {
26277    pub fn g_param_spec_sink(pspec: *mut GParamSpec);
26278}
26279extern "C" {
26280    pub fn g_param_spec_ref_sink(pspec: *mut GParamSpec) -> *mut GParamSpec;
26281}
26282extern "C" {
26283    pub fn g_param_spec_get_qdata(pspec: *mut GParamSpec, quark: GQuark) -> gpointer;
26284}
26285extern "C" {
26286    pub fn g_param_spec_set_qdata(pspec: *mut GParamSpec, quark: GQuark, data: gpointer);
26287}
26288extern "C" {
26289    pub fn g_param_spec_set_qdata_full(
26290        pspec: *mut GParamSpec,
26291        quark: GQuark,
26292        data: gpointer,
26293        destroy: GDestroyNotify,
26294    );
26295}
26296extern "C" {
26297    pub fn g_param_spec_steal_qdata(pspec: *mut GParamSpec, quark: GQuark) -> gpointer;
26298}
26299extern "C" {
26300    pub fn g_param_spec_get_redirect_target(pspec: *mut GParamSpec) -> *mut GParamSpec;
26301}
26302extern "C" {
26303    pub fn g_param_value_set_default(pspec: *mut GParamSpec, value: *mut GValue);
26304}
26305extern "C" {
26306    pub fn g_param_value_defaults(pspec: *mut GParamSpec, value: *const GValue) -> gboolean;
26307}
26308extern "C" {
26309    pub fn g_param_value_validate(pspec: *mut GParamSpec, value: *mut GValue) -> gboolean;
26310}
26311extern "C" {
26312    pub fn g_param_value_is_valid(pspec: *mut GParamSpec, value: *const GValue) -> gboolean;
26313}
26314extern "C" {
26315    pub fn g_param_value_convert(
26316        pspec: *mut GParamSpec,
26317        src_value: *const GValue,
26318        dest_value: *mut GValue,
26319        strict_validation: gboolean,
26320    ) -> gboolean;
26321}
26322extern "C" {
26323    pub fn g_param_values_cmp(
26324        pspec: *mut GParamSpec,
26325        value1: *const GValue,
26326        value2: *const GValue,
26327    ) -> gint;
26328}
26329extern "C" {
26330    pub fn g_param_spec_get_name(pspec: *mut GParamSpec) -> *const gchar;
26331}
26332extern "C" {
26333    pub fn g_param_spec_get_nick(pspec: *mut GParamSpec) -> *const gchar;
26334}
26335extern "C" {
26336    pub fn g_param_spec_get_blurb(pspec: *mut GParamSpec) -> *const gchar;
26337}
26338extern "C" {
26339    pub fn g_value_set_param(value: *mut GValue, param: *mut GParamSpec);
26340}
26341extern "C" {
26342    pub fn g_value_get_param(value: *const GValue) -> *mut GParamSpec;
26343}
26344extern "C" {
26345    pub fn g_value_dup_param(value: *const GValue) -> *mut GParamSpec;
26346}
26347extern "C" {
26348    pub fn g_value_take_param(value: *mut GValue, param: *mut GParamSpec);
26349}
26350extern "C" {
26351    pub fn g_value_set_param_take_ownership(value: *mut GValue, param: *mut GParamSpec);
26352}
26353extern "C" {
26354    pub fn g_param_spec_get_default_value(pspec: *mut GParamSpec) -> *const GValue;
26355}
26356extern "C" {
26357    pub fn g_param_spec_get_name_quark(pspec: *mut GParamSpec) -> GQuark;
26358}
26359#[doc = " GParamSpecTypeInfo:\n @instance_size: Size of the instance (object) structure.\n @n_preallocs: Prior to GLib 2.10, it specified the number of pre-allocated (cached) instances to reserve memory for (0 indicates no caching). Since GLib 2.10, it is ignored, since instances are allocated with the [slice allocator][glib-Memory-Slices] now.\n @instance_init: Location of the instance initialization function (optional).\n @value_type: The #GType of values conforming to this #GParamSpec\n @finalize: The instance finalization function (optional).\n @value_set_default: Resets a @value to the default value for @pspec\n  (recommended, the default is g_value_reset()), see\n  g_param_value_set_default().\n @value_validate: Ensures that the contents of @value comply with the\n  specifications set out by @pspec (optional), see\n  g_param_value_validate().\n @values_cmp: Compares @value1 with @value2 according to @pspec\n  (recommended, the default is memcmp()), see g_param_values_cmp().\n\n This structure is used to provide the type system with the information\n required to initialize and destruct (finalize) a parameter's class and\n instances thereof.\n\n The initialized structure is passed to the g_param_type_register_static()\n The type system will perform a deep copy of this structure, so its memory\n does not need to be persistent across invocation of\n g_param_type_register_static()."]
26360pub type GParamSpecTypeInfo = _GParamSpecTypeInfo;
26361#[doc = " GParamSpecTypeInfo:\n @instance_size: Size of the instance (object) structure.\n @n_preallocs: Prior to GLib 2.10, it specified the number of pre-allocated (cached) instances to reserve memory for (0 indicates no caching). Since GLib 2.10, it is ignored, since instances are allocated with the [slice allocator][glib-Memory-Slices] now.\n @instance_init: Location of the instance initialization function (optional).\n @value_type: The #GType of values conforming to this #GParamSpec\n @finalize: The instance finalization function (optional).\n @value_set_default: Resets a @value to the default value for @pspec\n  (recommended, the default is g_value_reset()), see\n  g_param_value_set_default().\n @value_validate: Ensures that the contents of @value comply with the\n  specifications set out by @pspec (optional), see\n  g_param_value_validate().\n @values_cmp: Compares @value1 with @value2 according to @pspec\n  (recommended, the default is memcmp()), see g_param_values_cmp().\n\n This structure is used to provide the type system with the information\n required to initialize and destruct (finalize) a parameter's class and\n instances thereof.\n\n The initialized structure is passed to the g_param_type_register_static()\n The type system will perform a deep copy of this structure, so its memory\n does not need to be persistent across invocation of\n g_param_type_register_static()."]
26362#[repr(C)]
26363#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26364pub struct _GParamSpecTypeInfo {
26365    pub instance_size: guint16,
26366    pub n_preallocs: guint16,
26367    pub instance_init: ::std::option::Option<unsafe extern "C" fn(pspec: *mut GParamSpec)>,
26368    pub value_type: GType,
26369    pub finalize: ::std::option::Option<unsafe extern "C" fn(pspec: *mut GParamSpec)>,
26370    pub value_set_default:
26371        ::std::option::Option<unsafe extern "C" fn(pspec: *mut GParamSpec, value: *mut GValue)>,
26372    pub value_validate: ::std::option::Option<
26373        unsafe extern "C" fn(pspec: *mut GParamSpec, value: *mut GValue) -> gboolean,
26374    >,
26375    pub values_cmp: ::std::option::Option<
26376        unsafe extern "C" fn(
26377            pspec: *mut GParamSpec,
26378            value1: *const GValue,
26379            value2: *const GValue,
26380        ) -> gint,
26381    >,
26382}
26383#[test]
26384fn bindgen_test_layout__GParamSpecTypeInfo() {
26385    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecTypeInfo> = ::std::mem::MaybeUninit::uninit();
26386    let ptr = UNINIT.as_ptr();
26387    assert_eq!(
26388        ::std::mem::size_of::<_GParamSpecTypeInfo>(),
26389        56usize,
26390        concat!("Size of: ", stringify!(_GParamSpecTypeInfo))
26391    );
26392    assert_eq!(
26393        ::std::mem::align_of::<_GParamSpecTypeInfo>(),
26394        8usize,
26395        concat!("Alignment of ", stringify!(_GParamSpecTypeInfo))
26396    );
26397    assert_eq!(
26398        unsafe { ::std::ptr::addr_of!((*ptr).instance_size) as usize - ptr as usize },
26399        0usize,
26400        concat!(
26401            "Offset of field: ",
26402            stringify!(_GParamSpecTypeInfo),
26403            "::",
26404            stringify!(instance_size)
26405        )
26406    );
26407    assert_eq!(
26408        unsafe { ::std::ptr::addr_of!((*ptr).n_preallocs) as usize - ptr as usize },
26409        2usize,
26410        concat!(
26411            "Offset of field: ",
26412            stringify!(_GParamSpecTypeInfo),
26413            "::",
26414            stringify!(n_preallocs)
26415        )
26416    );
26417    assert_eq!(
26418        unsafe { ::std::ptr::addr_of!((*ptr).instance_init) as usize - ptr as usize },
26419        8usize,
26420        concat!(
26421            "Offset of field: ",
26422            stringify!(_GParamSpecTypeInfo),
26423            "::",
26424            stringify!(instance_init)
26425        )
26426    );
26427    assert_eq!(
26428        unsafe { ::std::ptr::addr_of!((*ptr).value_type) as usize - ptr as usize },
26429        16usize,
26430        concat!(
26431            "Offset of field: ",
26432            stringify!(_GParamSpecTypeInfo),
26433            "::",
26434            stringify!(value_type)
26435        )
26436    );
26437    assert_eq!(
26438        unsafe { ::std::ptr::addr_of!((*ptr).finalize) as usize - ptr as usize },
26439        24usize,
26440        concat!(
26441            "Offset of field: ",
26442            stringify!(_GParamSpecTypeInfo),
26443            "::",
26444            stringify!(finalize)
26445        )
26446    );
26447    assert_eq!(
26448        unsafe { ::std::ptr::addr_of!((*ptr).value_set_default) as usize - ptr as usize },
26449        32usize,
26450        concat!(
26451            "Offset of field: ",
26452            stringify!(_GParamSpecTypeInfo),
26453            "::",
26454            stringify!(value_set_default)
26455        )
26456    );
26457    assert_eq!(
26458        unsafe { ::std::ptr::addr_of!((*ptr).value_validate) as usize - ptr as usize },
26459        40usize,
26460        concat!(
26461            "Offset of field: ",
26462            stringify!(_GParamSpecTypeInfo),
26463            "::",
26464            stringify!(value_validate)
26465        )
26466    );
26467    assert_eq!(
26468        unsafe { ::std::ptr::addr_of!((*ptr).values_cmp) as usize - ptr as usize },
26469        48usize,
26470        concat!(
26471            "Offset of field: ",
26472            stringify!(_GParamSpecTypeInfo),
26473            "::",
26474            stringify!(values_cmp)
26475        )
26476    );
26477}
26478extern "C" {
26479    pub fn g_param_type_register_static(
26480        name: *const gchar,
26481        pspec_info: *const GParamSpecTypeInfo,
26482    ) -> GType;
26483}
26484extern "C" {
26485    pub fn g_param_spec_is_valid_name(name: *const gchar) -> gboolean;
26486}
26487extern "C" {
26488    pub fn _g_param_type_register_static_constant(
26489        name: *const gchar,
26490        pspec_info: *const GParamSpecTypeInfo,
26491        opt_type: GType,
26492    ) -> GType;
26493}
26494extern "C" {
26495    pub fn g_param_spec_internal(
26496        param_type: GType,
26497        name: *const gchar,
26498        nick: *const gchar,
26499        blurb: *const gchar,
26500        flags: GParamFlags,
26501    ) -> gpointer;
26502}
26503extern "C" {
26504    pub fn g_param_spec_pool_new(type_prefixing: gboolean) -> *mut GParamSpecPool;
26505}
26506extern "C" {
26507    pub fn g_param_spec_pool_insert(
26508        pool: *mut GParamSpecPool,
26509        pspec: *mut GParamSpec,
26510        owner_type: GType,
26511    );
26512}
26513extern "C" {
26514    pub fn g_param_spec_pool_remove(pool: *mut GParamSpecPool, pspec: *mut GParamSpec);
26515}
26516extern "C" {
26517    pub fn g_param_spec_pool_lookup(
26518        pool: *mut GParamSpecPool,
26519        param_name: *const gchar,
26520        owner_type: GType,
26521        walk_ancestors: gboolean,
26522    ) -> *mut GParamSpec;
26523}
26524extern "C" {
26525    pub fn g_param_spec_pool_list_owned(pool: *mut GParamSpecPool, owner_type: GType)
26526        -> *mut GList;
26527}
26528extern "C" {
26529    pub fn g_param_spec_pool_list(
26530        pool: *mut GParamSpecPool,
26531        owner_type: GType,
26532        n_pspecs_p: *mut guint,
26533    ) -> *mut *mut GParamSpec;
26534}
26535#[doc = " GClosure:\n @in_marshal: Indicates whether the closure is currently being invoked with\n  g_closure_invoke()\n @is_invalid: Indicates whether the closure has been invalidated by\n  g_closure_invalidate()\n\n A #GClosure represents a callback supplied by the programmer."]
26536pub type GClosure = _GClosure;
26537pub type GClosureNotifyData = _GClosureNotifyData;
26538#[doc = " GCallback:\n\n The type used for callback functions in structure definitions and function\n signatures.\n\n This doesn't mean that all callback functions must take no  parameters and\n return void. The required signature of a callback function is determined by\n the context in which is used (e.g. the signal to which it is connected).\n\n Use G_CALLBACK() to cast the callback function to a #GCallback."]
26539pub type GCallback = ::std::option::Option<unsafe extern "C" fn()>;
26540#[doc = " GClosureNotify:\n @data: data specified when registering the notification callback\n @closure: the #GClosure on which the notification is emitted\n\n The type used for the various notification callbacks which can be registered\n on closures."]
26541pub type GClosureNotify =
26542    ::std::option::Option<unsafe extern "C" fn(data: gpointer, closure: *mut GClosure)>;
26543#[doc = " GClosureMarshal:\n @closure: the #GClosure to which the marshaller belongs\n @return_value: (nullable): a #GValue to store the return\n  value. May be %NULL if the callback of @closure doesn't return a\n  value.\n @n_param_values: the length of the @param_values array\n @param_values: (array length=n_param_values): an array of\n  #GValues holding the arguments on which to invoke the\n  callback of @closure\n @invocation_hint: (nullable): the invocation hint given as the\n  last argument to g_closure_invoke()\n @marshal_data: (nullable): additional data specified when\n  registering the marshaller, see g_closure_set_marshal() and\n  g_closure_set_meta_marshal()\n\n The type used for marshaller functions."]
26544pub type GClosureMarshal = ::std::option::Option<
26545    unsafe extern "C" fn(
26546        closure: *mut GClosure,
26547        return_value: *mut GValue,
26548        n_param_values: guint,
26549        param_values: *const GValue,
26550        invocation_hint: gpointer,
26551        marshal_data: gpointer,
26552    ),
26553>;
26554#[doc = " GVaClosureMarshal:\n @closure: the #GClosure to which the marshaller belongs\n @return_value: (nullable): a #GValue to store the return\n  value. May be %NULL if the callback of @closure doesn't return a\n  value.\n @instance: (type GObject.TypeInstance): the instance on which the closure is\n  invoked.\n @args: va_list of arguments to be passed to the closure.\n @marshal_data: (nullable): additional data specified when\n  registering the marshaller, see g_closure_set_marshal() and\n  g_closure_set_meta_marshal()\n @n_params: the length of the @param_types array\n @param_types: (array length=n_params): the #GType of each argument from\n  @args.\n\n This is the signature of va_list marshaller functions, an optional\n marshaller that can be used in some situations to avoid\n marshalling the signal argument into GValues."]
26555pub type GVaClosureMarshal = ::std::option::Option<
26556    unsafe extern "C" fn(
26557        closure: *mut GClosure,
26558        return_value: *mut GValue,
26559        instance: gpointer,
26560        args: va_list,
26561        marshal_data: gpointer,
26562        n_params: ::std::os::raw::c_int,
26563        param_types: *mut GType,
26564    ),
26565>;
26566#[doc = " GCClosure:\n @closure: the #GClosure\n @callback: the callback function\n\n A #GCClosure is a specialization of #GClosure for C function callbacks."]
26567pub type GCClosure = _GCClosure;
26568#[repr(C)]
26569#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26570pub struct _GClosureNotifyData {
26571    pub data: gpointer,
26572    pub notify: GClosureNotify,
26573}
26574#[test]
26575fn bindgen_test_layout__GClosureNotifyData() {
26576    const UNINIT: ::std::mem::MaybeUninit<_GClosureNotifyData> = ::std::mem::MaybeUninit::uninit();
26577    let ptr = UNINIT.as_ptr();
26578    assert_eq!(
26579        ::std::mem::size_of::<_GClosureNotifyData>(),
26580        16usize,
26581        concat!("Size of: ", stringify!(_GClosureNotifyData))
26582    );
26583    assert_eq!(
26584        ::std::mem::align_of::<_GClosureNotifyData>(),
26585        8usize,
26586        concat!("Alignment of ", stringify!(_GClosureNotifyData))
26587    );
26588    assert_eq!(
26589        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
26590        0usize,
26591        concat!(
26592            "Offset of field: ",
26593            stringify!(_GClosureNotifyData),
26594            "::",
26595            stringify!(data)
26596        )
26597    );
26598    assert_eq!(
26599        unsafe { ::std::ptr::addr_of!((*ptr).notify) as usize - ptr as usize },
26600        8usize,
26601        concat!(
26602            "Offset of field: ",
26603            stringify!(_GClosureNotifyData),
26604            "::",
26605            stringify!(notify)
26606        )
26607    );
26608}
26609#[doc = " GClosure:\n @in_marshal: Indicates whether the closure is currently being invoked with\n  g_closure_invoke()\n @is_invalid: Indicates whether the closure has been invalidated by\n  g_closure_invalidate()\n\n A #GClosure represents a callback supplied by the programmer."]
26610#[repr(C)]
26611#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26612pub struct _GClosure {
26613    pub _bitfield_align_1: [u16; 0],
26614    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
26615    pub marshal: ::std::option::Option<
26616        unsafe extern "C" fn(
26617            closure: *mut GClosure,
26618            return_value: *mut GValue,
26619            n_param_values: guint,
26620            param_values: *const GValue,
26621            invocation_hint: gpointer,
26622            marshal_data: gpointer,
26623        ),
26624    >,
26625    pub data: gpointer,
26626    pub notifiers: *mut GClosureNotifyData,
26627}
26628#[test]
26629fn bindgen_test_layout__GClosure() {
26630    const UNINIT: ::std::mem::MaybeUninit<_GClosure> = ::std::mem::MaybeUninit::uninit();
26631    let ptr = UNINIT.as_ptr();
26632    assert_eq!(
26633        ::std::mem::size_of::<_GClosure>(),
26634        32usize,
26635        concat!("Size of: ", stringify!(_GClosure))
26636    );
26637    assert_eq!(
26638        ::std::mem::align_of::<_GClosure>(),
26639        8usize,
26640        concat!("Alignment of ", stringify!(_GClosure))
26641    );
26642    assert_eq!(
26643        unsafe { ::std::ptr::addr_of!((*ptr).marshal) as usize - ptr as usize },
26644        8usize,
26645        concat!(
26646            "Offset of field: ",
26647            stringify!(_GClosure),
26648            "::",
26649            stringify!(marshal)
26650        )
26651    );
26652    assert_eq!(
26653        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
26654        16usize,
26655        concat!(
26656            "Offset of field: ",
26657            stringify!(_GClosure),
26658            "::",
26659            stringify!(data)
26660        )
26661    );
26662    assert_eq!(
26663        unsafe { ::std::ptr::addr_of!((*ptr).notifiers) as usize - ptr as usize },
26664        24usize,
26665        concat!(
26666            "Offset of field: ",
26667            stringify!(_GClosure),
26668            "::",
26669            stringify!(notifiers)
26670        )
26671    );
26672}
26673impl _GClosure {
26674    #[inline]
26675    pub fn ref_count(&self) -> guint {
26676        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 15u8) as u32) }
26677    }
26678    #[inline]
26679    pub fn set_ref_count(&mut self, val: guint) {
26680        unsafe {
26681            let val: u32 = ::std::mem::transmute(val);
26682            self._bitfield_1.set(0usize, 15u8, val as u64)
26683        }
26684    }
26685    #[inline]
26686    pub fn meta_marshal_nouse(&self) -> guint {
26687        unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
26688    }
26689    #[inline]
26690    pub fn set_meta_marshal_nouse(&mut self, val: guint) {
26691        unsafe {
26692            let val: u32 = ::std::mem::transmute(val);
26693            self._bitfield_1.set(15usize, 1u8, val as u64)
26694        }
26695    }
26696    #[inline]
26697    pub fn n_guards(&self) -> guint {
26698        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
26699    }
26700    #[inline]
26701    pub fn set_n_guards(&mut self, val: guint) {
26702        unsafe {
26703            let val: u32 = ::std::mem::transmute(val);
26704            self._bitfield_1.set(16usize, 1u8, val as u64)
26705        }
26706    }
26707    #[inline]
26708    pub fn n_fnotifiers(&self) -> guint {
26709        unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 2u8) as u32) }
26710    }
26711    #[inline]
26712    pub fn set_n_fnotifiers(&mut self, val: guint) {
26713        unsafe {
26714            let val: u32 = ::std::mem::transmute(val);
26715            self._bitfield_1.set(17usize, 2u8, val as u64)
26716        }
26717    }
26718    #[inline]
26719    pub fn n_inotifiers(&self) -> guint {
26720        unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 8u8) as u32) }
26721    }
26722    #[inline]
26723    pub fn set_n_inotifiers(&mut self, val: guint) {
26724        unsafe {
26725            let val: u32 = ::std::mem::transmute(val);
26726            self._bitfield_1.set(19usize, 8u8, val as u64)
26727        }
26728    }
26729    #[inline]
26730    pub fn in_inotify(&self) -> guint {
26731        unsafe { ::std::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u32) }
26732    }
26733    #[inline]
26734    pub fn set_in_inotify(&mut self, val: guint) {
26735        unsafe {
26736            let val: u32 = ::std::mem::transmute(val);
26737            self._bitfield_1.set(27usize, 1u8, val as u64)
26738        }
26739    }
26740    #[inline]
26741    pub fn floating(&self) -> guint {
26742        unsafe { ::std::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u32) }
26743    }
26744    #[inline]
26745    pub fn set_floating(&mut self, val: guint) {
26746        unsafe {
26747            let val: u32 = ::std::mem::transmute(val);
26748            self._bitfield_1.set(28usize, 1u8, val as u64)
26749        }
26750    }
26751    #[inline]
26752    pub fn derivative_flag(&self) -> guint {
26753        unsafe { ::std::mem::transmute(self._bitfield_1.get(29usize, 1u8) as u32) }
26754    }
26755    #[inline]
26756    pub fn set_derivative_flag(&mut self, val: guint) {
26757        unsafe {
26758            let val: u32 = ::std::mem::transmute(val);
26759            self._bitfield_1.set(29usize, 1u8, val as u64)
26760        }
26761    }
26762    #[inline]
26763    pub fn in_marshal(&self) -> guint {
26764        unsafe { ::std::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u32) }
26765    }
26766    #[inline]
26767    pub fn set_in_marshal(&mut self, val: guint) {
26768        unsafe {
26769            let val: u32 = ::std::mem::transmute(val);
26770            self._bitfield_1.set(30usize, 1u8, val as u64)
26771        }
26772    }
26773    #[inline]
26774    pub fn is_invalid(&self) -> guint {
26775        unsafe { ::std::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) }
26776    }
26777    #[inline]
26778    pub fn set_is_invalid(&mut self, val: guint) {
26779        unsafe {
26780            let val: u32 = ::std::mem::transmute(val);
26781            self._bitfield_1.set(31usize, 1u8, val as u64)
26782        }
26783    }
26784    #[inline]
26785    pub fn new_bitfield_1(
26786        ref_count: guint,
26787        meta_marshal_nouse: guint,
26788        n_guards: guint,
26789        n_fnotifiers: guint,
26790        n_inotifiers: guint,
26791        in_inotify: guint,
26792        floating: guint,
26793        derivative_flag: guint,
26794        in_marshal: guint,
26795        is_invalid: guint,
26796    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
26797        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
26798        __bindgen_bitfield_unit.set(0usize, 15u8, {
26799            let ref_count: u32 = unsafe { ::std::mem::transmute(ref_count) };
26800            ref_count as u64
26801        });
26802        __bindgen_bitfield_unit.set(15usize, 1u8, {
26803            let meta_marshal_nouse: u32 = unsafe { ::std::mem::transmute(meta_marshal_nouse) };
26804            meta_marshal_nouse as u64
26805        });
26806        __bindgen_bitfield_unit.set(16usize, 1u8, {
26807            let n_guards: u32 = unsafe { ::std::mem::transmute(n_guards) };
26808            n_guards as u64
26809        });
26810        __bindgen_bitfield_unit.set(17usize, 2u8, {
26811            let n_fnotifiers: u32 = unsafe { ::std::mem::transmute(n_fnotifiers) };
26812            n_fnotifiers as u64
26813        });
26814        __bindgen_bitfield_unit.set(19usize, 8u8, {
26815            let n_inotifiers: u32 = unsafe { ::std::mem::transmute(n_inotifiers) };
26816            n_inotifiers as u64
26817        });
26818        __bindgen_bitfield_unit.set(27usize, 1u8, {
26819            let in_inotify: u32 = unsafe { ::std::mem::transmute(in_inotify) };
26820            in_inotify as u64
26821        });
26822        __bindgen_bitfield_unit.set(28usize, 1u8, {
26823            let floating: u32 = unsafe { ::std::mem::transmute(floating) };
26824            floating as u64
26825        });
26826        __bindgen_bitfield_unit.set(29usize, 1u8, {
26827            let derivative_flag: u32 = unsafe { ::std::mem::transmute(derivative_flag) };
26828            derivative_flag as u64
26829        });
26830        __bindgen_bitfield_unit.set(30usize, 1u8, {
26831            let in_marshal: u32 = unsafe { ::std::mem::transmute(in_marshal) };
26832            in_marshal as u64
26833        });
26834        __bindgen_bitfield_unit.set(31usize, 1u8, {
26835            let is_invalid: u32 = unsafe { ::std::mem::transmute(is_invalid) };
26836            is_invalid as u64
26837        });
26838        __bindgen_bitfield_unit
26839    }
26840}
26841#[repr(C)]
26842#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26843pub struct _GCClosure {
26844    pub closure: GClosure,
26845    pub callback: gpointer,
26846}
26847#[test]
26848fn bindgen_test_layout__GCClosure() {
26849    const UNINIT: ::std::mem::MaybeUninit<_GCClosure> = ::std::mem::MaybeUninit::uninit();
26850    let ptr = UNINIT.as_ptr();
26851    assert_eq!(
26852        ::std::mem::size_of::<_GCClosure>(),
26853        40usize,
26854        concat!("Size of: ", stringify!(_GCClosure))
26855    );
26856    assert_eq!(
26857        ::std::mem::align_of::<_GCClosure>(),
26858        8usize,
26859        concat!("Alignment of ", stringify!(_GCClosure))
26860    );
26861    assert_eq!(
26862        unsafe { ::std::ptr::addr_of!((*ptr).closure) as usize - ptr as usize },
26863        0usize,
26864        concat!(
26865            "Offset of field: ",
26866            stringify!(_GCClosure),
26867            "::",
26868            stringify!(closure)
26869        )
26870    );
26871    assert_eq!(
26872        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
26873        32usize,
26874        concat!(
26875            "Offset of field: ",
26876            stringify!(_GCClosure),
26877            "::",
26878            stringify!(callback)
26879        )
26880    );
26881}
26882extern "C" {
26883    pub fn g_cclosure_new(
26884        callback_func: GCallback,
26885        user_data: gpointer,
26886        destroy_data: GClosureNotify,
26887    ) -> *mut GClosure;
26888}
26889extern "C" {
26890    pub fn g_cclosure_new_swap(
26891        callback_func: GCallback,
26892        user_data: gpointer,
26893        destroy_data: GClosureNotify,
26894    ) -> *mut GClosure;
26895}
26896extern "C" {
26897    pub fn g_signal_type_cclosure_new(itype: GType, struct_offset: guint) -> *mut GClosure;
26898}
26899extern "C" {
26900    pub fn g_closure_ref(closure: *mut GClosure) -> *mut GClosure;
26901}
26902extern "C" {
26903    pub fn g_closure_sink(closure: *mut GClosure);
26904}
26905extern "C" {
26906    pub fn g_closure_unref(closure: *mut GClosure);
26907}
26908extern "C" {
26909    pub fn g_closure_new_simple(sizeof_closure: guint, data: gpointer) -> *mut GClosure;
26910}
26911extern "C" {
26912    pub fn g_closure_add_finalize_notifier(
26913        closure: *mut GClosure,
26914        notify_data: gpointer,
26915        notify_func: GClosureNotify,
26916    );
26917}
26918extern "C" {
26919    pub fn g_closure_remove_finalize_notifier(
26920        closure: *mut GClosure,
26921        notify_data: gpointer,
26922        notify_func: GClosureNotify,
26923    );
26924}
26925extern "C" {
26926    pub fn g_closure_add_invalidate_notifier(
26927        closure: *mut GClosure,
26928        notify_data: gpointer,
26929        notify_func: GClosureNotify,
26930    );
26931}
26932extern "C" {
26933    pub fn g_closure_remove_invalidate_notifier(
26934        closure: *mut GClosure,
26935        notify_data: gpointer,
26936        notify_func: GClosureNotify,
26937    );
26938}
26939extern "C" {
26940    pub fn g_closure_add_marshal_guards(
26941        closure: *mut GClosure,
26942        pre_marshal_data: gpointer,
26943        pre_marshal_notify: GClosureNotify,
26944        post_marshal_data: gpointer,
26945        post_marshal_notify: GClosureNotify,
26946    );
26947}
26948extern "C" {
26949    pub fn g_closure_set_marshal(closure: *mut GClosure, marshal: GClosureMarshal);
26950}
26951extern "C" {
26952    pub fn g_closure_set_meta_marshal(
26953        closure: *mut GClosure,
26954        marshal_data: gpointer,
26955        meta_marshal: GClosureMarshal,
26956    );
26957}
26958extern "C" {
26959    pub fn g_closure_invalidate(closure: *mut GClosure);
26960}
26961extern "C" {
26962    pub fn g_closure_invoke(
26963        closure: *mut GClosure,
26964        return_value: *mut GValue,
26965        n_param_values: guint,
26966        param_values: *const GValue,
26967        invocation_hint: gpointer,
26968    );
26969}
26970extern "C" {
26971    pub fn g_cclosure_marshal_generic(
26972        closure: *mut GClosure,
26973        return_gvalue: *mut GValue,
26974        n_param_values: guint,
26975        param_values: *const GValue,
26976        invocation_hint: gpointer,
26977        marshal_data: gpointer,
26978    );
26979}
26980extern "C" {
26981    pub fn g_cclosure_marshal_generic_va(
26982        closure: *mut GClosure,
26983        return_value: *mut GValue,
26984        instance: gpointer,
26985        args_list: va_list,
26986        marshal_data: gpointer,
26987        n_params: ::std::os::raw::c_int,
26988        param_types: *mut GType,
26989    );
26990}
26991extern "C" {
26992    pub fn g_cclosure_marshal_VOID__VOID(
26993        closure: *mut GClosure,
26994        return_value: *mut GValue,
26995        n_param_values: guint,
26996        param_values: *const GValue,
26997        invocation_hint: gpointer,
26998        marshal_data: gpointer,
26999    );
27000}
27001extern "C" {
27002    pub fn g_cclosure_marshal_VOID__VOIDv(
27003        closure: *mut GClosure,
27004        return_value: *mut GValue,
27005        instance: gpointer,
27006        args: va_list,
27007        marshal_data: gpointer,
27008        n_params: ::std::os::raw::c_int,
27009        param_types: *mut GType,
27010    );
27011}
27012extern "C" {
27013    pub fn g_cclosure_marshal_VOID__BOOLEAN(
27014        closure: *mut GClosure,
27015        return_value: *mut GValue,
27016        n_param_values: guint,
27017        param_values: *const GValue,
27018        invocation_hint: gpointer,
27019        marshal_data: gpointer,
27020    );
27021}
27022extern "C" {
27023    pub fn g_cclosure_marshal_VOID__BOOLEANv(
27024        closure: *mut GClosure,
27025        return_value: *mut GValue,
27026        instance: gpointer,
27027        args: va_list,
27028        marshal_data: gpointer,
27029        n_params: ::std::os::raw::c_int,
27030        param_types: *mut GType,
27031    );
27032}
27033extern "C" {
27034    pub fn g_cclosure_marshal_VOID__CHAR(
27035        closure: *mut GClosure,
27036        return_value: *mut GValue,
27037        n_param_values: guint,
27038        param_values: *const GValue,
27039        invocation_hint: gpointer,
27040        marshal_data: gpointer,
27041    );
27042}
27043extern "C" {
27044    pub fn g_cclosure_marshal_VOID__CHARv(
27045        closure: *mut GClosure,
27046        return_value: *mut GValue,
27047        instance: gpointer,
27048        args: va_list,
27049        marshal_data: gpointer,
27050        n_params: ::std::os::raw::c_int,
27051        param_types: *mut GType,
27052    );
27053}
27054extern "C" {
27055    pub fn g_cclosure_marshal_VOID__UCHAR(
27056        closure: *mut GClosure,
27057        return_value: *mut GValue,
27058        n_param_values: guint,
27059        param_values: *const GValue,
27060        invocation_hint: gpointer,
27061        marshal_data: gpointer,
27062    );
27063}
27064extern "C" {
27065    pub fn g_cclosure_marshal_VOID__UCHARv(
27066        closure: *mut GClosure,
27067        return_value: *mut GValue,
27068        instance: gpointer,
27069        args: va_list,
27070        marshal_data: gpointer,
27071        n_params: ::std::os::raw::c_int,
27072        param_types: *mut GType,
27073    );
27074}
27075extern "C" {
27076    pub fn g_cclosure_marshal_VOID__INT(
27077        closure: *mut GClosure,
27078        return_value: *mut GValue,
27079        n_param_values: guint,
27080        param_values: *const GValue,
27081        invocation_hint: gpointer,
27082        marshal_data: gpointer,
27083    );
27084}
27085extern "C" {
27086    pub fn g_cclosure_marshal_VOID__INTv(
27087        closure: *mut GClosure,
27088        return_value: *mut GValue,
27089        instance: gpointer,
27090        args: va_list,
27091        marshal_data: gpointer,
27092        n_params: ::std::os::raw::c_int,
27093        param_types: *mut GType,
27094    );
27095}
27096extern "C" {
27097    pub fn g_cclosure_marshal_VOID__UINT(
27098        closure: *mut GClosure,
27099        return_value: *mut GValue,
27100        n_param_values: guint,
27101        param_values: *const GValue,
27102        invocation_hint: gpointer,
27103        marshal_data: gpointer,
27104    );
27105}
27106extern "C" {
27107    pub fn g_cclosure_marshal_VOID__UINTv(
27108        closure: *mut GClosure,
27109        return_value: *mut GValue,
27110        instance: gpointer,
27111        args: va_list,
27112        marshal_data: gpointer,
27113        n_params: ::std::os::raw::c_int,
27114        param_types: *mut GType,
27115    );
27116}
27117extern "C" {
27118    pub fn g_cclosure_marshal_VOID__LONG(
27119        closure: *mut GClosure,
27120        return_value: *mut GValue,
27121        n_param_values: guint,
27122        param_values: *const GValue,
27123        invocation_hint: gpointer,
27124        marshal_data: gpointer,
27125    );
27126}
27127extern "C" {
27128    pub fn g_cclosure_marshal_VOID__LONGv(
27129        closure: *mut GClosure,
27130        return_value: *mut GValue,
27131        instance: gpointer,
27132        args: va_list,
27133        marshal_data: gpointer,
27134        n_params: ::std::os::raw::c_int,
27135        param_types: *mut GType,
27136    );
27137}
27138extern "C" {
27139    pub fn g_cclosure_marshal_VOID__ULONG(
27140        closure: *mut GClosure,
27141        return_value: *mut GValue,
27142        n_param_values: guint,
27143        param_values: *const GValue,
27144        invocation_hint: gpointer,
27145        marshal_data: gpointer,
27146    );
27147}
27148extern "C" {
27149    pub fn g_cclosure_marshal_VOID__ULONGv(
27150        closure: *mut GClosure,
27151        return_value: *mut GValue,
27152        instance: gpointer,
27153        args: va_list,
27154        marshal_data: gpointer,
27155        n_params: ::std::os::raw::c_int,
27156        param_types: *mut GType,
27157    );
27158}
27159extern "C" {
27160    pub fn g_cclosure_marshal_VOID__ENUM(
27161        closure: *mut GClosure,
27162        return_value: *mut GValue,
27163        n_param_values: guint,
27164        param_values: *const GValue,
27165        invocation_hint: gpointer,
27166        marshal_data: gpointer,
27167    );
27168}
27169extern "C" {
27170    pub fn g_cclosure_marshal_VOID__ENUMv(
27171        closure: *mut GClosure,
27172        return_value: *mut GValue,
27173        instance: gpointer,
27174        args: va_list,
27175        marshal_data: gpointer,
27176        n_params: ::std::os::raw::c_int,
27177        param_types: *mut GType,
27178    );
27179}
27180extern "C" {
27181    pub fn g_cclosure_marshal_VOID__FLAGS(
27182        closure: *mut GClosure,
27183        return_value: *mut GValue,
27184        n_param_values: guint,
27185        param_values: *const GValue,
27186        invocation_hint: gpointer,
27187        marshal_data: gpointer,
27188    );
27189}
27190extern "C" {
27191    pub fn g_cclosure_marshal_VOID__FLAGSv(
27192        closure: *mut GClosure,
27193        return_value: *mut GValue,
27194        instance: gpointer,
27195        args: va_list,
27196        marshal_data: gpointer,
27197        n_params: ::std::os::raw::c_int,
27198        param_types: *mut GType,
27199    );
27200}
27201extern "C" {
27202    pub fn g_cclosure_marshal_VOID__FLOAT(
27203        closure: *mut GClosure,
27204        return_value: *mut GValue,
27205        n_param_values: guint,
27206        param_values: *const GValue,
27207        invocation_hint: gpointer,
27208        marshal_data: gpointer,
27209    );
27210}
27211extern "C" {
27212    pub fn g_cclosure_marshal_VOID__FLOATv(
27213        closure: *mut GClosure,
27214        return_value: *mut GValue,
27215        instance: gpointer,
27216        args: va_list,
27217        marshal_data: gpointer,
27218        n_params: ::std::os::raw::c_int,
27219        param_types: *mut GType,
27220    );
27221}
27222extern "C" {
27223    pub fn g_cclosure_marshal_VOID__DOUBLE(
27224        closure: *mut GClosure,
27225        return_value: *mut GValue,
27226        n_param_values: guint,
27227        param_values: *const GValue,
27228        invocation_hint: gpointer,
27229        marshal_data: gpointer,
27230    );
27231}
27232extern "C" {
27233    pub fn g_cclosure_marshal_VOID__DOUBLEv(
27234        closure: *mut GClosure,
27235        return_value: *mut GValue,
27236        instance: gpointer,
27237        args: va_list,
27238        marshal_data: gpointer,
27239        n_params: ::std::os::raw::c_int,
27240        param_types: *mut GType,
27241    );
27242}
27243extern "C" {
27244    pub fn g_cclosure_marshal_VOID__STRING(
27245        closure: *mut GClosure,
27246        return_value: *mut GValue,
27247        n_param_values: guint,
27248        param_values: *const GValue,
27249        invocation_hint: gpointer,
27250        marshal_data: gpointer,
27251    );
27252}
27253extern "C" {
27254    pub fn g_cclosure_marshal_VOID__STRINGv(
27255        closure: *mut GClosure,
27256        return_value: *mut GValue,
27257        instance: gpointer,
27258        args: va_list,
27259        marshal_data: gpointer,
27260        n_params: ::std::os::raw::c_int,
27261        param_types: *mut GType,
27262    );
27263}
27264extern "C" {
27265    pub fn g_cclosure_marshal_VOID__PARAM(
27266        closure: *mut GClosure,
27267        return_value: *mut GValue,
27268        n_param_values: guint,
27269        param_values: *const GValue,
27270        invocation_hint: gpointer,
27271        marshal_data: gpointer,
27272    );
27273}
27274extern "C" {
27275    pub fn g_cclosure_marshal_VOID__PARAMv(
27276        closure: *mut GClosure,
27277        return_value: *mut GValue,
27278        instance: gpointer,
27279        args: va_list,
27280        marshal_data: gpointer,
27281        n_params: ::std::os::raw::c_int,
27282        param_types: *mut GType,
27283    );
27284}
27285extern "C" {
27286    pub fn g_cclosure_marshal_VOID__BOXED(
27287        closure: *mut GClosure,
27288        return_value: *mut GValue,
27289        n_param_values: guint,
27290        param_values: *const GValue,
27291        invocation_hint: gpointer,
27292        marshal_data: gpointer,
27293    );
27294}
27295extern "C" {
27296    pub fn g_cclosure_marshal_VOID__BOXEDv(
27297        closure: *mut GClosure,
27298        return_value: *mut GValue,
27299        instance: gpointer,
27300        args: va_list,
27301        marshal_data: gpointer,
27302        n_params: ::std::os::raw::c_int,
27303        param_types: *mut GType,
27304    );
27305}
27306extern "C" {
27307    pub fn g_cclosure_marshal_VOID__POINTER(
27308        closure: *mut GClosure,
27309        return_value: *mut GValue,
27310        n_param_values: guint,
27311        param_values: *const GValue,
27312        invocation_hint: gpointer,
27313        marshal_data: gpointer,
27314    );
27315}
27316extern "C" {
27317    pub fn g_cclosure_marshal_VOID__POINTERv(
27318        closure: *mut GClosure,
27319        return_value: *mut GValue,
27320        instance: gpointer,
27321        args: va_list,
27322        marshal_data: gpointer,
27323        n_params: ::std::os::raw::c_int,
27324        param_types: *mut GType,
27325    );
27326}
27327extern "C" {
27328    pub fn g_cclosure_marshal_VOID__OBJECT(
27329        closure: *mut GClosure,
27330        return_value: *mut GValue,
27331        n_param_values: guint,
27332        param_values: *const GValue,
27333        invocation_hint: gpointer,
27334        marshal_data: gpointer,
27335    );
27336}
27337extern "C" {
27338    pub fn g_cclosure_marshal_VOID__OBJECTv(
27339        closure: *mut GClosure,
27340        return_value: *mut GValue,
27341        instance: gpointer,
27342        args: va_list,
27343        marshal_data: gpointer,
27344        n_params: ::std::os::raw::c_int,
27345        param_types: *mut GType,
27346    );
27347}
27348extern "C" {
27349    pub fn g_cclosure_marshal_VOID__VARIANT(
27350        closure: *mut GClosure,
27351        return_value: *mut GValue,
27352        n_param_values: guint,
27353        param_values: *const GValue,
27354        invocation_hint: gpointer,
27355        marshal_data: gpointer,
27356    );
27357}
27358extern "C" {
27359    pub fn g_cclosure_marshal_VOID__VARIANTv(
27360        closure: *mut GClosure,
27361        return_value: *mut GValue,
27362        instance: gpointer,
27363        args: va_list,
27364        marshal_data: gpointer,
27365        n_params: ::std::os::raw::c_int,
27366        param_types: *mut GType,
27367    );
27368}
27369extern "C" {
27370    pub fn g_cclosure_marshal_VOID__UINT_POINTER(
27371        closure: *mut GClosure,
27372        return_value: *mut GValue,
27373        n_param_values: guint,
27374        param_values: *const GValue,
27375        invocation_hint: gpointer,
27376        marshal_data: gpointer,
27377    );
27378}
27379extern "C" {
27380    pub fn g_cclosure_marshal_VOID__UINT_POINTERv(
27381        closure: *mut GClosure,
27382        return_value: *mut GValue,
27383        instance: gpointer,
27384        args: va_list,
27385        marshal_data: gpointer,
27386        n_params: ::std::os::raw::c_int,
27387        param_types: *mut GType,
27388    );
27389}
27390extern "C" {
27391    pub fn g_cclosure_marshal_BOOLEAN__FLAGS(
27392        closure: *mut GClosure,
27393        return_value: *mut GValue,
27394        n_param_values: guint,
27395        param_values: *const GValue,
27396        invocation_hint: gpointer,
27397        marshal_data: gpointer,
27398    );
27399}
27400extern "C" {
27401    pub fn g_cclosure_marshal_BOOLEAN__FLAGSv(
27402        closure: *mut GClosure,
27403        return_value: *mut GValue,
27404        instance: gpointer,
27405        args: va_list,
27406        marshal_data: gpointer,
27407        n_params: ::std::os::raw::c_int,
27408        param_types: *mut GType,
27409    );
27410}
27411extern "C" {
27412    pub fn g_cclosure_marshal_STRING__OBJECT_POINTER(
27413        closure: *mut GClosure,
27414        return_value: *mut GValue,
27415        n_param_values: guint,
27416        param_values: *const GValue,
27417        invocation_hint: gpointer,
27418        marshal_data: gpointer,
27419    );
27420}
27421extern "C" {
27422    pub fn g_cclosure_marshal_STRING__OBJECT_POINTERv(
27423        closure: *mut GClosure,
27424        return_value: *mut GValue,
27425        instance: gpointer,
27426        args: va_list,
27427        marshal_data: gpointer,
27428        n_params: ::std::os::raw::c_int,
27429        param_types: *mut GType,
27430    );
27431}
27432extern "C" {
27433    pub fn g_cclosure_marshal_BOOLEAN__BOXED_BOXED(
27434        closure: *mut GClosure,
27435        return_value: *mut GValue,
27436        n_param_values: guint,
27437        param_values: *const GValue,
27438        invocation_hint: gpointer,
27439        marshal_data: gpointer,
27440    );
27441}
27442extern "C" {
27443    pub fn g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv(
27444        closure: *mut GClosure,
27445        return_value: *mut GValue,
27446        instance: gpointer,
27447        args: va_list,
27448        marshal_data: gpointer,
27449        n_params: ::std::os::raw::c_int,
27450        param_types: *mut GType,
27451    );
27452}
27453#[doc = " GSignalQuery:\n @signal_id: The signal id of the signal being queried, or 0 if the\n  signal to be queried was unknown.\n @signal_name: The signal name.\n @itype: The interface/instance type that this signal can be emitted for.\n @signal_flags: The signal flags as passed in to g_signal_new().\n @return_type: The return type for user callbacks.\n @n_params: The number of parameters that user callbacks take.\n @param_types: (array length=n_params): The individual parameter types for\n  user callbacks, note that the effective callback signature is:\n  |[<!-- language=\"C\" -->\n  @return_type callback (#gpointer     data1,\n  [param_types param_names,]\n  gpointer     data2);\n  ]|\n\n A structure holding in-depth information for a specific signal.\n\n See also: g_signal_query()"]
27454pub type GSignalQuery = _GSignalQuery;
27455#[doc = " GSignalInvocationHint:\n @signal_id: The signal id of the signal invoking the callback\n @detail: The detail passed on for this emission\n @run_type: The stage the signal emission is currently in, this\n  field will contain one of %G_SIGNAL_RUN_FIRST,\n  %G_SIGNAL_RUN_LAST or %G_SIGNAL_RUN_CLEANUP and %G_SIGNAL_ACCUMULATOR_FIRST_RUN.\n  %G_SIGNAL_ACCUMULATOR_FIRST_RUN is only set for the first run of the accumulator\n  function for a signal emission.\n\n The #GSignalInvocationHint structure is used to pass on additional information\n to callbacks during a signal emission."]
27456pub type GSignalInvocationHint = _GSignalInvocationHint;
27457#[doc = " GSignalCMarshaller:\n\n This is the signature of marshaller functions, required to marshall\n arrays of parameter values to signal emissions into C language callback\n invocations.\n\n It is merely an alias to #GClosureMarshal since the #GClosure mechanism\n takes over responsibility of actual function invocation for the signal\n system."]
27458pub type GSignalCMarshaller = GClosureMarshal;
27459#[doc = " GSignalCVaMarshaller:\n\n This is the signature of va_list marshaller functions, an optional\n marshaller that can be used in some situations to avoid\n marshalling the signal argument into GValues."]
27460pub type GSignalCVaMarshaller = GVaClosureMarshal;
27461#[doc = " GSignalEmissionHook:\n @ihint: Signal invocation hint, see #GSignalInvocationHint.\n @n_param_values: the number of parameters to the function, including\n  the instance on which the signal was emitted.\n @param_values: (array length=n_param_values): the instance on which\n  the signal was emitted, followed by the parameters of the emission.\n @data: user data associated with the hook.\n\n A simple function pointer to get invoked when the signal is emitted.\n\n Emission hooks allow you to tie a hook to the signal type, so that it will\n trap all emissions of that signal, from any object.\n\n You may not attach these to signals created with the %G_SIGNAL_NO_HOOKS flag.\n\n Returns: whether it wants to stay connected. If it returns %FALSE, the signal\n  hook is disconnected (and destroyed)."]
27462pub type GSignalEmissionHook = ::std::option::Option<
27463    unsafe extern "C" fn(
27464        ihint: *mut GSignalInvocationHint,
27465        n_param_values: guint,
27466        param_values: *const GValue,
27467        data: gpointer,
27468    ) -> gboolean,
27469>;
27470#[doc = " GSignalAccumulator:\n @ihint: Signal invocation hint, see #GSignalInvocationHint.\n @return_accu: Accumulator to collect callback return values in, this\n  is the return value of the current signal emission.\n @handler_return: A #GValue holding the return value of the signal handler.\n @data: Callback data that was specified when creating the signal.\n\n The signal accumulator is a special callback function that can be used\n to collect return values of the various callbacks that are called\n during a signal emission.\n\n The signal accumulator is specified at signal creation time, if it is\n left %NULL, no accumulation of callback return values is performed.\n The return value of signal emissions is then the value returned by the\n last callback.\n\n Returns: The accumulator function returns whether the signal emission\n  should be aborted. Returning %TRUE will continue with\n  the signal emission. Returning %FALSE will abort the current emission.\n  Since 2.62, returning %FALSE will skip to the CLEANUP stage. In this case,\n  emission will occur as normal in the CLEANUP stage and the handler's\n  return value will be accumulated."]
27471pub type GSignalAccumulator = ::std::option::Option<
27472    unsafe extern "C" fn(
27473        ihint: *mut GSignalInvocationHint,
27474        return_accu: *mut GValue,
27475        handler_return: *const GValue,
27476        data: gpointer,
27477    ) -> gboolean,
27478>;
27479pub const GSignalFlags_G_SIGNAL_RUN_FIRST: GSignalFlags = 1;
27480pub const GSignalFlags_G_SIGNAL_RUN_LAST: GSignalFlags = 2;
27481pub const GSignalFlags_G_SIGNAL_RUN_CLEANUP: GSignalFlags = 4;
27482pub const GSignalFlags_G_SIGNAL_NO_RECURSE: GSignalFlags = 8;
27483pub const GSignalFlags_G_SIGNAL_DETAILED: GSignalFlags = 16;
27484pub const GSignalFlags_G_SIGNAL_ACTION: GSignalFlags = 32;
27485pub const GSignalFlags_G_SIGNAL_NO_HOOKS: GSignalFlags = 64;
27486pub const GSignalFlags_G_SIGNAL_MUST_COLLECT: GSignalFlags = 128;
27487pub const GSignalFlags_G_SIGNAL_DEPRECATED: GSignalFlags = 256;
27488pub const GSignalFlags_G_SIGNAL_ACCUMULATOR_FIRST_RUN: GSignalFlags = 131072;
27489#[doc = " GSignalFlags:\n @G_SIGNAL_RUN_FIRST: Invoke the object method handler in the first emission stage.\n @G_SIGNAL_RUN_LAST: Invoke the object method handler in the third emission stage.\n @G_SIGNAL_RUN_CLEANUP: Invoke the object method handler in the last emission stage.\n @G_SIGNAL_NO_RECURSE: Signals being emitted for an object while currently being in\n  emission for this very object will not be emitted recursively,\n  but instead cause the first emission to be restarted.\n @G_SIGNAL_DETAILED: This signal supports \"::detail\" appendices to the signal name\n  upon handler connections and emissions.\n @G_SIGNAL_ACTION: Action signals are signals that may freely be emitted on alive\n  objects from user code via g_signal_emit() and friends, without\n  the need of being embedded into extra code that performs pre or\n  post emission adjustments on the object. They can also be thought\n  of as object methods which can be called generically by\n  third-party code.\n @G_SIGNAL_NO_HOOKS: No emissions hooks are supported for this signal.\n @G_SIGNAL_MUST_COLLECT: Varargs signal emission will always collect the\n   arguments, even if there are no signal handlers connected.  Since 2.30.\n @G_SIGNAL_DEPRECATED: The signal is deprecated and will be removed\n   in a future version. A warning will be generated if it is connected while\n   running with G_ENABLE_DIAGNOSTIC=1.  Since 2.32.\n @G_SIGNAL_ACCUMULATOR_FIRST_RUN: Only used in #GSignalAccumulator accumulator\n   functions for the #GSignalInvocationHint::run_type field to mark the first\n   call to the accumulator function for a signal emission.  Since 2.68.\n\n The signal flags are used to specify a signal's behaviour."]
27490pub type GSignalFlags = ::std::os::raw::c_uint;
27491pub const GConnectFlags_G_CONNECT_DEFAULT: GConnectFlags = 0;
27492pub const GConnectFlags_G_CONNECT_AFTER: GConnectFlags = 1;
27493pub const GConnectFlags_G_CONNECT_SWAPPED: GConnectFlags = 2;
27494#[doc = " GConnectFlags:\n @G_CONNECT_DEFAULT: Default behaviour (no special flags). Since: 2.74\n @G_CONNECT_AFTER: If set, the handler should be called after the\n  default handler of the signal. Normally, the handler is called before\n  the default handler.\n @G_CONNECT_SWAPPED: If set, the instance and data should be swapped when\n  calling the handler; see g_signal_connect_swapped() for an example.\n\n The connection flags are used to specify the behaviour of a signal's\n connection."]
27495pub type GConnectFlags = ::std::os::raw::c_uint;
27496pub const GSignalMatchType_G_SIGNAL_MATCH_ID: GSignalMatchType = 1;
27497pub const GSignalMatchType_G_SIGNAL_MATCH_DETAIL: GSignalMatchType = 2;
27498pub const GSignalMatchType_G_SIGNAL_MATCH_CLOSURE: GSignalMatchType = 4;
27499pub const GSignalMatchType_G_SIGNAL_MATCH_FUNC: GSignalMatchType = 8;
27500pub const GSignalMatchType_G_SIGNAL_MATCH_DATA: GSignalMatchType = 16;
27501pub const GSignalMatchType_G_SIGNAL_MATCH_UNBLOCKED: GSignalMatchType = 32;
27502#[doc = " GSignalMatchType:\n @G_SIGNAL_MATCH_ID: The signal id must be equal.\n @G_SIGNAL_MATCH_DETAIL: The signal detail must be equal.\n @G_SIGNAL_MATCH_CLOSURE: The closure must be the same.\n @G_SIGNAL_MATCH_FUNC: The C closure callback must be the same.\n @G_SIGNAL_MATCH_DATA: The closure data must be the same.\n @G_SIGNAL_MATCH_UNBLOCKED: Only unblocked signals may be matched.\n\n The match types specify what g_signal_handlers_block_matched(),\n g_signal_handlers_unblock_matched() and g_signal_handlers_disconnect_matched()\n match signals by."]
27503pub type GSignalMatchType = ::std::os::raw::c_uint;
27504#[doc = " GSignalInvocationHint:\n @signal_id: The signal id of the signal invoking the callback\n @detail: The detail passed on for this emission\n @run_type: The stage the signal emission is currently in, this\n  field will contain one of %G_SIGNAL_RUN_FIRST,\n  %G_SIGNAL_RUN_LAST or %G_SIGNAL_RUN_CLEANUP and %G_SIGNAL_ACCUMULATOR_FIRST_RUN.\n  %G_SIGNAL_ACCUMULATOR_FIRST_RUN is only set for the first run of the accumulator\n  function for a signal emission.\n\n The #GSignalInvocationHint structure is used to pass on additional information\n to callbacks during a signal emission."]
27505#[repr(C)]
27506#[derive(Debug, Copy, Clone, PartialEq, Eq)]
27507pub struct _GSignalInvocationHint {
27508    pub signal_id: guint,
27509    pub detail: GQuark,
27510    pub run_type: GSignalFlags,
27511}
27512#[test]
27513fn bindgen_test_layout__GSignalInvocationHint() {
27514    const UNINIT: ::std::mem::MaybeUninit<_GSignalInvocationHint> =
27515        ::std::mem::MaybeUninit::uninit();
27516    let ptr = UNINIT.as_ptr();
27517    assert_eq!(
27518        ::std::mem::size_of::<_GSignalInvocationHint>(),
27519        12usize,
27520        concat!("Size of: ", stringify!(_GSignalInvocationHint))
27521    );
27522    assert_eq!(
27523        ::std::mem::align_of::<_GSignalInvocationHint>(),
27524        4usize,
27525        concat!("Alignment of ", stringify!(_GSignalInvocationHint))
27526    );
27527    assert_eq!(
27528        unsafe { ::std::ptr::addr_of!((*ptr).signal_id) as usize - ptr as usize },
27529        0usize,
27530        concat!(
27531            "Offset of field: ",
27532            stringify!(_GSignalInvocationHint),
27533            "::",
27534            stringify!(signal_id)
27535        )
27536    );
27537    assert_eq!(
27538        unsafe { ::std::ptr::addr_of!((*ptr).detail) as usize - ptr as usize },
27539        4usize,
27540        concat!(
27541            "Offset of field: ",
27542            stringify!(_GSignalInvocationHint),
27543            "::",
27544            stringify!(detail)
27545        )
27546    );
27547    assert_eq!(
27548        unsafe { ::std::ptr::addr_of!((*ptr).run_type) as usize - ptr as usize },
27549        8usize,
27550        concat!(
27551            "Offset of field: ",
27552            stringify!(_GSignalInvocationHint),
27553            "::",
27554            stringify!(run_type)
27555        )
27556    );
27557}
27558#[doc = " GSignalQuery:\n @signal_id: The signal id of the signal being queried, or 0 if the\n  signal to be queried was unknown.\n @signal_name: The signal name.\n @itype: The interface/instance type that this signal can be emitted for.\n @signal_flags: The signal flags as passed in to g_signal_new().\n @return_type: The return type for user callbacks.\n @n_params: The number of parameters that user callbacks take.\n @param_types: (array length=n_params): The individual parameter types for\n  user callbacks, note that the effective callback signature is:\n  |[<!-- language=\"C\" -->\n  @return_type callback (#gpointer     data1,\n  [param_types param_names,]\n  gpointer     data2);\n  ]|\n\n A structure holding in-depth information for a specific signal.\n\n See also: g_signal_query()"]
27559#[repr(C)]
27560#[derive(Debug, Copy, Clone, PartialEq, Eq)]
27561pub struct _GSignalQuery {
27562    pub signal_id: guint,
27563    pub signal_name: *const gchar,
27564    pub itype: GType,
27565    pub signal_flags: GSignalFlags,
27566    pub return_type: GType,
27567    pub n_params: guint,
27568    pub param_types: *const GType,
27569}
27570#[test]
27571fn bindgen_test_layout__GSignalQuery() {
27572    const UNINIT: ::std::mem::MaybeUninit<_GSignalQuery> = ::std::mem::MaybeUninit::uninit();
27573    let ptr = UNINIT.as_ptr();
27574    assert_eq!(
27575        ::std::mem::size_of::<_GSignalQuery>(),
27576        56usize,
27577        concat!("Size of: ", stringify!(_GSignalQuery))
27578    );
27579    assert_eq!(
27580        ::std::mem::align_of::<_GSignalQuery>(),
27581        8usize,
27582        concat!("Alignment of ", stringify!(_GSignalQuery))
27583    );
27584    assert_eq!(
27585        unsafe { ::std::ptr::addr_of!((*ptr).signal_id) as usize - ptr as usize },
27586        0usize,
27587        concat!(
27588            "Offset of field: ",
27589            stringify!(_GSignalQuery),
27590            "::",
27591            stringify!(signal_id)
27592        )
27593    );
27594    assert_eq!(
27595        unsafe { ::std::ptr::addr_of!((*ptr).signal_name) as usize - ptr as usize },
27596        8usize,
27597        concat!(
27598            "Offset of field: ",
27599            stringify!(_GSignalQuery),
27600            "::",
27601            stringify!(signal_name)
27602        )
27603    );
27604    assert_eq!(
27605        unsafe { ::std::ptr::addr_of!((*ptr).itype) as usize - ptr as usize },
27606        16usize,
27607        concat!(
27608            "Offset of field: ",
27609            stringify!(_GSignalQuery),
27610            "::",
27611            stringify!(itype)
27612        )
27613    );
27614    assert_eq!(
27615        unsafe { ::std::ptr::addr_of!((*ptr).signal_flags) as usize - ptr as usize },
27616        24usize,
27617        concat!(
27618            "Offset of field: ",
27619            stringify!(_GSignalQuery),
27620            "::",
27621            stringify!(signal_flags)
27622        )
27623    );
27624    assert_eq!(
27625        unsafe { ::std::ptr::addr_of!((*ptr).return_type) as usize - ptr as usize },
27626        32usize,
27627        concat!(
27628            "Offset of field: ",
27629            stringify!(_GSignalQuery),
27630            "::",
27631            stringify!(return_type)
27632        )
27633    );
27634    assert_eq!(
27635        unsafe { ::std::ptr::addr_of!((*ptr).n_params) as usize - ptr as usize },
27636        40usize,
27637        concat!(
27638            "Offset of field: ",
27639            stringify!(_GSignalQuery),
27640            "::",
27641            stringify!(n_params)
27642        )
27643    );
27644    assert_eq!(
27645        unsafe { ::std::ptr::addr_of!((*ptr).param_types) as usize - ptr as usize },
27646        48usize,
27647        concat!(
27648            "Offset of field: ",
27649            stringify!(_GSignalQuery),
27650            "::",
27651            stringify!(param_types)
27652        )
27653    );
27654}
27655extern "C" {
27656    pub fn g_signal_newv(
27657        signal_name: *const gchar,
27658        itype: GType,
27659        signal_flags: GSignalFlags,
27660        class_closure: *mut GClosure,
27661        accumulator: GSignalAccumulator,
27662        accu_data: gpointer,
27663        c_marshaller: GSignalCMarshaller,
27664        return_type: GType,
27665        n_params: guint,
27666        param_types: *mut GType,
27667    ) -> guint;
27668}
27669extern "C" {
27670    pub fn g_signal_new_valist(
27671        signal_name: *const gchar,
27672        itype: GType,
27673        signal_flags: GSignalFlags,
27674        class_closure: *mut GClosure,
27675        accumulator: GSignalAccumulator,
27676        accu_data: gpointer,
27677        c_marshaller: GSignalCMarshaller,
27678        return_type: GType,
27679        n_params: guint,
27680        args: va_list,
27681    ) -> guint;
27682}
27683extern "C" {
27684    pub fn g_signal_new(
27685        signal_name: *const gchar,
27686        itype: GType,
27687        signal_flags: GSignalFlags,
27688        class_offset: guint,
27689        accumulator: GSignalAccumulator,
27690        accu_data: gpointer,
27691        c_marshaller: GSignalCMarshaller,
27692        return_type: GType,
27693        n_params: guint,
27694        ...
27695    ) -> guint;
27696}
27697extern "C" {
27698    pub fn g_signal_new_class_handler(
27699        signal_name: *const gchar,
27700        itype: GType,
27701        signal_flags: GSignalFlags,
27702        class_handler: GCallback,
27703        accumulator: GSignalAccumulator,
27704        accu_data: gpointer,
27705        c_marshaller: GSignalCMarshaller,
27706        return_type: GType,
27707        n_params: guint,
27708        ...
27709    ) -> guint;
27710}
27711extern "C" {
27712    pub fn g_signal_set_va_marshaller(
27713        signal_id: guint,
27714        instance_type: GType,
27715        va_marshaller: GSignalCVaMarshaller,
27716    );
27717}
27718extern "C" {
27719    pub fn g_signal_emitv(
27720        instance_and_params: *const GValue,
27721        signal_id: guint,
27722        detail: GQuark,
27723        return_value: *mut GValue,
27724    );
27725}
27726extern "C" {
27727    pub fn g_signal_emit_valist(
27728        instance: gpointer,
27729        signal_id: guint,
27730        detail: GQuark,
27731        var_args: va_list,
27732    );
27733}
27734extern "C" {
27735    pub fn g_signal_emit(instance: gpointer, signal_id: guint, detail: GQuark, ...);
27736}
27737extern "C" {
27738    pub fn g_signal_emit_by_name(instance: gpointer, detailed_signal: *const gchar, ...);
27739}
27740extern "C" {
27741    pub fn g_signal_lookup(name: *const gchar, itype: GType) -> guint;
27742}
27743extern "C" {
27744    pub fn g_signal_name(signal_id: guint) -> *const gchar;
27745}
27746extern "C" {
27747    pub fn g_signal_query(signal_id: guint, query: *mut GSignalQuery);
27748}
27749extern "C" {
27750    pub fn g_signal_list_ids(itype: GType, n_ids: *mut guint) -> *mut guint;
27751}
27752extern "C" {
27753    pub fn g_signal_is_valid_name(name: *const gchar) -> gboolean;
27754}
27755extern "C" {
27756    pub fn g_signal_parse_name(
27757        detailed_signal: *const gchar,
27758        itype: GType,
27759        signal_id_p: *mut guint,
27760        detail_p: *mut GQuark,
27761        force_detail_quark: gboolean,
27762    ) -> gboolean;
27763}
27764extern "C" {
27765    pub fn g_signal_get_invocation_hint(instance: gpointer) -> *mut GSignalInvocationHint;
27766}
27767extern "C" {
27768    pub fn g_signal_stop_emission(instance: gpointer, signal_id: guint, detail: GQuark);
27769}
27770extern "C" {
27771    pub fn g_signal_stop_emission_by_name(instance: gpointer, detailed_signal: *const gchar);
27772}
27773extern "C" {
27774    pub fn g_signal_add_emission_hook(
27775        signal_id: guint,
27776        detail: GQuark,
27777        hook_func: GSignalEmissionHook,
27778        hook_data: gpointer,
27779        data_destroy: GDestroyNotify,
27780    ) -> gulong;
27781}
27782extern "C" {
27783    pub fn g_signal_remove_emission_hook(signal_id: guint, hook_id: gulong);
27784}
27785extern "C" {
27786    pub fn g_signal_has_handler_pending(
27787        instance: gpointer,
27788        signal_id: guint,
27789        detail: GQuark,
27790        may_be_blocked: gboolean,
27791    ) -> gboolean;
27792}
27793extern "C" {
27794    pub fn g_signal_connect_closure_by_id(
27795        instance: gpointer,
27796        signal_id: guint,
27797        detail: GQuark,
27798        closure: *mut GClosure,
27799        after: gboolean,
27800    ) -> gulong;
27801}
27802extern "C" {
27803    pub fn g_signal_connect_closure(
27804        instance: gpointer,
27805        detailed_signal: *const gchar,
27806        closure: *mut GClosure,
27807        after: gboolean,
27808    ) -> gulong;
27809}
27810extern "C" {
27811    pub fn g_signal_connect_data(
27812        instance: gpointer,
27813        detailed_signal: *const gchar,
27814        c_handler: GCallback,
27815        data: gpointer,
27816        destroy_data: GClosureNotify,
27817        connect_flags: GConnectFlags,
27818    ) -> gulong;
27819}
27820extern "C" {
27821    pub fn g_signal_handler_block(instance: gpointer, handler_id: gulong);
27822}
27823extern "C" {
27824    pub fn g_signal_handler_unblock(instance: gpointer, handler_id: gulong);
27825}
27826extern "C" {
27827    pub fn g_signal_handler_disconnect(instance: gpointer, handler_id: gulong);
27828}
27829extern "C" {
27830    pub fn g_signal_handler_is_connected(instance: gpointer, handler_id: gulong) -> gboolean;
27831}
27832extern "C" {
27833    pub fn g_signal_handler_find(
27834        instance: gpointer,
27835        mask: GSignalMatchType,
27836        signal_id: guint,
27837        detail: GQuark,
27838        closure: *mut GClosure,
27839        func: gpointer,
27840        data: gpointer,
27841    ) -> gulong;
27842}
27843extern "C" {
27844    pub fn g_signal_handlers_block_matched(
27845        instance: gpointer,
27846        mask: GSignalMatchType,
27847        signal_id: guint,
27848        detail: GQuark,
27849        closure: *mut GClosure,
27850        func: gpointer,
27851        data: gpointer,
27852    ) -> guint;
27853}
27854extern "C" {
27855    pub fn g_signal_handlers_unblock_matched(
27856        instance: gpointer,
27857        mask: GSignalMatchType,
27858        signal_id: guint,
27859        detail: GQuark,
27860        closure: *mut GClosure,
27861        func: gpointer,
27862        data: gpointer,
27863    ) -> guint;
27864}
27865extern "C" {
27866    pub fn g_signal_handlers_disconnect_matched(
27867        instance: gpointer,
27868        mask: GSignalMatchType,
27869        signal_id: guint,
27870        detail: GQuark,
27871        closure: *mut GClosure,
27872        func: gpointer,
27873        data: gpointer,
27874    ) -> guint;
27875}
27876extern "C" {
27877    pub fn g_clear_signal_handler(handler_id_ptr: *mut gulong, instance: gpointer);
27878}
27879extern "C" {
27880    pub fn g_signal_override_class_closure(
27881        signal_id: guint,
27882        instance_type: GType,
27883        class_closure: *mut GClosure,
27884    );
27885}
27886extern "C" {
27887    pub fn g_signal_override_class_handler(
27888        signal_name: *const gchar,
27889        instance_type: GType,
27890        class_handler: GCallback,
27891    );
27892}
27893extern "C" {
27894    pub fn g_signal_chain_from_overridden(
27895        instance_and_params: *const GValue,
27896        return_value: *mut GValue,
27897    );
27898}
27899extern "C" {
27900    pub fn g_signal_chain_from_overridden_handler(instance: gpointer, ...);
27901}
27902extern "C" {
27903    pub fn g_signal_accumulator_true_handled(
27904        ihint: *mut GSignalInvocationHint,
27905        return_accu: *mut GValue,
27906        handler_return: *const GValue,
27907        dummy: gpointer,
27908    ) -> gboolean;
27909}
27910extern "C" {
27911    pub fn g_signal_accumulator_first_wins(
27912        ihint: *mut GSignalInvocationHint,
27913        return_accu: *mut GValue,
27914        handler_return: *const GValue,
27915        dummy: gpointer,
27916    ) -> gboolean;
27917}
27918extern "C" {
27919    pub fn g_signal_handlers_destroy(instance: gpointer);
27920}
27921extern "C" {
27922    pub fn _g_signals_destroy(itype: GType);
27923}
27924extern "C" {
27925    pub fn g_date_get_type() -> GType;
27926}
27927extern "C" {
27928    pub fn g_strv_get_type() -> GType;
27929}
27930extern "C" {
27931    pub fn g_gstring_get_type() -> GType;
27932}
27933extern "C" {
27934    pub fn g_hash_table_get_type() -> GType;
27935}
27936extern "C" {
27937    pub fn g_array_get_type() -> GType;
27938}
27939extern "C" {
27940    pub fn g_byte_array_get_type() -> GType;
27941}
27942extern "C" {
27943    pub fn g_ptr_array_get_type() -> GType;
27944}
27945extern "C" {
27946    pub fn g_bytes_get_type() -> GType;
27947}
27948extern "C" {
27949    pub fn g_variant_type_get_gtype() -> GType;
27950}
27951extern "C" {
27952    pub fn g_regex_get_type() -> GType;
27953}
27954extern "C" {
27955    pub fn g_match_info_get_type() -> GType;
27956}
27957extern "C" {
27958    pub fn g_error_get_type() -> GType;
27959}
27960extern "C" {
27961    pub fn g_date_time_get_type() -> GType;
27962}
27963extern "C" {
27964    pub fn g_time_zone_get_type() -> GType;
27965}
27966extern "C" {
27967    pub fn g_io_channel_get_type() -> GType;
27968}
27969extern "C" {
27970    pub fn g_io_condition_get_type() -> GType;
27971}
27972extern "C" {
27973    pub fn g_variant_builder_get_type() -> GType;
27974}
27975extern "C" {
27976    pub fn g_variant_dict_get_type() -> GType;
27977}
27978extern "C" {
27979    pub fn g_key_file_get_type() -> GType;
27980}
27981extern "C" {
27982    pub fn g_main_loop_get_type() -> GType;
27983}
27984extern "C" {
27985    pub fn g_main_context_get_type() -> GType;
27986}
27987extern "C" {
27988    pub fn g_source_get_type() -> GType;
27989}
27990extern "C" {
27991    pub fn g_pollfd_get_type() -> GType;
27992}
27993extern "C" {
27994    pub fn g_thread_get_type() -> GType;
27995}
27996extern "C" {
27997    pub fn g_checksum_get_type() -> GType;
27998}
27999extern "C" {
28000    pub fn g_markup_parse_context_get_type() -> GType;
28001}
28002extern "C" {
28003    pub fn g_mapped_file_get_type() -> GType;
28004}
28005extern "C" {
28006    pub fn g_option_group_get_type() -> GType;
28007}
28008extern "C" {
28009    pub fn g_uri_get_type() -> GType;
28010}
28011extern "C" {
28012    pub fn g_tree_get_type() -> GType;
28013}
28014extern "C" {
28015    pub fn g_pattern_spec_get_type() -> GType;
28016}
28017extern "C" {
28018    pub fn g_bookmark_file_get_type() -> GType;
28019}
28020extern "C" {
28021    pub fn g_variant_get_gtype() -> GType;
28022}
28023#[doc = " GBoxedCopyFunc:\n @boxed: (not nullable): The boxed structure to be copied.\n\n This function is provided by the user and should produce a copy\n of the passed in boxed structure.\n\n Returns: (not nullable): The newly created copy of the boxed structure."]
28024pub type GBoxedCopyFunc = ::std::option::Option<unsafe extern "C" fn(boxed: gpointer) -> gpointer>;
28025#[doc = " GBoxedFreeFunc:\n @boxed: (not nullable): The boxed structure to be freed.\n\n This function is provided by the user and should free the boxed\n structure passed."]
28026pub type GBoxedFreeFunc = ::std::option::Option<unsafe extern "C" fn(boxed: gpointer)>;
28027extern "C" {
28028    pub fn g_boxed_copy(boxed_type: GType, src_boxed: gconstpointer) -> gpointer;
28029}
28030extern "C" {
28031    pub fn g_boxed_free(boxed_type: GType, boxed: gpointer);
28032}
28033extern "C" {
28034    pub fn g_value_set_boxed(value: *mut GValue, v_boxed: gconstpointer);
28035}
28036extern "C" {
28037    pub fn g_value_set_static_boxed(value: *mut GValue, v_boxed: gconstpointer);
28038}
28039extern "C" {
28040    pub fn g_value_take_boxed(value: *mut GValue, v_boxed: gconstpointer);
28041}
28042extern "C" {
28043    pub fn g_value_set_boxed_take_ownership(value: *mut GValue, v_boxed: gconstpointer);
28044}
28045extern "C" {
28046    pub fn g_value_get_boxed(value: *const GValue) -> gpointer;
28047}
28048extern "C" {
28049    pub fn g_value_dup_boxed(value: *const GValue) -> gpointer;
28050}
28051extern "C" {
28052    pub fn g_boxed_type_register_static(
28053        name: *const gchar,
28054        boxed_copy: GBoxedCopyFunc,
28055        boxed_free: GBoxedFreeFunc,
28056    ) -> GType;
28057}
28058extern "C" {
28059    pub fn g_closure_get_type() -> GType;
28060}
28061extern "C" {
28062    pub fn g_value_get_type() -> GType;
28063}
28064#[doc = " GObject:\n\n The base object type.\n\n All the fields in the `GObject` structure are private to the implementation\n and should never be accessed directly.\n\n Since GLib 2.72, all #GObjects are guaranteed to be aligned to at least the\n alignment of the largest basic GLib type (typically this is #guint64 or\n #gdouble). If you need larger alignment for an element in a #GObject, you\n should allocate it on the heap (aligned), or arrange for your #GObject to be\n appropriately padded. This guarantee applies to the #GObject (or derived)\n struct, the #GObjectClass (or derived) struct, and any private data allocated\n by G_ADD_PRIVATE()."]
28065pub type GObject = _GObject;
28066#[doc = " GObjectClass:\n @g_type_class: the parent class\n @constructor: the @constructor function is called by g_object_new () to\n  complete the object initialization after all the construction properties are\n  set. The first thing a @constructor implementation must do is chain up to the\n  @constructor of the parent class. Overriding @constructor should be rarely\n  needed, e.g. to handle construct properties, or to implement singletons.\n @set_property: the generic setter for all properties of this type. Should be\n  overridden for every type with properties. If implementations of\n  @set_property don't emit property change notification explicitly, this will\n  be done implicitly by the type system. However, if the notify signal is\n  emitted explicitly, the type system will not emit it a second time.\n @get_property: the generic getter for all properties of this type. Should be\n  overridden for every type with properties.\n @dispose: the @dispose function is supposed to drop all references to other\n  objects, but keep the instance otherwise intact, so that client method\n  invocations still work. It may be run multiple times (due to reference\n  loops). Before returning, @dispose should chain up to the @dispose method\n  of the parent class.\n @finalize: instance finalization function, should finish the finalization of\n  the instance begun in @dispose and chain up to the @finalize method of the\n  parent class.\n @dispatch_properties_changed: emits property change notification for a bunch\n  of properties. Overriding @dispatch_properties_changed should be rarely\n  needed.\n @notify: the class closure for the notify signal\n @constructed: the @constructed function is called by g_object_new() as the\n  final step of the object creation process.  At the point of the call, all\n  construction properties have been set on the object.  The purpose of this\n  call is to allow for object initialisation steps that can only be performed\n  after construction properties have been set.  @constructed implementors\n  should chain up to the @constructed call of their parent class to allow it\n  to complete its initialisation.\n\n The class structure for the GObject type.\n\n |[<!-- language=\"C\" -->\n // Example of implementing a singleton using a constructor.\n static MySingleton *the_singleton = NULL;\n\n static GObject*\n my_singleton_constructor (GType                  type,\n                           guint                  n_construct_params,\n                           GObjectConstructParam *construct_params)\n {\n   GObject *object;\n\n   if (!the_singleton)\n     {\n       object = G_OBJECT_CLASS (parent_class)->constructor (type,\n                                                            n_construct_params,\n                                                            construct_params);\n       the_singleton = MY_SINGLETON (object);\n     }\n   else\n     object = g_object_ref (G_OBJECT (the_singleton));\n\n   return object;\n }\n ]|"]
28067pub type GObjectClass = _GObjectClass;
28068#[doc = " GObject:\n\n The base object type.\n\n All the fields in the `GObject` structure are private to the implementation\n and should never be accessed directly.\n\n Since GLib 2.72, all #GObjects are guaranteed to be aligned to at least the\n alignment of the largest basic GLib type (typically this is #guint64 or\n #gdouble). If you need larger alignment for an element in a #GObject, you\n should allocate it on the heap (aligned), or arrange for your #GObject to be\n appropriately padded. This guarantee applies to the #GObject (or derived)\n struct, the #GObjectClass (or derived) struct, and any private data allocated\n by G_ADD_PRIVATE()."]
28069pub type GInitiallyUnowned = _GObject;
28070#[doc = " GObjectClass:\n @g_type_class: the parent class\n @constructor: the @constructor function is called by g_object_new () to\n  complete the object initialization after all the construction properties are\n  set. The first thing a @constructor implementation must do is chain up to the\n  @constructor of the parent class. Overriding @constructor should be rarely\n  needed, e.g. to handle construct properties, or to implement singletons.\n @set_property: the generic setter for all properties of this type. Should be\n  overridden for every type with properties. If implementations of\n  @set_property don't emit property change notification explicitly, this will\n  be done implicitly by the type system. However, if the notify signal is\n  emitted explicitly, the type system will not emit it a second time.\n @get_property: the generic getter for all properties of this type. Should be\n  overridden for every type with properties.\n @dispose: the @dispose function is supposed to drop all references to other\n  objects, but keep the instance otherwise intact, so that client method\n  invocations still work. It may be run multiple times (due to reference\n  loops). Before returning, @dispose should chain up to the @dispose method\n  of the parent class.\n @finalize: instance finalization function, should finish the finalization of\n  the instance begun in @dispose and chain up to the @finalize method of the\n  parent class.\n @dispatch_properties_changed: emits property change notification for a bunch\n  of properties. Overriding @dispatch_properties_changed should be rarely\n  needed.\n @notify: the class closure for the notify signal\n @constructed: the @constructed function is called by g_object_new() as the\n  final step of the object creation process.  At the point of the call, all\n  construction properties have been set on the object.  The purpose of this\n  call is to allow for object initialisation steps that can only be performed\n  after construction properties have been set.  @constructed implementors\n  should chain up to the @constructed call of their parent class to allow it\n  to complete its initialisation.\n\n The class structure for the GObject type.\n\n |[<!-- language=\"C\" -->\n // Example of implementing a singleton using a constructor.\n static MySingleton *the_singleton = NULL;\n\n static GObject*\n my_singleton_constructor (GType                  type,\n                           guint                  n_construct_params,\n                           GObjectConstructParam *construct_params)\n {\n   GObject *object;\n\n   if (!the_singleton)\n     {\n       object = G_OBJECT_CLASS (parent_class)->constructor (type,\n                                                            n_construct_params,\n                                                            construct_params);\n       the_singleton = MY_SINGLETON (object);\n     }\n   else\n     object = g_object_ref (G_OBJECT (the_singleton));\n\n   return object;\n }\n ]|"]
28071pub type GInitiallyUnownedClass = _GObjectClass;
28072#[doc = " GObjectConstructParam:\n @pspec: the #GParamSpec of the construct parameter\n @value: the value to set the parameter to\n\n The GObjectConstructParam struct is an auxiliary structure used to hand\n #GParamSpec/#GValue pairs to the @constructor of a #GObjectClass."]
28073pub type GObjectConstructParam = _GObjectConstructParam;
28074#[doc = " GObjectGetPropertyFunc:\n @object: a #GObject\n @property_id: the numeric id under which the property was registered with\n  g_object_class_install_property().\n @value: a #GValue to return the property value in\n @pspec: the #GParamSpec describing the property\n\n The type of the @get_property function of #GObjectClass."]
28075pub type GObjectGetPropertyFunc = ::std::option::Option<
28076    unsafe extern "C" fn(
28077        object: *mut GObject,
28078        property_id: guint,
28079        value: *mut GValue,
28080        pspec: *mut GParamSpec,
28081    ),
28082>;
28083#[doc = " GObjectSetPropertyFunc:\n @object: a #GObject\n @property_id: the numeric id under which the property was registered with\n  g_object_class_install_property().\n @value: the new value for the property\n @pspec: the #GParamSpec describing the property\n\n The type of the @set_property function of #GObjectClass."]
28084pub type GObjectSetPropertyFunc = ::std::option::Option<
28085    unsafe extern "C" fn(
28086        object: *mut GObject,
28087        property_id: guint,
28088        value: *const GValue,
28089        pspec: *mut GParamSpec,
28090    ),
28091>;
28092#[doc = " GObjectFinalizeFunc:\n @object: the #GObject being finalized\n\n The type of the @finalize function of #GObjectClass."]
28093pub type GObjectFinalizeFunc = ::std::option::Option<unsafe extern "C" fn(object: *mut GObject)>;
28094#[doc = " GWeakNotify:\n @data: data that was provided when the weak reference was established\n @where_the_object_was: the object being disposed\n\n A #GWeakNotify function can be added to an object as a callback that gets\n triggered when the object is finalized.\n\n Since the object is already being disposed when the #GWeakNotify is called,\n there's not much you could do with the object, apart from e.g. using its\n address as hash-index or the like.\n\n In particular, this means it’s invalid to call g_object_ref(),\n g_weak_ref_init(), g_weak_ref_set(), g_object_add_toggle_ref(),\n g_object_weak_ref(), g_object_add_weak_pointer() or any function which calls\n them on the object from this callback."]
28095pub type GWeakNotify =
28096    ::std::option::Option<unsafe extern "C" fn(data: gpointer, where_the_object_was: *mut GObject)>;
28097#[doc = " GObject:\n\n The base object type.\n\n All the fields in the `GObject` structure are private to the implementation\n and should never be accessed directly.\n\n Since GLib 2.72, all #GObjects are guaranteed to be aligned to at least the\n alignment of the largest basic GLib type (typically this is #guint64 or\n #gdouble). If you need larger alignment for an element in a #GObject, you\n should allocate it on the heap (aligned), or arrange for your #GObject to be\n appropriately padded. This guarantee applies to the #GObject (or derived)\n struct, the #GObjectClass (or derived) struct, and any private data allocated\n by G_ADD_PRIVATE()."]
28098#[repr(C)]
28099#[derive(Debug, Copy, Clone, PartialEq, Eq)]
28100pub struct _GObject {
28101    pub g_type_instance: GTypeInstance,
28102    pub ref_count: guint,
28103    pub qdata: *mut GData,
28104}
28105#[test]
28106fn bindgen_test_layout__GObject() {
28107    const UNINIT: ::std::mem::MaybeUninit<_GObject> = ::std::mem::MaybeUninit::uninit();
28108    let ptr = UNINIT.as_ptr();
28109    assert_eq!(
28110        ::std::mem::size_of::<_GObject>(),
28111        24usize,
28112        concat!("Size of: ", stringify!(_GObject))
28113    );
28114    assert_eq!(
28115        ::std::mem::align_of::<_GObject>(),
28116        8usize,
28117        concat!("Alignment of ", stringify!(_GObject))
28118    );
28119    assert_eq!(
28120        unsafe { ::std::ptr::addr_of!((*ptr).g_type_instance) as usize - ptr as usize },
28121        0usize,
28122        concat!(
28123            "Offset of field: ",
28124            stringify!(_GObject),
28125            "::",
28126            stringify!(g_type_instance)
28127        )
28128    );
28129    assert_eq!(
28130        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
28131        8usize,
28132        concat!(
28133            "Offset of field: ",
28134            stringify!(_GObject),
28135            "::",
28136            stringify!(ref_count)
28137        )
28138    );
28139    assert_eq!(
28140        unsafe { ::std::ptr::addr_of!((*ptr).qdata) as usize - ptr as usize },
28141        16usize,
28142        concat!(
28143            "Offset of field: ",
28144            stringify!(_GObject),
28145            "::",
28146            stringify!(qdata)
28147        )
28148    );
28149}
28150#[doc = " GObjectClass:\n @g_type_class: the parent class\n @constructor: the @constructor function is called by g_object_new () to\n  complete the object initialization after all the construction properties are\n  set. The first thing a @constructor implementation must do is chain up to the\n  @constructor of the parent class. Overriding @constructor should be rarely\n  needed, e.g. to handle construct properties, or to implement singletons.\n @set_property: the generic setter for all properties of this type. Should be\n  overridden for every type with properties. If implementations of\n  @set_property don't emit property change notification explicitly, this will\n  be done implicitly by the type system. However, if the notify signal is\n  emitted explicitly, the type system will not emit it a second time.\n @get_property: the generic getter for all properties of this type. Should be\n  overridden for every type with properties.\n @dispose: the @dispose function is supposed to drop all references to other\n  objects, but keep the instance otherwise intact, so that client method\n  invocations still work. It may be run multiple times (due to reference\n  loops). Before returning, @dispose should chain up to the @dispose method\n  of the parent class.\n @finalize: instance finalization function, should finish the finalization of\n  the instance begun in @dispose and chain up to the @finalize method of the\n  parent class.\n @dispatch_properties_changed: emits property change notification for a bunch\n  of properties. Overriding @dispatch_properties_changed should be rarely\n  needed.\n @notify: the class closure for the notify signal\n @constructed: the @constructed function is called by g_object_new() as the\n  final step of the object creation process.  At the point of the call, all\n  construction properties have been set on the object.  The purpose of this\n  call is to allow for object initialisation steps that can only be performed\n  after construction properties have been set.  @constructed implementors\n  should chain up to the @constructed call of their parent class to allow it\n  to complete its initialisation.\n\n The class structure for the GObject type.\n\n |[<!-- language=\"C\" -->\n // Example of implementing a singleton using a constructor.\n static MySingleton *the_singleton = NULL;\n\n static GObject*\n my_singleton_constructor (GType                  type,\n                           guint                  n_construct_params,\n                           GObjectConstructParam *construct_params)\n {\n   GObject *object;\n\n   if (!the_singleton)\n     {\n       object = G_OBJECT_CLASS (parent_class)->constructor (type,\n                                                            n_construct_params,\n                                                            construct_params);\n       the_singleton = MY_SINGLETON (object);\n     }\n   else\n     object = g_object_ref (G_OBJECT (the_singleton));\n\n   return object;\n }\n ]|"]
28151#[repr(C)]
28152#[derive(Debug, Copy, Clone, PartialEq, Eq)]
28153pub struct _GObjectClass {
28154    pub g_type_class: GTypeClass,
28155    pub construct_properties: *mut GSList,
28156    pub constructor: ::std::option::Option<
28157        unsafe extern "C" fn(
28158            type_: GType,
28159            n_construct_properties: guint,
28160            construct_properties: *mut GObjectConstructParam,
28161        ) -> *mut GObject,
28162    >,
28163    pub set_property: ::std::option::Option<
28164        unsafe extern "C" fn(
28165            object: *mut GObject,
28166            property_id: guint,
28167            value: *const GValue,
28168            pspec: *mut GParamSpec,
28169        ),
28170    >,
28171    pub get_property: ::std::option::Option<
28172        unsafe extern "C" fn(
28173            object: *mut GObject,
28174            property_id: guint,
28175            value: *mut GValue,
28176            pspec: *mut GParamSpec,
28177        ),
28178    >,
28179    pub dispose: ::std::option::Option<unsafe extern "C" fn(object: *mut GObject)>,
28180    pub finalize: ::std::option::Option<unsafe extern "C" fn(object: *mut GObject)>,
28181    pub dispatch_properties_changed: ::std::option::Option<
28182        unsafe extern "C" fn(object: *mut GObject, n_pspecs: guint, pspecs: *mut *mut GParamSpec),
28183    >,
28184    pub notify:
28185        ::std::option::Option<unsafe extern "C" fn(object: *mut GObject, pspec: *mut GParamSpec)>,
28186    pub constructed: ::std::option::Option<unsafe extern "C" fn(object: *mut GObject)>,
28187    pub flags: gsize,
28188    pub n_construct_properties: gsize,
28189    pub pspecs: gpointer,
28190    pub n_pspecs: gsize,
28191    pub pdummy: [gpointer; 3usize],
28192}
28193#[test]
28194fn bindgen_test_layout__GObjectClass() {
28195    const UNINIT: ::std::mem::MaybeUninit<_GObjectClass> = ::std::mem::MaybeUninit::uninit();
28196    let ptr = UNINIT.as_ptr();
28197    assert_eq!(
28198        ::std::mem::size_of::<_GObjectClass>(),
28199        136usize,
28200        concat!("Size of: ", stringify!(_GObjectClass))
28201    );
28202    assert_eq!(
28203        ::std::mem::align_of::<_GObjectClass>(),
28204        8usize,
28205        concat!("Alignment of ", stringify!(_GObjectClass))
28206    );
28207    assert_eq!(
28208        unsafe { ::std::ptr::addr_of!((*ptr).g_type_class) as usize - ptr as usize },
28209        0usize,
28210        concat!(
28211            "Offset of field: ",
28212            stringify!(_GObjectClass),
28213            "::",
28214            stringify!(g_type_class)
28215        )
28216    );
28217    assert_eq!(
28218        unsafe { ::std::ptr::addr_of!((*ptr).construct_properties) as usize - ptr as usize },
28219        8usize,
28220        concat!(
28221            "Offset of field: ",
28222            stringify!(_GObjectClass),
28223            "::",
28224            stringify!(construct_properties)
28225        )
28226    );
28227    assert_eq!(
28228        unsafe { ::std::ptr::addr_of!((*ptr).constructor) as usize - ptr as usize },
28229        16usize,
28230        concat!(
28231            "Offset of field: ",
28232            stringify!(_GObjectClass),
28233            "::",
28234            stringify!(constructor)
28235        )
28236    );
28237    assert_eq!(
28238        unsafe { ::std::ptr::addr_of!((*ptr).set_property) as usize - ptr as usize },
28239        24usize,
28240        concat!(
28241            "Offset of field: ",
28242            stringify!(_GObjectClass),
28243            "::",
28244            stringify!(set_property)
28245        )
28246    );
28247    assert_eq!(
28248        unsafe { ::std::ptr::addr_of!((*ptr).get_property) as usize - ptr as usize },
28249        32usize,
28250        concat!(
28251            "Offset of field: ",
28252            stringify!(_GObjectClass),
28253            "::",
28254            stringify!(get_property)
28255        )
28256    );
28257    assert_eq!(
28258        unsafe { ::std::ptr::addr_of!((*ptr).dispose) as usize - ptr as usize },
28259        40usize,
28260        concat!(
28261            "Offset of field: ",
28262            stringify!(_GObjectClass),
28263            "::",
28264            stringify!(dispose)
28265        )
28266    );
28267    assert_eq!(
28268        unsafe { ::std::ptr::addr_of!((*ptr).finalize) as usize - ptr as usize },
28269        48usize,
28270        concat!(
28271            "Offset of field: ",
28272            stringify!(_GObjectClass),
28273            "::",
28274            stringify!(finalize)
28275        )
28276    );
28277    assert_eq!(
28278        unsafe { ::std::ptr::addr_of!((*ptr).dispatch_properties_changed) as usize - ptr as usize },
28279        56usize,
28280        concat!(
28281            "Offset of field: ",
28282            stringify!(_GObjectClass),
28283            "::",
28284            stringify!(dispatch_properties_changed)
28285        )
28286    );
28287    assert_eq!(
28288        unsafe { ::std::ptr::addr_of!((*ptr).notify) as usize - ptr as usize },
28289        64usize,
28290        concat!(
28291            "Offset of field: ",
28292            stringify!(_GObjectClass),
28293            "::",
28294            stringify!(notify)
28295        )
28296    );
28297    assert_eq!(
28298        unsafe { ::std::ptr::addr_of!((*ptr).constructed) as usize - ptr as usize },
28299        72usize,
28300        concat!(
28301            "Offset of field: ",
28302            stringify!(_GObjectClass),
28303            "::",
28304            stringify!(constructed)
28305        )
28306    );
28307    assert_eq!(
28308        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
28309        80usize,
28310        concat!(
28311            "Offset of field: ",
28312            stringify!(_GObjectClass),
28313            "::",
28314            stringify!(flags)
28315        )
28316    );
28317    assert_eq!(
28318        unsafe { ::std::ptr::addr_of!((*ptr).n_construct_properties) as usize - ptr as usize },
28319        88usize,
28320        concat!(
28321            "Offset of field: ",
28322            stringify!(_GObjectClass),
28323            "::",
28324            stringify!(n_construct_properties)
28325        )
28326    );
28327    assert_eq!(
28328        unsafe { ::std::ptr::addr_of!((*ptr).pspecs) as usize - ptr as usize },
28329        96usize,
28330        concat!(
28331            "Offset of field: ",
28332            stringify!(_GObjectClass),
28333            "::",
28334            stringify!(pspecs)
28335        )
28336    );
28337    assert_eq!(
28338        unsafe { ::std::ptr::addr_of!((*ptr).n_pspecs) as usize - ptr as usize },
28339        104usize,
28340        concat!(
28341            "Offset of field: ",
28342            stringify!(_GObjectClass),
28343            "::",
28344            stringify!(n_pspecs)
28345        )
28346    );
28347    assert_eq!(
28348        unsafe { ::std::ptr::addr_of!((*ptr).pdummy) as usize - ptr as usize },
28349        112usize,
28350        concat!(
28351            "Offset of field: ",
28352            stringify!(_GObjectClass),
28353            "::",
28354            stringify!(pdummy)
28355        )
28356    );
28357}
28358#[doc = " GObjectConstructParam:\n @pspec: the #GParamSpec of the construct parameter\n @value: the value to set the parameter to\n\n The GObjectConstructParam struct is an auxiliary structure used to hand\n #GParamSpec/#GValue pairs to the @constructor of a #GObjectClass."]
28359#[repr(C)]
28360#[derive(Debug, Copy, Clone, PartialEq, Eq)]
28361pub struct _GObjectConstructParam {
28362    pub pspec: *mut GParamSpec,
28363    pub value: *mut GValue,
28364}
28365#[test]
28366fn bindgen_test_layout__GObjectConstructParam() {
28367    const UNINIT: ::std::mem::MaybeUninit<_GObjectConstructParam> =
28368        ::std::mem::MaybeUninit::uninit();
28369    let ptr = UNINIT.as_ptr();
28370    assert_eq!(
28371        ::std::mem::size_of::<_GObjectConstructParam>(),
28372        16usize,
28373        concat!("Size of: ", stringify!(_GObjectConstructParam))
28374    );
28375    assert_eq!(
28376        ::std::mem::align_of::<_GObjectConstructParam>(),
28377        8usize,
28378        concat!("Alignment of ", stringify!(_GObjectConstructParam))
28379    );
28380    assert_eq!(
28381        unsafe { ::std::ptr::addr_of!((*ptr).pspec) as usize - ptr as usize },
28382        0usize,
28383        concat!(
28384            "Offset of field: ",
28385            stringify!(_GObjectConstructParam),
28386            "::",
28387            stringify!(pspec)
28388        )
28389    );
28390    assert_eq!(
28391        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
28392        8usize,
28393        concat!(
28394            "Offset of field: ",
28395            stringify!(_GObjectConstructParam),
28396            "::",
28397            stringify!(value)
28398        )
28399    );
28400}
28401extern "C" {
28402    #[doc = " GInitiallyUnowned:\n\n A type for objects that have an initially floating reference.\n\n All the fields in the `GInitiallyUnowned` structure are private to the\n implementation and should never be accessed directly.\n/\n/**\n GInitiallyUnownedClass:\n\n The class structure for the GInitiallyUnowned type."]
28403    pub fn g_initially_unowned_get_type() -> GType;
28404}
28405extern "C" {
28406    pub fn g_object_class_install_property(
28407        oclass: *mut GObjectClass,
28408        property_id: guint,
28409        pspec: *mut GParamSpec,
28410    );
28411}
28412extern "C" {
28413    pub fn g_object_class_find_property(
28414        oclass: *mut GObjectClass,
28415        property_name: *const gchar,
28416    ) -> *mut GParamSpec;
28417}
28418extern "C" {
28419    pub fn g_object_class_list_properties(
28420        oclass: *mut GObjectClass,
28421        n_properties: *mut guint,
28422    ) -> *mut *mut GParamSpec;
28423}
28424extern "C" {
28425    pub fn g_object_class_override_property(
28426        oclass: *mut GObjectClass,
28427        property_id: guint,
28428        name: *const gchar,
28429    );
28430}
28431extern "C" {
28432    pub fn g_object_class_install_properties(
28433        oclass: *mut GObjectClass,
28434        n_pspecs: guint,
28435        pspecs: *mut *mut GParamSpec,
28436    );
28437}
28438extern "C" {
28439    pub fn g_object_interface_install_property(g_iface: gpointer, pspec: *mut GParamSpec);
28440}
28441extern "C" {
28442    pub fn g_object_interface_find_property(
28443        g_iface: gpointer,
28444        property_name: *const gchar,
28445    ) -> *mut GParamSpec;
28446}
28447extern "C" {
28448    pub fn g_object_interface_list_properties(
28449        g_iface: gpointer,
28450        n_properties_p: *mut guint,
28451    ) -> *mut *mut GParamSpec;
28452}
28453extern "C" {
28454    pub fn g_object_get_type() -> GType;
28455}
28456extern "C" {
28457    pub fn g_object_new(object_type: GType, first_property_name: *const gchar, ...) -> gpointer;
28458}
28459extern "C" {
28460    pub fn g_object_new_with_properties(
28461        object_type: GType,
28462        n_properties: guint,
28463        names: *mut *const ::std::os::raw::c_char,
28464        values: *const GValue,
28465    ) -> *mut GObject;
28466}
28467extern "C" {
28468    pub fn g_object_newv(
28469        object_type: GType,
28470        n_parameters: guint,
28471        parameters: *mut GParameter,
28472    ) -> gpointer;
28473}
28474extern "C" {
28475    pub fn g_object_new_valist(
28476        object_type: GType,
28477        first_property_name: *const gchar,
28478        var_args: va_list,
28479    ) -> *mut GObject;
28480}
28481extern "C" {
28482    pub fn g_object_set(object: gpointer, first_property_name: *const gchar, ...);
28483}
28484extern "C" {
28485    pub fn g_object_get(object: gpointer, first_property_name: *const gchar, ...);
28486}
28487extern "C" {
28488    pub fn g_object_connect(object: gpointer, signal_spec: *const gchar, ...) -> gpointer;
28489}
28490extern "C" {
28491    pub fn g_object_disconnect(object: gpointer, signal_spec: *const gchar, ...);
28492}
28493extern "C" {
28494    pub fn g_object_setv(
28495        object: *mut GObject,
28496        n_properties: guint,
28497        names: *mut *const gchar,
28498        values: *const GValue,
28499    );
28500}
28501extern "C" {
28502    pub fn g_object_set_valist(
28503        object: *mut GObject,
28504        first_property_name: *const gchar,
28505        var_args: va_list,
28506    );
28507}
28508extern "C" {
28509    pub fn g_object_getv(
28510        object: *mut GObject,
28511        n_properties: guint,
28512        names: *mut *const gchar,
28513        values: *mut GValue,
28514    );
28515}
28516extern "C" {
28517    pub fn g_object_get_valist(
28518        object: *mut GObject,
28519        first_property_name: *const gchar,
28520        var_args: va_list,
28521    );
28522}
28523extern "C" {
28524    pub fn g_object_set_property(
28525        object: *mut GObject,
28526        property_name: *const gchar,
28527        value: *const GValue,
28528    );
28529}
28530extern "C" {
28531    pub fn g_object_get_property(
28532        object: *mut GObject,
28533        property_name: *const gchar,
28534        value: *mut GValue,
28535    );
28536}
28537extern "C" {
28538    pub fn g_object_freeze_notify(object: *mut GObject);
28539}
28540extern "C" {
28541    pub fn g_object_notify(object: *mut GObject, property_name: *const gchar);
28542}
28543extern "C" {
28544    pub fn g_object_notify_by_pspec(object: *mut GObject, pspec: *mut GParamSpec);
28545}
28546extern "C" {
28547    pub fn g_object_thaw_notify(object: *mut GObject);
28548}
28549extern "C" {
28550    pub fn g_object_is_floating(object: gpointer) -> gboolean;
28551}
28552extern "C" {
28553    pub fn g_object_ref_sink(object: gpointer) -> gpointer;
28554}
28555extern "C" {
28556    pub fn g_object_take_ref(object: gpointer) -> gpointer;
28557}
28558extern "C" {
28559    pub fn g_object_ref(object: gpointer) -> gpointer;
28560}
28561extern "C" {
28562    pub fn g_object_unref(object: gpointer);
28563}
28564extern "C" {
28565    pub fn g_object_weak_ref(object: *mut GObject, notify: GWeakNotify, data: gpointer);
28566}
28567extern "C" {
28568    pub fn g_object_weak_unref(object: *mut GObject, notify: GWeakNotify, data: gpointer);
28569}
28570extern "C" {
28571    pub fn g_object_add_weak_pointer(object: *mut GObject, weak_pointer_location: *mut gpointer);
28572}
28573extern "C" {
28574    pub fn g_object_remove_weak_pointer(object: *mut GObject, weak_pointer_location: *mut gpointer);
28575}
28576#[doc = " GToggleNotify:\n @data: Callback data passed to g_object_add_toggle_ref()\n @object: The object on which g_object_add_toggle_ref() was called.\n @is_last_ref: %TRUE if the toggle reference is now the\n  last reference to the object. %FALSE if the toggle\n  reference was the last reference and there are now other\n  references.\n\n A callback function used for notification when the state\n of a toggle reference changes.\n\n See also: g_object_add_toggle_ref()"]
28577pub type GToggleNotify = ::std::option::Option<
28578    unsafe extern "C" fn(data: gpointer, object: *mut GObject, is_last_ref: gboolean),
28579>;
28580extern "C" {
28581    pub fn g_object_add_toggle_ref(object: *mut GObject, notify: GToggleNotify, data: gpointer);
28582}
28583extern "C" {
28584    pub fn g_object_remove_toggle_ref(object: *mut GObject, notify: GToggleNotify, data: gpointer);
28585}
28586extern "C" {
28587    pub fn g_object_get_qdata(object: *mut GObject, quark: GQuark) -> gpointer;
28588}
28589extern "C" {
28590    pub fn g_object_set_qdata(object: *mut GObject, quark: GQuark, data: gpointer);
28591}
28592extern "C" {
28593    pub fn g_object_set_qdata_full(
28594        object: *mut GObject,
28595        quark: GQuark,
28596        data: gpointer,
28597        destroy: GDestroyNotify,
28598    );
28599}
28600extern "C" {
28601    pub fn g_object_steal_qdata(object: *mut GObject, quark: GQuark) -> gpointer;
28602}
28603extern "C" {
28604    pub fn g_object_dup_qdata(
28605        object: *mut GObject,
28606        quark: GQuark,
28607        dup_func: GDuplicateFunc,
28608        user_data: gpointer,
28609    ) -> gpointer;
28610}
28611extern "C" {
28612    pub fn g_object_replace_qdata(
28613        object: *mut GObject,
28614        quark: GQuark,
28615        oldval: gpointer,
28616        newval: gpointer,
28617        destroy: GDestroyNotify,
28618        old_destroy: *mut GDestroyNotify,
28619    ) -> gboolean;
28620}
28621extern "C" {
28622    pub fn g_object_get_data(object: *mut GObject, key: *const gchar) -> gpointer;
28623}
28624extern "C" {
28625    pub fn g_object_set_data(object: *mut GObject, key: *const gchar, data: gpointer);
28626}
28627extern "C" {
28628    pub fn g_object_set_data_full(
28629        object: *mut GObject,
28630        key: *const gchar,
28631        data: gpointer,
28632        destroy: GDestroyNotify,
28633    );
28634}
28635extern "C" {
28636    pub fn g_object_steal_data(object: *mut GObject, key: *const gchar) -> gpointer;
28637}
28638extern "C" {
28639    pub fn g_object_dup_data(
28640        object: *mut GObject,
28641        key: *const gchar,
28642        dup_func: GDuplicateFunc,
28643        user_data: gpointer,
28644    ) -> gpointer;
28645}
28646extern "C" {
28647    pub fn g_object_replace_data(
28648        object: *mut GObject,
28649        key: *const gchar,
28650        oldval: gpointer,
28651        newval: gpointer,
28652        destroy: GDestroyNotify,
28653        old_destroy: *mut GDestroyNotify,
28654    ) -> gboolean;
28655}
28656extern "C" {
28657    pub fn g_object_watch_closure(object: *mut GObject, closure: *mut GClosure);
28658}
28659extern "C" {
28660    pub fn g_cclosure_new_object(callback_func: GCallback, object: *mut GObject) -> *mut GClosure;
28661}
28662extern "C" {
28663    pub fn g_cclosure_new_object_swap(
28664        callback_func: GCallback,
28665        object: *mut GObject,
28666    ) -> *mut GClosure;
28667}
28668extern "C" {
28669    pub fn g_closure_new_object(sizeof_closure: guint, object: *mut GObject) -> *mut GClosure;
28670}
28671extern "C" {
28672    pub fn g_value_set_object(value: *mut GValue, v_object: gpointer);
28673}
28674extern "C" {
28675    pub fn g_value_get_object(value: *const GValue) -> gpointer;
28676}
28677extern "C" {
28678    pub fn g_value_dup_object(value: *const GValue) -> gpointer;
28679}
28680extern "C" {
28681    pub fn g_signal_connect_object(
28682        instance: gpointer,
28683        detailed_signal: *const gchar,
28684        c_handler: GCallback,
28685        gobject: gpointer,
28686        connect_flags: GConnectFlags,
28687    ) -> gulong;
28688}
28689extern "C" {
28690    pub fn g_object_force_floating(object: *mut GObject);
28691}
28692extern "C" {
28693    pub fn g_object_run_dispose(object: *mut GObject);
28694}
28695extern "C" {
28696    pub fn g_value_take_object(value: *mut GValue, v_object: gpointer);
28697}
28698extern "C" {
28699    pub fn g_value_set_object_take_ownership(value: *mut GValue, v_object: gpointer);
28700}
28701extern "C" {
28702    pub fn g_object_compat_control(what: gsize, data: gpointer) -> gsize;
28703}
28704extern "C" {
28705    pub fn g_clear_object(object_ptr: *mut *mut GObject);
28706}
28707#[repr(C)]
28708#[derive(Copy, Clone)]
28709pub struct GWeakRef {
28710    pub priv_: GWeakRef__bindgen_ty_1,
28711}
28712#[repr(C)]
28713#[derive(Copy, Clone)]
28714pub union GWeakRef__bindgen_ty_1 {
28715    pub p: gpointer,
28716}
28717#[test]
28718fn bindgen_test_layout_GWeakRef__bindgen_ty_1() {
28719    const UNINIT: ::std::mem::MaybeUninit<GWeakRef__bindgen_ty_1> =
28720        ::std::mem::MaybeUninit::uninit();
28721    let ptr = UNINIT.as_ptr();
28722    assert_eq!(
28723        ::std::mem::size_of::<GWeakRef__bindgen_ty_1>(),
28724        8usize,
28725        concat!("Size of: ", stringify!(GWeakRef__bindgen_ty_1))
28726    );
28727    assert_eq!(
28728        ::std::mem::align_of::<GWeakRef__bindgen_ty_1>(),
28729        8usize,
28730        concat!("Alignment of ", stringify!(GWeakRef__bindgen_ty_1))
28731    );
28732    assert_eq!(
28733        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
28734        0usize,
28735        concat!(
28736            "Offset of field: ",
28737            stringify!(GWeakRef__bindgen_ty_1),
28738            "::",
28739            stringify!(p)
28740        )
28741    );
28742}
28743impl ::std::fmt::Debug for GWeakRef__bindgen_ty_1 {
28744    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
28745        write!(f, "GWeakRef__bindgen_ty_1 {{ union }}")
28746    }
28747}
28748#[test]
28749fn bindgen_test_layout_GWeakRef() {
28750    const UNINIT: ::std::mem::MaybeUninit<GWeakRef> = ::std::mem::MaybeUninit::uninit();
28751    let ptr = UNINIT.as_ptr();
28752    assert_eq!(
28753        ::std::mem::size_of::<GWeakRef>(),
28754        8usize,
28755        concat!("Size of: ", stringify!(GWeakRef))
28756    );
28757    assert_eq!(
28758        ::std::mem::align_of::<GWeakRef>(),
28759        8usize,
28760        concat!("Alignment of ", stringify!(GWeakRef))
28761    );
28762    assert_eq!(
28763        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
28764        0usize,
28765        concat!(
28766            "Offset of field: ",
28767            stringify!(GWeakRef),
28768            "::",
28769            stringify!(priv_)
28770        )
28771    );
28772}
28773impl ::std::fmt::Debug for GWeakRef {
28774    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
28775        write!(f, "GWeakRef {{ priv: {:?} }}", self.priv_)
28776    }
28777}
28778extern "C" {
28779    pub fn g_weak_ref_init(weak_ref: *mut GWeakRef, object: gpointer);
28780}
28781extern "C" {
28782    pub fn g_weak_ref_clear(weak_ref: *mut GWeakRef);
28783}
28784extern "C" {
28785    pub fn g_weak_ref_get(weak_ref: *mut GWeakRef) -> gpointer;
28786}
28787extern "C" {
28788    pub fn g_weak_ref_set(weak_ref: *mut GWeakRef, object: gpointer);
28789}
28790#[repr(C)]
28791#[derive(Debug, Copy, Clone)]
28792pub struct _GBinding {
28793    _unused: [u8; 0],
28794}
28795#[doc = " GBinding:\n\n GBinding is an opaque structure whose members\n cannot be accessed directly.\n\n Since: 2.26"]
28796pub type GBinding = _GBinding;
28797#[doc = " GBindingTransformFunc:\n @binding: a #GBinding\n @from_value: the #GValue containing the value to transform\n @to_value: the #GValue in which to store the transformed value\n @user_data: data passed to the transform function\n\n A function to be called to transform @from_value to @to_value.\n\n If this is the @transform_to function of a binding, then @from_value\n is the @source_property on the @source object, and @to_value is the\n @target_property on the @target object. If this is the\n @transform_from function of a %G_BINDING_BIDIRECTIONAL binding,\n then those roles are reversed.\n\n Returns: %TRUE if the transformation was successful, and %FALSE\n   otherwise\n\n Since: 2.26"]
28798pub type GBindingTransformFunc = ::std::option::Option<
28799    unsafe extern "C" fn(
28800        binding: *mut GBinding,
28801        from_value: *const GValue,
28802        to_value: *mut GValue,
28803        user_data: gpointer,
28804    ) -> gboolean,
28805>;
28806pub const GBindingFlags_G_BINDING_DEFAULT: GBindingFlags = 0;
28807pub const GBindingFlags_G_BINDING_BIDIRECTIONAL: GBindingFlags = 1;
28808pub const GBindingFlags_G_BINDING_SYNC_CREATE: GBindingFlags = 2;
28809pub const GBindingFlags_G_BINDING_INVERT_BOOLEAN: GBindingFlags = 4;
28810#[doc = " GBindingFlags:\n @G_BINDING_DEFAULT: The default binding; if the source property\n   changes, the target property is updated with its value.\n @G_BINDING_BIDIRECTIONAL: Bidirectional binding; if either the\n   property of the source or the property of the target changes,\n   the other is updated.\n @G_BINDING_SYNC_CREATE: Synchronize the values of the source and\n   target properties when creating the binding; the direction of\n   the synchronization is always from the source to the target.\n @G_BINDING_INVERT_BOOLEAN: If the two properties being bound are\n   booleans, setting one to %TRUE will result in the other being\n   set to %FALSE and vice versa. This flag will only work for\n   boolean properties, and cannot be used when passing custom\n   transformation functions to g_object_bind_property_full().\n\n Flags to be passed to g_object_bind_property() or\n g_object_bind_property_full().\n\n This enumeration can be extended at later date.\n\n Since: 2.26"]
28811pub type GBindingFlags = ::std::os::raw::c_uint;
28812extern "C" {
28813    pub fn g_binding_flags_get_type() -> GType;
28814}
28815extern "C" {
28816    pub fn g_binding_get_type() -> GType;
28817}
28818extern "C" {
28819    pub fn g_binding_get_flags(binding: *mut GBinding) -> GBindingFlags;
28820}
28821extern "C" {
28822    pub fn g_binding_get_source(binding: *mut GBinding) -> *mut GObject;
28823}
28824extern "C" {
28825    pub fn g_binding_dup_source(binding: *mut GBinding) -> *mut GObject;
28826}
28827extern "C" {
28828    pub fn g_binding_get_target(binding: *mut GBinding) -> *mut GObject;
28829}
28830extern "C" {
28831    pub fn g_binding_dup_target(binding: *mut GBinding) -> *mut GObject;
28832}
28833extern "C" {
28834    pub fn g_binding_get_source_property(binding: *mut GBinding) -> *const gchar;
28835}
28836extern "C" {
28837    pub fn g_binding_get_target_property(binding: *mut GBinding) -> *const gchar;
28838}
28839extern "C" {
28840    pub fn g_binding_unbind(binding: *mut GBinding);
28841}
28842extern "C" {
28843    pub fn g_object_bind_property(
28844        source: gpointer,
28845        source_property: *const gchar,
28846        target: gpointer,
28847        target_property: *const gchar,
28848        flags: GBindingFlags,
28849    ) -> *mut GBinding;
28850}
28851extern "C" {
28852    pub fn g_object_bind_property_full(
28853        source: gpointer,
28854        source_property: *const gchar,
28855        target: gpointer,
28856        target_property: *const gchar,
28857        flags: GBindingFlags,
28858        transform_to: GBindingTransformFunc,
28859        transform_from: GBindingTransformFunc,
28860        user_data: gpointer,
28861        notify: GDestroyNotify,
28862    ) -> *mut GBinding;
28863}
28864extern "C" {
28865    pub fn g_object_bind_property_with_closures(
28866        source: gpointer,
28867        source_property: *const gchar,
28868        target: gpointer,
28869        target_property: *const gchar,
28870        flags: GBindingFlags,
28871        transform_to: *mut GClosure,
28872        transform_from: *mut GClosure,
28873    ) -> *mut GBinding;
28874}
28875#[repr(C)]
28876#[derive(Debug, Copy, Clone)]
28877pub struct _GBindingGroup {
28878    _unused: [u8; 0],
28879}
28880#[doc = " GBindingGroup:\n\n GBindingGroup is an opaque structure whose members\n cannot be accessed directly.\n\n Since: 2.72"]
28881pub type GBindingGroup = _GBindingGroup;
28882extern "C" {
28883    pub fn g_binding_group_get_type() -> GType;
28884}
28885extern "C" {
28886    pub fn g_binding_group_new() -> *mut GBindingGroup;
28887}
28888extern "C" {
28889    pub fn g_binding_group_dup_source(self_: *mut GBindingGroup) -> gpointer;
28890}
28891extern "C" {
28892    pub fn g_binding_group_set_source(self_: *mut GBindingGroup, source: gpointer);
28893}
28894extern "C" {
28895    pub fn g_binding_group_bind(
28896        self_: *mut GBindingGroup,
28897        source_property: *const gchar,
28898        target: gpointer,
28899        target_property: *const gchar,
28900        flags: GBindingFlags,
28901    );
28902}
28903extern "C" {
28904    pub fn g_binding_group_bind_full(
28905        self_: *mut GBindingGroup,
28906        source_property: *const gchar,
28907        target: gpointer,
28908        target_property: *const gchar,
28909        flags: GBindingFlags,
28910        transform_to: GBindingTransformFunc,
28911        transform_from: GBindingTransformFunc,
28912        user_data: gpointer,
28913        user_data_destroy: GDestroyNotify,
28914    );
28915}
28916extern "C" {
28917    pub fn g_binding_group_bind_with_closures(
28918        self_: *mut GBindingGroup,
28919        source_property: *const gchar,
28920        target: gpointer,
28921        target_property: *const gchar,
28922        flags: GBindingFlags,
28923        transform_to: *mut GClosure,
28924        transform_from: *mut GClosure,
28925    );
28926}
28927#[doc = " GEnumClass:\n @g_type_class: the parent class\n @minimum: the smallest possible value.\n @maximum: the largest possible value.\n @n_values: the number of possible values.\n @values: an array of #GEnumValue structs describing the\n  individual values.\n\n The class of an enumeration type holds information about its\n possible values."]
28928pub type GEnumClass = _GEnumClass;
28929#[doc = " GFlagsClass:\n @g_type_class: the parent class\n @mask: a mask covering all possible values.\n @n_values: the number of possible values.\n @values: an array of #GFlagsValue structs describing the\n  individual values.\n\n The class of a flags type holds information about its\n possible values."]
28930pub type GFlagsClass = _GFlagsClass;
28931#[doc = " GEnumValue:\n @value: the enum value\n @value_name: the name of the value\n @value_nick: the nickname of the value\n\n A structure which contains a single enum value, its name, and its\n nickname."]
28932pub type GEnumValue = _GEnumValue;
28933#[doc = " GFlagsValue:\n @value: the flags value\n @value_name: the name of the value\n @value_nick: the nickname of the value\n\n A structure which contains a single flags value, its name, and its\n nickname."]
28934pub type GFlagsValue = _GFlagsValue;
28935#[doc = " GEnumClass:\n @g_type_class: the parent class\n @minimum: the smallest possible value.\n @maximum: the largest possible value.\n @n_values: the number of possible values.\n @values: an array of #GEnumValue structs describing the\n  individual values.\n\n The class of an enumeration type holds information about its\n possible values."]
28936#[repr(C)]
28937#[derive(Debug, Copy, Clone, PartialEq, Eq)]
28938pub struct _GEnumClass {
28939    pub g_type_class: GTypeClass,
28940    pub minimum: gint,
28941    pub maximum: gint,
28942    pub n_values: guint,
28943    pub values: *mut GEnumValue,
28944}
28945#[test]
28946fn bindgen_test_layout__GEnumClass() {
28947    const UNINIT: ::std::mem::MaybeUninit<_GEnumClass> = ::std::mem::MaybeUninit::uninit();
28948    let ptr = UNINIT.as_ptr();
28949    assert_eq!(
28950        ::std::mem::size_of::<_GEnumClass>(),
28951        32usize,
28952        concat!("Size of: ", stringify!(_GEnumClass))
28953    );
28954    assert_eq!(
28955        ::std::mem::align_of::<_GEnumClass>(),
28956        8usize,
28957        concat!("Alignment of ", stringify!(_GEnumClass))
28958    );
28959    assert_eq!(
28960        unsafe { ::std::ptr::addr_of!((*ptr).g_type_class) as usize - ptr as usize },
28961        0usize,
28962        concat!(
28963            "Offset of field: ",
28964            stringify!(_GEnumClass),
28965            "::",
28966            stringify!(g_type_class)
28967        )
28968    );
28969    assert_eq!(
28970        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
28971        8usize,
28972        concat!(
28973            "Offset of field: ",
28974            stringify!(_GEnumClass),
28975            "::",
28976            stringify!(minimum)
28977        )
28978    );
28979    assert_eq!(
28980        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
28981        12usize,
28982        concat!(
28983            "Offset of field: ",
28984            stringify!(_GEnumClass),
28985            "::",
28986            stringify!(maximum)
28987        )
28988    );
28989    assert_eq!(
28990        unsafe { ::std::ptr::addr_of!((*ptr).n_values) as usize - ptr as usize },
28991        16usize,
28992        concat!(
28993            "Offset of field: ",
28994            stringify!(_GEnumClass),
28995            "::",
28996            stringify!(n_values)
28997        )
28998    );
28999    assert_eq!(
29000        unsafe { ::std::ptr::addr_of!((*ptr).values) as usize - ptr as usize },
29001        24usize,
29002        concat!(
29003            "Offset of field: ",
29004            stringify!(_GEnumClass),
29005            "::",
29006            stringify!(values)
29007        )
29008    );
29009}
29010#[doc = " GFlagsClass:\n @g_type_class: the parent class\n @mask: a mask covering all possible values.\n @n_values: the number of possible values.\n @values: an array of #GFlagsValue structs describing the\n  individual values.\n\n The class of a flags type holds information about its\n possible values."]
29011#[repr(C)]
29012#[derive(Debug, Copy, Clone, PartialEq, Eq)]
29013pub struct _GFlagsClass {
29014    pub g_type_class: GTypeClass,
29015    pub mask: guint,
29016    pub n_values: guint,
29017    pub values: *mut GFlagsValue,
29018}
29019#[test]
29020fn bindgen_test_layout__GFlagsClass() {
29021    const UNINIT: ::std::mem::MaybeUninit<_GFlagsClass> = ::std::mem::MaybeUninit::uninit();
29022    let ptr = UNINIT.as_ptr();
29023    assert_eq!(
29024        ::std::mem::size_of::<_GFlagsClass>(),
29025        24usize,
29026        concat!("Size of: ", stringify!(_GFlagsClass))
29027    );
29028    assert_eq!(
29029        ::std::mem::align_of::<_GFlagsClass>(),
29030        8usize,
29031        concat!("Alignment of ", stringify!(_GFlagsClass))
29032    );
29033    assert_eq!(
29034        unsafe { ::std::ptr::addr_of!((*ptr).g_type_class) as usize - ptr as usize },
29035        0usize,
29036        concat!(
29037            "Offset of field: ",
29038            stringify!(_GFlagsClass),
29039            "::",
29040            stringify!(g_type_class)
29041        )
29042    );
29043    assert_eq!(
29044        unsafe { ::std::ptr::addr_of!((*ptr).mask) as usize - ptr as usize },
29045        8usize,
29046        concat!(
29047            "Offset of field: ",
29048            stringify!(_GFlagsClass),
29049            "::",
29050            stringify!(mask)
29051        )
29052    );
29053    assert_eq!(
29054        unsafe { ::std::ptr::addr_of!((*ptr).n_values) as usize - ptr as usize },
29055        12usize,
29056        concat!(
29057            "Offset of field: ",
29058            stringify!(_GFlagsClass),
29059            "::",
29060            stringify!(n_values)
29061        )
29062    );
29063    assert_eq!(
29064        unsafe { ::std::ptr::addr_of!((*ptr).values) as usize - ptr as usize },
29065        16usize,
29066        concat!(
29067            "Offset of field: ",
29068            stringify!(_GFlagsClass),
29069            "::",
29070            stringify!(values)
29071        )
29072    );
29073}
29074#[doc = " GEnumValue:\n @value: the enum value\n @value_name: the name of the value\n @value_nick: the nickname of the value\n\n A structure which contains a single enum value, its name, and its\n nickname."]
29075#[repr(C)]
29076#[derive(Debug, Copy, Clone, PartialEq, Eq)]
29077pub struct _GEnumValue {
29078    pub value: gint,
29079    pub value_name: *const gchar,
29080    pub value_nick: *const gchar,
29081}
29082#[test]
29083fn bindgen_test_layout__GEnumValue() {
29084    const UNINIT: ::std::mem::MaybeUninit<_GEnumValue> = ::std::mem::MaybeUninit::uninit();
29085    let ptr = UNINIT.as_ptr();
29086    assert_eq!(
29087        ::std::mem::size_of::<_GEnumValue>(),
29088        24usize,
29089        concat!("Size of: ", stringify!(_GEnumValue))
29090    );
29091    assert_eq!(
29092        ::std::mem::align_of::<_GEnumValue>(),
29093        8usize,
29094        concat!("Alignment of ", stringify!(_GEnumValue))
29095    );
29096    assert_eq!(
29097        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
29098        0usize,
29099        concat!(
29100            "Offset of field: ",
29101            stringify!(_GEnumValue),
29102            "::",
29103            stringify!(value)
29104        )
29105    );
29106    assert_eq!(
29107        unsafe { ::std::ptr::addr_of!((*ptr).value_name) as usize - ptr as usize },
29108        8usize,
29109        concat!(
29110            "Offset of field: ",
29111            stringify!(_GEnumValue),
29112            "::",
29113            stringify!(value_name)
29114        )
29115    );
29116    assert_eq!(
29117        unsafe { ::std::ptr::addr_of!((*ptr).value_nick) as usize - ptr as usize },
29118        16usize,
29119        concat!(
29120            "Offset of field: ",
29121            stringify!(_GEnumValue),
29122            "::",
29123            stringify!(value_nick)
29124        )
29125    );
29126}
29127#[doc = " GFlagsValue:\n @value: the flags value\n @value_name: the name of the value\n @value_nick: the nickname of the value\n\n A structure which contains a single flags value, its name, and its\n nickname."]
29128#[repr(C)]
29129#[derive(Debug, Copy, Clone, PartialEq, Eq)]
29130pub struct _GFlagsValue {
29131    pub value: guint,
29132    pub value_name: *const gchar,
29133    pub value_nick: *const gchar,
29134}
29135#[test]
29136fn bindgen_test_layout__GFlagsValue() {
29137    const UNINIT: ::std::mem::MaybeUninit<_GFlagsValue> = ::std::mem::MaybeUninit::uninit();
29138    let ptr = UNINIT.as_ptr();
29139    assert_eq!(
29140        ::std::mem::size_of::<_GFlagsValue>(),
29141        24usize,
29142        concat!("Size of: ", stringify!(_GFlagsValue))
29143    );
29144    assert_eq!(
29145        ::std::mem::align_of::<_GFlagsValue>(),
29146        8usize,
29147        concat!("Alignment of ", stringify!(_GFlagsValue))
29148    );
29149    assert_eq!(
29150        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
29151        0usize,
29152        concat!(
29153            "Offset of field: ",
29154            stringify!(_GFlagsValue),
29155            "::",
29156            stringify!(value)
29157        )
29158    );
29159    assert_eq!(
29160        unsafe { ::std::ptr::addr_of!((*ptr).value_name) as usize - ptr as usize },
29161        8usize,
29162        concat!(
29163            "Offset of field: ",
29164            stringify!(_GFlagsValue),
29165            "::",
29166            stringify!(value_name)
29167        )
29168    );
29169    assert_eq!(
29170        unsafe { ::std::ptr::addr_of!((*ptr).value_nick) as usize - ptr as usize },
29171        16usize,
29172        concat!(
29173            "Offset of field: ",
29174            stringify!(_GFlagsValue),
29175            "::",
29176            stringify!(value_nick)
29177        )
29178    );
29179}
29180extern "C" {
29181    pub fn g_enum_get_value(enum_class: *mut GEnumClass, value: gint) -> *mut GEnumValue;
29182}
29183extern "C" {
29184    pub fn g_enum_get_value_by_name(
29185        enum_class: *mut GEnumClass,
29186        name: *const gchar,
29187    ) -> *mut GEnumValue;
29188}
29189extern "C" {
29190    pub fn g_enum_get_value_by_nick(
29191        enum_class: *mut GEnumClass,
29192        nick: *const gchar,
29193    ) -> *mut GEnumValue;
29194}
29195extern "C" {
29196    pub fn g_flags_get_first_value(flags_class: *mut GFlagsClass, value: guint)
29197        -> *mut GFlagsValue;
29198}
29199extern "C" {
29200    pub fn g_flags_get_value_by_name(
29201        flags_class: *mut GFlagsClass,
29202        name: *const gchar,
29203    ) -> *mut GFlagsValue;
29204}
29205extern "C" {
29206    pub fn g_flags_get_value_by_nick(
29207        flags_class: *mut GFlagsClass,
29208        nick: *const gchar,
29209    ) -> *mut GFlagsValue;
29210}
29211extern "C" {
29212    pub fn g_enum_to_string(g_enum_type: GType, value: gint) -> *mut gchar;
29213}
29214extern "C" {
29215    pub fn g_flags_to_string(flags_type: GType, value: guint) -> *mut gchar;
29216}
29217extern "C" {
29218    pub fn g_value_set_enum(value: *mut GValue, v_enum: gint);
29219}
29220extern "C" {
29221    pub fn g_value_get_enum(value: *const GValue) -> gint;
29222}
29223extern "C" {
29224    pub fn g_value_set_flags(value: *mut GValue, v_flags: guint);
29225}
29226extern "C" {
29227    pub fn g_value_get_flags(value: *const GValue) -> guint;
29228}
29229extern "C" {
29230    pub fn g_enum_register_static(
29231        name: *const gchar,
29232        const_static_values: *const GEnumValue,
29233    ) -> GType;
29234}
29235extern "C" {
29236    pub fn g_flags_register_static(
29237        name: *const gchar,
29238        const_static_values: *const GFlagsValue,
29239    ) -> GType;
29240}
29241extern "C" {
29242    pub fn g_enum_complete_type_info(
29243        g_enum_type: GType,
29244        info: *mut GTypeInfo,
29245        const_values: *const GEnumValue,
29246    );
29247}
29248extern "C" {
29249    pub fn g_flags_complete_type_info(
29250        g_flags_type: GType,
29251        info: *mut GTypeInfo,
29252        const_values: *const GFlagsValue,
29253    );
29254}
29255extern "C" {
29256    pub fn g_unicode_type_get_type() -> GType;
29257}
29258extern "C" {
29259    pub fn g_unicode_break_type_get_type() -> GType;
29260}
29261extern "C" {
29262    pub fn g_unicode_script_get_type() -> GType;
29263}
29264extern "C" {
29265    pub fn g_normalize_mode_get_type() -> GType;
29266}
29267#[doc = " GParamSpecChar:\n @parent_instance: private #GParamSpec portion\n @minimum: minimum value for the property specified\n @maximum: maximum value for the property specified\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for character properties."]
29268pub type GParamSpecChar = _GParamSpecChar;
29269#[doc = " GParamSpecUChar:\n @parent_instance: private #GParamSpec portion\n @minimum: minimum value for the property specified\n @maximum: maximum value for the property specified\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for unsigned character properties."]
29270pub type GParamSpecUChar = _GParamSpecUChar;
29271#[doc = " GParamSpecBoolean:\n @parent_instance: private #GParamSpec portion\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for boolean properties."]
29272pub type GParamSpecBoolean = _GParamSpecBoolean;
29273#[doc = " GParamSpecInt:\n @parent_instance: private #GParamSpec portion\n @minimum: minimum value for the property specified\n @maximum: maximum value for the property specified\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for integer properties."]
29274pub type GParamSpecInt = _GParamSpecInt;
29275#[doc = " GParamSpecUInt:\n @parent_instance: private #GParamSpec portion\n @minimum: minimum value for the property specified\n @maximum: maximum value for the property specified\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for unsigned integer properties."]
29276pub type GParamSpecUInt = _GParamSpecUInt;
29277#[doc = " GParamSpecLong:\n @parent_instance: private #GParamSpec portion\n @minimum: minimum value for the property specified\n @maximum: maximum value for the property specified\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for long integer properties."]
29278pub type GParamSpecLong = _GParamSpecLong;
29279#[doc = " GParamSpecULong:\n @parent_instance: private #GParamSpec portion\n @minimum: minimum value for the property specified\n @maximum: maximum value for the property specified\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for unsigned long integer properties."]
29280pub type GParamSpecULong = _GParamSpecULong;
29281#[doc = " GParamSpecInt64:\n @parent_instance: private #GParamSpec portion\n @minimum: minimum value for the property specified\n @maximum: maximum value for the property specified\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for 64bit integer properties."]
29282pub type GParamSpecInt64 = _GParamSpecInt64;
29283#[doc = " GParamSpecUInt64:\n @parent_instance: private #GParamSpec portion\n @minimum: minimum value for the property specified\n @maximum: maximum value for the property specified\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for unsigned 64bit integer properties."]
29284pub type GParamSpecUInt64 = _GParamSpecUInt64;
29285#[doc = " GParamSpecUnichar:\n @parent_instance: private #GParamSpec portion\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for unichar (unsigned integer) properties."]
29286pub type GParamSpecUnichar = _GParamSpecUnichar;
29287#[doc = " GParamSpecEnum:\n @parent_instance: private #GParamSpec portion\n @enum_class: the #GEnumClass for the enum\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for enum\n properties."]
29288pub type GParamSpecEnum = _GParamSpecEnum;
29289#[doc = " GParamSpecFlags:\n @parent_instance: private #GParamSpec portion\n @flags_class: the #GFlagsClass for the flags\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for flags\n properties."]
29290pub type GParamSpecFlags = _GParamSpecFlags;
29291#[doc = " GParamSpecFloat:\n @parent_instance: private #GParamSpec portion\n @minimum: minimum value for the property specified\n @maximum: maximum value for the property specified\n @default_value: default value for the property specified\n @epsilon: values closer than @epsilon will be considered identical\n  by g_param_values_cmp(); the default value is 1e-30.\n\n A #GParamSpec derived structure that contains the meta data for float properties."]
29292pub type GParamSpecFloat = _GParamSpecFloat;
29293#[doc = " GParamSpecDouble:\n @parent_instance: private #GParamSpec portion\n @minimum: minimum value for the property specified\n @maximum: maximum value for the property specified\n @default_value: default value for the property specified\n @epsilon: values closer than @epsilon will be considered identical\n  by g_param_values_cmp(); the default value is 1e-90.\n\n A #GParamSpec derived structure that contains the meta data for double properties."]
29294pub type GParamSpecDouble = _GParamSpecDouble;
29295#[doc = " GParamSpecString:\n @parent_instance: private #GParamSpec portion\n @default_value: default value for the property specified\n @cset_first: a string containing the allowed values for the first byte\n @cset_nth: a string containing the allowed values for the subsequent bytes\n @substitutor: the replacement byte for bytes which don't match @cset_first or @cset_nth.\n @null_fold_if_empty: replace empty string by %NULL\n @ensure_non_null: replace %NULL strings by an empty string\n\n A #GParamSpec derived structure that contains the meta data for string\n properties."]
29296pub type GParamSpecString = _GParamSpecString;
29297#[doc = " GParamSpecParam:\n @parent_instance: private #GParamSpec portion\n\n A #GParamSpec derived structure that contains the meta data for %G_TYPE_PARAM\n properties."]
29298pub type GParamSpecParam = _GParamSpecParam;
29299#[doc = " GParamSpecBoxed:\n @parent_instance: private #GParamSpec portion\n\n A #GParamSpec derived structure that contains the meta data for boxed properties."]
29300pub type GParamSpecBoxed = _GParamSpecBoxed;
29301#[doc = " GParamSpecPointer:\n @parent_instance: private #GParamSpec portion\n\n A #GParamSpec derived structure that contains the meta data for pointer properties."]
29302pub type GParamSpecPointer = _GParamSpecPointer;
29303#[doc = " GParamSpecValueArray:\n @parent_instance: private #GParamSpec portion\n @element_spec: a #GParamSpec describing the elements contained in arrays of this property, may be %NULL\n @fixed_n_elements: if greater than 0, arrays of this property will always have this many elements\n\n A #GParamSpec derived structure that contains the meta data for #GValueArray properties."]
29304pub type GParamSpecValueArray = _GParamSpecValueArray;
29305#[doc = " GParamSpecObject:\n @parent_instance: private #GParamSpec portion\n\n A #GParamSpec derived structure that contains the meta data for object properties."]
29306pub type GParamSpecObject = _GParamSpecObject;
29307#[doc = " GParamSpecOverride:\n\n A #GParamSpec derived structure that redirects operations to\n other types of #GParamSpec.\n\n All operations other than getting or setting the value are redirected,\n including accessing the nick and blurb, validating a value, and so\n forth.\n\n See g_param_spec_get_redirect_target() for retrieving the overridden\n property. #GParamSpecOverride is used in implementing\n g_object_class_override_property(), and will not be directly useful\n unless you are implementing a new base type similar to GObject.\n\n Since: 2.4"]
29308pub type GParamSpecOverride = _GParamSpecOverride;
29309#[doc = " GParamSpecGType:\n @parent_instance: private #GParamSpec portion\n @is_a_type: a #GType whose subtypes can occur as values\n\n A #GParamSpec derived structure that contains the meta data for #GType properties.\n\n Since: 2.10"]
29310pub type GParamSpecGType = _GParamSpecGType;
29311#[doc = " GParamSpecVariant:\n @parent_instance: private #GParamSpec portion\n @type: a #GVariantType, or %NULL\n @default_value: a #GVariant, or %NULL\n\n A #GParamSpec derived structure that contains the meta data for #GVariant properties.\n\n When comparing values with g_param_values_cmp(), scalar values with the same\n type will be compared with g_variant_compare(). Other non-%NULL variants will\n be checked for equality with g_variant_equal(), and their sort order is\n otherwise undefined. %NULL is ordered before non-%NULL variants. Two %NULL\n values compare equal.\n\n Since: 2.26"]
29312pub type GParamSpecVariant = _GParamSpecVariant;
29313#[doc = " GParamSpecChar:\n @parent_instance: private #GParamSpec portion\n @minimum: minimum value for the property specified\n @maximum: maximum value for the property specified\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for character properties."]
29314#[repr(C)]
29315#[derive(Debug, Copy, Clone, PartialEq, Eq)]
29316pub struct _GParamSpecChar {
29317    pub parent_instance: GParamSpec,
29318    pub minimum: gint8,
29319    pub maximum: gint8,
29320    pub default_value: gint8,
29321}
29322#[test]
29323fn bindgen_test_layout__GParamSpecChar() {
29324    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecChar> = ::std::mem::MaybeUninit::uninit();
29325    let ptr = UNINIT.as_ptr();
29326    assert_eq!(
29327        ::std::mem::size_of::<_GParamSpecChar>(),
29328        80usize,
29329        concat!("Size of: ", stringify!(_GParamSpecChar))
29330    );
29331    assert_eq!(
29332        ::std::mem::align_of::<_GParamSpecChar>(),
29333        8usize,
29334        concat!("Alignment of ", stringify!(_GParamSpecChar))
29335    );
29336    assert_eq!(
29337        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
29338        0usize,
29339        concat!(
29340            "Offset of field: ",
29341            stringify!(_GParamSpecChar),
29342            "::",
29343            stringify!(parent_instance)
29344        )
29345    );
29346    assert_eq!(
29347        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
29348        72usize,
29349        concat!(
29350            "Offset of field: ",
29351            stringify!(_GParamSpecChar),
29352            "::",
29353            stringify!(minimum)
29354        )
29355    );
29356    assert_eq!(
29357        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
29358        73usize,
29359        concat!(
29360            "Offset of field: ",
29361            stringify!(_GParamSpecChar),
29362            "::",
29363            stringify!(maximum)
29364        )
29365    );
29366    assert_eq!(
29367        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
29368        74usize,
29369        concat!(
29370            "Offset of field: ",
29371            stringify!(_GParamSpecChar),
29372            "::",
29373            stringify!(default_value)
29374        )
29375    );
29376}
29377#[doc = " GParamSpecUChar:\n @parent_instance: private #GParamSpec portion\n @minimum: minimum value for the property specified\n @maximum: maximum value for the property specified\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for unsigned character properties."]
29378#[repr(C)]
29379#[derive(Debug, Copy, Clone, PartialEq, Eq)]
29380pub struct _GParamSpecUChar {
29381    pub parent_instance: GParamSpec,
29382    pub minimum: guint8,
29383    pub maximum: guint8,
29384    pub default_value: guint8,
29385}
29386#[test]
29387fn bindgen_test_layout__GParamSpecUChar() {
29388    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecUChar> = ::std::mem::MaybeUninit::uninit();
29389    let ptr = UNINIT.as_ptr();
29390    assert_eq!(
29391        ::std::mem::size_of::<_GParamSpecUChar>(),
29392        80usize,
29393        concat!("Size of: ", stringify!(_GParamSpecUChar))
29394    );
29395    assert_eq!(
29396        ::std::mem::align_of::<_GParamSpecUChar>(),
29397        8usize,
29398        concat!("Alignment of ", stringify!(_GParamSpecUChar))
29399    );
29400    assert_eq!(
29401        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
29402        0usize,
29403        concat!(
29404            "Offset of field: ",
29405            stringify!(_GParamSpecUChar),
29406            "::",
29407            stringify!(parent_instance)
29408        )
29409    );
29410    assert_eq!(
29411        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
29412        72usize,
29413        concat!(
29414            "Offset of field: ",
29415            stringify!(_GParamSpecUChar),
29416            "::",
29417            stringify!(minimum)
29418        )
29419    );
29420    assert_eq!(
29421        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
29422        73usize,
29423        concat!(
29424            "Offset of field: ",
29425            stringify!(_GParamSpecUChar),
29426            "::",
29427            stringify!(maximum)
29428        )
29429    );
29430    assert_eq!(
29431        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
29432        74usize,
29433        concat!(
29434            "Offset of field: ",
29435            stringify!(_GParamSpecUChar),
29436            "::",
29437            stringify!(default_value)
29438        )
29439    );
29440}
29441#[doc = " GParamSpecBoolean:\n @parent_instance: private #GParamSpec portion\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for boolean properties."]
29442#[repr(C)]
29443#[derive(Debug, Copy, Clone, PartialEq, Eq)]
29444pub struct _GParamSpecBoolean {
29445    pub parent_instance: GParamSpec,
29446    pub default_value: gboolean,
29447}
29448#[test]
29449fn bindgen_test_layout__GParamSpecBoolean() {
29450    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecBoolean> = ::std::mem::MaybeUninit::uninit();
29451    let ptr = UNINIT.as_ptr();
29452    assert_eq!(
29453        ::std::mem::size_of::<_GParamSpecBoolean>(),
29454        80usize,
29455        concat!("Size of: ", stringify!(_GParamSpecBoolean))
29456    );
29457    assert_eq!(
29458        ::std::mem::align_of::<_GParamSpecBoolean>(),
29459        8usize,
29460        concat!("Alignment of ", stringify!(_GParamSpecBoolean))
29461    );
29462    assert_eq!(
29463        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
29464        0usize,
29465        concat!(
29466            "Offset of field: ",
29467            stringify!(_GParamSpecBoolean),
29468            "::",
29469            stringify!(parent_instance)
29470        )
29471    );
29472    assert_eq!(
29473        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
29474        72usize,
29475        concat!(
29476            "Offset of field: ",
29477            stringify!(_GParamSpecBoolean),
29478            "::",
29479            stringify!(default_value)
29480        )
29481    );
29482}
29483#[doc = " GParamSpecInt:\n @parent_instance: private #GParamSpec portion\n @minimum: minimum value for the property specified\n @maximum: maximum value for the property specified\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for integer properties."]
29484#[repr(C)]
29485#[derive(Debug, Copy, Clone, PartialEq, Eq)]
29486pub struct _GParamSpecInt {
29487    pub parent_instance: GParamSpec,
29488    pub minimum: gint,
29489    pub maximum: gint,
29490    pub default_value: gint,
29491}
29492#[test]
29493fn bindgen_test_layout__GParamSpecInt() {
29494    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecInt> = ::std::mem::MaybeUninit::uninit();
29495    let ptr = UNINIT.as_ptr();
29496    assert_eq!(
29497        ::std::mem::size_of::<_GParamSpecInt>(),
29498        88usize,
29499        concat!("Size of: ", stringify!(_GParamSpecInt))
29500    );
29501    assert_eq!(
29502        ::std::mem::align_of::<_GParamSpecInt>(),
29503        8usize,
29504        concat!("Alignment of ", stringify!(_GParamSpecInt))
29505    );
29506    assert_eq!(
29507        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
29508        0usize,
29509        concat!(
29510            "Offset of field: ",
29511            stringify!(_GParamSpecInt),
29512            "::",
29513            stringify!(parent_instance)
29514        )
29515    );
29516    assert_eq!(
29517        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
29518        72usize,
29519        concat!(
29520            "Offset of field: ",
29521            stringify!(_GParamSpecInt),
29522            "::",
29523            stringify!(minimum)
29524        )
29525    );
29526    assert_eq!(
29527        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
29528        76usize,
29529        concat!(
29530            "Offset of field: ",
29531            stringify!(_GParamSpecInt),
29532            "::",
29533            stringify!(maximum)
29534        )
29535    );
29536    assert_eq!(
29537        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
29538        80usize,
29539        concat!(
29540            "Offset of field: ",
29541            stringify!(_GParamSpecInt),
29542            "::",
29543            stringify!(default_value)
29544        )
29545    );
29546}
29547#[doc = " GParamSpecUInt:\n @parent_instance: private #GParamSpec portion\n @minimum: minimum value for the property specified\n @maximum: maximum value for the property specified\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for unsigned integer properties."]
29548#[repr(C)]
29549#[derive(Debug, Copy, Clone, PartialEq, Eq)]
29550pub struct _GParamSpecUInt {
29551    pub parent_instance: GParamSpec,
29552    pub minimum: guint,
29553    pub maximum: guint,
29554    pub default_value: guint,
29555}
29556#[test]
29557fn bindgen_test_layout__GParamSpecUInt() {
29558    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecUInt> = ::std::mem::MaybeUninit::uninit();
29559    let ptr = UNINIT.as_ptr();
29560    assert_eq!(
29561        ::std::mem::size_of::<_GParamSpecUInt>(),
29562        88usize,
29563        concat!("Size of: ", stringify!(_GParamSpecUInt))
29564    );
29565    assert_eq!(
29566        ::std::mem::align_of::<_GParamSpecUInt>(),
29567        8usize,
29568        concat!("Alignment of ", stringify!(_GParamSpecUInt))
29569    );
29570    assert_eq!(
29571        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
29572        0usize,
29573        concat!(
29574            "Offset of field: ",
29575            stringify!(_GParamSpecUInt),
29576            "::",
29577            stringify!(parent_instance)
29578        )
29579    );
29580    assert_eq!(
29581        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
29582        72usize,
29583        concat!(
29584            "Offset of field: ",
29585            stringify!(_GParamSpecUInt),
29586            "::",
29587            stringify!(minimum)
29588        )
29589    );
29590    assert_eq!(
29591        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
29592        76usize,
29593        concat!(
29594            "Offset of field: ",
29595            stringify!(_GParamSpecUInt),
29596            "::",
29597            stringify!(maximum)
29598        )
29599    );
29600    assert_eq!(
29601        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
29602        80usize,
29603        concat!(
29604            "Offset of field: ",
29605            stringify!(_GParamSpecUInt),
29606            "::",
29607            stringify!(default_value)
29608        )
29609    );
29610}
29611#[doc = " GParamSpecLong:\n @parent_instance: private #GParamSpec portion\n @minimum: minimum value for the property specified\n @maximum: maximum value for the property specified\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for long integer properties."]
29612#[repr(C)]
29613#[derive(Debug, Copy, Clone, PartialEq, Eq)]
29614pub struct _GParamSpecLong {
29615    pub parent_instance: GParamSpec,
29616    pub minimum: glong,
29617    pub maximum: glong,
29618    pub default_value: glong,
29619}
29620#[test]
29621fn bindgen_test_layout__GParamSpecLong() {
29622    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecLong> = ::std::mem::MaybeUninit::uninit();
29623    let ptr = UNINIT.as_ptr();
29624    assert_eq!(
29625        ::std::mem::size_of::<_GParamSpecLong>(),
29626        96usize,
29627        concat!("Size of: ", stringify!(_GParamSpecLong))
29628    );
29629    assert_eq!(
29630        ::std::mem::align_of::<_GParamSpecLong>(),
29631        8usize,
29632        concat!("Alignment of ", stringify!(_GParamSpecLong))
29633    );
29634    assert_eq!(
29635        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
29636        0usize,
29637        concat!(
29638            "Offset of field: ",
29639            stringify!(_GParamSpecLong),
29640            "::",
29641            stringify!(parent_instance)
29642        )
29643    );
29644    assert_eq!(
29645        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
29646        72usize,
29647        concat!(
29648            "Offset of field: ",
29649            stringify!(_GParamSpecLong),
29650            "::",
29651            stringify!(minimum)
29652        )
29653    );
29654    assert_eq!(
29655        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
29656        80usize,
29657        concat!(
29658            "Offset of field: ",
29659            stringify!(_GParamSpecLong),
29660            "::",
29661            stringify!(maximum)
29662        )
29663    );
29664    assert_eq!(
29665        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
29666        88usize,
29667        concat!(
29668            "Offset of field: ",
29669            stringify!(_GParamSpecLong),
29670            "::",
29671            stringify!(default_value)
29672        )
29673    );
29674}
29675#[doc = " GParamSpecULong:\n @parent_instance: private #GParamSpec portion\n @minimum: minimum value for the property specified\n @maximum: maximum value for the property specified\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for unsigned long integer properties."]
29676#[repr(C)]
29677#[derive(Debug, Copy, Clone, PartialEq, Eq)]
29678pub struct _GParamSpecULong {
29679    pub parent_instance: GParamSpec,
29680    pub minimum: gulong,
29681    pub maximum: gulong,
29682    pub default_value: gulong,
29683}
29684#[test]
29685fn bindgen_test_layout__GParamSpecULong() {
29686    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecULong> = ::std::mem::MaybeUninit::uninit();
29687    let ptr = UNINIT.as_ptr();
29688    assert_eq!(
29689        ::std::mem::size_of::<_GParamSpecULong>(),
29690        96usize,
29691        concat!("Size of: ", stringify!(_GParamSpecULong))
29692    );
29693    assert_eq!(
29694        ::std::mem::align_of::<_GParamSpecULong>(),
29695        8usize,
29696        concat!("Alignment of ", stringify!(_GParamSpecULong))
29697    );
29698    assert_eq!(
29699        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
29700        0usize,
29701        concat!(
29702            "Offset of field: ",
29703            stringify!(_GParamSpecULong),
29704            "::",
29705            stringify!(parent_instance)
29706        )
29707    );
29708    assert_eq!(
29709        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
29710        72usize,
29711        concat!(
29712            "Offset of field: ",
29713            stringify!(_GParamSpecULong),
29714            "::",
29715            stringify!(minimum)
29716        )
29717    );
29718    assert_eq!(
29719        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
29720        80usize,
29721        concat!(
29722            "Offset of field: ",
29723            stringify!(_GParamSpecULong),
29724            "::",
29725            stringify!(maximum)
29726        )
29727    );
29728    assert_eq!(
29729        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
29730        88usize,
29731        concat!(
29732            "Offset of field: ",
29733            stringify!(_GParamSpecULong),
29734            "::",
29735            stringify!(default_value)
29736        )
29737    );
29738}
29739#[doc = " GParamSpecInt64:\n @parent_instance: private #GParamSpec portion\n @minimum: minimum value for the property specified\n @maximum: maximum value for the property specified\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for 64bit integer properties."]
29740#[repr(C)]
29741#[derive(Debug, Copy, Clone, PartialEq, Eq)]
29742pub struct _GParamSpecInt64 {
29743    pub parent_instance: GParamSpec,
29744    pub minimum: gint64,
29745    pub maximum: gint64,
29746    pub default_value: gint64,
29747}
29748#[test]
29749fn bindgen_test_layout__GParamSpecInt64() {
29750    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecInt64> = ::std::mem::MaybeUninit::uninit();
29751    let ptr = UNINIT.as_ptr();
29752    assert_eq!(
29753        ::std::mem::size_of::<_GParamSpecInt64>(),
29754        96usize,
29755        concat!("Size of: ", stringify!(_GParamSpecInt64))
29756    );
29757    assert_eq!(
29758        ::std::mem::align_of::<_GParamSpecInt64>(),
29759        8usize,
29760        concat!("Alignment of ", stringify!(_GParamSpecInt64))
29761    );
29762    assert_eq!(
29763        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
29764        0usize,
29765        concat!(
29766            "Offset of field: ",
29767            stringify!(_GParamSpecInt64),
29768            "::",
29769            stringify!(parent_instance)
29770        )
29771    );
29772    assert_eq!(
29773        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
29774        72usize,
29775        concat!(
29776            "Offset of field: ",
29777            stringify!(_GParamSpecInt64),
29778            "::",
29779            stringify!(minimum)
29780        )
29781    );
29782    assert_eq!(
29783        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
29784        80usize,
29785        concat!(
29786            "Offset of field: ",
29787            stringify!(_GParamSpecInt64),
29788            "::",
29789            stringify!(maximum)
29790        )
29791    );
29792    assert_eq!(
29793        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
29794        88usize,
29795        concat!(
29796            "Offset of field: ",
29797            stringify!(_GParamSpecInt64),
29798            "::",
29799            stringify!(default_value)
29800        )
29801    );
29802}
29803#[doc = " GParamSpecUInt64:\n @parent_instance: private #GParamSpec portion\n @minimum: minimum value for the property specified\n @maximum: maximum value for the property specified\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for unsigned 64bit integer properties."]
29804#[repr(C)]
29805#[derive(Debug, Copy, Clone, PartialEq, Eq)]
29806pub struct _GParamSpecUInt64 {
29807    pub parent_instance: GParamSpec,
29808    pub minimum: guint64,
29809    pub maximum: guint64,
29810    pub default_value: guint64,
29811}
29812#[test]
29813fn bindgen_test_layout__GParamSpecUInt64() {
29814    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecUInt64> = ::std::mem::MaybeUninit::uninit();
29815    let ptr = UNINIT.as_ptr();
29816    assert_eq!(
29817        ::std::mem::size_of::<_GParamSpecUInt64>(),
29818        96usize,
29819        concat!("Size of: ", stringify!(_GParamSpecUInt64))
29820    );
29821    assert_eq!(
29822        ::std::mem::align_of::<_GParamSpecUInt64>(),
29823        8usize,
29824        concat!("Alignment of ", stringify!(_GParamSpecUInt64))
29825    );
29826    assert_eq!(
29827        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
29828        0usize,
29829        concat!(
29830            "Offset of field: ",
29831            stringify!(_GParamSpecUInt64),
29832            "::",
29833            stringify!(parent_instance)
29834        )
29835    );
29836    assert_eq!(
29837        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
29838        72usize,
29839        concat!(
29840            "Offset of field: ",
29841            stringify!(_GParamSpecUInt64),
29842            "::",
29843            stringify!(minimum)
29844        )
29845    );
29846    assert_eq!(
29847        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
29848        80usize,
29849        concat!(
29850            "Offset of field: ",
29851            stringify!(_GParamSpecUInt64),
29852            "::",
29853            stringify!(maximum)
29854        )
29855    );
29856    assert_eq!(
29857        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
29858        88usize,
29859        concat!(
29860            "Offset of field: ",
29861            stringify!(_GParamSpecUInt64),
29862            "::",
29863            stringify!(default_value)
29864        )
29865    );
29866}
29867#[doc = " GParamSpecUnichar:\n @parent_instance: private #GParamSpec portion\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for unichar (unsigned integer) properties."]
29868#[repr(C)]
29869#[derive(Debug, Copy, Clone, PartialEq, Eq)]
29870pub struct _GParamSpecUnichar {
29871    pub parent_instance: GParamSpec,
29872    pub default_value: gunichar,
29873}
29874#[test]
29875fn bindgen_test_layout__GParamSpecUnichar() {
29876    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecUnichar> = ::std::mem::MaybeUninit::uninit();
29877    let ptr = UNINIT.as_ptr();
29878    assert_eq!(
29879        ::std::mem::size_of::<_GParamSpecUnichar>(),
29880        80usize,
29881        concat!("Size of: ", stringify!(_GParamSpecUnichar))
29882    );
29883    assert_eq!(
29884        ::std::mem::align_of::<_GParamSpecUnichar>(),
29885        8usize,
29886        concat!("Alignment of ", stringify!(_GParamSpecUnichar))
29887    );
29888    assert_eq!(
29889        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
29890        0usize,
29891        concat!(
29892            "Offset of field: ",
29893            stringify!(_GParamSpecUnichar),
29894            "::",
29895            stringify!(parent_instance)
29896        )
29897    );
29898    assert_eq!(
29899        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
29900        72usize,
29901        concat!(
29902            "Offset of field: ",
29903            stringify!(_GParamSpecUnichar),
29904            "::",
29905            stringify!(default_value)
29906        )
29907    );
29908}
29909#[doc = " GParamSpecEnum:\n @parent_instance: private #GParamSpec portion\n @enum_class: the #GEnumClass for the enum\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for enum\n properties."]
29910#[repr(C)]
29911#[derive(Debug, Copy, Clone, PartialEq, Eq)]
29912pub struct _GParamSpecEnum {
29913    pub parent_instance: GParamSpec,
29914    pub enum_class: *mut GEnumClass,
29915    pub default_value: gint,
29916}
29917#[test]
29918fn bindgen_test_layout__GParamSpecEnum() {
29919    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecEnum> = ::std::mem::MaybeUninit::uninit();
29920    let ptr = UNINIT.as_ptr();
29921    assert_eq!(
29922        ::std::mem::size_of::<_GParamSpecEnum>(),
29923        88usize,
29924        concat!("Size of: ", stringify!(_GParamSpecEnum))
29925    );
29926    assert_eq!(
29927        ::std::mem::align_of::<_GParamSpecEnum>(),
29928        8usize,
29929        concat!("Alignment of ", stringify!(_GParamSpecEnum))
29930    );
29931    assert_eq!(
29932        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
29933        0usize,
29934        concat!(
29935            "Offset of field: ",
29936            stringify!(_GParamSpecEnum),
29937            "::",
29938            stringify!(parent_instance)
29939        )
29940    );
29941    assert_eq!(
29942        unsafe { ::std::ptr::addr_of!((*ptr).enum_class) as usize - ptr as usize },
29943        72usize,
29944        concat!(
29945            "Offset of field: ",
29946            stringify!(_GParamSpecEnum),
29947            "::",
29948            stringify!(enum_class)
29949        )
29950    );
29951    assert_eq!(
29952        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
29953        80usize,
29954        concat!(
29955            "Offset of field: ",
29956            stringify!(_GParamSpecEnum),
29957            "::",
29958            stringify!(default_value)
29959        )
29960    );
29961}
29962#[doc = " GParamSpecFlags:\n @parent_instance: private #GParamSpec portion\n @flags_class: the #GFlagsClass for the flags\n @default_value: default value for the property specified\n\n A #GParamSpec derived structure that contains the meta data for flags\n properties."]
29963#[repr(C)]
29964#[derive(Debug, Copy, Clone, PartialEq, Eq)]
29965pub struct _GParamSpecFlags {
29966    pub parent_instance: GParamSpec,
29967    pub flags_class: *mut GFlagsClass,
29968    pub default_value: guint,
29969}
29970#[test]
29971fn bindgen_test_layout__GParamSpecFlags() {
29972    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecFlags> = ::std::mem::MaybeUninit::uninit();
29973    let ptr = UNINIT.as_ptr();
29974    assert_eq!(
29975        ::std::mem::size_of::<_GParamSpecFlags>(),
29976        88usize,
29977        concat!("Size of: ", stringify!(_GParamSpecFlags))
29978    );
29979    assert_eq!(
29980        ::std::mem::align_of::<_GParamSpecFlags>(),
29981        8usize,
29982        concat!("Alignment of ", stringify!(_GParamSpecFlags))
29983    );
29984    assert_eq!(
29985        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
29986        0usize,
29987        concat!(
29988            "Offset of field: ",
29989            stringify!(_GParamSpecFlags),
29990            "::",
29991            stringify!(parent_instance)
29992        )
29993    );
29994    assert_eq!(
29995        unsafe { ::std::ptr::addr_of!((*ptr).flags_class) as usize - ptr as usize },
29996        72usize,
29997        concat!(
29998            "Offset of field: ",
29999            stringify!(_GParamSpecFlags),
30000            "::",
30001            stringify!(flags_class)
30002        )
30003    );
30004    assert_eq!(
30005        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
30006        80usize,
30007        concat!(
30008            "Offset of field: ",
30009            stringify!(_GParamSpecFlags),
30010            "::",
30011            stringify!(default_value)
30012        )
30013    );
30014}
30015#[doc = " GParamSpecFloat:\n @parent_instance: private #GParamSpec portion\n @minimum: minimum value for the property specified\n @maximum: maximum value for the property specified\n @default_value: default value for the property specified\n @epsilon: values closer than @epsilon will be considered identical\n  by g_param_values_cmp(); the default value is 1e-30.\n\n A #GParamSpec derived structure that contains the meta data for float properties."]
30016#[repr(C)]
30017#[derive(Debug, Copy, Clone, PartialEq)]
30018pub struct _GParamSpecFloat {
30019    pub parent_instance: GParamSpec,
30020    pub minimum: gfloat,
30021    pub maximum: gfloat,
30022    pub default_value: gfloat,
30023    pub epsilon: gfloat,
30024}
30025#[test]
30026fn bindgen_test_layout__GParamSpecFloat() {
30027    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecFloat> = ::std::mem::MaybeUninit::uninit();
30028    let ptr = UNINIT.as_ptr();
30029    assert_eq!(
30030        ::std::mem::size_of::<_GParamSpecFloat>(),
30031        88usize,
30032        concat!("Size of: ", stringify!(_GParamSpecFloat))
30033    );
30034    assert_eq!(
30035        ::std::mem::align_of::<_GParamSpecFloat>(),
30036        8usize,
30037        concat!("Alignment of ", stringify!(_GParamSpecFloat))
30038    );
30039    assert_eq!(
30040        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
30041        0usize,
30042        concat!(
30043            "Offset of field: ",
30044            stringify!(_GParamSpecFloat),
30045            "::",
30046            stringify!(parent_instance)
30047        )
30048    );
30049    assert_eq!(
30050        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
30051        72usize,
30052        concat!(
30053            "Offset of field: ",
30054            stringify!(_GParamSpecFloat),
30055            "::",
30056            stringify!(minimum)
30057        )
30058    );
30059    assert_eq!(
30060        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
30061        76usize,
30062        concat!(
30063            "Offset of field: ",
30064            stringify!(_GParamSpecFloat),
30065            "::",
30066            stringify!(maximum)
30067        )
30068    );
30069    assert_eq!(
30070        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
30071        80usize,
30072        concat!(
30073            "Offset of field: ",
30074            stringify!(_GParamSpecFloat),
30075            "::",
30076            stringify!(default_value)
30077        )
30078    );
30079    assert_eq!(
30080        unsafe { ::std::ptr::addr_of!((*ptr).epsilon) as usize - ptr as usize },
30081        84usize,
30082        concat!(
30083            "Offset of field: ",
30084            stringify!(_GParamSpecFloat),
30085            "::",
30086            stringify!(epsilon)
30087        )
30088    );
30089}
30090#[doc = " GParamSpecDouble:\n @parent_instance: private #GParamSpec portion\n @minimum: minimum value for the property specified\n @maximum: maximum value for the property specified\n @default_value: default value for the property specified\n @epsilon: values closer than @epsilon will be considered identical\n  by g_param_values_cmp(); the default value is 1e-90.\n\n A #GParamSpec derived structure that contains the meta data for double properties."]
30091#[repr(C)]
30092#[derive(Debug, Copy, Clone, PartialEq)]
30093pub struct _GParamSpecDouble {
30094    pub parent_instance: GParamSpec,
30095    pub minimum: gdouble,
30096    pub maximum: gdouble,
30097    pub default_value: gdouble,
30098    pub epsilon: gdouble,
30099}
30100#[test]
30101fn bindgen_test_layout__GParamSpecDouble() {
30102    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecDouble> = ::std::mem::MaybeUninit::uninit();
30103    let ptr = UNINIT.as_ptr();
30104    assert_eq!(
30105        ::std::mem::size_of::<_GParamSpecDouble>(),
30106        104usize,
30107        concat!("Size of: ", stringify!(_GParamSpecDouble))
30108    );
30109    assert_eq!(
30110        ::std::mem::align_of::<_GParamSpecDouble>(),
30111        8usize,
30112        concat!("Alignment of ", stringify!(_GParamSpecDouble))
30113    );
30114    assert_eq!(
30115        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
30116        0usize,
30117        concat!(
30118            "Offset of field: ",
30119            stringify!(_GParamSpecDouble),
30120            "::",
30121            stringify!(parent_instance)
30122        )
30123    );
30124    assert_eq!(
30125        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
30126        72usize,
30127        concat!(
30128            "Offset of field: ",
30129            stringify!(_GParamSpecDouble),
30130            "::",
30131            stringify!(minimum)
30132        )
30133    );
30134    assert_eq!(
30135        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
30136        80usize,
30137        concat!(
30138            "Offset of field: ",
30139            stringify!(_GParamSpecDouble),
30140            "::",
30141            stringify!(maximum)
30142        )
30143    );
30144    assert_eq!(
30145        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
30146        88usize,
30147        concat!(
30148            "Offset of field: ",
30149            stringify!(_GParamSpecDouble),
30150            "::",
30151            stringify!(default_value)
30152        )
30153    );
30154    assert_eq!(
30155        unsafe { ::std::ptr::addr_of!((*ptr).epsilon) as usize - ptr as usize },
30156        96usize,
30157        concat!(
30158            "Offset of field: ",
30159            stringify!(_GParamSpecDouble),
30160            "::",
30161            stringify!(epsilon)
30162        )
30163    );
30164}
30165#[doc = " GParamSpecString:\n @parent_instance: private #GParamSpec portion\n @default_value: default value for the property specified\n @cset_first: a string containing the allowed values for the first byte\n @cset_nth: a string containing the allowed values for the subsequent bytes\n @substitutor: the replacement byte for bytes which don't match @cset_first or @cset_nth.\n @null_fold_if_empty: replace empty string by %NULL\n @ensure_non_null: replace %NULL strings by an empty string\n\n A #GParamSpec derived structure that contains the meta data for string\n properties."]
30166#[repr(C)]
30167#[derive(Debug, Copy, Clone, PartialEq, Eq)]
30168pub struct _GParamSpecString {
30169    pub parent_instance: GParamSpec,
30170    pub default_value: *mut gchar,
30171    pub cset_first: *mut gchar,
30172    pub cset_nth: *mut gchar,
30173    pub substitutor: gchar,
30174    pub _bitfield_align_1: [u8; 0],
30175    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
30176    pub __bindgen_padding_0: [u16; 3usize],
30177}
30178#[test]
30179fn bindgen_test_layout__GParamSpecString() {
30180    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecString> = ::std::mem::MaybeUninit::uninit();
30181    let ptr = UNINIT.as_ptr();
30182    assert_eq!(
30183        ::std::mem::size_of::<_GParamSpecString>(),
30184        104usize,
30185        concat!("Size of: ", stringify!(_GParamSpecString))
30186    );
30187    assert_eq!(
30188        ::std::mem::align_of::<_GParamSpecString>(),
30189        8usize,
30190        concat!("Alignment of ", stringify!(_GParamSpecString))
30191    );
30192    assert_eq!(
30193        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
30194        0usize,
30195        concat!(
30196            "Offset of field: ",
30197            stringify!(_GParamSpecString),
30198            "::",
30199            stringify!(parent_instance)
30200        )
30201    );
30202    assert_eq!(
30203        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
30204        72usize,
30205        concat!(
30206            "Offset of field: ",
30207            stringify!(_GParamSpecString),
30208            "::",
30209            stringify!(default_value)
30210        )
30211    );
30212    assert_eq!(
30213        unsafe { ::std::ptr::addr_of!((*ptr).cset_first) as usize - ptr as usize },
30214        80usize,
30215        concat!(
30216            "Offset of field: ",
30217            stringify!(_GParamSpecString),
30218            "::",
30219            stringify!(cset_first)
30220        )
30221    );
30222    assert_eq!(
30223        unsafe { ::std::ptr::addr_of!((*ptr).cset_nth) as usize - ptr as usize },
30224        88usize,
30225        concat!(
30226            "Offset of field: ",
30227            stringify!(_GParamSpecString),
30228            "::",
30229            stringify!(cset_nth)
30230        )
30231    );
30232    assert_eq!(
30233        unsafe { ::std::ptr::addr_of!((*ptr).substitutor) as usize - ptr as usize },
30234        96usize,
30235        concat!(
30236            "Offset of field: ",
30237            stringify!(_GParamSpecString),
30238            "::",
30239            stringify!(substitutor)
30240        )
30241    );
30242}
30243impl _GParamSpecString {
30244    #[inline]
30245    pub fn null_fold_if_empty(&self) -> guint {
30246        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
30247    }
30248    #[inline]
30249    pub fn set_null_fold_if_empty(&mut self, val: guint) {
30250        unsafe {
30251            let val: u32 = ::std::mem::transmute(val);
30252            self._bitfield_1.set(0usize, 1u8, val as u64)
30253        }
30254    }
30255    #[inline]
30256    pub fn ensure_non_null(&self) -> guint {
30257        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
30258    }
30259    #[inline]
30260    pub fn set_ensure_non_null(&mut self, val: guint) {
30261        unsafe {
30262            let val: u32 = ::std::mem::transmute(val);
30263            self._bitfield_1.set(1usize, 1u8, val as u64)
30264        }
30265    }
30266    #[inline]
30267    pub fn new_bitfield_1(
30268        null_fold_if_empty: guint,
30269        ensure_non_null: guint,
30270    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
30271        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
30272        __bindgen_bitfield_unit.set(0usize, 1u8, {
30273            let null_fold_if_empty: u32 = unsafe { ::std::mem::transmute(null_fold_if_empty) };
30274            null_fold_if_empty as u64
30275        });
30276        __bindgen_bitfield_unit.set(1usize, 1u8, {
30277            let ensure_non_null: u32 = unsafe { ::std::mem::transmute(ensure_non_null) };
30278            ensure_non_null as u64
30279        });
30280        __bindgen_bitfield_unit
30281    }
30282}
30283#[doc = " GParamSpecParam:\n @parent_instance: private #GParamSpec portion\n\n A #GParamSpec derived structure that contains the meta data for %G_TYPE_PARAM\n properties."]
30284#[repr(C)]
30285#[derive(Debug, Copy, Clone, PartialEq, Eq)]
30286pub struct _GParamSpecParam {
30287    pub parent_instance: GParamSpec,
30288}
30289#[test]
30290fn bindgen_test_layout__GParamSpecParam() {
30291    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecParam> = ::std::mem::MaybeUninit::uninit();
30292    let ptr = UNINIT.as_ptr();
30293    assert_eq!(
30294        ::std::mem::size_of::<_GParamSpecParam>(),
30295        72usize,
30296        concat!("Size of: ", stringify!(_GParamSpecParam))
30297    );
30298    assert_eq!(
30299        ::std::mem::align_of::<_GParamSpecParam>(),
30300        8usize,
30301        concat!("Alignment of ", stringify!(_GParamSpecParam))
30302    );
30303    assert_eq!(
30304        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
30305        0usize,
30306        concat!(
30307            "Offset of field: ",
30308            stringify!(_GParamSpecParam),
30309            "::",
30310            stringify!(parent_instance)
30311        )
30312    );
30313}
30314#[doc = " GParamSpecBoxed:\n @parent_instance: private #GParamSpec portion\n\n A #GParamSpec derived structure that contains the meta data for boxed properties."]
30315#[repr(C)]
30316#[derive(Debug, Copy, Clone, PartialEq, Eq)]
30317pub struct _GParamSpecBoxed {
30318    pub parent_instance: GParamSpec,
30319}
30320#[test]
30321fn bindgen_test_layout__GParamSpecBoxed() {
30322    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecBoxed> = ::std::mem::MaybeUninit::uninit();
30323    let ptr = UNINIT.as_ptr();
30324    assert_eq!(
30325        ::std::mem::size_of::<_GParamSpecBoxed>(),
30326        72usize,
30327        concat!("Size of: ", stringify!(_GParamSpecBoxed))
30328    );
30329    assert_eq!(
30330        ::std::mem::align_of::<_GParamSpecBoxed>(),
30331        8usize,
30332        concat!("Alignment of ", stringify!(_GParamSpecBoxed))
30333    );
30334    assert_eq!(
30335        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
30336        0usize,
30337        concat!(
30338            "Offset of field: ",
30339            stringify!(_GParamSpecBoxed),
30340            "::",
30341            stringify!(parent_instance)
30342        )
30343    );
30344}
30345#[doc = " GParamSpecPointer:\n @parent_instance: private #GParamSpec portion\n\n A #GParamSpec derived structure that contains the meta data for pointer properties."]
30346#[repr(C)]
30347#[derive(Debug, Copy, Clone, PartialEq, Eq)]
30348pub struct _GParamSpecPointer {
30349    pub parent_instance: GParamSpec,
30350}
30351#[test]
30352fn bindgen_test_layout__GParamSpecPointer() {
30353    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecPointer> = ::std::mem::MaybeUninit::uninit();
30354    let ptr = UNINIT.as_ptr();
30355    assert_eq!(
30356        ::std::mem::size_of::<_GParamSpecPointer>(),
30357        72usize,
30358        concat!("Size of: ", stringify!(_GParamSpecPointer))
30359    );
30360    assert_eq!(
30361        ::std::mem::align_of::<_GParamSpecPointer>(),
30362        8usize,
30363        concat!("Alignment of ", stringify!(_GParamSpecPointer))
30364    );
30365    assert_eq!(
30366        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
30367        0usize,
30368        concat!(
30369            "Offset of field: ",
30370            stringify!(_GParamSpecPointer),
30371            "::",
30372            stringify!(parent_instance)
30373        )
30374    );
30375}
30376#[doc = " GParamSpecValueArray:\n @parent_instance: private #GParamSpec portion\n @element_spec: a #GParamSpec describing the elements contained in arrays of this property, may be %NULL\n @fixed_n_elements: if greater than 0, arrays of this property will always have this many elements\n\n A #GParamSpec derived structure that contains the meta data for #GValueArray properties."]
30377#[repr(C)]
30378#[derive(Debug, Copy, Clone, PartialEq, Eq)]
30379pub struct _GParamSpecValueArray {
30380    pub parent_instance: GParamSpec,
30381    pub element_spec: *mut GParamSpec,
30382    pub fixed_n_elements: guint,
30383}
30384#[test]
30385fn bindgen_test_layout__GParamSpecValueArray() {
30386    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecValueArray> =
30387        ::std::mem::MaybeUninit::uninit();
30388    let ptr = UNINIT.as_ptr();
30389    assert_eq!(
30390        ::std::mem::size_of::<_GParamSpecValueArray>(),
30391        88usize,
30392        concat!("Size of: ", stringify!(_GParamSpecValueArray))
30393    );
30394    assert_eq!(
30395        ::std::mem::align_of::<_GParamSpecValueArray>(),
30396        8usize,
30397        concat!("Alignment of ", stringify!(_GParamSpecValueArray))
30398    );
30399    assert_eq!(
30400        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
30401        0usize,
30402        concat!(
30403            "Offset of field: ",
30404            stringify!(_GParamSpecValueArray),
30405            "::",
30406            stringify!(parent_instance)
30407        )
30408    );
30409    assert_eq!(
30410        unsafe { ::std::ptr::addr_of!((*ptr).element_spec) as usize - ptr as usize },
30411        72usize,
30412        concat!(
30413            "Offset of field: ",
30414            stringify!(_GParamSpecValueArray),
30415            "::",
30416            stringify!(element_spec)
30417        )
30418    );
30419    assert_eq!(
30420        unsafe { ::std::ptr::addr_of!((*ptr).fixed_n_elements) as usize - ptr as usize },
30421        80usize,
30422        concat!(
30423            "Offset of field: ",
30424            stringify!(_GParamSpecValueArray),
30425            "::",
30426            stringify!(fixed_n_elements)
30427        )
30428    );
30429}
30430#[doc = " GParamSpecObject:\n @parent_instance: private #GParamSpec portion\n\n A #GParamSpec derived structure that contains the meta data for object properties."]
30431#[repr(C)]
30432#[derive(Debug, Copy, Clone, PartialEq, Eq)]
30433pub struct _GParamSpecObject {
30434    pub parent_instance: GParamSpec,
30435}
30436#[test]
30437fn bindgen_test_layout__GParamSpecObject() {
30438    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecObject> = ::std::mem::MaybeUninit::uninit();
30439    let ptr = UNINIT.as_ptr();
30440    assert_eq!(
30441        ::std::mem::size_of::<_GParamSpecObject>(),
30442        72usize,
30443        concat!("Size of: ", stringify!(_GParamSpecObject))
30444    );
30445    assert_eq!(
30446        ::std::mem::align_of::<_GParamSpecObject>(),
30447        8usize,
30448        concat!("Alignment of ", stringify!(_GParamSpecObject))
30449    );
30450    assert_eq!(
30451        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
30452        0usize,
30453        concat!(
30454            "Offset of field: ",
30455            stringify!(_GParamSpecObject),
30456            "::",
30457            stringify!(parent_instance)
30458        )
30459    );
30460}
30461#[doc = " GParamSpecOverride:\n\n A #GParamSpec derived structure that redirects operations to\n other types of #GParamSpec.\n\n All operations other than getting or setting the value are redirected,\n including accessing the nick and blurb, validating a value, and so\n forth.\n\n See g_param_spec_get_redirect_target() for retrieving the overridden\n property. #GParamSpecOverride is used in implementing\n g_object_class_override_property(), and will not be directly useful\n unless you are implementing a new base type similar to GObject.\n\n Since: 2.4"]
30462#[repr(C)]
30463#[derive(Debug, Copy, Clone, PartialEq, Eq)]
30464pub struct _GParamSpecOverride {
30465    pub parent_instance: GParamSpec,
30466    pub overridden: *mut GParamSpec,
30467}
30468#[test]
30469fn bindgen_test_layout__GParamSpecOverride() {
30470    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecOverride> = ::std::mem::MaybeUninit::uninit();
30471    let ptr = UNINIT.as_ptr();
30472    assert_eq!(
30473        ::std::mem::size_of::<_GParamSpecOverride>(),
30474        80usize,
30475        concat!("Size of: ", stringify!(_GParamSpecOverride))
30476    );
30477    assert_eq!(
30478        ::std::mem::align_of::<_GParamSpecOverride>(),
30479        8usize,
30480        concat!("Alignment of ", stringify!(_GParamSpecOverride))
30481    );
30482    assert_eq!(
30483        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
30484        0usize,
30485        concat!(
30486            "Offset of field: ",
30487            stringify!(_GParamSpecOverride),
30488            "::",
30489            stringify!(parent_instance)
30490        )
30491    );
30492    assert_eq!(
30493        unsafe { ::std::ptr::addr_of!((*ptr).overridden) as usize - ptr as usize },
30494        72usize,
30495        concat!(
30496            "Offset of field: ",
30497            stringify!(_GParamSpecOverride),
30498            "::",
30499            stringify!(overridden)
30500        )
30501    );
30502}
30503#[doc = " GParamSpecGType:\n @parent_instance: private #GParamSpec portion\n @is_a_type: a #GType whose subtypes can occur as values\n\n A #GParamSpec derived structure that contains the meta data for #GType properties.\n\n Since: 2.10"]
30504#[repr(C)]
30505#[derive(Debug, Copy, Clone, PartialEq, Eq)]
30506pub struct _GParamSpecGType {
30507    pub parent_instance: GParamSpec,
30508    pub is_a_type: GType,
30509}
30510#[test]
30511fn bindgen_test_layout__GParamSpecGType() {
30512    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecGType> = ::std::mem::MaybeUninit::uninit();
30513    let ptr = UNINIT.as_ptr();
30514    assert_eq!(
30515        ::std::mem::size_of::<_GParamSpecGType>(),
30516        80usize,
30517        concat!("Size of: ", stringify!(_GParamSpecGType))
30518    );
30519    assert_eq!(
30520        ::std::mem::align_of::<_GParamSpecGType>(),
30521        8usize,
30522        concat!("Alignment of ", stringify!(_GParamSpecGType))
30523    );
30524    assert_eq!(
30525        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
30526        0usize,
30527        concat!(
30528            "Offset of field: ",
30529            stringify!(_GParamSpecGType),
30530            "::",
30531            stringify!(parent_instance)
30532        )
30533    );
30534    assert_eq!(
30535        unsafe { ::std::ptr::addr_of!((*ptr).is_a_type) as usize - ptr as usize },
30536        72usize,
30537        concat!(
30538            "Offset of field: ",
30539            stringify!(_GParamSpecGType),
30540            "::",
30541            stringify!(is_a_type)
30542        )
30543    );
30544}
30545#[doc = " GParamSpecVariant:\n @parent_instance: private #GParamSpec portion\n @type: a #GVariantType, or %NULL\n @default_value: a #GVariant, or %NULL\n\n A #GParamSpec derived structure that contains the meta data for #GVariant properties.\n\n When comparing values with g_param_values_cmp(), scalar values with the same\n type will be compared with g_variant_compare(). Other non-%NULL variants will\n be checked for equality with g_variant_equal(), and their sort order is\n otherwise undefined. %NULL is ordered before non-%NULL variants. Two %NULL\n values compare equal.\n\n Since: 2.26"]
30546#[repr(C)]
30547#[derive(Debug, Copy, Clone, PartialEq, Eq)]
30548pub struct _GParamSpecVariant {
30549    pub parent_instance: GParamSpec,
30550    pub type_: *mut GVariantType,
30551    pub default_value: *mut GVariant,
30552    pub padding: [gpointer; 4usize],
30553}
30554#[test]
30555fn bindgen_test_layout__GParamSpecVariant() {
30556    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecVariant> = ::std::mem::MaybeUninit::uninit();
30557    let ptr = UNINIT.as_ptr();
30558    assert_eq!(
30559        ::std::mem::size_of::<_GParamSpecVariant>(),
30560        120usize,
30561        concat!("Size of: ", stringify!(_GParamSpecVariant))
30562    );
30563    assert_eq!(
30564        ::std::mem::align_of::<_GParamSpecVariant>(),
30565        8usize,
30566        concat!("Alignment of ", stringify!(_GParamSpecVariant))
30567    );
30568    assert_eq!(
30569        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
30570        0usize,
30571        concat!(
30572            "Offset of field: ",
30573            stringify!(_GParamSpecVariant),
30574            "::",
30575            stringify!(parent_instance)
30576        )
30577    );
30578    assert_eq!(
30579        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
30580        72usize,
30581        concat!(
30582            "Offset of field: ",
30583            stringify!(_GParamSpecVariant),
30584            "::",
30585            stringify!(type_)
30586        )
30587    );
30588    assert_eq!(
30589        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
30590        80usize,
30591        concat!(
30592            "Offset of field: ",
30593            stringify!(_GParamSpecVariant),
30594            "::",
30595            stringify!(default_value)
30596        )
30597    );
30598    assert_eq!(
30599        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
30600        88usize,
30601        concat!(
30602            "Offset of field: ",
30603            stringify!(_GParamSpecVariant),
30604            "::",
30605            stringify!(padding)
30606        )
30607    );
30608}
30609extern "C" {
30610    pub fn g_param_spec_char(
30611        name: *const gchar,
30612        nick: *const gchar,
30613        blurb: *const gchar,
30614        minimum: gint8,
30615        maximum: gint8,
30616        default_value: gint8,
30617        flags: GParamFlags,
30618    ) -> *mut GParamSpec;
30619}
30620extern "C" {
30621    pub fn g_param_spec_uchar(
30622        name: *const gchar,
30623        nick: *const gchar,
30624        blurb: *const gchar,
30625        minimum: guint8,
30626        maximum: guint8,
30627        default_value: guint8,
30628        flags: GParamFlags,
30629    ) -> *mut GParamSpec;
30630}
30631extern "C" {
30632    pub fn g_param_spec_boolean(
30633        name: *const gchar,
30634        nick: *const gchar,
30635        blurb: *const gchar,
30636        default_value: gboolean,
30637        flags: GParamFlags,
30638    ) -> *mut GParamSpec;
30639}
30640extern "C" {
30641    pub fn g_param_spec_int(
30642        name: *const gchar,
30643        nick: *const gchar,
30644        blurb: *const gchar,
30645        minimum: gint,
30646        maximum: gint,
30647        default_value: gint,
30648        flags: GParamFlags,
30649    ) -> *mut GParamSpec;
30650}
30651extern "C" {
30652    pub fn g_param_spec_uint(
30653        name: *const gchar,
30654        nick: *const gchar,
30655        blurb: *const gchar,
30656        minimum: guint,
30657        maximum: guint,
30658        default_value: guint,
30659        flags: GParamFlags,
30660    ) -> *mut GParamSpec;
30661}
30662extern "C" {
30663    pub fn g_param_spec_long(
30664        name: *const gchar,
30665        nick: *const gchar,
30666        blurb: *const gchar,
30667        minimum: glong,
30668        maximum: glong,
30669        default_value: glong,
30670        flags: GParamFlags,
30671    ) -> *mut GParamSpec;
30672}
30673extern "C" {
30674    pub fn g_param_spec_ulong(
30675        name: *const gchar,
30676        nick: *const gchar,
30677        blurb: *const gchar,
30678        minimum: gulong,
30679        maximum: gulong,
30680        default_value: gulong,
30681        flags: GParamFlags,
30682    ) -> *mut GParamSpec;
30683}
30684extern "C" {
30685    pub fn g_param_spec_int64(
30686        name: *const gchar,
30687        nick: *const gchar,
30688        blurb: *const gchar,
30689        minimum: gint64,
30690        maximum: gint64,
30691        default_value: gint64,
30692        flags: GParamFlags,
30693    ) -> *mut GParamSpec;
30694}
30695extern "C" {
30696    pub fn g_param_spec_uint64(
30697        name: *const gchar,
30698        nick: *const gchar,
30699        blurb: *const gchar,
30700        minimum: guint64,
30701        maximum: guint64,
30702        default_value: guint64,
30703        flags: GParamFlags,
30704    ) -> *mut GParamSpec;
30705}
30706extern "C" {
30707    pub fn g_param_spec_unichar(
30708        name: *const gchar,
30709        nick: *const gchar,
30710        blurb: *const gchar,
30711        default_value: gunichar,
30712        flags: GParamFlags,
30713    ) -> *mut GParamSpec;
30714}
30715extern "C" {
30716    pub fn g_param_spec_enum(
30717        name: *const gchar,
30718        nick: *const gchar,
30719        blurb: *const gchar,
30720        enum_type: GType,
30721        default_value: gint,
30722        flags: GParamFlags,
30723    ) -> *mut GParamSpec;
30724}
30725extern "C" {
30726    pub fn g_param_spec_flags(
30727        name: *const gchar,
30728        nick: *const gchar,
30729        blurb: *const gchar,
30730        flags_type: GType,
30731        default_value: guint,
30732        flags: GParamFlags,
30733    ) -> *mut GParamSpec;
30734}
30735extern "C" {
30736    pub fn g_param_spec_float(
30737        name: *const gchar,
30738        nick: *const gchar,
30739        blurb: *const gchar,
30740        minimum: gfloat,
30741        maximum: gfloat,
30742        default_value: gfloat,
30743        flags: GParamFlags,
30744    ) -> *mut GParamSpec;
30745}
30746extern "C" {
30747    pub fn g_param_spec_double(
30748        name: *const gchar,
30749        nick: *const gchar,
30750        blurb: *const gchar,
30751        minimum: gdouble,
30752        maximum: gdouble,
30753        default_value: gdouble,
30754        flags: GParamFlags,
30755    ) -> *mut GParamSpec;
30756}
30757extern "C" {
30758    pub fn g_param_spec_string(
30759        name: *const gchar,
30760        nick: *const gchar,
30761        blurb: *const gchar,
30762        default_value: *const gchar,
30763        flags: GParamFlags,
30764    ) -> *mut GParamSpec;
30765}
30766extern "C" {
30767    pub fn g_param_spec_param(
30768        name: *const gchar,
30769        nick: *const gchar,
30770        blurb: *const gchar,
30771        param_type: GType,
30772        flags: GParamFlags,
30773    ) -> *mut GParamSpec;
30774}
30775extern "C" {
30776    pub fn g_param_spec_boxed(
30777        name: *const gchar,
30778        nick: *const gchar,
30779        blurb: *const gchar,
30780        boxed_type: GType,
30781        flags: GParamFlags,
30782    ) -> *mut GParamSpec;
30783}
30784extern "C" {
30785    pub fn g_param_spec_pointer(
30786        name: *const gchar,
30787        nick: *const gchar,
30788        blurb: *const gchar,
30789        flags: GParamFlags,
30790    ) -> *mut GParamSpec;
30791}
30792extern "C" {
30793    pub fn g_param_spec_value_array(
30794        name: *const gchar,
30795        nick: *const gchar,
30796        blurb: *const gchar,
30797        element_spec: *mut GParamSpec,
30798        flags: GParamFlags,
30799    ) -> *mut GParamSpec;
30800}
30801extern "C" {
30802    pub fn g_param_spec_object(
30803        name: *const gchar,
30804        nick: *const gchar,
30805        blurb: *const gchar,
30806        object_type: GType,
30807        flags: GParamFlags,
30808    ) -> *mut GParamSpec;
30809}
30810extern "C" {
30811    pub fn g_param_spec_override(
30812        name: *const gchar,
30813        overridden: *mut GParamSpec,
30814    ) -> *mut GParamSpec;
30815}
30816extern "C" {
30817    pub fn g_param_spec_gtype(
30818        name: *const gchar,
30819        nick: *const gchar,
30820        blurb: *const gchar,
30821        is_a_type: GType,
30822        flags: GParamFlags,
30823    ) -> *mut GParamSpec;
30824}
30825extern "C" {
30826    pub fn g_param_spec_variant(
30827        name: *const gchar,
30828        nick: *const gchar,
30829        blurb: *const gchar,
30830        type_: *const GVariantType,
30831        default_value: *mut GVariant,
30832        flags: GParamFlags,
30833    ) -> *mut GParamSpec;
30834}
30835extern "C" {
30836    pub static mut g_param_spec_types: *mut GType;
30837}
30838#[repr(C)]
30839#[derive(Debug, Copy, Clone)]
30840pub struct _GSignalGroup {
30841    _unused: [u8; 0],
30842}
30843#[doc = " GSignalGroup:\n\n #GSignalGroup is an opaque structure whose members\n cannot be accessed directly.\n\n Since: 2.72"]
30844pub type GSignalGroup = _GSignalGroup;
30845extern "C" {
30846    pub fn g_signal_group_get_type() -> GType;
30847}
30848extern "C" {
30849    pub fn g_signal_group_new(target_type: GType) -> *mut GSignalGroup;
30850}
30851extern "C" {
30852    pub fn g_signal_group_set_target(self_: *mut GSignalGroup, target: gpointer);
30853}
30854extern "C" {
30855    pub fn g_signal_group_dup_target(self_: *mut GSignalGroup) -> gpointer;
30856}
30857extern "C" {
30858    pub fn g_signal_group_block(self_: *mut GSignalGroup);
30859}
30860extern "C" {
30861    pub fn g_signal_group_unblock(self_: *mut GSignalGroup);
30862}
30863extern "C" {
30864    pub fn g_signal_group_connect_closure(
30865        self_: *mut GSignalGroup,
30866        detailed_signal: *const gchar,
30867        closure: *mut GClosure,
30868        after: gboolean,
30869    );
30870}
30871extern "C" {
30872    pub fn g_signal_group_connect_object(
30873        self_: *mut GSignalGroup,
30874        detailed_signal: *const gchar,
30875        c_handler: GCallback,
30876        object: gpointer,
30877        flags: GConnectFlags,
30878    );
30879}
30880extern "C" {
30881    pub fn g_signal_group_connect_data(
30882        self_: *mut GSignalGroup,
30883        detailed_signal: *const gchar,
30884        c_handler: GCallback,
30885        data: gpointer,
30886        notify: GClosureNotify,
30887        flags: GConnectFlags,
30888    );
30889}
30890extern "C" {
30891    pub fn g_signal_group_connect(
30892        self_: *mut GSignalGroup,
30893        detailed_signal: *const gchar,
30894        c_handler: GCallback,
30895        data: gpointer,
30896    );
30897}
30898extern "C" {
30899    pub fn g_signal_group_connect_after(
30900        self_: *mut GSignalGroup,
30901        detailed_signal: *const gchar,
30902        c_handler: GCallback,
30903        data: gpointer,
30904    );
30905}
30906extern "C" {
30907    pub fn g_signal_group_connect_swapped(
30908        self_: *mut GSignalGroup,
30909        detailed_signal: *const gchar,
30910        c_handler: GCallback,
30911        data: gpointer,
30912    );
30913}
30914extern "C" {
30915    pub fn g_source_set_closure(source: *mut GSource, closure: *mut GClosure);
30916}
30917extern "C" {
30918    pub fn g_source_set_dummy_callback(source: *mut GSource);
30919}
30920#[doc = " GTypeModule:\n @name: the name of the module\n\n The members of the GTypeModule structure should not\n be accessed directly, except for the @name field."]
30921pub type GTypeModule = _GTypeModule;
30922#[doc = " GTypeModuleClass:\n @parent_class: the parent class\n @load: loads the module and registers one or more types using\n  g_type_module_register_type().\n @unload: unloads the module\n\n In order to implement dynamic loading of types based on #GTypeModule,\n the @load and @unload functions in #GTypeModuleClass must be implemented."]
30923pub type GTypeModuleClass = _GTypeModuleClass;
30924pub type GTypeModule_autoptr = *mut GTypeModule;
30925pub type GTypeModule_listautoptr = *mut GList;
30926pub type GTypeModule_slistautoptr = *mut GSList;
30927pub type GTypeModule_queueautoptr = *mut GQueue;
30928#[doc = " GTypeModule:\n @name: the name of the module\n\n The members of the GTypeModule structure should not\n be accessed directly, except for the @name field."]
30929#[repr(C)]
30930#[derive(Debug, Copy, Clone, PartialEq, Eq)]
30931pub struct _GTypeModule {
30932    pub parent_instance: GObject,
30933    pub use_count: guint,
30934    pub type_infos: *mut GSList,
30935    pub interface_infos: *mut GSList,
30936    pub name: *mut gchar,
30937}
30938#[test]
30939fn bindgen_test_layout__GTypeModule() {
30940    const UNINIT: ::std::mem::MaybeUninit<_GTypeModule> = ::std::mem::MaybeUninit::uninit();
30941    let ptr = UNINIT.as_ptr();
30942    assert_eq!(
30943        ::std::mem::size_of::<_GTypeModule>(),
30944        56usize,
30945        concat!("Size of: ", stringify!(_GTypeModule))
30946    );
30947    assert_eq!(
30948        ::std::mem::align_of::<_GTypeModule>(),
30949        8usize,
30950        concat!("Alignment of ", stringify!(_GTypeModule))
30951    );
30952    assert_eq!(
30953        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
30954        0usize,
30955        concat!(
30956            "Offset of field: ",
30957            stringify!(_GTypeModule),
30958            "::",
30959            stringify!(parent_instance)
30960        )
30961    );
30962    assert_eq!(
30963        unsafe { ::std::ptr::addr_of!((*ptr).use_count) as usize - ptr as usize },
30964        24usize,
30965        concat!(
30966            "Offset of field: ",
30967            stringify!(_GTypeModule),
30968            "::",
30969            stringify!(use_count)
30970        )
30971    );
30972    assert_eq!(
30973        unsafe { ::std::ptr::addr_of!((*ptr).type_infos) as usize - ptr as usize },
30974        32usize,
30975        concat!(
30976            "Offset of field: ",
30977            stringify!(_GTypeModule),
30978            "::",
30979            stringify!(type_infos)
30980        )
30981    );
30982    assert_eq!(
30983        unsafe { ::std::ptr::addr_of!((*ptr).interface_infos) as usize - ptr as usize },
30984        40usize,
30985        concat!(
30986            "Offset of field: ",
30987            stringify!(_GTypeModule),
30988            "::",
30989            stringify!(interface_infos)
30990        )
30991    );
30992    assert_eq!(
30993        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
30994        48usize,
30995        concat!(
30996            "Offset of field: ",
30997            stringify!(_GTypeModule),
30998            "::",
30999            stringify!(name)
31000        )
31001    );
31002}
31003#[doc = " GTypeModuleClass:\n @parent_class: the parent class\n @load: loads the module and registers one or more types using\n  g_type_module_register_type().\n @unload: unloads the module\n\n In order to implement dynamic loading of types based on #GTypeModule,\n the @load and @unload functions in #GTypeModuleClass must be implemented."]
31004#[repr(C)]
31005#[derive(Debug, Copy, Clone, PartialEq, Eq)]
31006pub struct _GTypeModuleClass {
31007    pub parent_class: GObjectClass,
31008    pub load: ::std::option::Option<unsafe extern "C" fn(module: *mut GTypeModule) -> gboolean>,
31009    pub unload: ::std::option::Option<unsafe extern "C" fn(module: *mut GTypeModule)>,
31010    pub reserved1: ::std::option::Option<unsafe extern "C" fn()>,
31011    pub reserved2: ::std::option::Option<unsafe extern "C" fn()>,
31012    pub reserved3: ::std::option::Option<unsafe extern "C" fn()>,
31013    pub reserved4: ::std::option::Option<unsafe extern "C" fn()>,
31014}
31015#[test]
31016fn bindgen_test_layout__GTypeModuleClass() {
31017    const UNINIT: ::std::mem::MaybeUninit<_GTypeModuleClass> = ::std::mem::MaybeUninit::uninit();
31018    let ptr = UNINIT.as_ptr();
31019    assert_eq!(
31020        ::std::mem::size_of::<_GTypeModuleClass>(),
31021        184usize,
31022        concat!("Size of: ", stringify!(_GTypeModuleClass))
31023    );
31024    assert_eq!(
31025        ::std::mem::align_of::<_GTypeModuleClass>(),
31026        8usize,
31027        concat!("Alignment of ", stringify!(_GTypeModuleClass))
31028    );
31029    assert_eq!(
31030        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
31031        0usize,
31032        concat!(
31033            "Offset of field: ",
31034            stringify!(_GTypeModuleClass),
31035            "::",
31036            stringify!(parent_class)
31037        )
31038    );
31039    assert_eq!(
31040        unsafe { ::std::ptr::addr_of!((*ptr).load) as usize - ptr as usize },
31041        136usize,
31042        concat!(
31043            "Offset of field: ",
31044            stringify!(_GTypeModuleClass),
31045            "::",
31046            stringify!(load)
31047        )
31048    );
31049    assert_eq!(
31050        unsafe { ::std::ptr::addr_of!((*ptr).unload) as usize - ptr as usize },
31051        144usize,
31052        concat!(
31053            "Offset of field: ",
31054            stringify!(_GTypeModuleClass),
31055            "::",
31056            stringify!(unload)
31057        )
31058    );
31059    assert_eq!(
31060        unsafe { ::std::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
31061        152usize,
31062        concat!(
31063            "Offset of field: ",
31064            stringify!(_GTypeModuleClass),
31065            "::",
31066            stringify!(reserved1)
31067        )
31068    );
31069    assert_eq!(
31070        unsafe { ::std::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
31071        160usize,
31072        concat!(
31073            "Offset of field: ",
31074            stringify!(_GTypeModuleClass),
31075            "::",
31076            stringify!(reserved2)
31077        )
31078    );
31079    assert_eq!(
31080        unsafe { ::std::ptr::addr_of!((*ptr).reserved3) as usize - ptr as usize },
31081        168usize,
31082        concat!(
31083            "Offset of field: ",
31084            stringify!(_GTypeModuleClass),
31085            "::",
31086            stringify!(reserved3)
31087        )
31088    );
31089    assert_eq!(
31090        unsafe { ::std::ptr::addr_of!((*ptr).reserved4) as usize - ptr as usize },
31091        176usize,
31092        concat!(
31093            "Offset of field: ",
31094            stringify!(_GTypeModuleClass),
31095            "::",
31096            stringify!(reserved4)
31097        )
31098    );
31099}
31100extern "C" {
31101    pub fn g_type_module_get_type() -> GType;
31102}
31103extern "C" {
31104    pub fn g_type_module_use(module: *mut GTypeModule) -> gboolean;
31105}
31106extern "C" {
31107    pub fn g_type_module_unuse(module: *mut GTypeModule);
31108}
31109extern "C" {
31110    pub fn g_type_module_set_name(module: *mut GTypeModule, name: *const gchar);
31111}
31112extern "C" {
31113    pub fn g_type_module_register_type(
31114        module: *mut GTypeModule,
31115        parent_type: GType,
31116        type_name: *const gchar,
31117        type_info: *const GTypeInfo,
31118        flags: GTypeFlags,
31119    ) -> GType;
31120}
31121extern "C" {
31122    pub fn g_type_module_add_interface(
31123        module: *mut GTypeModule,
31124        instance_type: GType,
31125        interface_type: GType,
31126        interface_info: *const GInterfaceInfo,
31127    );
31128}
31129extern "C" {
31130    pub fn g_type_module_register_enum(
31131        module: *mut GTypeModule,
31132        name: *const gchar,
31133        const_static_values: *const GEnumValue,
31134    ) -> GType;
31135}
31136extern "C" {
31137    pub fn g_type_module_register_flags(
31138        module: *mut GTypeModule,
31139        name: *const gchar,
31140        const_static_values: *const GFlagsValue,
31141    ) -> GType;
31142}
31143#[doc = " GTypePlugin:\n\n The GTypePlugin typedef is used as a placeholder\n for objects that implement the GTypePlugin interface.\n/\n/**\n GTypePluginClass:\n @use_plugin: Increases the use count of the plugin.\n @unuse_plugin: Decreases the use count of the plugin.\n @complete_type_info: Fills in the #GTypeInfo and\n  #GTypeValueTable structs for the type. The structs are initialized\n  with `memset(s, 0, sizeof (s))` before calling this function.\n @complete_interface_info: Fills in missing parts of the #GInterfaceInfo\n  for the interface. The structs is initialized with\n  `memset(s, 0, sizeof (s))` before calling this function.\n\n The #GTypePlugin interface is used by the type system in order to handle\n the lifecycle of dynamically loaded types."]
31144pub type GTypePluginClass = _GTypePluginClass;
31145#[doc = " GTypePluginUse:\n @plugin: the #GTypePlugin whose use count should be increased\n\n The type of the @use_plugin function of #GTypePluginClass, which gets called\n to increase the use count of @plugin."]
31146pub type GTypePluginUse = ::std::option::Option<unsafe extern "C" fn(plugin: *mut GTypePlugin)>;
31147#[doc = " GTypePluginUnuse:\n @plugin: the #GTypePlugin whose use count should be decreased\n\n The type of the @unuse_plugin function of #GTypePluginClass."]
31148pub type GTypePluginUnuse = ::std::option::Option<unsafe extern "C" fn(plugin: *mut GTypePlugin)>;
31149#[doc = " GTypePluginCompleteTypeInfo:\n @plugin: the #GTypePlugin\n @g_type: the #GType whose info is completed\n @info: the #GTypeInfo struct to fill in\n @value_table: the #GTypeValueTable to fill in\n\n The type of the @complete_type_info function of #GTypePluginClass."]
31150pub type GTypePluginCompleteTypeInfo = ::std::option::Option<
31151    unsafe extern "C" fn(
31152        plugin: *mut GTypePlugin,
31153        g_type: GType,
31154        info: *mut GTypeInfo,
31155        value_table: *mut GTypeValueTable,
31156    ),
31157>;
31158#[doc = " GTypePluginCompleteInterfaceInfo:\n @plugin: the #GTypePlugin\n @instance_type: the #GType of an instantiatable type to which the interface\n  is added\n @interface_type: the #GType of the interface whose info is completed\n @info: the #GInterfaceInfo to fill in\n\n The type of the @complete_interface_info function of #GTypePluginClass."]
31159pub type GTypePluginCompleteInterfaceInfo = ::std::option::Option<
31160    unsafe extern "C" fn(
31161        plugin: *mut GTypePlugin,
31162        instance_type: GType,
31163        interface_type: GType,
31164        info: *mut GInterfaceInfo,
31165    ),
31166>;
31167#[doc = " GTypePlugin:\n\n The GTypePlugin typedef is used as a placeholder\n for objects that implement the GTypePlugin interface.\n/\n/**\n GTypePluginClass:\n @use_plugin: Increases the use count of the plugin.\n @unuse_plugin: Decreases the use count of the plugin.\n @complete_type_info: Fills in the #GTypeInfo and\n  #GTypeValueTable structs for the type. The structs are initialized\n  with `memset(s, 0, sizeof (s))` before calling this function.\n @complete_interface_info: Fills in missing parts of the #GInterfaceInfo\n  for the interface. The structs is initialized with\n  `memset(s, 0, sizeof (s))` before calling this function.\n\n The #GTypePlugin interface is used by the type system in order to handle\n the lifecycle of dynamically loaded types."]
31168#[repr(C)]
31169#[derive(Debug, Copy, Clone, PartialEq, Eq)]
31170pub struct _GTypePluginClass {
31171    pub base_iface: GTypeInterface,
31172    pub use_plugin: GTypePluginUse,
31173    pub unuse_plugin: GTypePluginUnuse,
31174    pub complete_type_info: GTypePluginCompleteTypeInfo,
31175    pub complete_interface_info: GTypePluginCompleteInterfaceInfo,
31176}
31177#[test]
31178fn bindgen_test_layout__GTypePluginClass() {
31179    const UNINIT: ::std::mem::MaybeUninit<_GTypePluginClass> = ::std::mem::MaybeUninit::uninit();
31180    let ptr = UNINIT.as_ptr();
31181    assert_eq!(
31182        ::std::mem::size_of::<_GTypePluginClass>(),
31183        48usize,
31184        concat!("Size of: ", stringify!(_GTypePluginClass))
31185    );
31186    assert_eq!(
31187        ::std::mem::align_of::<_GTypePluginClass>(),
31188        8usize,
31189        concat!("Alignment of ", stringify!(_GTypePluginClass))
31190    );
31191    assert_eq!(
31192        unsafe { ::std::ptr::addr_of!((*ptr).base_iface) as usize - ptr as usize },
31193        0usize,
31194        concat!(
31195            "Offset of field: ",
31196            stringify!(_GTypePluginClass),
31197            "::",
31198            stringify!(base_iface)
31199        )
31200    );
31201    assert_eq!(
31202        unsafe { ::std::ptr::addr_of!((*ptr).use_plugin) as usize - ptr as usize },
31203        16usize,
31204        concat!(
31205            "Offset of field: ",
31206            stringify!(_GTypePluginClass),
31207            "::",
31208            stringify!(use_plugin)
31209        )
31210    );
31211    assert_eq!(
31212        unsafe { ::std::ptr::addr_of!((*ptr).unuse_plugin) as usize - ptr as usize },
31213        24usize,
31214        concat!(
31215            "Offset of field: ",
31216            stringify!(_GTypePluginClass),
31217            "::",
31218            stringify!(unuse_plugin)
31219        )
31220    );
31221    assert_eq!(
31222        unsafe { ::std::ptr::addr_of!((*ptr).complete_type_info) as usize - ptr as usize },
31223        32usize,
31224        concat!(
31225            "Offset of field: ",
31226            stringify!(_GTypePluginClass),
31227            "::",
31228            stringify!(complete_type_info)
31229        )
31230    );
31231    assert_eq!(
31232        unsafe { ::std::ptr::addr_of!((*ptr).complete_interface_info) as usize - ptr as usize },
31233        40usize,
31234        concat!(
31235            "Offset of field: ",
31236            stringify!(_GTypePluginClass),
31237            "::",
31238            stringify!(complete_interface_info)
31239        )
31240    );
31241}
31242extern "C" {
31243    pub fn g_type_plugin_get_type() -> GType;
31244}
31245extern "C" {
31246    pub fn g_type_plugin_use(plugin: *mut GTypePlugin);
31247}
31248extern "C" {
31249    pub fn g_type_plugin_unuse(plugin: *mut GTypePlugin);
31250}
31251extern "C" {
31252    pub fn g_type_plugin_complete_type_info(
31253        plugin: *mut GTypePlugin,
31254        g_type: GType,
31255        info: *mut GTypeInfo,
31256        value_table: *mut GTypeValueTable,
31257    );
31258}
31259extern "C" {
31260    pub fn g_type_plugin_complete_interface_info(
31261        plugin: *mut GTypePlugin,
31262        instance_type: GType,
31263        interface_type: GType,
31264        info: *mut GInterfaceInfo,
31265    );
31266}
31267#[doc = " GValueArray:\n @n_values: number of values contained in the array\n @values: array of values\n\n A #GValueArray contains an array of #GValue elements."]
31268pub type GValueArray = _GValueArray;
31269#[doc = " GValueArray:\n @n_values: number of values contained in the array\n @values: array of values\n\n A #GValueArray contains an array of #GValue elements."]
31270#[repr(C)]
31271#[derive(Debug, Copy, Clone, PartialEq, Eq)]
31272pub struct _GValueArray {
31273    pub n_values: guint,
31274    pub values: *mut GValue,
31275    pub n_prealloced: guint,
31276}
31277#[test]
31278fn bindgen_test_layout__GValueArray() {
31279    const UNINIT: ::std::mem::MaybeUninit<_GValueArray> = ::std::mem::MaybeUninit::uninit();
31280    let ptr = UNINIT.as_ptr();
31281    assert_eq!(
31282        ::std::mem::size_of::<_GValueArray>(),
31283        24usize,
31284        concat!("Size of: ", stringify!(_GValueArray))
31285    );
31286    assert_eq!(
31287        ::std::mem::align_of::<_GValueArray>(),
31288        8usize,
31289        concat!("Alignment of ", stringify!(_GValueArray))
31290    );
31291    assert_eq!(
31292        unsafe { ::std::ptr::addr_of!((*ptr).n_values) as usize - ptr as usize },
31293        0usize,
31294        concat!(
31295            "Offset of field: ",
31296            stringify!(_GValueArray),
31297            "::",
31298            stringify!(n_values)
31299        )
31300    );
31301    assert_eq!(
31302        unsafe { ::std::ptr::addr_of!((*ptr).values) as usize - ptr as usize },
31303        8usize,
31304        concat!(
31305            "Offset of field: ",
31306            stringify!(_GValueArray),
31307            "::",
31308            stringify!(values)
31309        )
31310    );
31311    assert_eq!(
31312        unsafe { ::std::ptr::addr_of!((*ptr).n_prealloced) as usize - ptr as usize },
31313        16usize,
31314        concat!(
31315            "Offset of field: ",
31316            stringify!(_GValueArray),
31317            "::",
31318            stringify!(n_prealloced)
31319        )
31320    );
31321}
31322extern "C" {
31323    pub fn g_value_array_get_type() -> GType;
31324}
31325extern "C" {
31326    pub fn g_value_array_get_nth(value_array: *mut GValueArray, index_: guint) -> *mut GValue;
31327}
31328extern "C" {
31329    pub fn g_value_array_new(n_prealloced: guint) -> *mut GValueArray;
31330}
31331extern "C" {
31332    pub fn g_value_array_free(value_array: *mut GValueArray);
31333}
31334extern "C" {
31335    pub fn g_value_array_copy(value_array: *const GValueArray) -> *mut GValueArray;
31336}
31337extern "C" {
31338    pub fn g_value_array_prepend(
31339        value_array: *mut GValueArray,
31340        value: *const GValue,
31341    ) -> *mut GValueArray;
31342}
31343extern "C" {
31344    pub fn g_value_array_append(
31345        value_array: *mut GValueArray,
31346        value: *const GValue,
31347    ) -> *mut GValueArray;
31348}
31349extern "C" {
31350    pub fn g_value_array_insert(
31351        value_array: *mut GValueArray,
31352        index_: guint,
31353        value: *const GValue,
31354    ) -> *mut GValueArray;
31355}
31356extern "C" {
31357    pub fn g_value_array_remove(value_array: *mut GValueArray, index_: guint) -> *mut GValueArray;
31358}
31359extern "C" {
31360    pub fn g_value_array_sort(
31361        value_array: *mut GValueArray,
31362        compare_func: GCompareFunc,
31363    ) -> *mut GValueArray;
31364}
31365extern "C" {
31366    pub fn g_value_array_sort_with_data(
31367        value_array: *mut GValueArray,
31368        compare_func: GCompareDataFunc,
31369        user_data: gpointer,
31370    ) -> *mut GValueArray;
31371}
31372extern "C" {
31373    pub fn g_value_set_char(value: *mut GValue, v_char: gchar);
31374}
31375extern "C" {
31376    pub fn g_value_get_char(value: *const GValue) -> gchar;
31377}
31378extern "C" {
31379    pub fn g_value_set_schar(value: *mut GValue, v_char: gint8);
31380}
31381extern "C" {
31382    pub fn g_value_get_schar(value: *const GValue) -> gint8;
31383}
31384extern "C" {
31385    pub fn g_value_set_uchar(value: *mut GValue, v_uchar: guchar);
31386}
31387extern "C" {
31388    pub fn g_value_get_uchar(value: *const GValue) -> guchar;
31389}
31390extern "C" {
31391    pub fn g_value_set_boolean(value: *mut GValue, v_boolean: gboolean);
31392}
31393extern "C" {
31394    pub fn g_value_get_boolean(value: *const GValue) -> gboolean;
31395}
31396extern "C" {
31397    pub fn g_value_set_int(value: *mut GValue, v_int: gint);
31398}
31399extern "C" {
31400    pub fn g_value_get_int(value: *const GValue) -> gint;
31401}
31402extern "C" {
31403    pub fn g_value_set_uint(value: *mut GValue, v_uint: guint);
31404}
31405extern "C" {
31406    pub fn g_value_get_uint(value: *const GValue) -> guint;
31407}
31408extern "C" {
31409    pub fn g_value_set_long(value: *mut GValue, v_long: glong);
31410}
31411extern "C" {
31412    pub fn g_value_get_long(value: *const GValue) -> glong;
31413}
31414extern "C" {
31415    pub fn g_value_set_ulong(value: *mut GValue, v_ulong: gulong);
31416}
31417extern "C" {
31418    pub fn g_value_get_ulong(value: *const GValue) -> gulong;
31419}
31420extern "C" {
31421    pub fn g_value_set_int64(value: *mut GValue, v_int64: gint64);
31422}
31423extern "C" {
31424    pub fn g_value_get_int64(value: *const GValue) -> gint64;
31425}
31426extern "C" {
31427    pub fn g_value_set_uint64(value: *mut GValue, v_uint64: guint64);
31428}
31429extern "C" {
31430    pub fn g_value_get_uint64(value: *const GValue) -> guint64;
31431}
31432extern "C" {
31433    pub fn g_value_set_float(value: *mut GValue, v_float: gfloat);
31434}
31435extern "C" {
31436    pub fn g_value_get_float(value: *const GValue) -> gfloat;
31437}
31438extern "C" {
31439    pub fn g_value_set_double(value: *mut GValue, v_double: gdouble);
31440}
31441extern "C" {
31442    pub fn g_value_get_double(value: *const GValue) -> gdouble;
31443}
31444extern "C" {
31445    pub fn g_value_set_string(value: *mut GValue, v_string: *const gchar);
31446}
31447extern "C" {
31448    pub fn g_value_set_static_string(value: *mut GValue, v_string: *const gchar);
31449}
31450extern "C" {
31451    pub fn g_value_set_interned_string(value: *mut GValue, v_string: *const gchar);
31452}
31453extern "C" {
31454    pub fn g_value_get_string(value: *const GValue) -> *const gchar;
31455}
31456extern "C" {
31457    pub fn g_value_dup_string(value: *const GValue) -> *mut gchar;
31458}
31459extern "C" {
31460    pub fn g_value_set_pointer(value: *mut GValue, v_pointer: gpointer);
31461}
31462extern "C" {
31463    pub fn g_value_get_pointer(value: *const GValue) -> gpointer;
31464}
31465extern "C" {
31466    pub fn g_gtype_get_type() -> GType;
31467}
31468extern "C" {
31469    pub fn g_value_set_gtype(value: *mut GValue, v_gtype: GType);
31470}
31471extern "C" {
31472    pub fn g_value_get_gtype(value: *const GValue) -> GType;
31473}
31474extern "C" {
31475    pub fn g_value_set_variant(value: *mut GValue, variant: *mut GVariant);
31476}
31477extern "C" {
31478    pub fn g_value_take_variant(value: *mut GValue, variant: *mut GVariant);
31479}
31480extern "C" {
31481    pub fn g_value_get_variant(value: *const GValue) -> *mut GVariant;
31482}
31483extern "C" {
31484    pub fn g_value_dup_variant(value: *const GValue) -> *mut GVariant;
31485}
31486extern "C" {
31487    pub fn g_pointer_type_register_static(name: *const gchar) -> GType;
31488}
31489extern "C" {
31490    pub fn g_strdup_value_contents(value: *const GValue) -> *mut gchar;
31491}
31492extern "C" {
31493    pub fn g_value_take_string(value: *mut GValue, v_string: *mut gchar);
31494}
31495extern "C" {
31496    pub fn g_value_set_string_take_ownership(value: *mut GValue, v_string: *mut gchar);
31497}
31498#[doc = " gchararray:\n\n A C representable type name for %G_TYPE_STRING."]
31499pub type gchararray = *mut gchar;
31500pub type GClosure_autoptr = *mut GClosure;
31501pub type GClosure_listautoptr = *mut GList;
31502pub type GClosure_slistautoptr = *mut GSList;
31503pub type GClosure_queueautoptr = *mut GQueue;
31504pub type GEnumClass_autoptr = *mut GEnumClass;
31505pub type GEnumClass_listautoptr = *mut GList;
31506pub type GEnumClass_slistautoptr = *mut GSList;
31507pub type GEnumClass_queueautoptr = *mut GQueue;
31508pub type GFlagsClass_autoptr = *mut GFlagsClass;
31509pub type GFlagsClass_listautoptr = *mut GList;
31510pub type GFlagsClass_slistautoptr = *mut GSList;
31511pub type GFlagsClass_queueautoptr = *mut GQueue;
31512pub type GObject_autoptr = *mut GObject;
31513pub type GObject_listautoptr = *mut GList;
31514pub type GObject_slistautoptr = *mut GSList;
31515pub type GObject_queueautoptr = *mut GQueue;
31516pub type GInitiallyUnowned_autoptr = *mut GInitiallyUnowned;
31517pub type GInitiallyUnowned_listautoptr = *mut GList;
31518pub type GInitiallyUnowned_slistautoptr = *mut GSList;
31519pub type GInitiallyUnowned_queueautoptr = *mut GQueue;
31520pub type GParamSpec_autoptr = *mut GParamSpec;
31521pub type GParamSpec_listautoptr = *mut GList;
31522pub type GParamSpec_slistautoptr = *mut GSList;
31523pub type GParamSpec_queueautoptr = *mut GQueue;
31524pub type GTypeClass_autoptr = *mut GTypeClass;
31525pub type GTypeClass_listautoptr = *mut GList;
31526pub type GTypeClass_slistautoptr = *mut GSList;
31527pub type GTypeClass_queueautoptr = *mut GQueue;
31528pub const GAppInfoCreateFlags_G_APP_INFO_CREATE_NONE: GAppInfoCreateFlags = 0;
31529pub const GAppInfoCreateFlags_G_APP_INFO_CREATE_NEEDS_TERMINAL: GAppInfoCreateFlags = 1;
31530pub const GAppInfoCreateFlags_G_APP_INFO_CREATE_SUPPORTS_URIS: GAppInfoCreateFlags = 2;
31531pub const GAppInfoCreateFlags_G_APP_INFO_CREATE_SUPPORTS_STARTUP_NOTIFICATION: GAppInfoCreateFlags =
31532    4;
31533#[doc = " GAppInfoCreateFlags:\n @G_APP_INFO_CREATE_NONE: No flags.\n @G_APP_INFO_CREATE_NEEDS_TERMINAL: Application opens in a terminal window.\n @G_APP_INFO_CREATE_SUPPORTS_URIS: Application supports URI arguments.\n @G_APP_INFO_CREATE_SUPPORTS_STARTUP_NOTIFICATION: Application supports startup notification. Since 2.26\n\n Flags used when creating a #GAppInfo."]
31534pub type GAppInfoCreateFlags = ::std::os::raw::c_uint;
31535pub const GConverterFlags_G_CONVERTER_NO_FLAGS: GConverterFlags = 0;
31536pub const GConverterFlags_G_CONVERTER_INPUT_AT_END: GConverterFlags = 1;
31537pub const GConverterFlags_G_CONVERTER_FLUSH: GConverterFlags = 2;
31538#[doc = " GConverterFlags:\n @G_CONVERTER_NO_FLAGS: No flags.\n @G_CONVERTER_INPUT_AT_END: At end of input data\n @G_CONVERTER_FLUSH: Flush data\n\n Flags used when calling a g_converter_convert().\n\n Since: 2.24"]
31539pub type GConverterFlags = ::std::os::raw::c_uint;
31540pub const GConverterResult_G_CONVERTER_ERROR: GConverterResult = 0;
31541pub const GConverterResult_G_CONVERTER_CONVERTED: GConverterResult = 1;
31542pub const GConverterResult_G_CONVERTER_FINISHED: GConverterResult = 2;
31543pub const GConverterResult_G_CONVERTER_FLUSHED: GConverterResult = 3;
31544#[doc = " GConverterResult:\n @G_CONVERTER_ERROR: There was an error during conversion.\n @G_CONVERTER_CONVERTED: Some data was consumed or produced\n @G_CONVERTER_FINISHED: The conversion is finished\n @G_CONVERTER_FLUSHED: Flushing is finished\n\n Results returned from g_converter_convert().\n\n Since: 2.24"]
31545pub type GConverterResult = ::std::os::raw::c_uint;
31546pub const GDataStreamByteOrder_G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN: GDataStreamByteOrder = 0;
31547pub const GDataStreamByteOrder_G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN: GDataStreamByteOrder = 1;
31548pub const GDataStreamByteOrder_G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN: GDataStreamByteOrder = 2;
31549#[doc = " GDataStreamByteOrder:\n @G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN: Selects Big Endian byte order.\n @G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN: Selects Little Endian byte order.\n @G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN: Selects endianness based on host machine's architecture.\n\n #GDataStreamByteOrder is used to ensure proper endianness of streaming data sources\n across various machine architectures.\n"]
31550pub type GDataStreamByteOrder = ::std::os::raw::c_uint;
31551pub const GDataStreamNewlineType_G_DATA_STREAM_NEWLINE_TYPE_LF: GDataStreamNewlineType = 0;
31552pub const GDataStreamNewlineType_G_DATA_STREAM_NEWLINE_TYPE_CR: GDataStreamNewlineType = 1;
31553pub const GDataStreamNewlineType_G_DATA_STREAM_NEWLINE_TYPE_CR_LF: GDataStreamNewlineType = 2;
31554pub const GDataStreamNewlineType_G_DATA_STREAM_NEWLINE_TYPE_ANY: GDataStreamNewlineType = 3;
31555#[doc = " GDataStreamNewlineType:\n @G_DATA_STREAM_NEWLINE_TYPE_LF: Selects \"LF\" line endings, common on most modern UNIX platforms.\n @G_DATA_STREAM_NEWLINE_TYPE_CR: Selects \"CR\" line endings.\n @G_DATA_STREAM_NEWLINE_TYPE_CR_LF: Selects \"CR, LF\" line ending, common on Microsoft Windows.\n @G_DATA_STREAM_NEWLINE_TYPE_ANY: Automatically try to handle any line ending type.\n\n #GDataStreamNewlineType is used when checking for or setting the line endings for a given file."]
31556pub type GDataStreamNewlineType = ::std::os::raw::c_uint;
31557pub const GFileAttributeType_G_FILE_ATTRIBUTE_TYPE_INVALID: GFileAttributeType = 0;
31558pub const GFileAttributeType_G_FILE_ATTRIBUTE_TYPE_STRING: GFileAttributeType = 1;
31559pub const GFileAttributeType_G_FILE_ATTRIBUTE_TYPE_BYTE_STRING: GFileAttributeType = 2;
31560pub const GFileAttributeType_G_FILE_ATTRIBUTE_TYPE_BOOLEAN: GFileAttributeType = 3;
31561pub const GFileAttributeType_G_FILE_ATTRIBUTE_TYPE_UINT32: GFileAttributeType = 4;
31562pub const GFileAttributeType_G_FILE_ATTRIBUTE_TYPE_INT32: GFileAttributeType = 5;
31563pub const GFileAttributeType_G_FILE_ATTRIBUTE_TYPE_UINT64: GFileAttributeType = 6;
31564pub const GFileAttributeType_G_FILE_ATTRIBUTE_TYPE_INT64: GFileAttributeType = 7;
31565pub const GFileAttributeType_G_FILE_ATTRIBUTE_TYPE_OBJECT: GFileAttributeType = 8;
31566pub const GFileAttributeType_G_FILE_ATTRIBUTE_TYPE_STRINGV: GFileAttributeType = 9;
31567#[doc = " GFileAttributeType:\n @G_FILE_ATTRIBUTE_TYPE_INVALID: indicates an invalid or uninitialized type.\n @G_FILE_ATTRIBUTE_TYPE_STRING: a null terminated UTF8 string.\n @G_FILE_ATTRIBUTE_TYPE_BYTE_STRING: a zero terminated string of non-zero bytes.\n @G_FILE_ATTRIBUTE_TYPE_BOOLEAN: a boolean value.\n @G_FILE_ATTRIBUTE_TYPE_UINT32: an unsigned 4-byte/32-bit integer.\n @G_FILE_ATTRIBUTE_TYPE_INT32: a signed 4-byte/32-bit integer.\n @G_FILE_ATTRIBUTE_TYPE_UINT64: an unsigned 8-byte/64-bit integer.\n @G_FILE_ATTRIBUTE_TYPE_INT64: a signed 8-byte/64-bit integer.\n @G_FILE_ATTRIBUTE_TYPE_OBJECT: a #GObject.\n @G_FILE_ATTRIBUTE_TYPE_STRINGV: a %NULL terminated char **. Since 2.22\n\n The data types for file attributes."]
31568pub type GFileAttributeType = ::std::os::raw::c_uint;
31569pub const GFileAttributeInfoFlags_G_FILE_ATTRIBUTE_INFO_NONE: GFileAttributeInfoFlags = 0;
31570pub const GFileAttributeInfoFlags_G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE: GFileAttributeInfoFlags = 1;
31571pub const GFileAttributeInfoFlags_G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED: GFileAttributeInfoFlags =
31572    2;
31573#[doc = " GFileAttributeInfoFlags:\n @G_FILE_ATTRIBUTE_INFO_NONE: no flags set.\n @G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE: copy the attribute values when the file is copied.\n @G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED: copy the attribute values when the file is moved.\n\n Flags specifying the behaviour of an attribute."]
31574pub type GFileAttributeInfoFlags = ::std::os::raw::c_uint;
31575pub const GFileAttributeStatus_G_FILE_ATTRIBUTE_STATUS_UNSET: GFileAttributeStatus = 0;
31576pub const GFileAttributeStatus_G_FILE_ATTRIBUTE_STATUS_SET: GFileAttributeStatus = 1;
31577pub const GFileAttributeStatus_G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING: GFileAttributeStatus = 2;
31578#[doc = " GFileAttributeStatus:\n @G_FILE_ATTRIBUTE_STATUS_UNSET: Attribute value is unset (empty).\n @G_FILE_ATTRIBUTE_STATUS_SET: Attribute value is set.\n @G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING: Indicates an error in setting the value.\n\n Used by g_file_set_attributes_from_info() when setting file attributes."]
31579pub type GFileAttributeStatus = ::std::os::raw::c_uint;
31580pub const GFileQueryInfoFlags_G_FILE_QUERY_INFO_NONE: GFileQueryInfoFlags = 0;
31581pub const GFileQueryInfoFlags_G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS: GFileQueryInfoFlags = 1;
31582#[doc = " GFileQueryInfoFlags:\n @G_FILE_QUERY_INFO_NONE: No flags set.\n @G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS: Don't follow symlinks.\n\n Flags used when querying a #GFileInfo."]
31583pub type GFileQueryInfoFlags = ::std::os::raw::c_uint;
31584pub const GFileCreateFlags_G_FILE_CREATE_NONE: GFileCreateFlags = 0;
31585pub const GFileCreateFlags_G_FILE_CREATE_PRIVATE: GFileCreateFlags = 1;
31586pub const GFileCreateFlags_G_FILE_CREATE_REPLACE_DESTINATION: GFileCreateFlags = 2;
31587#[doc = " GFileCreateFlags:\n @G_FILE_CREATE_NONE: No flags set.\n @G_FILE_CREATE_PRIVATE: Create a file that can only be\n    accessed by the current user.\n @G_FILE_CREATE_REPLACE_DESTINATION: Replace the destination\n    as if it didn't exist before. Don't try to keep any old\n    permissions, replace instead of following links. This\n    is generally useful if you're doing a \"copy over\"\n    rather than a \"save new version of\" replace operation.\n    You can think of it as \"unlink destination\" before\n    writing to it, although the implementation may not\n    be exactly like that. This flag can only be used with\n    g_file_replace() and its variants, including g_file_replace_contents().\n    Since 2.20\n\n Flags used when an operation may create a file."]
31588pub type GFileCreateFlags = ::std::os::raw::c_uint;
31589pub const GFileMeasureFlags_G_FILE_MEASURE_NONE: GFileMeasureFlags = 0;
31590pub const GFileMeasureFlags_G_FILE_MEASURE_REPORT_ANY_ERROR: GFileMeasureFlags = 2;
31591pub const GFileMeasureFlags_G_FILE_MEASURE_APPARENT_SIZE: GFileMeasureFlags = 4;
31592pub const GFileMeasureFlags_G_FILE_MEASURE_NO_XDEV: GFileMeasureFlags = 8;
31593#[doc = " GFileMeasureFlags:\n @G_FILE_MEASURE_NONE: No flags set.\n @G_FILE_MEASURE_REPORT_ANY_ERROR: Report any error encountered\n   while traversing the directory tree.  Normally errors are only\n   reported for the toplevel file.\n @G_FILE_MEASURE_APPARENT_SIZE: Tally usage based on apparent file\n   sizes.  Normally, the block-size is used, if available, as this is a\n   more accurate representation of disk space used.\n   Compare with `du --apparent-size`.\n   Since GLib 2.78. and similarly to `du` since GNU Coreutils 9.2, this will\n   ignore the sizes of file types other than regular files and links, as the\n   sizes of other file types are not specified in a standard way.\n @G_FILE_MEASURE_NO_XDEV: Do not cross mount point boundaries.\n   Compare with `du -x`.\n\n Flags that can be used with g_file_measure_disk_usage().\n\n Since: 2.38"]
31594pub type GFileMeasureFlags = ::std::os::raw::c_uint;
31595pub const GMountMountFlags_G_MOUNT_MOUNT_NONE: GMountMountFlags = 0;
31596#[doc = " GMountMountFlags:\n @G_MOUNT_MOUNT_NONE: No flags set.\n\n Flags used when mounting a mount."]
31597pub type GMountMountFlags = ::std::os::raw::c_uint;
31598pub const GMountUnmountFlags_G_MOUNT_UNMOUNT_NONE: GMountUnmountFlags = 0;
31599pub const GMountUnmountFlags_G_MOUNT_UNMOUNT_FORCE: GMountUnmountFlags = 1;
31600#[doc = " GMountUnmountFlags:\n @G_MOUNT_UNMOUNT_NONE: No flags set.\n @G_MOUNT_UNMOUNT_FORCE: Unmount even if there are outstanding\n  file operations on the mount.\n\n Flags used when an unmounting a mount."]
31601pub type GMountUnmountFlags = ::std::os::raw::c_uint;
31602pub const GDriveStartFlags_G_DRIVE_START_NONE: GDriveStartFlags = 0;
31603#[doc = " GDriveStartFlags:\n @G_DRIVE_START_NONE: No flags set.\n\n Flags used when starting a drive.\n\n Since: 2.22"]
31604pub type GDriveStartFlags = ::std::os::raw::c_uint;
31605pub const GDriveStartStopType_G_DRIVE_START_STOP_TYPE_UNKNOWN: GDriveStartStopType = 0;
31606pub const GDriveStartStopType_G_DRIVE_START_STOP_TYPE_SHUTDOWN: GDriveStartStopType = 1;
31607pub const GDriveStartStopType_G_DRIVE_START_STOP_TYPE_NETWORK: GDriveStartStopType = 2;
31608pub const GDriveStartStopType_G_DRIVE_START_STOP_TYPE_MULTIDISK: GDriveStartStopType = 3;
31609pub const GDriveStartStopType_G_DRIVE_START_STOP_TYPE_PASSWORD: GDriveStartStopType = 4;
31610#[doc = " GDriveStartStopType:\n @G_DRIVE_START_STOP_TYPE_UNKNOWN: Unknown or drive doesn't support\n    start/stop.\n @G_DRIVE_START_STOP_TYPE_SHUTDOWN: The stop method will physically\n    shut down the drive and e.g. power down the port the drive is\n    attached to.\n @G_DRIVE_START_STOP_TYPE_NETWORK: The start/stop methods are used\n    for connecting/disconnect to the drive over the network.\n @G_DRIVE_START_STOP_TYPE_MULTIDISK: The start/stop methods will\n    assemble/disassemble a virtual drive from several physical\n    drives.\n @G_DRIVE_START_STOP_TYPE_PASSWORD: The start/stop methods will\n    unlock/lock the disk (for example using the ATA <quote>SECURITY\n    UNLOCK DEVICE</quote> command)\n\n Enumeration describing how a drive can be started/stopped.\n\n Since: 2.22"]
31611pub type GDriveStartStopType = ::std::os::raw::c_uint;
31612pub const GFileCopyFlags_G_FILE_COPY_NONE: GFileCopyFlags = 0;
31613pub const GFileCopyFlags_G_FILE_COPY_OVERWRITE: GFileCopyFlags = 1;
31614pub const GFileCopyFlags_G_FILE_COPY_BACKUP: GFileCopyFlags = 2;
31615pub const GFileCopyFlags_G_FILE_COPY_NOFOLLOW_SYMLINKS: GFileCopyFlags = 4;
31616pub const GFileCopyFlags_G_FILE_COPY_ALL_METADATA: GFileCopyFlags = 8;
31617pub const GFileCopyFlags_G_FILE_COPY_NO_FALLBACK_FOR_MOVE: GFileCopyFlags = 16;
31618pub const GFileCopyFlags_G_FILE_COPY_TARGET_DEFAULT_PERMS: GFileCopyFlags = 32;
31619#[doc = " GFileCopyFlags:\n @G_FILE_COPY_NONE: No flags set.\n @G_FILE_COPY_OVERWRITE: Overwrite any existing files\n @G_FILE_COPY_BACKUP: Make a backup of any existing files.\n @G_FILE_COPY_NOFOLLOW_SYMLINKS: Don't follow symlinks.\n @G_FILE_COPY_ALL_METADATA: Copy all file metadata instead of just default set used for copy (see #GFileInfo).\n @G_FILE_COPY_NO_FALLBACK_FOR_MOVE: Don't use copy and delete fallback if native move not supported.\n @G_FILE_COPY_TARGET_DEFAULT_PERMS: Leaves target file with default perms, instead of setting the source file perms.\n\n Flags used when copying or moving files."]
31620pub type GFileCopyFlags = ::std::os::raw::c_uint;
31621pub const GFileMonitorFlags_G_FILE_MONITOR_NONE: GFileMonitorFlags = 0;
31622pub const GFileMonitorFlags_G_FILE_MONITOR_WATCH_MOUNTS: GFileMonitorFlags = 1;
31623pub const GFileMonitorFlags_G_FILE_MONITOR_SEND_MOVED: GFileMonitorFlags = 2;
31624pub const GFileMonitorFlags_G_FILE_MONITOR_WATCH_HARD_LINKS: GFileMonitorFlags = 4;
31625pub const GFileMonitorFlags_G_FILE_MONITOR_WATCH_MOVES: GFileMonitorFlags = 8;
31626#[doc = " GFileMonitorFlags:\n @G_FILE_MONITOR_NONE: No flags set.\n @G_FILE_MONITOR_WATCH_MOUNTS: Watch for mount events.\n @G_FILE_MONITOR_SEND_MOVED: Pair DELETED and CREATED events caused\n   by file renames (moves) and send a single G_FILE_MONITOR_EVENT_MOVED\n   event instead (NB: not supported on all backends; the default\n   behaviour -without specifying this flag- is to send single DELETED\n   and CREATED events).  Deprecated since 2.46: use\n   %G_FILE_MONITOR_WATCH_MOVES instead.\n @G_FILE_MONITOR_WATCH_HARD_LINKS: Watch for changes to the file made\n   via another hard link. Since 2.36.\n @G_FILE_MONITOR_WATCH_MOVES: Watch for rename operations on a\n   monitored directory.  This causes %G_FILE_MONITOR_EVENT_RENAMED,\n   %G_FILE_MONITOR_EVENT_MOVED_IN and %G_FILE_MONITOR_EVENT_MOVED_OUT\n   events to be emitted when possible.  Since: 2.46.\n\n Flags used to set what a #GFileMonitor will watch for."]
31627pub type GFileMonitorFlags = ::std::os::raw::c_uint;
31628pub const GFileType_G_FILE_TYPE_UNKNOWN: GFileType = 0;
31629pub const GFileType_G_FILE_TYPE_REGULAR: GFileType = 1;
31630pub const GFileType_G_FILE_TYPE_DIRECTORY: GFileType = 2;
31631pub const GFileType_G_FILE_TYPE_SYMBOLIC_LINK: GFileType = 3;
31632pub const GFileType_G_FILE_TYPE_SPECIAL: GFileType = 4;
31633pub const GFileType_G_FILE_TYPE_SHORTCUT: GFileType = 5;
31634pub const GFileType_G_FILE_TYPE_MOUNTABLE: GFileType = 6;
31635#[doc = " GFileType:\n @G_FILE_TYPE_UNKNOWN: File's type is unknown.\n @G_FILE_TYPE_REGULAR: File handle represents a regular file.\n @G_FILE_TYPE_DIRECTORY: File handle represents a directory.\n @G_FILE_TYPE_SYMBOLIC_LINK: File handle represents a symbolic link\n    (Unix systems).\n @G_FILE_TYPE_SPECIAL: File is a \"special\" file, such as a socket, fifo,\n    block device, or character device.\n @G_FILE_TYPE_SHORTCUT: File is a shortcut (Windows systems).\n @G_FILE_TYPE_MOUNTABLE: File is a mountable location.\n\n Indicates the file's on-disk type.\n\n On Windows systems a file will never have %G_FILE_TYPE_SYMBOLIC_LINK type;\n use #GFileInfo and %G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK to determine\n whether a file is a symlink or not. This is due to the fact that NTFS does\n not have a single filesystem object type for symbolic links - it has\n files that symlink to files, and directories that symlink to directories.\n #GFileType enumeration cannot precisely represent this important distinction,\n which is why all Windows symlinks will continue to be reported as\n %G_FILE_TYPE_REGULAR or %G_FILE_TYPE_DIRECTORY."]
31636pub type GFileType = ::std::os::raw::c_uint;
31637pub const GFilesystemPreviewType_G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS: GFilesystemPreviewType = 0;
31638pub const GFilesystemPreviewType_G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL: GFilesystemPreviewType = 1;
31639pub const GFilesystemPreviewType_G_FILESYSTEM_PREVIEW_TYPE_NEVER: GFilesystemPreviewType = 2;
31640#[doc = " GFilesystemPreviewType:\n @G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS: Only preview files if user has explicitly requested it.\n @G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL: Preview files if user has requested preview of \"local\" files.\n @G_FILESYSTEM_PREVIEW_TYPE_NEVER: Never preview files.\n\n Indicates a hint from the file system whether files should be\n previewed in a file manager. Returned as the value of the key\n %G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW."]
31641pub type GFilesystemPreviewType = ::std::os::raw::c_uint;
31642pub const GFileMonitorEvent_G_FILE_MONITOR_EVENT_CHANGED: GFileMonitorEvent = 0;
31643pub const GFileMonitorEvent_G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT: GFileMonitorEvent = 1;
31644pub const GFileMonitorEvent_G_FILE_MONITOR_EVENT_DELETED: GFileMonitorEvent = 2;
31645pub const GFileMonitorEvent_G_FILE_MONITOR_EVENT_CREATED: GFileMonitorEvent = 3;
31646pub const GFileMonitorEvent_G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED: GFileMonitorEvent = 4;
31647pub const GFileMonitorEvent_G_FILE_MONITOR_EVENT_PRE_UNMOUNT: GFileMonitorEvent = 5;
31648pub const GFileMonitorEvent_G_FILE_MONITOR_EVENT_UNMOUNTED: GFileMonitorEvent = 6;
31649pub const GFileMonitorEvent_G_FILE_MONITOR_EVENT_MOVED: GFileMonitorEvent = 7;
31650pub const GFileMonitorEvent_G_FILE_MONITOR_EVENT_RENAMED: GFileMonitorEvent = 8;
31651pub const GFileMonitorEvent_G_FILE_MONITOR_EVENT_MOVED_IN: GFileMonitorEvent = 9;
31652pub const GFileMonitorEvent_G_FILE_MONITOR_EVENT_MOVED_OUT: GFileMonitorEvent = 10;
31653#[doc = " GFileMonitorEvent:\n @G_FILE_MONITOR_EVENT_CHANGED: a file changed.\n @G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT: a hint that this was probably the last change in a set of changes.\n @G_FILE_MONITOR_EVENT_DELETED: a file was deleted.\n @G_FILE_MONITOR_EVENT_CREATED: a file was created.\n @G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED: a file attribute was changed.\n @G_FILE_MONITOR_EVENT_PRE_UNMOUNT: the file location will soon be unmounted.\n @G_FILE_MONITOR_EVENT_UNMOUNTED: the file location was unmounted.\n @G_FILE_MONITOR_EVENT_MOVED: the file was moved -- only sent if the\n   (deprecated) %G_FILE_MONITOR_SEND_MOVED flag is set\n @G_FILE_MONITOR_EVENT_RENAMED: the file was renamed within the\n   current directory -- only sent if the %G_FILE_MONITOR_WATCH_MOVES\n   flag is set.  Since: 2.46.\n @G_FILE_MONITOR_EVENT_MOVED_IN: the file was moved into the\n   monitored directory from another location -- only sent if the\n   %G_FILE_MONITOR_WATCH_MOVES flag is set.  Since: 2.46.\n @G_FILE_MONITOR_EVENT_MOVED_OUT: the file was moved out of the\n   monitored directory to another location -- only sent if the\n   %G_FILE_MONITOR_WATCH_MOVES flag is set.  Since: 2.46\n\n Specifies what type of event a monitor event is."]
31654pub type GFileMonitorEvent = ::std::os::raw::c_uint;
31655pub const GIOErrorEnum_G_IO_ERROR_FAILED: GIOErrorEnum = 0;
31656pub const GIOErrorEnum_G_IO_ERROR_NOT_FOUND: GIOErrorEnum = 1;
31657pub const GIOErrorEnum_G_IO_ERROR_EXISTS: GIOErrorEnum = 2;
31658pub const GIOErrorEnum_G_IO_ERROR_IS_DIRECTORY: GIOErrorEnum = 3;
31659pub const GIOErrorEnum_G_IO_ERROR_NOT_DIRECTORY: GIOErrorEnum = 4;
31660pub const GIOErrorEnum_G_IO_ERROR_NOT_EMPTY: GIOErrorEnum = 5;
31661pub const GIOErrorEnum_G_IO_ERROR_NOT_REGULAR_FILE: GIOErrorEnum = 6;
31662pub const GIOErrorEnum_G_IO_ERROR_NOT_SYMBOLIC_LINK: GIOErrorEnum = 7;
31663pub const GIOErrorEnum_G_IO_ERROR_NOT_MOUNTABLE_FILE: GIOErrorEnum = 8;
31664pub const GIOErrorEnum_G_IO_ERROR_FILENAME_TOO_LONG: GIOErrorEnum = 9;
31665pub const GIOErrorEnum_G_IO_ERROR_INVALID_FILENAME: GIOErrorEnum = 10;
31666pub const GIOErrorEnum_G_IO_ERROR_TOO_MANY_LINKS: GIOErrorEnum = 11;
31667pub const GIOErrorEnum_G_IO_ERROR_NO_SPACE: GIOErrorEnum = 12;
31668pub const GIOErrorEnum_G_IO_ERROR_INVALID_ARGUMENT: GIOErrorEnum = 13;
31669pub const GIOErrorEnum_G_IO_ERROR_PERMISSION_DENIED: GIOErrorEnum = 14;
31670pub const GIOErrorEnum_G_IO_ERROR_NOT_SUPPORTED: GIOErrorEnum = 15;
31671pub const GIOErrorEnum_G_IO_ERROR_NOT_MOUNTED: GIOErrorEnum = 16;
31672pub const GIOErrorEnum_G_IO_ERROR_ALREADY_MOUNTED: GIOErrorEnum = 17;
31673pub const GIOErrorEnum_G_IO_ERROR_CLOSED: GIOErrorEnum = 18;
31674pub const GIOErrorEnum_G_IO_ERROR_CANCELLED: GIOErrorEnum = 19;
31675pub const GIOErrorEnum_G_IO_ERROR_PENDING: GIOErrorEnum = 20;
31676pub const GIOErrorEnum_G_IO_ERROR_READ_ONLY: GIOErrorEnum = 21;
31677pub const GIOErrorEnum_G_IO_ERROR_CANT_CREATE_BACKUP: GIOErrorEnum = 22;
31678pub const GIOErrorEnum_G_IO_ERROR_WRONG_ETAG: GIOErrorEnum = 23;
31679pub const GIOErrorEnum_G_IO_ERROR_TIMED_OUT: GIOErrorEnum = 24;
31680pub const GIOErrorEnum_G_IO_ERROR_WOULD_RECURSE: GIOErrorEnum = 25;
31681pub const GIOErrorEnum_G_IO_ERROR_BUSY: GIOErrorEnum = 26;
31682pub const GIOErrorEnum_G_IO_ERROR_WOULD_BLOCK: GIOErrorEnum = 27;
31683pub const GIOErrorEnum_G_IO_ERROR_HOST_NOT_FOUND: GIOErrorEnum = 28;
31684pub const GIOErrorEnum_G_IO_ERROR_WOULD_MERGE: GIOErrorEnum = 29;
31685pub const GIOErrorEnum_G_IO_ERROR_FAILED_HANDLED: GIOErrorEnum = 30;
31686pub const GIOErrorEnum_G_IO_ERROR_TOO_MANY_OPEN_FILES: GIOErrorEnum = 31;
31687pub const GIOErrorEnum_G_IO_ERROR_NOT_INITIALIZED: GIOErrorEnum = 32;
31688pub const GIOErrorEnum_G_IO_ERROR_ADDRESS_IN_USE: GIOErrorEnum = 33;
31689pub const GIOErrorEnum_G_IO_ERROR_PARTIAL_INPUT: GIOErrorEnum = 34;
31690pub const GIOErrorEnum_G_IO_ERROR_INVALID_DATA: GIOErrorEnum = 35;
31691pub const GIOErrorEnum_G_IO_ERROR_DBUS_ERROR: GIOErrorEnum = 36;
31692pub const GIOErrorEnum_G_IO_ERROR_HOST_UNREACHABLE: GIOErrorEnum = 37;
31693pub const GIOErrorEnum_G_IO_ERROR_NETWORK_UNREACHABLE: GIOErrorEnum = 38;
31694pub const GIOErrorEnum_G_IO_ERROR_CONNECTION_REFUSED: GIOErrorEnum = 39;
31695pub const GIOErrorEnum_G_IO_ERROR_PROXY_FAILED: GIOErrorEnum = 40;
31696pub const GIOErrorEnum_G_IO_ERROR_PROXY_AUTH_FAILED: GIOErrorEnum = 41;
31697pub const GIOErrorEnum_G_IO_ERROR_PROXY_NEED_AUTH: GIOErrorEnum = 42;
31698pub const GIOErrorEnum_G_IO_ERROR_PROXY_NOT_ALLOWED: GIOErrorEnum = 43;
31699pub const GIOErrorEnum_G_IO_ERROR_BROKEN_PIPE: GIOErrorEnum = 44;
31700pub const GIOErrorEnum_G_IO_ERROR_CONNECTION_CLOSED: GIOErrorEnum = 44;
31701pub const GIOErrorEnum_G_IO_ERROR_NOT_CONNECTED: GIOErrorEnum = 45;
31702pub const GIOErrorEnum_G_IO_ERROR_MESSAGE_TOO_LARGE: GIOErrorEnum = 46;
31703pub const GIOErrorEnum_G_IO_ERROR_NO_SUCH_DEVICE: GIOErrorEnum = 47;
31704#[doc = " GIOErrorEnum:\n @G_IO_ERROR_FAILED: Generic error condition for when an operation fails\n     and no more specific #GIOErrorEnum value is defined.\n @G_IO_ERROR_NOT_FOUND: File not found.\n @G_IO_ERROR_EXISTS: File already exists.\n @G_IO_ERROR_IS_DIRECTORY: File is a directory.\n @G_IO_ERROR_NOT_DIRECTORY: File is not a directory.\n @G_IO_ERROR_NOT_EMPTY: File is a directory that isn't empty.\n @G_IO_ERROR_NOT_REGULAR_FILE: File is not a regular file.\n @G_IO_ERROR_NOT_SYMBOLIC_LINK: File is not a symbolic link.\n @G_IO_ERROR_NOT_MOUNTABLE_FILE: File cannot be mounted.\n @G_IO_ERROR_FILENAME_TOO_LONG: Filename is too many characters.\n @G_IO_ERROR_INVALID_FILENAME: Filename is invalid or contains invalid characters.\n @G_IO_ERROR_TOO_MANY_LINKS: File contains too many symbolic links.\n @G_IO_ERROR_NO_SPACE: No space left on drive.\n @G_IO_ERROR_INVALID_ARGUMENT: Invalid argument.\n @G_IO_ERROR_PERMISSION_DENIED: Permission denied.\n @G_IO_ERROR_NOT_SUPPORTED: Operation (or one of its parameters) not supported\n @G_IO_ERROR_NOT_MOUNTED: File isn't mounted.\n @G_IO_ERROR_ALREADY_MOUNTED: File is already mounted.\n @G_IO_ERROR_CLOSED: File was closed.\n @G_IO_ERROR_CANCELLED: Operation was cancelled. See #GCancellable.\n @G_IO_ERROR_PENDING: Operations are still pending.\n @G_IO_ERROR_READ_ONLY: File is read only.\n @G_IO_ERROR_CANT_CREATE_BACKUP: Backup couldn't be created.\n @G_IO_ERROR_WRONG_ETAG: File's Entity Tag was incorrect.\n @G_IO_ERROR_TIMED_OUT: Operation timed out.\n @G_IO_ERROR_WOULD_RECURSE: Operation would be recursive.\n @G_IO_ERROR_BUSY: File is busy.\n @G_IO_ERROR_WOULD_BLOCK: Operation would block.\n @G_IO_ERROR_HOST_NOT_FOUND: Host couldn't be found (remote operations).\n @G_IO_ERROR_WOULD_MERGE: Operation would merge files.\n @G_IO_ERROR_FAILED_HANDLED: Operation failed and a helper program has\n     already interacted with the user. Do not display any error dialog.\n @G_IO_ERROR_TOO_MANY_OPEN_FILES: The current process has too many files\n     open and can't open any more. Duplicate descriptors do count toward\n     this limit. Since 2.20\n @G_IO_ERROR_NOT_INITIALIZED: The object has not been initialized. Since 2.22\n @G_IO_ERROR_ADDRESS_IN_USE: The requested address is already in use. Since 2.22\n @G_IO_ERROR_PARTIAL_INPUT: Need more input to finish operation. Since 2.24\n @G_IO_ERROR_INVALID_DATA: The input data was invalid. Since 2.24\n @G_IO_ERROR_DBUS_ERROR: A remote object generated an error that\n     doesn't correspond to a locally registered #GError error\n     domain. Use g_dbus_error_get_remote_error() to extract the D-Bus\n     error name and g_dbus_error_strip_remote_error() to fix up the\n     message so it matches what was received on the wire. Since 2.26.\n @G_IO_ERROR_HOST_UNREACHABLE: Host unreachable. Since 2.26\n @G_IO_ERROR_NETWORK_UNREACHABLE: Network unreachable. Since 2.26\n @G_IO_ERROR_CONNECTION_REFUSED: Connection refused. Since 2.26\n @G_IO_ERROR_PROXY_FAILED: Connection to proxy server failed. Since 2.26\n @G_IO_ERROR_PROXY_AUTH_FAILED: Proxy authentication failed. Since 2.26\n @G_IO_ERROR_PROXY_NEED_AUTH: Proxy server needs authentication. Since 2.26\n @G_IO_ERROR_PROXY_NOT_ALLOWED: Proxy connection is not allowed by ruleset.\n     Since 2.26\n @G_IO_ERROR_BROKEN_PIPE: Broken pipe. Since 2.36\n @G_IO_ERROR_CONNECTION_CLOSED: Connection closed by peer. Note that this\n     is the same code as %G_IO_ERROR_BROKEN_PIPE; before 2.44 some\n     \"connection closed\" errors returned %G_IO_ERROR_BROKEN_PIPE, but others\n     returned %G_IO_ERROR_FAILED. Now they should all return the same\n     value, which has this more logical name. Since 2.44.\n @G_IO_ERROR_NOT_CONNECTED: Transport endpoint is not connected. Since 2.44\n @G_IO_ERROR_MESSAGE_TOO_LARGE: Message too large. Since 2.48.\n @G_IO_ERROR_NO_SUCH_DEVICE: No such device found. Since 2.74\n\n Error codes returned by GIO functions.\n\n Note that this domain may be extended in future GLib releases. In\n general, new error codes either only apply to new APIs, or else\n replace %G_IO_ERROR_FAILED in cases that were not explicitly\n distinguished before. You should therefore avoid writing code like\n |[<!-- language=\"C\" -->\n if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_FAILED))\n   {\n     // Assume that this is EPRINTERONFIRE\n     ...\n   }\n ]|\n but should instead treat all unrecognized error codes the same as\n %G_IO_ERROR_FAILED.\n\n See also #GPollableReturn for a cheaper way of returning\n %G_IO_ERROR_WOULD_BLOCK to callers without allocating a #GError."]
31705pub type GIOErrorEnum = ::std::os::raw::c_uint;
31706pub const GAskPasswordFlags_G_ASK_PASSWORD_NEED_PASSWORD: GAskPasswordFlags = 1;
31707pub const GAskPasswordFlags_G_ASK_PASSWORD_NEED_USERNAME: GAskPasswordFlags = 2;
31708pub const GAskPasswordFlags_G_ASK_PASSWORD_NEED_DOMAIN: GAskPasswordFlags = 4;
31709pub const GAskPasswordFlags_G_ASK_PASSWORD_SAVING_SUPPORTED: GAskPasswordFlags = 8;
31710pub const GAskPasswordFlags_G_ASK_PASSWORD_ANONYMOUS_SUPPORTED: GAskPasswordFlags = 16;
31711pub const GAskPasswordFlags_G_ASK_PASSWORD_TCRYPT: GAskPasswordFlags = 32;
31712#[doc = " GAskPasswordFlags:\n @G_ASK_PASSWORD_NEED_PASSWORD: operation requires a password.\n @G_ASK_PASSWORD_NEED_USERNAME: operation requires a username.\n @G_ASK_PASSWORD_NEED_DOMAIN: operation requires a domain.\n @G_ASK_PASSWORD_SAVING_SUPPORTED: operation supports saving settings.\n @G_ASK_PASSWORD_ANONYMOUS_SUPPORTED: operation supports anonymous users.\n @G_ASK_PASSWORD_TCRYPT: operation takes TCRYPT parameters (Since: 2.58)\n\n #GAskPasswordFlags are used to request specific information from the\n user, or to notify the user of their choices in an authentication\n situation."]
31713pub type GAskPasswordFlags = ::std::os::raw::c_uint;
31714pub const GPasswordSave_G_PASSWORD_SAVE_NEVER: GPasswordSave = 0;
31715pub const GPasswordSave_G_PASSWORD_SAVE_FOR_SESSION: GPasswordSave = 1;
31716pub const GPasswordSave_G_PASSWORD_SAVE_PERMANENTLY: GPasswordSave = 2;
31717#[doc = " GPasswordSave:\n @G_PASSWORD_SAVE_NEVER: never save a password.\n @G_PASSWORD_SAVE_FOR_SESSION: save a password for the session.\n @G_PASSWORD_SAVE_PERMANENTLY: save a password permanently.\n\n #GPasswordSave is used to indicate the lifespan of a saved password.\n\n #Gvfs stores passwords in the Gnome keyring when this flag allows it\n to, and later retrieves it again from there."]
31718pub type GPasswordSave = ::std::os::raw::c_uint;
31719pub const GMountOperationResult_G_MOUNT_OPERATION_HANDLED: GMountOperationResult = 0;
31720pub const GMountOperationResult_G_MOUNT_OPERATION_ABORTED: GMountOperationResult = 1;
31721pub const GMountOperationResult_G_MOUNT_OPERATION_UNHANDLED: GMountOperationResult = 2;
31722#[doc = " GMountOperationResult:\n @G_MOUNT_OPERATION_HANDLED: The request was fulfilled and the\n     user specified data is now available\n @G_MOUNT_OPERATION_ABORTED: The user requested the mount operation\n     to be aborted\n @G_MOUNT_OPERATION_UNHANDLED: The request was unhandled (i.e. not\n     implemented)\n\n #GMountOperationResult is returned as a result when a request for\n information is send by the mounting operation."]
31723pub type GMountOperationResult = ::std::os::raw::c_uint;
31724pub const GOutputStreamSpliceFlags_G_OUTPUT_STREAM_SPLICE_NONE: GOutputStreamSpliceFlags = 0;
31725pub const GOutputStreamSpliceFlags_G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE: GOutputStreamSpliceFlags =
31726    1;
31727pub const GOutputStreamSpliceFlags_G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET: GOutputStreamSpliceFlags =
31728    2;
31729#[doc = " GOutputStreamSpliceFlags:\n @G_OUTPUT_STREAM_SPLICE_NONE: Do not close either stream.\n @G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE: Close the source stream after\n     the splice.\n @G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET: Close the target stream after\n     the splice.\n\n GOutputStreamSpliceFlags determine how streams should be spliced."]
31730pub type GOutputStreamSpliceFlags = ::std::os::raw::c_uint;
31731pub const GIOStreamSpliceFlags_G_IO_STREAM_SPLICE_NONE: GIOStreamSpliceFlags = 0;
31732pub const GIOStreamSpliceFlags_G_IO_STREAM_SPLICE_CLOSE_STREAM1: GIOStreamSpliceFlags = 1;
31733pub const GIOStreamSpliceFlags_G_IO_STREAM_SPLICE_CLOSE_STREAM2: GIOStreamSpliceFlags = 2;
31734pub const GIOStreamSpliceFlags_G_IO_STREAM_SPLICE_WAIT_FOR_BOTH: GIOStreamSpliceFlags = 4;
31735#[doc = " GIOStreamSpliceFlags:\n @G_IO_STREAM_SPLICE_NONE: Do not close either stream.\n @G_IO_STREAM_SPLICE_CLOSE_STREAM1: Close the first stream after\n     the splice.\n @G_IO_STREAM_SPLICE_CLOSE_STREAM2: Close the second stream after\n     the splice.\n @G_IO_STREAM_SPLICE_WAIT_FOR_BOTH: Wait for both splice operations to finish\n     before calling the callback.\n\n GIOStreamSpliceFlags determine how streams should be spliced.\n\n Since: 2.28"]
31736pub type GIOStreamSpliceFlags = ::std::os::raw::c_uint;
31737pub const GEmblemOrigin_G_EMBLEM_ORIGIN_UNKNOWN: GEmblemOrigin = 0;
31738pub const GEmblemOrigin_G_EMBLEM_ORIGIN_DEVICE: GEmblemOrigin = 1;
31739pub const GEmblemOrigin_G_EMBLEM_ORIGIN_LIVEMETADATA: GEmblemOrigin = 2;
31740pub const GEmblemOrigin_G_EMBLEM_ORIGIN_TAG: GEmblemOrigin = 3;
31741#[doc = " GEmblemOrigin:\n @G_EMBLEM_ORIGIN_UNKNOWN: Emblem of unknown origin\n @G_EMBLEM_ORIGIN_DEVICE: Emblem adds device-specific information\n @G_EMBLEM_ORIGIN_LIVEMETADATA: Emblem depicts live metadata, such as \"readonly\"\n @G_EMBLEM_ORIGIN_TAG: Emblem comes from a user-defined tag, e.g. set by nautilus (in the future)\n\n GEmblemOrigin is used to add information about the origin of the emblem\n to #GEmblem.\n\n Since: 2.18"]
31742pub type GEmblemOrigin = ::std::os::raw::c_uint;
31743pub const GResolverError_G_RESOLVER_ERROR_NOT_FOUND: GResolverError = 0;
31744pub const GResolverError_G_RESOLVER_ERROR_TEMPORARY_FAILURE: GResolverError = 1;
31745pub const GResolverError_G_RESOLVER_ERROR_INTERNAL: GResolverError = 2;
31746#[doc = " GResolverError:\n @G_RESOLVER_ERROR_NOT_FOUND: the requested name/address/service was not\n     found\n @G_RESOLVER_ERROR_TEMPORARY_FAILURE: the requested information could not\n     be looked up due to a network error or similar problem\n @G_RESOLVER_ERROR_INTERNAL: unknown error\n\n An error code used with %G_RESOLVER_ERROR in a #GError returned\n from a #GResolver routine.\n\n Since: 2.22"]
31747pub type GResolverError = ::std::os::raw::c_uint;
31748pub const GResolverRecordType_G_RESOLVER_RECORD_SRV: GResolverRecordType = 1;
31749pub const GResolverRecordType_G_RESOLVER_RECORD_MX: GResolverRecordType = 2;
31750pub const GResolverRecordType_G_RESOLVER_RECORD_TXT: GResolverRecordType = 3;
31751pub const GResolverRecordType_G_RESOLVER_RECORD_SOA: GResolverRecordType = 4;
31752pub const GResolverRecordType_G_RESOLVER_RECORD_NS: GResolverRecordType = 5;
31753#[doc = " GResolverRecordType:\n @G_RESOLVER_RECORD_SRV: look up DNS SRV records for a domain\n @G_RESOLVER_RECORD_MX: look up DNS MX records for a domain\n @G_RESOLVER_RECORD_TXT: look up DNS TXT records for a name\n @G_RESOLVER_RECORD_SOA: look up DNS SOA records for a zone\n @G_RESOLVER_RECORD_NS: look up DNS NS records for a domain\n\n The type of record that g_resolver_lookup_records() or\n g_resolver_lookup_records_async() should retrieve. The records are returned\n as lists of #GVariant tuples. Each record type has different values in\n the variant tuples returned.\n\n %G_RESOLVER_RECORD_SRV records are returned as variants with the signature\n `(qqqs)`, containing a `guint16` with the priority, a `guint16` with the\n weight, a `guint16` with the port, and a string of the hostname.\n\n %G_RESOLVER_RECORD_MX records are returned as variants with the signature\n `(qs)`, representing a `guint16` with the preference, and a string containing\n the mail exchanger hostname.\n\n %G_RESOLVER_RECORD_TXT records are returned as variants with the signature\n `(as)`, representing an array of the strings in the text record. Note: Most TXT\n records only contain a single string, but\n [RFC 1035](https://tools.ietf.org/html/rfc1035#section-3.3.14) does allow a\n record to contain multiple strings. The RFC which defines the interpretation\n of a specific TXT record will likely require concatenation of multiple\n strings if they are present, as with\n [RFC 7208](https://tools.ietf.org/html/rfc7208#section-3.3).\n\n %G_RESOLVER_RECORD_SOA records are returned as variants with the signature\n `(ssuuuuu)`, representing a string containing the primary name server, a\n string containing the administrator, the serial as a `guint32`, the refresh\n interval as a `guint32`, the retry interval as a `guint32`, the expire timeout\n as a `guint32`, and the TTL as a `guint32`.\n\n %G_RESOLVER_RECORD_NS records are returned as variants with the signature\n `(s)`, representing a string of the hostname of the name server.\n\n Since: 2.34"]
31754pub type GResolverRecordType = ::std::os::raw::c_uint;
31755pub const GResourceError_G_RESOURCE_ERROR_NOT_FOUND: GResourceError = 0;
31756pub const GResourceError_G_RESOURCE_ERROR_INTERNAL: GResourceError = 1;
31757#[doc = " GResourceError:\n @G_RESOURCE_ERROR_NOT_FOUND: no file was found at the requested path\n @G_RESOURCE_ERROR_INTERNAL: unknown error\n\n An error code used with %G_RESOURCE_ERROR in a #GError returned\n from a #GResource routine.\n\n Since: 2.32"]
31758pub type GResourceError = ::std::os::raw::c_uint;
31759pub const GResourceFlags_G_RESOURCE_FLAGS_NONE: GResourceFlags = 0;
31760pub const GResourceFlags_G_RESOURCE_FLAGS_COMPRESSED: GResourceFlags = 1;
31761#[doc = " GResourceFlags:\n @G_RESOURCE_FLAGS_NONE: No flags set.\n @G_RESOURCE_FLAGS_COMPRESSED: The file is compressed.\n\n GResourceFlags give information about a particular file inside a resource\n bundle.\n\n Since: 2.32"]
31762pub type GResourceFlags = ::std::os::raw::c_uint;
31763pub const GResourceLookupFlags_G_RESOURCE_LOOKUP_FLAGS_NONE: GResourceLookupFlags = 0;
31764#[doc = " GResourceLookupFlags:\n @G_RESOURCE_LOOKUP_FLAGS_NONE: No flags set.\n\n GResourceLookupFlags determine how resource path lookups are handled.\n\n Since: 2.32"]
31765pub type GResourceLookupFlags = ::std::os::raw::c_uint;
31766pub const GSocketFamily_G_SOCKET_FAMILY_INVALID: GSocketFamily = 0;
31767pub const GSocketFamily_G_SOCKET_FAMILY_UNIX: GSocketFamily = 1;
31768pub const GSocketFamily_G_SOCKET_FAMILY_IPV4: GSocketFamily = 2;
31769pub const GSocketFamily_G_SOCKET_FAMILY_IPV6: GSocketFamily = 30;
31770#[doc = " GSocketFamily:\n @G_SOCKET_FAMILY_INVALID: no address family\n @G_SOCKET_FAMILY_IPV4: the IPv4 family\n @G_SOCKET_FAMILY_IPV6: the IPv6 family\n @G_SOCKET_FAMILY_UNIX: the UNIX domain family\n\n The protocol family of a #GSocketAddress. (These values are\n identical to the system defines %AF_INET, %AF_INET6 and %AF_UNIX,\n if available.)\n\n Since: 2.22"]
31771pub type GSocketFamily = ::std::os::raw::c_uint;
31772pub const GSocketType_G_SOCKET_TYPE_INVALID: GSocketType = 0;
31773pub const GSocketType_G_SOCKET_TYPE_STREAM: GSocketType = 1;
31774pub const GSocketType_G_SOCKET_TYPE_DATAGRAM: GSocketType = 2;
31775pub const GSocketType_G_SOCKET_TYPE_SEQPACKET: GSocketType = 3;
31776#[doc = " GSocketType:\n @G_SOCKET_TYPE_INVALID: Type unknown or wrong\n @G_SOCKET_TYPE_STREAM: Reliable connection-based byte streams (e.g. TCP).\n @G_SOCKET_TYPE_DATAGRAM: Connectionless, unreliable datagram passing.\n     (e.g. UDP)\n @G_SOCKET_TYPE_SEQPACKET: Reliable connection-based passing of datagrams\n     of fixed maximum length (e.g. SCTP).\n\n Flags used when creating a #GSocket. Some protocols may not implement\n all the socket types.\n\n Since: 2.22"]
31777pub type GSocketType = ::std::os::raw::c_uint;
31778pub const GSocketMsgFlags_G_SOCKET_MSG_NONE: GSocketMsgFlags = 0;
31779pub const GSocketMsgFlags_G_SOCKET_MSG_OOB: GSocketMsgFlags = 1;
31780pub const GSocketMsgFlags_G_SOCKET_MSG_PEEK: GSocketMsgFlags = 2;
31781pub const GSocketMsgFlags_G_SOCKET_MSG_DONTROUTE: GSocketMsgFlags = 4;
31782#[doc = " GSocketMsgFlags:\n @G_SOCKET_MSG_NONE: No flags.\n @G_SOCKET_MSG_OOB: Request to send/receive out of band data.\n @G_SOCKET_MSG_PEEK: Read data from the socket without removing it from\n     the queue.\n @G_SOCKET_MSG_DONTROUTE: Don't use a gateway to send out the packet,\n     only send to hosts on directly connected networks.\n\n Flags used in g_socket_receive_message() and g_socket_send_message().\n The flags listed in the enum are some commonly available flags, but the\n values used for them are the same as on the platform, and any other flags\n are passed in/out as is. So to use a platform specific flag, just include\n the right system header and pass in the flag.\n\n Since: 2.22"]
31783pub type GSocketMsgFlags = ::std::os::raw::c_uint;
31784pub const GSocketProtocol_G_SOCKET_PROTOCOL_UNKNOWN: GSocketProtocol = -1;
31785pub const GSocketProtocol_G_SOCKET_PROTOCOL_DEFAULT: GSocketProtocol = 0;
31786pub const GSocketProtocol_G_SOCKET_PROTOCOL_TCP: GSocketProtocol = 6;
31787pub const GSocketProtocol_G_SOCKET_PROTOCOL_UDP: GSocketProtocol = 17;
31788pub const GSocketProtocol_G_SOCKET_PROTOCOL_SCTP: GSocketProtocol = 132;
31789#[doc = " GSocketProtocol:\n @G_SOCKET_PROTOCOL_UNKNOWN: The protocol type is unknown\n @G_SOCKET_PROTOCOL_DEFAULT: The default protocol for the family/type\n @G_SOCKET_PROTOCOL_TCP: TCP over IP\n @G_SOCKET_PROTOCOL_UDP: UDP over IP\n @G_SOCKET_PROTOCOL_SCTP: SCTP over IP\n\n A protocol identifier is specified when creating a #GSocket, which is a\n family/type specific identifier, where 0 means the default protocol for\n the particular family/type.\n\n This enum contains a set of commonly available and used protocols. You\n can also pass any other identifiers handled by the platform in order to\n use protocols not listed here.\n\n Since: 2.22"]
31790pub type GSocketProtocol = ::std::os::raw::c_int;
31791pub const GZlibCompressorFormat_G_ZLIB_COMPRESSOR_FORMAT_ZLIB: GZlibCompressorFormat = 0;
31792pub const GZlibCompressorFormat_G_ZLIB_COMPRESSOR_FORMAT_GZIP: GZlibCompressorFormat = 1;
31793pub const GZlibCompressorFormat_G_ZLIB_COMPRESSOR_FORMAT_RAW: GZlibCompressorFormat = 2;
31794#[doc = " GZlibCompressorFormat:\n @G_ZLIB_COMPRESSOR_FORMAT_ZLIB: deflate compression with zlib header\n @G_ZLIB_COMPRESSOR_FORMAT_GZIP: gzip file format\n @G_ZLIB_COMPRESSOR_FORMAT_RAW: deflate compression with no header\n\n Used to select the type of data format to use for #GZlibDecompressor\n and #GZlibCompressor.\n\n Since: 2.24"]
31795pub type GZlibCompressorFormat = ::std::os::raw::c_uint;
31796pub const GUnixSocketAddressType_G_UNIX_SOCKET_ADDRESS_INVALID: GUnixSocketAddressType = 0;
31797pub const GUnixSocketAddressType_G_UNIX_SOCKET_ADDRESS_ANONYMOUS: GUnixSocketAddressType = 1;
31798pub const GUnixSocketAddressType_G_UNIX_SOCKET_ADDRESS_PATH: GUnixSocketAddressType = 2;
31799pub const GUnixSocketAddressType_G_UNIX_SOCKET_ADDRESS_ABSTRACT: GUnixSocketAddressType = 3;
31800pub const GUnixSocketAddressType_G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED: GUnixSocketAddressType = 4;
31801#[doc = " GUnixSocketAddressType:\n @G_UNIX_SOCKET_ADDRESS_INVALID: invalid\n @G_UNIX_SOCKET_ADDRESS_ANONYMOUS: anonymous\n @G_UNIX_SOCKET_ADDRESS_PATH: a filesystem path\n @G_UNIX_SOCKET_ADDRESS_ABSTRACT: an abstract name\n @G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED: an abstract name, 0-padded\n   to the full length of a unix socket name\n\n The type of name used by a #GUnixSocketAddress.\n %G_UNIX_SOCKET_ADDRESS_PATH indicates a traditional unix domain\n socket bound to a filesystem path. %G_UNIX_SOCKET_ADDRESS_ANONYMOUS\n indicates a socket not bound to any name (eg, a client-side socket,\n or a socket created with socketpair()).\n\n For abstract sockets, there are two incompatible ways of naming\n them; the man pages suggest using the entire `struct sockaddr_un`\n as the name, padding the unused parts of the %sun_path field with\n zeroes; this corresponds to %G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED.\n However, many programs instead just use a portion of %sun_path, and\n pass an appropriate smaller length to bind() or connect(). This is\n %G_UNIX_SOCKET_ADDRESS_ABSTRACT.\n\n Since: 2.26"]
31802pub type GUnixSocketAddressType = ::std::os::raw::c_uint;
31803pub const GBusType_G_BUS_TYPE_STARTER: GBusType = -1;
31804pub const GBusType_G_BUS_TYPE_NONE: GBusType = 0;
31805pub const GBusType_G_BUS_TYPE_SYSTEM: GBusType = 1;
31806pub const GBusType_G_BUS_TYPE_SESSION: GBusType = 2;
31807#[doc = " GBusType:\n @G_BUS_TYPE_STARTER: An alias for the message bus that activated the process, if any.\n @G_BUS_TYPE_NONE: Not a message bus.\n @G_BUS_TYPE_SYSTEM: The system-wide message bus.\n @G_BUS_TYPE_SESSION: The login session message bus.\n\n An enumeration for well-known message buses.\n\n Since: 2.26"]
31808pub type GBusType = ::std::os::raw::c_int;
31809pub const GBusNameOwnerFlags_G_BUS_NAME_OWNER_FLAGS_NONE: GBusNameOwnerFlags = 0;
31810pub const GBusNameOwnerFlags_G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT: GBusNameOwnerFlags = 1;
31811pub const GBusNameOwnerFlags_G_BUS_NAME_OWNER_FLAGS_REPLACE: GBusNameOwnerFlags = 2;
31812pub const GBusNameOwnerFlags_G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE: GBusNameOwnerFlags = 4;
31813#[doc = " GBusNameOwnerFlags:\n @G_BUS_NAME_OWNER_FLAGS_NONE: No flags set.\n @G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT: Allow another message bus connection to claim the name.\n @G_BUS_NAME_OWNER_FLAGS_REPLACE: If another message bus connection owns the name and have\n specified %G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT, then take the name from the other connection.\n @G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE: If another message bus connection owns the name, immediately\n return an error from g_bus_own_name() rather than entering the waiting queue for that name. (Since 2.54)\n\n Flags used in g_bus_own_name().\n\n Since: 2.26"]
31814pub type GBusNameOwnerFlags = ::std::os::raw::c_uint;
31815pub const GBusNameWatcherFlags_G_BUS_NAME_WATCHER_FLAGS_NONE: GBusNameWatcherFlags = 0;
31816pub const GBusNameWatcherFlags_G_BUS_NAME_WATCHER_FLAGS_AUTO_START: GBusNameWatcherFlags = 1;
31817#[doc = " GBusNameWatcherFlags:\n @G_BUS_NAME_WATCHER_FLAGS_NONE: No flags set.\n @G_BUS_NAME_WATCHER_FLAGS_AUTO_START: If no-one owns the name when\n beginning to watch the name, ask the bus to launch an owner for the\n name.\n\n Flags used in g_bus_watch_name().\n\n Since: 2.26"]
31818pub type GBusNameWatcherFlags = ::std::os::raw::c_uint;
31819pub const GDBusProxyFlags_G_DBUS_PROXY_FLAGS_NONE: GDBusProxyFlags = 0;
31820pub const GDBusProxyFlags_G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES: GDBusProxyFlags = 1;
31821pub const GDBusProxyFlags_G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS: GDBusProxyFlags = 2;
31822pub const GDBusProxyFlags_G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START: GDBusProxyFlags = 4;
31823pub const GDBusProxyFlags_G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES: GDBusProxyFlags = 8;
31824pub const GDBusProxyFlags_G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION: GDBusProxyFlags =
31825    16;
31826pub const GDBusProxyFlags_G_DBUS_PROXY_FLAGS_NO_MATCH_RULE: GDBusProxyFlags = 32;
31827#[doc = " GDBusProxyFlags:\n @G_DBUS_PROXY_FLAGS_NONE: No flags set.\n @G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES: Don't load properties.\n @G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS: Don't connect to signals on the remote object.\n @G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START: If the proxy is for a well-known name,\n do not ask the bus to launch an owner during proxy initialization or a method call.\n This flag is only meaningful in proxies for well-known names.\n @G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES: If set, the property value for any __invalidated property__ will be (asynchronously) retrieved upon receiving the [`PropertiesChanged`](http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-properties) D-Bus signal and the property will not cause emission of the #GDBusProxy::g-properties-changed signal. When the value is received the #GDBusProxy::g-properties-changed signal is emitted for the property along with the retrieved value. Since 2.32.\n @G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION: If the proxy is for a well-known name,\n do not ask the bus to launch an owner during proxy initialization, but allow it to be\n autostarted by a method call. This flag is only meaningful in proxies for well-known names,\n and only if %G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START is not also specified.\n @G_DBUS_PROXY_FLAGS_NO_MATCH_RULE: Don't actually send the AddMatch D-Bus\n    call for this signal subscription. This gives you more control\n    over which match rules you add (but you must add them manually). (Since: 2.72)\n\n Flags used when constructing an instance of a #GDBusProxy derived class.\n\n Since: 2.26"]
31828pub type GDBusProxyFlags = ::std::os::raw::c_uint;
31829pub const GDBusError_G_DBUS_ERROR_FAILED: GDBusError = 0;
31830pub const GDBusError_G_DBUS_ERROR_NO_MEMORY: GDBusError = 1;
31831pub const GDBusError_G_DBUS_ERROR_SERVICE_UNKNOWN: GDBusError = 2;
31832pub const GDBusError_G_DBUS_ERROR_NAME_HAS_NO_OWNER: GDBusError = 3;
31833pub const GDBusError_G_DBUS_ERROR_NO_REPLY: GDBusError = 4;
31834pub const GDBusError_G_DBUS_ERROR_IO_ERROR: GDBusError = 5;
31835pub const GDBusError_G_DBUS_ERROR_BAD_ADDRESS: GDBusError = 6;
31836pub const GDBusError_G_DBUS_ERROR_NOT_SUPPORTED: GDBusError = 7;
31837pub const GDBusError_G_DBUS_ERROR_LIMITS_EXCEEDED: GDBusError = 8;
31838pub const GDBusError_G_DBUS_ERROR_ACCESS_DENIED: GDBusError = 9;
31839pub const GDBusError_G_DBUS_ERROR_AUTH_FAILED: GDBusError = 10;
31840pub const GDBusError_G_DBUS_ERROR_NO_SERVER: GDBusError = 11;
31841pub const GDBusError_G_DBUS_ERROR_TIMEOUT: GDBusError = 12;
31842pub const GDBusError_G_DBUS_ERROR_NO_NETWORK: GDBusError = 13;
31843pub const GDBusError_G_DBUS_ERROR_ADDRESS_IN_USE: GDBusError = 14;
31844pub const GDBusError_G_DBUS_ERROR_DISCONNECTED: GDBusError = 15;
31845pub const GDBusError_G_DBUS_ERROR_INVALID_ARGS: GDBusError = 16;
31846pub const GDBusError_G_DBUS_ERROR_FILE_NOT_FOUND: GDBusError = 17;
31847pub const GDBusError_G_DBUS_ERROR_FILE_EXISTS: GDBusError = 18;
31848pub const GDBusError_G_DBUS_ERROR_UNKNOWN_METHOD: GDBusError = 19;
31849pub const GDBusError_G_DBUS_ERROR_TIMED_OUT: GDBusError = 20;
31850pub const GDBusError_G_DBUS_ERROR_MATCH_RULE_NOT_FOUND: GDBusError = 21;
31851pub const GDBusError_G_DBUS_ERROR_MATCH_RULE_INVALID: GDBusError = 22;
31852pub const GDBusError_G_DBUS_ERROR_SPAWN_EXEC_FAILED: GDBusError = 23;
31853pub const GDBusError_G_DBUS_ERROR_SPAWN_FORK_FAILED: GDBusError = 24;
31854pub const GDBusError_G_DBUS_ERROR_SPAWN_CHILD_EXITED: GDBusError = 25;
31855pub const GDBusError_G_DBUS_ERROR_SPAWN_CHILD_SIGNALED: GDBusError = 26;
31856pub const GDBusError_G_DBUS_ERROR_SPAWN_FAILED: GDBusError = 27;
31857pub const GDBusError_G_DBUS_ERROR_SPAWN_SETUP_FAILED: GDBusError = 28;
31858pub const GDBusError_G_DBUS_ERROR_SPAWN_CONFIG_INVALID: GDBusError = 29;
31859pub const GDBusError_G_DBUS_ERROR_SPAWN_SERVICE_INVALID: GDBusError = 30;
31860pub const GDBusError_G_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND: GDBusError = 31;
31861pub const GDBusError_G_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID: GDBusError = 32;
31862pub const GDBusError_G_DBUS_ERROR_SPAWN_FILE_INVALID: GDBusError = 33;
31863pub const GDBusError_G_DBUS_ERROR_SPAWN_NO_MEMORY: GDBusError = 34;
31864pub const GDBusError_G_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN: GDBusError = 35;
31865pub const GDBusError_G_DBUS_ERROR_INVALID_SIGNATURE: GDBusError = 36;
31866pub const GDBusError_G_DBUS_ERROR_INVALID_FILE_CONTENT: GDBusError = 37;
31867pub const GDBusError_G_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN: GDBusError = 38;
31868pub const GDBusError_G_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN: GDBusError = 39;
31869pub const GDBusError_G_DBUS_ERROR_OBJECT_PATH_IN_USE: GDBusError = 40;
31870pub const GDBusError_G_DBUS_ERROR_UNKNOWN_OBJECT: GDBusError = 41;
31871pub const GDBusError_G_DBUS_ERROR_UNKNOWN_INTERFACE: GDBusError = 42;
31872pub const GDBusError_G_DBUS_ERROR_UNKNOWN_PROPERTY: GDBusError = 43;
31873pub const GDBusError_G_DBUS_ERROR_PROPERTY_READ_ONLY: GDBusError = 44;
31874#[doc = " GDBusError:\n @G_DBUS_ERROR_FAILED:\n A generic error; \"something went wrong\" - see the error message for\n more.\n @G_DBUS_ERROR_NO_MEMORY:\n There was not enough memory to complete an operation.\n @G_DBUS_ERROR_SERVICE_UNKNOWN:\n The bus doesn't know how to launch a service to supply the bus name\n you wanted.\n @G_DBUS_ERROR_NAME_HAS_NO_OWNER:\n The bus name you referenced doesn't exist (i.e. no application owns\n it).\n @G_DBUS_ERROR_NO_REPLY:\n No reply to a message expecting one, usually means a timeout occurred.\n @G_DBUS_ERROR_IO_ERROR:\n Something went wrong reading or writing to a socket, for example.\n @G_DBUS_ERROR_BAD_ADDRESS:\n A D-Bus bus address was malformed.\n @G_DBUS_ERROR_NOT_SUPPORTED:\n Requested operation isn't supported (like ENOSYS on UNIX).\n @G_DBUS_ERROR_LIMITS_EXCEEDED:\n Some limited resource is exhausted.\n @G_DBUS_ERROR_ACCESS_DENIED:\n Security restrictions don't allow doing what you're trying to do.\n @G_DBUS_ERROR_AUTH_FAILED:\n Authentication didn't work.\n @G_DBUS_ERROR_NO_SERVER:\n Unable to connect to server (probably caused by ECONNREFUSED on a\n socket).\n @G_DBUS_ERROR_TIMEOUT:\n Certain timeout errors, possibly ETIMEDOUT on a socket.  Note that\n %G_DBUS_ERROR_NO_REPLY is used for message reply timeouts. Warning:\n this is confusingly-named given that %G_DBUS_ERROR_TIMED_OUT also\n exists. We can't fix it for compatibility reasons so just be\n careful.\n @G_DBUS_ERROR_NO_NETWORK:\n No network access (probably ENETUNREACH on a socket).\n @G_DBUS_ERROR_ADDRESS_IN_USE:\n Can't bind a socket since its address is in use (i.e. EADDRINUSE).\n @G_DBUS_ERROR_DISCONNECTED:\n The connection is disconnected and you're trying to use it.\n @G_DBUS_ERROR_INVALID_ARGS:\n Invalid arguments passed to a method call.\n @G_DBUS_ERROR_FILE_NOT_FOUND:\n Missing file.\n @G_DBUS_ERROR_FILE_EXISTS:\n Existing file and the operation you're using does not silently overwrite.\n @G_DBUS_ERROR_UNKNOWN_METHOD:\n Method name you invoked isn't known by the object you invoked it on.\n @G_DBUS_ERROR_UNKNOWN_OBJECT:\n Object you invoked a method on isn't known. Since 2.42\n @G_DBUS_ERROR_UNKNOWN_INTERFACE:\n Interface you invoked a method on isn't known by the object. Since 2.42\n @G_DBUS_ERROR_UNKNOWN_PROPERTY:\n Property you tried to access isn't known by the object. Since 2.42\n @G_DBUS_ERROR_PROPERTY_READ_ONLY:\n Property you tried to set is read-only. Since 2.42\n @G_DBUS_ERROR_TIMED_OUT:\n Certain timeout errors, e.g. while starting a service. Warning: this is\n confusingly-named given that %G_DBUS_ERROR_TIMEOUT also exists. We\n can't fix it for compatibility reasons so just be careful.\n @G_DBUS_ERROR_MATCH_RULE_NOT_FOUND:\n Tried to remove or modify a match rule that didn't exist.\n @G_DBUS_ERROR_MATCH_RULE_INVALID:\n The match rule isn't syntactically valid.\n @G_DBUS_ERROR_SPAWN_EXEC_FAILED:\n While starting a new process, the exec() call failed.\n @G_DBUS_ERROR_SPAWN_FORK_FAILED:\n While starting a new process, the fork() call failed.\n @G_DBUS_ERROR_SPAWN_CHILD_EXITED:\n While starting a new process, the child exited with a status code.\n @G_DBUS_ERROR_SPAWN_CHILD_SIGNALED:\n While starting a new process, the child exited on a signal.\n @G_DBUS_ERROR_SPAWN_FAILED:\n While starting a new process, something went wrong.\n @G_DBUS_ERROR_SPAWN_SETUP_FAILED:\n We failed to setup the environment correctly.\n @G_DBUS_ERROR_SPAWN_CONFIG_INVALID:\n We failed to setup the config parser correctly.\n @G_DBUS_ERROR_SPAWN_SERVICE_INVALID:\n Bus name was not valid.\n @G_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND:\n Service file not found in system-services directory.\n @G_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID:\n Permissions are incorrect on the setuid helper.\n @G_DBUS_ERROR_SPAWN_FILE_INVALID:\n Service file invalid (Name, User or Exec missing).\n @G_DBUS_ERROR_SPAWN_NO_MEMORY:\n Tried to get a UNIX process ID and it wasn't available.\n @G_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN:\n Tried to get a UNIX process ID and it wasn't available.\n @G_DBUS_ERROR_INVALID_SIGNATURE:\n A type signature is not valid.\n @G_DBUS_ERROR_INVALID_FILE_CONTENT:\n A file contains invalid syntax or is otherwise broken.\n @G_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN:\n Asked for SELinux security context and it wasn't available.\n @G_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN:\n Asked for ADT audit data and it wasn't available.\n @G_DBUS_ERROR_OBJECT_PATH_IN_USE:\n There's already an object with the requested object path.\n\n Error codes for the %G_DBUS_ERROR error domain.\n\n Since: 2.26"]
31875pub type GDBusError = ::std::os::raw::c_uint;
31876pub const GDBusConnectionFlags_G_DBUS_CONNECTION_FLAGS_NONE: GDBusConnectionFlags = 0;
31877pub const GDBusConnectionFlags_G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT: GDBusConnectionFlags =
31878    1;
31879pub const GDBusConnectionFlags_G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER: GDBusConnectionFlags =
31880    2;
31881pub const GDBusConnectionFlags_G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS:
31882    GDBusConnectionFlags = 4;
31883pub const GDBusConnectionFlags_G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION:
31884    GDBusConnectionFlags = 8;
31885pub const GDBusConnectionFlags_G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING:
31886    GDBusConnectionFlags = 16;
31887pub const GDBusConnectionFlags_G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER:
31888    GDBusConnectionFlags = 32;
31889pub const GDBusConnectionFlags_G_DBUS_CONNECTION_FLAGS_CROSS_NAMESPACE: GDBusConnectionFlags = 64;
31890#[doc = " GDBusConnectionFlags:\n @G_DBUS_CONNECTION_FLAGS_NONE: No flags set.\n @G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT: Perform authentication against server.\n @G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER: Perform authentication against client.\n @G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS: When\n authenticating as a server, allow the anonymous authentication\n method.\n @G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION: Pass this flag if connecting to a peer that is a\n message bus. This means that the Hello() method will be invoked as part of the connection setup.\n @G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING: If set, processing of D-Bus messages is\n delayed until g_dbus_connection_start_message_processing() is called.\n @G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER: When authenticating\n as a server, require the UID of the peer to be the same as the UID of the server. (Since: 2.68)\n @G_DBUS_CONNECTION_FLAGS_CROSS_NAMESPACE: When authenticating, try to use\n  protocols that work across a Linux user namespace boundary, even if this\n  reduces interoperability with older D-Bus implementations. This currently\n  affects client-side `EXTERNAL` authentication, for which this flag makes\n  connections to a server in another user namespace succeed, but causes\n  a deadlock when connecting to a GDBus server older than 2.73.3. Since: 2.74\n\n Flags used when creating a new #GDBusConnection.\n\n Since: 2.26"]
31891pub type GDBusConnectionFlags = ::std::os::raw::c_uint;
31892pub const GDBusCapabilityFlags_G_DBUS_CAPABILITY_FLAGS_NONE: GDBusCapabilityFlags = 0;
31893pub const GDBusCapabilityFlags_G_DBUS_CAPABILITY_FLAGS_UNIX_FD_PASSING: GDBusCapabilityFlags = 1;
31894#[doc = " GDBusCapabilityFlags:\n @G_DBUS_CAPABILITY_FLAGS_NONE: No flags set.\n @G_DBUS_CAPABILITY_FLAGS_UNIX_FD_PASSING: The connection\n supports exchanging UNIX file descriptors with the remote peer.\n\n Capabilities negotiated with the remote peer.\n\n Since: 2.26"]
31895pub type GDBusCapabilityFlags = ::std::os::raw::c_uint;
31896pub const GDBusCallFlags_G_DBUS_CALL_FLAGS_NONE: GDBusCallFlags = 0;
31897pub const GDBusCallFlags_G_DBUS_CALL_FLAGS_NO_AUTO_START: GDBusCallFlags = 1;
31898pub const GDBusCallFlags_G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION: GDBusCallFlags = 2;
31899#[doc = " GDBusCallFlags:\n @G_DBUS_CALL_FLAGS_NONE: No flags set.\n @G_DBUS_CALL_FLAGS_NO_AUTO_START: The bus must not launch\n an owner for the destination name in response to this method\n invocation.\n @G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION: the caller is prepared to\n wait for interactive authorization. Since 2.46.\n\n Flags used in g_dbus_connection_call() and similar APIs.\n\n Since: 2.26"]
31900pub type GDBusCallFlags = ::std::os::raw::c_uint;
31901pub const GDBusMessageType_G_DBUS_MESSAGE_TYPE_INVALID: GDBusMessageType = 0;
31902pub const GDBusMessageType_G_DBUS_MESSAGE_TYPE_METHOD_CALL: GDBusMessageType = 1;
31903pub const GDBusMessageType_G_DBUS_MESSAGE_TYPE_METHOD_RETURN: GDBusMessageType = 2;
31904pub const GDBusMessageType_G_DBUS_MESSAGE_TYPE_ERROR: GDBusMessageType = 3;
31905pub const GDBusMessageType_G_DBUS_MESSAGE_TYPE_SIGNAL: GDBusMessageType = 4;
31906#[doc = " GDBusMessageType:\n @G_DBUS_MESSAGE_TYPE_INVALID: Message is of invalid type.\n @G_DBUS_MESSAGE_TYPE_METHOD_CALL: Method call.\n @G_DBUS_MESSAGE_TYPE_METHOD_RETURN: Method reply.\n @G_DBUS_MESSAGE_TYPE_ERROR: Error reply.\n @G_DBUS_MESSAGE_TYPE_SIGNAL: Signal emission.\n\n Message types used in #GDBusMessage.\n\n Since: 2.26"]
31907pub type GDBusMessageType = ::std::os::raw::c_uint;
31908pub const GDBusMessageFlags_G_DBUS_MESSAGE_FLAGS_NONE: GDBusMessageFlags = 0;
31909pub const GDBusMessageFlags_G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED: GDBusMessageFlags = 1;
31910pub const GDBusMessageFlags_G_DBUS_MESSAGE_FLAGS_NO_AUTO_START: GDBusMessageFlags = 2;
31911pub const GDBusMessageFlags_G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION:
31912    GDBusMessageFlags = 4;
31913#[doc = " GDBusMessageFlags:\n @G_DBUS_MESSAGE_FLAGS_NONE: No flags set.\n @G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED: A reply is not expected.\n @G_DBUS_MESSAGE_FLAGS_NO_AUTO_START: The bus must not launch an\n owner for the destination name in response to this message.\n @G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION: If set on a method\n call, this flag means that the caller is prepared to wait for interactive\n authorization. Since 2.46.\n\n Message flags used in #GDBusMessage.\n\n Since: 2.26"]
31914pub type GDBusMessageFlags = ::std::os::raw::c_uint;
31915pub const GDBusMessageHeaderField_G_DBUS_MESSAGE_HEADER_FIELD_INVALID: GDBusMessageHeaderField = 0;
31916pub const GDBusMessageHeaderField_G_DBUS_MESSAGE_HEADER_FIELD_PATH: GDBusMessageHeaderField = 1;
31917pub const GDBusMessageHeaderField_G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE: GDBusMessageHeaderField =
31918    2;
31919pub const GDBusMessageHeaderField_G_DBUS_MESSAGE_HEADER_FIELD_MEMBER: GDBusMessageHeaderField = 3;
31920pub const GDBusMessageHeaderField_G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME: GDBusMessageHeaderField =
31921    4;
31922pub const GDBusMessageHeaderField_G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL:
31923    GDBusMessageHeaderField = 5;
31924pub const GDBusMessageHeaderField_G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION: GDBusMessageHeaderField =
31925    6;
31926pub const GDBusMessageHeaderField_G_DBUS_MESSAGE_HEADER_FIELD_SENDER: GDBusMessageHeaderField = 7;
31927pub const GDBusMessageHeaderField_G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE: GDBusMessageHeaderField =
31928    8;
31929pub const GDBusMessageHeaderField_G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS:
31930    GDBusMessageHeaderField = 9;
31931#[doc = " GDBusMessageHeaderField:\n @G_DBUS_MESSAGE_HEADER_FIELD_INVALID: Not a valid header field.\n @G_DBUS_MESSAGE_HEADER_FIELD_PATH: The object path.\n @G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE: The interface name.\n @G_DBUS_MESSAGE_HEADER_FIELD_MEMBER: The method or signal name.\n @G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME: The name of the error that occurred.\n @G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL: The serial number the message is a reply to.\n @G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION: The name the message is intended for.\n @G_DBUS_MESSAGE_HEADER_FIELD_SENDER: Unique name of the sender of the message (filled in by the bus).\n @G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE: The signature of the message body.\n @G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS: The number of UNIX file descriptors that accompany the message.\n\n Header fields used in #GDBusMessage.\n\n Since: 2.26"]
31932pub type GDBusMessageHeaderField = ::std::os::raw::c_uint;
31933pub const GDBusPropertyInfoFlags_G_DBUS_PROPERTY_INFO_FLAGS_NONE: GDBusPropertyInfoFlags = 0;
31934pub const GDBusPropertyInfoFlags_G_DBUS_PROPERTY_INFO_FLAGS_READABLE: GDBusPropertyInfoFlags = 1;
31935pub const GDBusPropertyInfoFlags_G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE: GDBusPropertyInfoFlags = 2;
31936#[doc = " GDBusPropertyInfoFlags:\n @G_DBUS_PROPERTY_INFO_FLAGS_NONE: No flags set.\n @G_DBUS_PROPERTY_INFO_FLAGS_READABLE: Property is readable.\n @G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE: Property is writable.\n\n Flags describing the access control of a D-Bus property.\n\n Since: 2.26"]
31937pub type GDBusPropertyInfoFlags = ::std::os::raw::c_uint;
31938pub const GDBusSubtreeFlags_G_DBUS_SUBTREE_FLAGS_NONE: GDBusSubtreeFlags = 0;
31939pub const GDBusSubtreeFlags_G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES: GDBusSubtreeFlags =
31940    1;
31941#[doc = " GDBusSubtreeFlags:\n @G_DBUS_SUBTREE_FLAGS_NONE: No flags set.\n @G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES: Method calls to objects not in the enumerated range\n                                                       will still be dispatched. This is useful if you want\n                                                       to dynamically spawn objects in the subtree.\n\n Flags passed to g_dbus_connection_register_subtree().\n\n Since: 2.26"]
31942pub type GDBusSubtreeFlags = ::std::os::raw::c_uint;
31943pub const GDBusServerFlags_G_DBUS_SERVER_FLAGS_NONE: GDBusServerFlags = 0;
31944pub const GDBusServerFlags_G_DBUS_SERVER_FLAGS_RUN_IN_THREAD: GDBusServerFlags = 1;
31945pub const GDBusServerFlags_G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS: GDBusServerFlags = 2;
31946pub const GDBusServerFlags_G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER: GDBusServerFlags =
31947    4;
31948#[doc = " GDBusServerFlags:\n @G_DBUS_SERVER_FLAGS_NONE: No flags set.\n @G_DBUS_SERVER_FLAGS_RUN_IN_THREAD: All #GDBusServer::new-connection\n signals will run in separated dedicated threads (see signal for\n details).\n @G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS: Allow the anonymous\n authentication method.\n @G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER: Require the UID of the\n peer to be the same as the UID of the server when authenticating. (Since: 2.68)\n\n Flags used when creating a #GDBusServer.\n\n Since: 2.26"]
31949pub type GDBusServerFlags = ::std::os::raw::c_uint;
31950pub const GDBusSignalFlags_G_DBUS_SIGNAL_FLAGS_NONE: GDBusSignalFlags = 0;
31951pub const GDBusSignalFlags_G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE: GDBusSignalFlags = 1;
31952pub const GDBusSignalFlags_G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_NAMESPACE: GDBusSignalFlags = 2;
31953pub const GDBusSignalFlags_G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_PATH: GDBusSignalFlags = 4;
31954#[doc = " GDBusSignalFlags:\n @G_DBUS_SIGNAL_FLAGS_NONE: No flags set.\n @G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE: Don't actually send the AddMatch\n D-Bus call for this signal subscription.  This gives you more control\n over which match rules you add (but you must add them manually).\n @G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_NAMESPACE: Match first arguments that\n contain a bus or interface name with the given namespace.\n @G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_PATH: Match first arguments that\n contain an object path that is either equivalent to the given path,\n or one of the paths is a subpath of the other.\n\n Flags used when subscribing to signals via g_dbus_connection_signal_subscribe().\n\n Since: 2.26"]
31955pub type GDBusSignalFlags = ::std::os::raw::c_uint;
31956pub const GDBusSendMessageFlags_G_DBUS_SEND_MESSAGE_FLAGS_NONE: GDBusSendMessageFlags = 0;
31957pub const GDBusSendMessageFlags_G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL: GDBusSendMessageFlags =
31958    1;
31959#[doc = " GDBusSendMessageFlags:\n @G_DBUS_SEND_MESSAGE_FLAGS_NONE: No flags set.\n @G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL: Do not automatically\n assign a serial number from the #GDBusConnection object when\n sending a message.\n\n Flags used when sending #GDBusMessages on a #GDBusConnection.\n\n Since: 2.26"]
31960pub type GDBusSendMessageFlags = ::std::os::raw::c_uint;
31961pub const GCredentialsType_G_CREDENTIALS_TYPE_INVALID: GCredentialsType = 0;
31962pub const GCredentialsType_G_CREDENTIALS_TYPE_LINUX_UCRED: GCredentialsType = 1;
31963pub const GCredentialsType_G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED: GCredentialsType = 2;
31964pub const GCredentialsType_G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED: GCredentialsType = 3;
31965pub const GCredentialsType_G_CREDENTIALS_TYPE_SOLARIS_UCRED: GCredentialsType = 4;
31966pub const GCredentialsType_G_CREDENTIALS_TYPE_NETBSD_UNPCBID: GCredentialsType = 5;
31967pub const GCredentialsType_G_CREDENTIALS_TYPE_APPLE_XUCRED: GCredentialsType = 6;
31968pub const GCredentialsType_G_CREDENTIALS_TYPE_WIN32_PID: GCredentialsType = 7;
31969#[doc = " GCredentialsType:\n @G_CREDENTIALS_TYPE_INVALID: Indicates an invalid native credential type.\n @G_CREDENTIALS_TYPE_LINUX_UCRED: The native credentials type is a `struct ucred`.\n @G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED: The native credentials type is a `struct cmsgcred`.\n @G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED: The native credentials type is a `struct sockpeercred`. Added in 2.30.\n @G_CREDENTIALS_TYPE_SOLARIS_UCRED: The native credentials type is a `ucred_t`. Added in 2.40.\n @G_CREDENTIALS_TYPE_NETBSD_UNPCBID: The native credentials type is a `struct unpcbid`. Added in 2.42.\n @G_CREDENTIALS_TYPE_APPLE_XUCRED: The native credentials type is a `struct xucred`. Added in 2.66.\n @G_CREDENTIALS_TYPE_WIN32_PID: The native credentials type is a PID `DWORD`. Added in 2.72.\n\n Enumeration describing different kinds of native credential types.\n\n Since: 2.26"]
31970pub type GCredentialsType = ::std::os::raw::c_uint;
31971pub const GDBusMessageByteOrder_G_DBUS_MESSAGE_BYTE_ORDER_BIG_ENDIAN: GDBusMessageByteOrder = 66;
31972pub const GDBusMessageByteOrder_G_DBUS_MESSAGE_BYTE_ORDER_LITTLE_ENDIAN: GDBusMessageByteOrder =
31973    108;
31974#[doc = " GDBusMessageByteOrder:\n @G_DBUS_MESSAGE_BYTE_ORDER_BIG_ENDIAN: The byte order is big endian.\n @G_DBUS_MESSAGE_BYTE_ORDER_LITTLE_ENDIAN: The byte order is little endian.\n\n Enumeration used to describe the byte order of a D-Bus message.\n\n Since: 2.26"]
31975pub type GDBusMessageByteOrder = ::std::os::raw::c_uint;
31976pub const GApplicationFlags_G_APPLICATION_FLAGS_NONE: GApplicationFlags = 0;
31977pub const GApplicationFlags_G_APPLICATION_DEFAULT_FLAGS: GApplicationFlags = 0;
31978pub const GApplicationFlags_G_APPLICATION_IS_SERVICE: GApplicationFlags = 1;
31979pub const GApplicationFlags_G_APPLICATION_IS_LAUNCHER: GApplicationFlags = 2;
31980pub const GApplicationFlags_G_APPLICATION_HANDLES_OPEN: GApplicationFlags = 4;
31981pub const GApplicationFlags_G_APPLICATION_HANDLES_COMMAND_LINE: GApplicationFlags = 8;
31982pub const GApplicationFlags_G_APPLICATION_SEND_ENVIRONMENT: GApplicationFlags = 16;
31983pub const GApplicationFlags_G_APPLICATION_NON_UNIQUE: GApplicationFlags = 32;
31984pub const GApplicationFlags_G_APPLICATION_CAN_OVERRIDE_APP_ID: GApplicationFlags = 64;
31985pub const GApplicationFlags_G_APPLICATION_ALLOW_REPLACEMENT: GApplicationFlags = 128;
31986pub const GApplicationFlags_G_APPLICATION_REPLACE: GApplicationFlags = 256;
31987#[doc = " GApplicationFlags:\n @G_APPLICATION_FLAGS_NONE: Default. Deprecated in 2.74, use\n   %G_APPLICATION_DEFAULT_FLAGS instead\n @G_APPLICATION_DEFAULT_FLAGS: Default flags. Since: 2.74\n @G_APPLICATION_IS_SERVICE: Run as a service. In this mode, registration\n      fails if the service is already running, and the application\n      will initially wait up to 10 seconds for an initial activation\n      message to arrive.\n @G_APPLICATION_IS_LAUNCHER: Don't try to become the primary instance.\n @G_APPLICATION_HANDLES_OPEN: This application handles opening files (in\n     the primary instance). Note that this flag only affects the default\n     implementation of local_command_line(), and has no effect if\n     %G_APPLICATION_HANDLES_COMMAND_LINE is given.\n     See g_application_run() for details.\n @G_APPLICATION_HANDLES_COMMAND_LINE: This application handles command line\n     arguments (in the primary instance). Note that this flag only affect\n     the default implementation of local_command_line().\n     See g_application_run() for details.\n @G_APPLICATION_SEND_ENVIRONMENT: Send the environment of the\n     launching process to the primary instance. Set this flag if your\n     application is expected to behave differently depending on certain\n     environment variables. For instance, an editor might be expected\n     to use the `GIT_COMMITTER_NAME` environment variable\n     when editing a git commit message. The environment is available\n     to the #GApplication::command-line signal handler, via\n     g_application_command_line_getenv().\n @G_APPLICATION_NON_UNIQUE: Make no attempts to do any of the typical\n     single-instance application negotiation, even if the application\n     ID is given.  The application neither attempts to become the\n     owner of the application ID nor does it check if an existing\n     owner already exists.  Everything occurs in the local process.\n     Since: 2.30.\n @G_APPLICATION_CAN_OVERRIDE_APP_ID: Allow users to override the\n     application ID from the command line with `--gapplication-app-id`.\n     Since: 2.48\n @G_APPLICATION_ALLOW_REPLACEMENT: Allow another instance to take over\n     the bus name. Since: 2.60\n @G_APPLICATION_REPLACE: Take over from another instance. This flag is\n     usually set by passing `--gapplication-replace` on the commandline.\n     Since: 2.60\n\n Flags used to define the behaviour of a #GApplication.\n\n Since: 2.28"]
31988pub type GApplicationFlags = ::std::os::raw::c_uint;
31989pub const GTlsError_G_TLS_ERROR_UNAVAILABLE: GTlsError = 0;
31990pub const GTlsError_G_TLS_ERROR_MISC: GTlsError = 1;
31991pub const GTlsError_G_TLS_ERROR_BAD_CERTIFICATE: GTlsError = 2;
31992pub const GTlsError_G_TLS_ERROR_NOT_TLS: GTlsError = 3;
31993pub const GTlsError_G_TLS_ERROR_HANDSHAKE: GTlsError = 4;
31994pub const GTlsError_G_TLS_ERROR_CERTIFICATE_REQUIRED: GTlsError = 5;
31995pub const GTlsError_G_TLS_ERROR_EOF: GTlsError = 6;
31996pub const GTlsError_G_TLS_ERROR_INAPPROPRIATE_FALLBACK: GTlsError = 7;
31997pub const GTlsError_G_TLS_ERROR_BAD_CERTIFICATE_PASSWORD: GTlsError = 8;
31998#[doc = " GTlsError:\n @G_TLS_ERROR_UNAVAILABLE: No TLS provider is available\n @G_TLS_ERROR_MISC: Miscellaneous TLS error\n @G_TLS_ERROR_BAD_CERTIFICATE: The certificate presented could not\n   be parsed or failed validation.\n @G_TLS_ERROR_NOT_TLS: The TLS handshake failed because the\n   peer does not seem to be a TLS server.\n @G_TLS_ERROR_HANDSHAKE: The TLS handshake failed because the\n   peer's certificate was not acceptable.\n @G_TLS_ERROR_CERTIFICATE_REQUIRED: The TLS handshake failed because\n   the server requested a client-side certificate, but none was\n   provided. See g_tls_connection_set_certificate().\n @G_TLS_ERROR_EOF: The TLS connection was closed without proper\n   notice, which may indicate an attack. See\n   g_tls_connection_set_require_close_notify().\n @G_TLS_ERROR_INAPPROPRIATE_FALLBACK: The TLS handshake failed\n   because the client sent the fallback SCSV, indicating a protocol\n   downgrade attack. Since: 2.60\n @G_TLS_ERROR_BAD_CERTIFICATE_PASSWORD: The certificate failed\n   to load because a password was incorrect. Since: 2.72\n\n An error code used with %G_TLS_ERROR in a #GError returned from a\n TLS-related routine.\n\n Since: 2.28"]
31999pub type GTlsError = ::std::os::raw::c_uint;
32000pub const GTlsCertificateFlags_G_TLS_CERTIFICATE_NO_FLAGS: GTlsCertificateFlags = 0;
32001pub const GTlsCertificateFlags_G_TLS_CERTIFICATE_UNKNOWN_CA: GTlsCertificateFlags = 1;
32002pub const GTlsCertificateFlags_G_TLS_CERTIFICATE_BAD_IDENTITY: GTlsCertificateFlags = 2;
32003pub const GTlsCertificateFlags_G_TLS_CERTIFICATE_NOT_ACTIVATED: GTlsCertificateFlags = 4;
32004pub const GTlsCertificateFlags_G_TLS_CERTIFICATE_EXPIRED: GTlsCertificateFlags = 8;
32005pub const GTlsCertificateFlags_G_TLS_CERTIFICATE_REVOKED: GTlsCertificateFlags = 16;
32006pub const GTlsCertificateFlags_G_TLS_CERTIFICATE_INSECURE: GTlsCertificateFlags = 32;
32007pub const GTlsCertificateFlags_G_TLS_CERTIFICATE_GENERIC_ERROR: GTlsCertificateFlags = 64;
32008pub const GTlsCertificateFlags_G_TLS_CERTIFICATE_VALIDATE_ALL: GTlsCertificateFlags = 127;
32009#[doc = " GTlsCertificateFlags:\n @G_TLS_CERTIFICATE_NO_FLAGS: No flags set. Since: 2.74\n @G_TLS_CERTIFICATE_UNKNOWN_CA: The signing certificate authority is\n   not known.\n @G_TLS_CERTIFICATE_BAD_IDENTITY: The certificate does not match the\n   expected identity of the site that it was retrieved from.\n @G_TLS_CERTIFICATE_NOT_ACTIVATED: The certificate's activation time\n   is still in the future\n @G_TLS_CERTIFICATE_EXPIRED: The certificate has expired\n @G_TLS_CERTIFICATE_REVOKED: The certificate has been revoked\n   according to the #GTlsConnection's certificate revocation list.\n @G_TLS_CERTIFICATE_INSECURE: The certificate's algorithm is\n   considered insecure.\n @G_TLS_CERTIFICATE_GENERIC_ERROR: Some other error occurred validating\n   the certificate\n @G_TLS_CERTIFICATE_VALIDATE_ALL: the combination of all of the above\n   flags\n\n A set of flags describing TLS certification validation. This can be\n used to describe why a particular certificate was rejected (for\n example, in #GTlsConnection::accept-certificate).\n\n GLib guarantees that if certificate verification fails, at least one\n flag will be set, but it does not guarantee that all possible flags\n will be set. Accordingly, you may not safely decide to ignore any\n particular type of error. For example, it would be incorrect to mask\n %G_TLS_CERTIFICATE_EXPIRED if you want to allow expired certificates,\n because this could potentially be the only error flag set even if\n other problems exist with the certificate.\n\n Since: 2.28"]
32010pub type GTlsCertificateFlags = ::std::os::raw::c_uint;
32011pub const GTlsAuthenticationMode_G_TLS_AUTHENTICATION_NONE: GTlsAuthenticationMode = 0;
32012pub const GTlsAuthenticationMode_G_TLS_AUTHENTICATION_REQUESTED: GTlsAuthenticationMode = 1;
32013pub const GTlsAuthenticationMode_G_TLS_AUTHENTICATION_REQUIRED: GTlsAuthenticationMode = 2;
32014#[doc = " GTlsAuthenticationMode:\n @G_TLS_AUTHENTICATION_NONE: client authentication not required\n @G_TLS_AUTHENTICATION_REQUESTED: client authentication is requested\n @G_TLS_AUTHENTICATION_REQUIRED: client authentication is required\n\n The client authentication mode for a #GTlsServerConnection.\n\n Since: 2.28"]
32015pub type GTlsAuthenticationMode = ::std::os::raw::c_uint;
32016pub const GTlsChannelBindingType_G_TLS_CHANNEL_BINDING_TLS_UNIQUE: GTlsChannelBindingType = 0;
32017pub const GTlsChannelBindingType_G_TLS_CHANNEL_BINDING_TLS_SERVER_END_POINT:
32018    GTlsChannelBindingType = 1;
32019pub const GTlsChannelBindingType_G_TLS_CHANNEL_BINDING_TLS_EXPORTER: GTlsChannelBindingType = 2;
32020#[doc = " GTlsChannelBindingType:\n @G_TLS_CHANNEL_BINDING_TLS_UNIQUE:\n    [`tls-unique`](https://tools.ietf.org/html/rfc5929#section-3) binding\n    type\n @G_TLS_CHANNEL_BINDING_TLS_SERVER_END_POINT:\n    [`tls-server-end-point`](https://tools.ietf.org/html/rfc5929#section-4)\n    binding type\n @G_TLS_CHANNEL_BINDING_TLS_EXPORTER:\n    [`tls-exporter`](https://www.rfc-editor.org/rfc/rfc9266.html) binding\n    type. Since: 2.74\n\n The type of TLS channel binding data to retrieve from #GTlsConnection\n or #GDtlsConnection, as documented by RFC 5929 or RFC 9266. The\n [`tls-unique-for-telnet`](https://tools.ietf.org/html/rfc5929#section-5)\n binding type is not currently implemented.\n\n Since: 2.66"]
32021pub type GTlsChannelBindingType = ::std::os::raw::c_uint;
32022pub const GTlsChannelBindingError_G_TLS_CHANNEL_BINDING_ERROR_NOT_IMPLEMENTED:
32023    GTlsChannelBindingError = 0;
32024pub const GTlsChannelBindingError_G_TLS_CHANNEL_BINDING_ERROR_INVALID_STATE:
32025    GTlsChannelBindingError = 1;
32026pub const GTlsChannelBindingError_G_TLS_CHANNEL_BINDING_ERROR_NOT_AVAILABLE:
32027    GTlsChannelBindingError = 2;
32028pub const GTlsChannelBindingError_G_TLS_CHANNEL_BINDING_ERROR_NOT_SUPPORTED:
32029    GTlsChannelBindingError = 3;
32030pub const GTlsChannelBindingError_G_TLS_CHANNEL_BINDING_ERROR_GENERAL_ERROR:
32031    GTlsChannelBindingError = 4;
32032#[doc = " GTlsChannelBindingError:\n @G_TLS_CHANNEL_BINDING_ERROR_NOT_IMPLEMENTED: Either entire binding\n    retrieval facility or specific binding type is not implemented in the\n    TLS backend.\n @G_TLS_CHANNEL_BINDING_ERROR_INVALID_STATE: The handshake is not yet\n    complete on the connection which is a strong requirement for any existing\n    binding type.\n @G_TLS_CHANNEL_BINDING_ERROR_NOT_AVAILABLE: Handshake is complete but\n    binding data is not available. That normally indicates the TLS\n    implementation failed to provide the binding data. For example, some\n    implementations do not provide a peer certificate for resumed connections.\n @G_TLS_CHANNEL_BINDING_ERROR_NOT_SUPPORTED: Binding type is not supported\n    on the current connection. This error could be triggered when requesting\n    `tls-server-end-point` binding data for a certificate which has no hash\n    function or uses multiple hash functions.\n @G_TLS_CHANNEL_BINDING_ERROR_GENERAL_ERROR: Any other backend error\n    preventing binding data retrieval.\n\n An error code used with %G_TLS_CHANNEL_BINDING_ERROR in a #GError to\n indicate a TLS channel binding retrieval error.\n\n Since: 2.66"]
32033pub type GTlsChannelBindingError = ::std::os::raw::c_uint;
32034pub const GTlsRehandshakeMode_G_TLS_REHANDSHAKE_NEVER: GTlsRehandshakeMode = 0;
32035pub const GTlsRehandshakeMode_G_TLS_REHANDSHAKE_SAFELY: GTlsRehandshakeMode = 1;
32036pub const GTlsRehandshakeMode_G_TLS_REHANDSHAKE_UNSAFELY: GTlsRehandshakeMode = 2;
32037#[doc = " GTlsRehandshakeMode:\n @G_TLS_REHANDSHAKE_NEVER: Never allow rehandshaking\n @G_TLS_REHANDSHAKE_SAFELY: Allow safe rehandshaking only\n @G_TLS_REHANDSHAKE_UNSAFELY: Allow unsafe rehandshaking\n\n When to allow rehandshaking. See\n g_tls_connection_set_rehandshake_mode().\n\n Since: 2.28\n\n Deprecated: 2.60. Changing the rehandshake mode is no longer\n   required for compatibility. Also, rehandshaking has been removed\n   from the TLS protocol in TLS 1.3."]
32038pub type GTlsRehandshakeMode = ::std::os::raw::c_uint;
32039pub const _GTlsPasswordFlags_G_TLS_PASSWORD_NONE: _GTlsPasswordFlags = 0;
32040pub const _GTlsPasswordFlags_G_TLS_PASSWORD_RETRY: _GTlsPasswordFlags = 2;
32041pub const _GTlsPasswordFlags_G_TLS_PASSWORD_MANY_TRIES: _GTlsPasswordFlags = 4;
32042pub const _GTlsPasswordFlags_G_TLS_PASSWORD_FINAL_TRY: _GTlsPasswordFlags = 8;
32043pub const _GTlsPasswordFlags_G_TLS_PASSWORD_PKCS11_USER: _GTlsPasswordFlags = 16;
32044pub const _GTlsPasswordFlags_G_TLS_PASSWORD_PKCS11_SECURITY_OFFICER: _GTlsPasswordFlags = 32;
32045pub const _GTlsPasswordFlags_G_TLS_PASSWORD_PKCS11_CONTEXT_SPECIFIC: _GTlsPasswordFlags = 64;
32046#[doc = " GTlsPasswordFlags:\n @G_TLS_PASSWORD_NONE: No flags\n @G_TLS_PASSWORD_RETRY: The password was wrong, and the user should retry.\n @G_TLS_PASSWORD_MANY_TRIES: Hint to the user that the password has been\n    wrong many times, and the user may not have many chances left.\n @G_TLS_PASSWORD_FINAL_TRY: Hint to the user that this is the last try to get\n    this password right.\n @G_TLS_PASSWORD_PKCS11_USER: For PKCS #11, the user PIN is required.\n    Since: 2.70.\n @G_TLS_PASSWORD_PKCS11_SECURITY_OFFICER: For PKCS #11, the security officer\n    PIN is required. Since: 2.70.\n @G_TLS_PASSWORD_PKCS11_CONTEXT_SPECIFIC: For PKCS #11, the context-specific\n    PIN is required. Since: 2.70.\n\n Various flags for the password.\n\n Since: 2.30"]
32047pub type _GTlsPasswordFlags = ::std::os::raw::c_uint;
32048#[doc = " GTlsPasswordFlags:\n @G_TLS_PASSWORD_NONE: No flags\n @G_TLS_PASSWORD_RETRY: The password was wrong, and the user should retry.\n @G_TLS_PASSWORD_MANY_TRIES: Hint to the user that the password has been\n    wrong many times, and the user may not have many chances left.\n @G_TLS_PASSWORD_FINAL_TRY: Hint to the user that this is the last try to get\n    this password right.\n @G_TLS_PASSWORD_PKCS11_USER: For PKCS #11, the user PIN is required.\n    Since: 2.70.\n @G_TLS_PASSWORD_PKCS11_SECURITY_OFFICER: For PKCS #11, the security officer\n    PIN is required. Since: 2.70.\n @G_TLS_PASSWORD_PKCS11_CONTEXT_SPECIFIC: For PKCS #11, the context-specific\n    PIN is required. Since: 2.70.\n\n Various flags for the password.\n\n Since: 2.30"]
32049pub use self::_GTlsPasswordFlags as GTlsPasswordFlags;
32050pub const GTlsInteractionResult_G_TLS_INTERACTION_UNHANDLED: GTlsInteractionResult = 0;
32051pub const GTlsInteractionResult_G_TLS_INTERACTION_HANDLED: GTlsInteractionResult = 1;
32052pub const GTlsInteractionResult_G_TLS_INTERACTION_FAILED: GTlsInteractionResult = 2;
32053#[doc = " GTlsInteractionResult:\n @G_TLS_INTERACTION_UNHANDLED: The interaction was unhandled (i.e. not\n     implemented).\n @G_TLS_INTERACTION_HANDLED: The interaction completed, and resulting data\n     is available.\n @G_TLS_INTERACTION_FAILED: The interaction has failed, or was cancelled.\n     and the operation should be aborted.\n\n #GTlsInteractionResult is returned by various functions in #GTlsInteraction\n when finishing an interaction request.\n\n Since: 2.30"]
32054pub type GTlsInteractionResult = ::std::os::raw::c_uint;
32055pub const GDBusInterfaceSkeletonFlags_G_DBUS_INTERFACE_SKELETON_FLAGS_NONE:
32056    GDBusInterfaceSkeletonFlags = 0;
32057pub const GDBusInterfaceSkeletonFlags_G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD : GDBusInterfaceSkeletonFlags = 1 ;
32058#[doc = " GDBusInterfaceSkeletonFlags:\n @G_DBUS_INTERFACE_SKELETON_FLAGS_NONE: No flags set.\n @G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD: Each method invocation is handled in\n   a thread dedicated to the invocation. This means that the method implementation can use blocking IO\n   without blocking any other part of the process. It also means that the method implementation must\n   use locking to access data structures used by other threads.\n\n Flags describing the behavior of a #GDBusInterfaceSkeleton instance.\n\n Since: 2.30"]
32059pub type GDBusInterfaceSkeletonFlags = ::std::os::raw::c_uint;
32060pub const GDBusObjectManagerClientFlags_G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE:
32061    GDBusObjectManagerClientFlags = 0;
32062pub const GDBusObjectManagerClientFlags_G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_DO_NOT_AUTO_START:
32063    GDBusObjectManagerClientFlags = 1;
32064#[doc = " GDBusObjectManagerClientFlags:\n @G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE: No flags set.\n @G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_DO_NOT_AUTO_START: If not set and the\n   manager is for a well-known name, then request the bus to launch\n   an owner for the name if no-one owns the name. This flag can only\n   be used in managers for well-known names.\n\n Flags used when constructing a #GDBusObjectManagerClient.\n\n Since: 2.30"]
32065pub type GDBusObjectManagerClientFlags = ::std::os::raw::c_uint;
32066pub const GTlsDatabaseVerifyFlags_G_TLS_DATABASE_VERIFY_NONE: GTlsDatabaseVerifyFlags = 0;
32067#[doc = " GTlsDatabaseVerifyFlags:\n @G_TLS_DATABASE_VERIFY_NONE: No verification flags\n\n Flags for g_tls_database_verify_chain().\n\n Since: 2.30"]
32068pub type GTlsDatabaseVerifyFlags = ::std::os::raw::c_uint;
32069pub const GTlsDatabaseLookupFlags_G_TLS_DATABASE_LOOKUP_NONE: GTlsDatabaseLookupFlags = 0;
32070pub const GTlsDatabaseLookupFlags_G_TLS_DATABASE_LOOKUP_KEYPAIR: GTlsDatabaseLookupFlags = 1;
32071#[doc = " GTlsDatabaseLookupFlags:\n @G_TLS_DATABASE_LOOKUP_NONE: No lookup flags\n @G_TLS_DATABASE_LOOKUP_KEYPAIR: Restrict lookup to certificates that have\n     a private key.\n\n Flags for g_tls_database_lookup_certificate_for_handle(),\n g_tls_database_lookup_certificate_issuer(),\n and g_tls_database_lookup_certificates_issued_by().\n\n Since: 2.30"]
32072pub type GTlsDatabaseLookupFlags = ::std::os::raw::c_uint;
32073pub const GTlsCertificateRequestFlags_G_TLS_CERTIFICATE_REQUEST_NONE: GTlsCertificateRequestFlags =
32074    0;
32075#[doc = " GTlsCertificateRequestFlags:\n @G_TLS_CERTIFICATE_REQUEST_NONE: No flags\n\n Flags for g_tls_interaction_request_certificate(),\n g_tls_interaction_request_certificate_async(), and\n g_tls_interaction_invoke_request_certificate().\n\n Since: 2.40"]
32076pub type GTlsCertificateRequestFlags = ::std::os::raw::c_uint;
32077pub const GTlsProtocolVersion_G_TLS_PROTOCOL_VERSION_UNKNOWN: GTlsProtocolVersion = 0;
32078pub const GTlsProtocolVersion_G_TLS_PROTOCOL_VERSION_SSL_3_0: GTlsProtocolVersion = 1;
32079pub const GTlsProtocolVersion_G_TLS_PROTOCOL_VERSION_TLS_1_0: GTlsProtocolVersion = 2;
32080pub const GTlsProtocolVersion_G_TLS_PROTOCOL_VERSION_TLS_1_1: GTlsProtocolVersion = 3;
32081pub const GTlsProtocolVersion_G_TLS_PROTOCOL_VERSION_TLS_1_2: GTlsProtocolVersion = 4;
32082pub const GTlsProtocolVersion_G_TLS_PROTOCOL_VERSION_TLS_1_3: GTlsProtocolVersion = 5;
32083pub const GTlsProtocolVersion_G_TLS_PROTOCOL_VERSION_DTLS_1_0: GTlsProtocolVersion = 201;
32084pub const GTlsProtocolVersion_G_TLS_PROTOCOL_VERSION_DTLS_1_2: GTlsProtocolVersion = 202;
32085#[doc = " GTlsProtocolVersion:\n @G_TLS_PROTOCOL_VERSION_UNKNOWN: No protocol version or unknown protocol version\n @G_TLS_PROTOCOL_VERSION_SSL_3_0: SSL 3.0, which is insecure and should not be used\n @G_TLS_PROTOCOL_VERSION_TLS_1_0: TLS 1.0, which is insecure and should not be used\n @G_TLS_PROTOCOL_VERSION_TLS_1_1: TLS 1.1, which is insecure and should not be used\n @G_TLS_PROTOCOL_VERSION_TLS_1_2: TLS 1.2, defined by [RFC 5246](https://datatracker.ietf.org/doc/html/rfc5246)\n @G_TLS_PROTOCOL_VERSION_TLS_1_3: TLS 1.3, defined by [RFC 8446](https://datatracker.ietf.org/doc/html/rfc8446)\n @G_TLS_PROTOCOL_VERSION_DTLS_1_0: DTLS 1.0, which is insecure and should not be used\n @G_TLS_PROTOCOL_VERSION_DTLS_1_2: DTLS 1.2, defined by [RFC 6347](https://datatracker.ietf.org/doc/html/rfc6347)\n\n The TLS or DTLS protocol version used by a #GTlsConnection or\n #GDtlsConnection. The integer values of these versions are sequential\n to ensure newer known protocol versions compare greater than older\n known versions. Any known DTLS protocol version will compare greater\n than any SSL or TLS protocol version. The protocol version may be\n %G_TLS_PROTOCOL_VERSION_UNKNOWN if the TLS backend supports a newer\n protocol version that GLib does not yet know about. This means that\n it's possible for an unknown DTLS protocol version to compare less\n than the TLS protocol versions.\n\n Since: 2.70"]
32086pub type GTlsProtocolVersion = ::std::os::raw::c_uint;
32087pub const GIOModuleScopeFlags_G_IO_MODULE_SCOPE_NONE: GIOModuleScopeFlags = 0;
32088pub const GIOModuleScopeFlags_G_IO_MODULE_SCOPE_BLOCK_DUPLICATES: GIOModuleScopeFlags = 1;
32089#[doc = " GIOModuleScopeFlags:\n @G_IO_MODULE_SCOPE_NONE: No module scan flags\n @G_IO_MODULE_SCOPE_BLOCK_DUPLICATES: When using this scope to load or\n     scan modules, automatically block a modules which has the same base\n     basename as previously loaded module.\n\n Flags for use with g_io_module_scope_new().\n\n Since: 2.30"]
32090pub type GIOModuleScopeFlags = ::std::os::raw::c_uint;
32091pub const GSocketClientEvent_G_SOCKET_CLIENT_RESOLVING: GSocketClientEvent = 0;
32092pub const GSocketClientEvent_G_SOCKET_CLIENT_RESOLVED: GSocketClientEvent = 1;
32093pub const GSocketClientEvent_G_SOCKET_CLIENT_CONNECTING: GSocketClientEvent = 2;
32094pub const GSocketClientEvent_G_SOCKET_CLIENT_CONNECTED: GSocketClientEvent = 3;
32095pub const GSocketClientEvent_G_SOCKET_CLIENT_PROXY_NEGOTIATING: GSocketClientEvent = 4;
32096pub const GSocketClientEvent_G_SOCKET_CLIENT_PROXY_NEGOTIATED: GSocketClientEvent = 5;
32097pub const GSocketClientEvent_G_SOCKET_CLIENT_TLS_HANDSHAKING: GSocketClientEvent = 6;
32098pub const GSocketClientEvent_G_SOCKET_CLIENT_TLS_HANDSHAKED: GSocketClientEvent = 7;
32099pub const GSocketClientEvent_G_SOCKET_CLIENT_COMPLETE: GSocketClientEvent = 8;
32100#[doc = " GSocketClientEvent:\n @G_SOCKET_CLIENT_RESOLVING: The client is doing a DNS lookup.\n @G_SOCKET_CLIENT_RESOLVED: The client has completed a DNS lookup.\n @G_SOCKET_CLIENT_CONNECTING: The client is connecting to a remote\n   host (either a proxy or the destination server).\n @G_SOCKET_CLIENT_CONNECTED: The client has connected to a remote\n   host.\n @G_SOCKET_CLIENT_PROXY_NEGOTIATING: The client is negotiating\n   with a proxy to connect to the destination server.\n @G_SOCKET_CLIENT_PROXY_NEGOTIATED: The client has negotiated\n   with the proxy server.\n @G_SOCKET_CLIENT_TLS_HANDSHAKING: The client is performing a\n   TLS handshake.\n @G_SOCKET_CLIENT_TLS_HANDSHAKED: The client has performed a\n   TLS handshake.\n @G_SOCKET_CLIENT_COMPLETE: The client is done with a particular\n   #GSocketConnectable.\n\n Describes an event occurring on a #GSocketClient. See the\n #GSocketClient::event signal for more details.\n\n Additional values may be added to this type in the future.\n\n Since: 2.32"]
32101pub type GSocketClientEvent = ::std::os::raw::c_uint;
32102pub const GSocketListenerEvent_G_SOCKET_LISTENER_BINDING: GSocketListenerEvent = 0;
32103pub const GSocketListenerEvent_G_SOCKET_LISTENER_BOUND: GSocketListenerEvent = 1;
32104pub const GSocketListenerEvent_G_SOCKET_LISTENER_LISTENING: GSocketListenerEvent = 2;
32105pub const GSocketListenerEvent_G_SOCKET_LISTENER_LISTENED: GSocketListenerEvent = 3;
32106#[doc = " GSocketListenerEvent:\n @G_SOCKET_LISTENER_BINDING: The listener is about to bind a socket.\n @G_SOCKET_LISTENER_BOUND: The listener has bound a socket.\n @G_SOCKET_LISTENER_LISTENING: The listener is about to start\n    listening on this socket.\n @G_SOCKET_LISTENER_LISTENED: The listener is now listening on\n   this socket.\n\n Describes an event occurring on a #GSocketListener. See the\n #GSocketListener::event signal for more details.\n\n Additional values may be added to this type in the future.\n\n Since: 2.46"]
32107pub type GSocketListenerEvent = ::std::os::raw::c_uint;
32108pub const GTestDBusFlags_G_TEST_DBUS_NONE: GTestDBusFlags = 0;
32109#[doc = " GTestDBusFlags:\n @G_TEST_DBUS_NONE: No flags.\n\n Flags to define future #GTestDBus behaviour.\n\n Since: 2.34"]
32110pub type GTestDBusFlags = ::std::os::raw::c_uint;
32111pub const GSubprocessFlags_G_SUBPROCESS_FLAGS_NONE: GSubprocessFlags = 0;
32112pub const GSubprocessFlags_G_SUBPROCESS_FLAGS_STDIN_PIPE: GSubprocessFlags = 1;
32113pub const GSubprocessFlags_G_SUBPROCESS_FLAGS_STDIN_INHERIT: GSubprocessFlags = 2;
32114pub const GSubprocessFlags_G_SUBPROCESS_FLAGS_STDOUT_PIPE: GSubprocessFlags = 4;
32115pub const GSubprocessFlags_G_SUBPROCESS_FLAGS_STDOUT_SILENCE: GSubprocessFlags = 8;
32116pub const GSubprocessFlags_G_SUBPROCESS_FLAGS_STDERR_PIPE: GSubprocessFlags = 16;
32117pub const GSubprocessFlags_G_SUBPROCESS_FLAGS_STDERR_SILENCE: GSubprocessFlags = 32;
32118pub const GSubprocessFlags_G_SUBPROCESS_FLAGS_STDERR_MERGE: GSubprocessFlags = 64;
32119pub const GSubprocessFlags_G_SUBPROCESS_FLAGS_INHERIT_FDS: GSubprocessFlags = 128;
32120pub const GSubprocessFlags_G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP: GSubprocessFlags = 256;
32121#[doc = " GSubprocessFlags:\n @G_SUBPROCESS_FLAGS_NONE: No flags.\n @G_SUBPROCESS_FLAGS_STDIN_PIPE: create a pipe for the stdin of the\n   spawned process that can be accessed with\n   g_subprocess_get_stdin_pipe().\n @G_SUBPROCESS_FLAGS_STDIN_INHERIT: stdin is inherited from the\n   calling process.\n @G_SUBPROCESS_FLAGS_STDOUT_PIPE: create a pipe for the stdout of the\n   spawned process that can be accessed with\n   g_subprocess_get_stdout_pipe().\n @G_SUBPROCESS_FLAGS_STDOUT_SILENCE: silence the stdout of the spawned\n   process (ie: redirect to `/dev/null`).\n @G_SUBPROCESS_FLAGS_STDERR_PIPE: create a pipe for the stderr of the\n   spawned process that can be accessed with\n   g_subprocess_get_stderr_pipe().\n @G_SUBPROCESS_FLAGS_STDERR_SILENCE: silence the stderr of the spawned\n   process (ie: redirect to `/dev/null`).\n @G_SUBPROCESS_FLAGS_STDERR_MERGE: merge the stderr of the spawned\n   process with whatever the stdout happens to be.  This is a good way\n   of directing both streams to a common log file, for example.\n @G_SUBPROCESS_FLAGS_INHERIT_FDS: spawned processes will inherit the\n   file descriptors of their parent, unless those descriptors have\n   been explicitly marked as close-on-exec.  This flag has no effect\n   over the \"standard\" file descriptors (stdin, stdout, stderr).\n @G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP: if path searching is\n   needed when spawning the subprocess, use the `PATH` in the launcher\n   environment. (Since: 2.72)\n\n Flags to define the behaviour of a #GSubprocess.\n\n Note that the default for stdin is to redirect from `/dev/null`.  For\n stdout and stderr the default are for them to inherit the\n corresponding descriptor from the calling process.\n\n Note that it is a programmer error to mix 'incompatible' flags.  For\n example, you may not request both %G_SUBPROCESS_FLAGS_STDOUT_PIPE and\n %G_SUBPROCESS_FLAGS_STDOUT_SILENCE.\n\n Since: 2.40"]
32122pub type GSubprocessFlags = ::std::os::raw::c_uint;
32123pub const GNotificationPriority_G_NOTIFICATION_PRIORITY_NORMAL: GNotificationPriority = 0;
32124pub const GNotificationPriority_G_NOTIFICATION_PRIORITY_LOW: GNotificationPriority = 1;
32125pub const GNotificationPriority_G_NOTIFICATION_PRIORITY_HIGH: GNotificationPriority = 2;
32126pub const GNotificationPriority_G_NOTIFICATION_PRIORITY_URGENT: GNotificationPriority = 3;
32127#[doc = " GNotificationPriority:\n @G_NOTIFICATION_PRIORITY_LOW: for notifications that do not require\n   immediate attention - typically used for contextual background\n   information, such as contact birthdays or local weather\n @G_NOTIFICATION_PRIORITY_NORMAL: the default priority, to be used for the\n   majority of notifications (for example email messages, software updates,\n   completed download/sync operations)\n @G_NOTIFICATION_PRIORITY_HIGH: for events that require more attention,\n   usually because responses are time-sensitive (for example chat and SMS\n   messages or alarms)\n @G_NOTIFICATION_PRIORITY_URGENT: for urgent notifications, or notifications\n   that require a response in a short space of time (for example phone calls\n   or emergency warnings)\n\n Priority levels for #GNotifications.\n\n Since: 2.42"]
32128pub type GNotificationPriority = ::std::os::raw::c_uint;
32129pub const GNetworkConnectivity_G_NETWORK_CONNECTIVITY_LOCAL: GNetworkConnectivity = 1;
32130pub const GNetworkConnectivity_G_NETWORK_CONNECTIVITY_LIMITED: GNetworkConnectivity = 2;
32131pub const GNetworkConnectivity_G_NETWORK_CONNECTIVITY_PORTAL: GNetworkConnectivity = 3;
32132pub const GNetworkConnectivity_G_NETWORK_CONNECTIVITY_FULL: GNetworkConnectivity = 4;
32133#[doc = " GNetworkConnectivity:\n @G_NETWORK_CONNECTIVITY_LOCAL: The host is not configured with a\n   route to the Internet; it may or may not be connected to a local\n   network.\n @G_NETWORK_CONNECTIVITY_LIMITED: The host is connected to a network, but\n   does not appear to be able to reach the full Internet, perhaps\n   due to upstream network problems.\n @G_NETWORK_CONNECTIVITY_PORTAL: The host is behind a captive portal and\n   cannot reach the full Internet.\n @G_NETWORK_CONNECTIVITY_FULL: The host is connected to a network, and\n   appears to be able to reach the full Internet.\n\n The host's network connectivity state, as reported by #GNetworkMonitor.\n\n Since: 2.44"]
32134pub type GNetworkConnectivity = ::std::os::raw::c_uint;
32135pub const GPollableReturn_G_POLLABLE_RETURN_FAILED: GPollableReturn = 0;
32136pub const GPollableReturn_G_POLLABLE_RETURN_OK: GPollableReturn = 1;
32137pub const GPollableReturn_G_POLLABLE_RETURN_WOULD_BLOCK: GPollableReturn = -27;
32138#[doc = " GPollableReturn:\n @G_POLLABLE_RETURN_FAILED: Generic error condition for when an operation fails.\n @G_POLLABLE_RETURN_OK: The operation was successfully finished.\n @G_POLLABLE_RETURN_WOULD_BLOCK: The operation would block.\n\n Return value for various IO operations that signal errors via the\n return value and not necessarily via a #GError.\n\n This enum exists to be able to return errors to callers without having to\n allocate a #GError. Allocating #GErrors can be quite expensive for\n regularly happening errors like %G_IO_ERROR_WOULD_BLOCK.\n\n In case of %G_POLLABLE_RETURN_FAILED a #GError should be set for the\n operation to give details about the error that happened.\n\n Since: 2.60"]
32139pub type GPollableReturn = ::std::os::raw::c_int;
32140pub const GMemoryMonitorWarningLevel_G_MEMORY_MONITOR_WARNING_LEVEL_LOW:
32141    GMemoryMonitorWarningLevel = 50;
32142pub const GMemoryMonitorWarningLevel_G_MEMORY_MONITOR_WARNING_LEVEL_MEDIUM:
32143    GMemoryMonitorWarningLevel = 100;
32144pub const GMemoryMonitorWarningLevel_G_MEMORY_MONITOR_WARNING_LEVEL_CRITICAL:
32145    GMemoryMonitorWarningLevel = 255;
32146#[doc = " GMemoryMonitorWarningLevel:\n @G_MEMORY_MONITOR_WARNING_LEVEL_LOW: Memory on the device is low, processes\n   should free up unneeded resources (for example, in-memory caches) so they can\n   be used elsewhere.\n @G_MEMORY_MONITOR_WARNING_LEVEL_MEDIUM: Same as @G_MEMORY_MONITOR_WARNING_LEVEL_LOW\n   but the device has even less free memory, so processes should try harder to free\n   up unneeded resources. If your process does not need to stay running, it is a\n   good time for it to quit.\n @G_MEMORY_MONITOR_WARNING_LEVEL_CRITICAL: The system will soon start terminating\n   processes to reclaim memory, including background processes.\n\n Memory availability warning levels.\n\n Note that because new values might be added, it is recommended that applications check\n #GMemoryMonitorWarningLevel as ranges, for example:\n |[<!-- language=\"C\" -->\n if (warning_level > G_MEMORY_MONITOR_WARNING_LEVEL_LOW)\n   drop_caches ();\n ]|\n\n Since: 2.64"]
32147pub type GMemoryMonitorWarningLevel = ::std::os::raw::c_uint;
32148#[doc = " GAppLaunchContext:\n\n Integrating the launch with the launching application. This is used to\n handle for instance startup notification and launching the new application\n on the same screen as the launching window."]
32149pub type GAppLaunchContext = _GAppLaunchContext;
32150#[repr(C)]
32151#[derive(Debug, Copy, Clone)]
32152pub struct _GAppInfo {
32153    _unused: [u8; 0],
32154}
32155pub type GAppInfo = _GAppInfo;
32156#[repr(C)]
32157#[derive(Debug, Copy, Clone)]
32158pub struct _GAsyncResult {
32159    _unused: [u8; 0],
32160}
32161pub type GAsyncResult = _GAsyncResult;
32162#[repr(C)]
32163#[derive(Debug, Copy, Clone)]
32164pub struct _GAsyncInitable {
32165    _unused: [u8; 0],
32166}
32167pub type GAsyncInitable = _GAsyncInitable;
32168pub type GBufferedInputStream = _GBufferedInputStream;
32169pub type GBufferedOutputStream = _GBufferedOutputStream;
32170pub type GCancellable = _GCancellable;
32171#[repr(C)]
32172#[derive(Debug, Copy, Clone)]
32173pub struct _GCharsetConverter {
32174    _unused: [u8; 0],
32175}
32176pub type GCharsetConverter = _GCharsetConverter;
32177#[repr(C)]
32178#[derive(Debug, Copy, Clone)]
32179pub struct _GConverter {
32180    _unused: [u8; 0],
32181}
32182pub type GConverter = _GConverter;
32183pub type GConverterInputStream = _GConverterInputStream;
32184pub type GConverterOutputStream = _GConverterOutputStream;
32185#[repr(C)]
32186#[derive(Debug, Copy, Clone)]
32187pub struct _GDatagramBased {
32188    _unused: [u8; 0],
32189}
32190pub type GDatagramBased = _GDatagramBased;
32191pub type GDataInputStream = _GDataInputStream;
32192#[repr(C)]
32193#[derive(Debug, Copy, Clone)]
32194pub struct _GSimplePermission {
32195    _unused: [u8; 0],
32196}
32197pub type GSimplePermission = _GSimplePermission;
32198#[repr(C)]
32199#[derive(Debug, Copy, Clone)]
32200pub struct _GZlibCompressor {
32201    _unused: [u8; 0],
32202}
32203pub type GZlibCompressor = _GZlibCompressor;
32204#[repr(C)]
32205#[derive(Debug, Copy, Clone)]
32206pub struct _GZlibDecompressor {
32207    _unused: [u8; 0],
32208}
32209pub type GZlibDecompressor = _GZlibDecompressor;
32210#[doc = " GSimpleActionGroup:\n\n The #GSimpleActionGroup structure contains private data and should only be accessed using the provided API.\n\n Since: 2.28"]
32211pub type GSimpleActionGroup = _GSimpleActionGroup;
32212#[repr(C)]
32213#[derive(Debug, Copy, Clone)]
32214pub struct _GRemoteActionGroup {
32215    _unused: [u8; 0],
32216}
32217pub type GRemoteActionGroup = _GRemoteActionGroup;
32218#[repr(C)]
32219#[derive(Debug, Copy, Clone)]
32220pub struct _GDBusActionGroup {
32221    _unused: [u8; 0],
32222}
32223pub type GDBusActionGroup = _GDBusActionGroup;
32224#[repr(C)]
32225#[derive(Debug, Copy, Clone)]
32226pub struct _GActionMap {
32227    _unused: [u8; 0],
32228}
32229pub type GActionMap = _GActionMap;
32230#[repr(C)]
32231#[derive(Debug, Copy, Clone)]
32232pub struct _GActionGroup {
32233    _unused: [u8; 0],
32234}
32235pub type GActionGroup = _GActionGroup;
32236#[repr(C)]
32237#[derive(Debug, Copy, Clone)]
32238pub struct _GPropertyAction {
32239    _unused: [u8; 0],
32240}
32241pub type GPropertyAction = _GPropertyAction;
32242#[repr(C)]
32243#[derive(Debug, Copy, Clone)]
32244pub struct _GSimpleAction {
32245    _unused: [u8; 0],
32246}
32247pub type GSimpleAction = _GSimpleAction;
32248#[repr(C)]
32249#[derive(Debug, Copy, Clone)]
32250pub struct _GAction {
32251    _unused: [u8; 0],
32252}
32253pub type GAction = _GAction;
32254pub type GApplication = _GApplication;
32255pub type GApplicationCommandLine = _GApplicationCommandLine;
32256#[repr(C)]
32257#[derive(Debug, Copy, Clone)]
32258pub struct _GSettingsBackend {
32259    _unused: [u8; 0],
32260}
32261pub type GSettingsBackend = _GSettingsBackend;
32262pub type GSettings = _GSettings;
32263pub type GPermission = _GPermission;
32264pub type GMenuModel = _GMenuModel;
32265#[repr(C)]
32266#[derive(Debug, Copy, Clone)]
32267pub struct _GNotification {
32268    _unused: [u8; 0],
32269}
32270pub type GNotification = _GNotification;
32271#[repr(C)]
32272#[derive(Debug, Copy, Clone)]
32273pub struct _GDrive {
32274    _unused: [u8; 0],
32275}
32276#[doc = " GDrive:\n\n Opaque drive object."]
32277pub type GDrive = _GDrive;
32278pub type GFileEnumerator = _GFileEnumerator;
32279#[doc = " GFileMonitor:\n\n Watches for changes to a file."]
32280pub type GFileMonitor = _GFileMonitor;
32281pub type GFilterInputStream = _GFilterInputStream;
32282pub type GFilterOutputStream = _GFilterOutputStream;
32283#[repr(C)]
32284#[derive(Debug, Copy, Clone)]
32285pub struct _GFile {
32286    _unused: [u8; 0],
32287}
32288#[doc = " GFile:\n\n A handle to an object implementing the #GFileIface interface.\n Generally stores a location within the file system. Handles do not\n necessarily represent files or directories that currently exist."]
32289pub type GFile = _GFile;
32290#[repr(C)]
32291#[derive(Debug, Copy, Clone)]
32292pub struct _GFileInfo {
32293    _unused: [u8; 0],
32294}
32295pub type GFileInfo = _GFileInfo;
32296#[repr(C)]
32297#[derive(Debug, Copy, Clone)]
32298pub struct _GFileAttributeMatcher {
32299    _unused: [u8; 0],
32300}
32301#[doc = " GFileAttributeMatcher:\n\n Determines if a string matches a file attribute."]
32302pub type GFileAttributeMatcher = _GFileAttributeMatcher;
32303#[doc = " GFileAttributeInfo:\n @name: the name of the attribute.\n @type: the #GFileAttributeType type of the attribute.\n @flags: a set of #GFileAttributeInfoFlags.\n\n Information about a specific attribute."]
32304pub type GFileAttributeInfo = _GFileAttributeInfo;
32305#[doc = " GFileAttributeInfoList:\n @infos: an array of #GFileAttributeInfos.\n @n_infos: the number of values in the array.\n\n Acts as a lightweight registry for possible valid file attributes.\n The registry stores Key-Value pair formats as #GFileAttributeInfos."]
32306pub type GFileAttributeInfoList = _GFileAttributeInfoList;
32307#[repr(C)]
32308#[derive(Debug, Copy, Clone)]
32309pub struct _GFileDescriptorBased {
32310    _unused: [u8; 0],
32311}
32312pub type GFileDescriptorBased = _GFileDescriptorBased;
32313pub type GFileInputStream = _GFileInputStream;
32314pub type GFileOutputStream = _GFileOutputStream;
32315pub type GFileIOStream = _GFileIOStream;
32316#[repr(C)]
32317#[derive(Debug, Copy, Clone)]
32318pub struct _GFileIcon {
32319    _unused: [u8; 0],
32320}
32321pub type GFileIcon = _GFileIcon;
32322#[repr(C)]
32323#[derive(Debug, Copy, Clone)]
32324pub struct _GFilenameCompleter {
32325    _unused: [u8; 0],
32326}
32327pub type GFilenameCompleter = _GFilenameCompleter;
32328#[repr(C)]
32329#[derive(Debug, Copy, Clone)]
32330pub struct _GIcon {
32331    _unused: [u8; 0],
32332}
32333pub type GIcon = _GIcon;
32334pub type GInetAddress = _GInetAddress;
32335pub type GInetAddressMask = _GInetAddressMask;
32336pub type GInetSocketAddress = _GInetSocketAddress;
32337pub type GNativeSocketAddress = _GNativeSocketAddress;
32338pub type GInputStream = _GInputStream;
32339#[repr(C)]
32340#[derive(Debug, Copy, Clone)]
32341pub struct _GInitable {
32342    _unused: [u8; 0],
32343}
32344pub type GInitable = _GInitable;
32345#[repr(C)]
32346#[derive(Debug, Copy, Clone)]
32347pub struct _GIOModule {
32348    _unused: [u8; 0],
32349}
32350pub type GIOModule = _GIOModule;
32351#[repr(C)]
32352#[derive(Debug, Copy, Clone)]
32353pub struct _GIOExtensionPoint {
32354    _unused: [u8; 0],
32355}
32356pub type GIOExtensionPoint = _GIOExtensionPoint;
32357#[repr(C)]
32358#[derive(Debug, Copy, Clone)]
32359pub struct _GIOExtension {
32360    _unused: [u8; 0],
32361}
32362pub type GIOExtension = _GIOExtension;
32363#[repr(C)]
32364#[derive(Debug, Copy, Clone)]
32365pub struct _GIOSchedulerJob {
32366    _unused: [u8; 0],
32367}
32368#[doc = " GIOSchedulerJob:\n\n Opaque class for defining and scheduling IO jobs."]
32369pub type GIOSchedulerJob = _GIOSchedulerJob;
32370#[repr(C)]
32371#[derive(Debug, Copy, Clone)]
32372pub struct _GIOStreamAdapter {
32373    _unused: [u8; 0],
32374}
32375pub type GIOStreamAdapter = _GIOStreamAdapter;
32376#[repr(C)]
32377#[derive(Debug, Copy, Clone)]
32378pub struct _GLoadableIcon {
32379    _unused: [u8; 0],
32380}
32381pub type GLoadableIcon = _GLoadableIcon;
32382#[repr(C)]
32383#[derive(Debug, Copy, Clone)]
32384pub struct _GBytesIcon {
32385    _unused: [u8; 0],
32386}
32387pub type GBytesIcon = _GBytesIcon;
32388pub type GMemoryInputStream = _GMemoryInputStream;
32389pub type GMemoryOutputStream = _GMemoryOutputStream;
32390#[repr(C)]
32391#[derive(Debug, Copy, Clone)]
32392pub struct _GMount {
32393    _unused: [u8; 0],
32394}
32395#[doc = " GMount:\n\n A handle to an object implementing the #GMountIface interface."]
32396pub type GMount = _GMount;
32397pub type GMountOperation = _GMountOperation;
32398pub type GNetworkAddress = _GNetworkAddress;
32399#[repr(C)]
32400#[derive(Debug, Copy, Clone)]
32401pub struct _GNetworkMonitor {
32402    _unused: [u8; 0],
32403}
32404pub type GNetworkMonitor = _GNetworkMonitor;
32405pub type GNetworkService = _GNetworkService;
32406pub type GOutputStream = _GOutputStream;
32407#[doc = " GIOStream:\n\n Base class for read-write streams."]
32408pub type GIOStream = _GIOStream;
32409#[repr(C)]
32410#[derive(Debug, Copy, Clone)]
32411pub struct _GSimpleIOStream {
32412    _unused: [u8; 0],
32413}
32414pub type GSimpleIOStream = _GSimpleIOStream;
32415#[repr(C)]
32416#[derive(Debug, Copy, Clone)]
32417pub struct _GPollableInputStream {
32418    _unused: [u8; 0],
32419}
32420pub type GPollableInputStream = _GPollableInputStream;
32421#[repr(C)]
32422#[derive(Debug, Copy, Clone)]
32423pub struct _GPollableOutputStream {
32424    _unused: [u8; 0],
32425}
32426pub type GPollableOutputStream = _GPollableOutputStream;
32427pub type GResolver = _GResolver;
32428#[repr(C)]
32429#[derive(Debug, Copy, Clone)]
32430pub struct _GResource {
32431    _unused: [u8; 0],
32432}
32433#[doc = " GResource:\n\n A resource bundle.\n\n Since: 2.32"]
32434pub type GResource = _GResource;
32435#[repr(C)]
32436#[derive(Debug, Copy, Clone)]
32437pub struct _GSeekable {
32438    _unused: [u8; 0],
32439}
32440pub type GSeekable = _GSeekable;
32441#[repr(C)]
32442#[derive(Debug, Copy, Clone)]
32443pub struct _GSimpleAsyncResult {
32444    _unused: [u8; 0],
32445}
32446pub type GSimpleAsyncResult = _GSimpleAsyncResult;
32447#[doc = " GSocket:\n\n A lowlevel network socket object.\n\n Since: 2.22"]
32448pub type GSocket = _GSocket;
32449#[doc = " GSocketControlMessage:\n\n Base class for socket-type specific control messages that can be sent and\n received over #GSocket."]
32450pub type GSocketControlMessage = _GSocketControlMessage;
32451#[doc = " GSocketClient:\n\n A helper class for network clients to make connections.\n\n Since: 2.22"]
32452pub type GSocketClient = _GSocketClient;
32453#[doc = " GSocketConnection:\n\n A socket connection GIOStream object for connection-oriented sockets.\n\n Since: 2.22"]
32454pub type GSocketConnection = _GSocketConnection;
32455#[doc = " GSocketListener:\n\n A helper class for network servers to listen for and accept connections.\n\n Since: 2.22"]
32456pub type GSocketListener = _GSocketListener;
32457#[doc = " GSocketService:\n\n A helper class for handling accepting incoming connections in the\n glib mainloop.\n\n Since: 2.22"]
32458pub type GSocketService = _GSocketService;
32459pub type GSocketAddress = _GSocketAddress;
32460pub type GSocketAddressEnumerator = _GSocketAddressEnumerator;
32461#[repr(C)]
32462#[derive(Debug, Copy, Clone)]
32463pub struct _GSocketConnectable {
32464    _unused: [u8; 0],
32465}
32466pub type GSocketConnectable = _GSocketConnectable;
32467#[repr(C)]
32468#[derive(Debug, Copy, Clone)]
32469pub struct _GSrvTarget {
32470    _unused: [u8; 0],
32471}
32472pub type GSrvTarget = _GSrvTarget;
32473#[repr(C)]
32474#[derive(Debug, Copy, Clone)]
32475pub struct _GTask {
32476    _unused: [u8; 0],
32477}
32478pub type GTask = _GTask;
32479#[doc = " GTcpConnection:\n\n A #GSocketConnection for TCP/IP connections.\n\n Since: 2.22"]
32480pub type GTcpConnection = _GTcpConnection;
32481pub type GTcpWrapperConnection = _GTcpWrapperConnection;
32482#[doc = " GThreadedSocketService:\n\n A helper class for handling accepting incoming connections in the\n glib mainloop and handling them in a thread.\n\n Since: 2.22"]
32483pub type GThreadedSocketService = _GThreadedSocketService;
32484#[repr(C)]
32485#[derive(Debug, Copy, Clone)]
32486pub struct _GDtlsConnection {
32487    _unused: [u8; 0],
32488}
32489pub type GDtlsConnection = _GDtlsConnection;
32490#[repr(C)]
32491#[derive(Debug, Copy, Clone)]
32492pub struct _GDtlsClientConnection {
32493    _unused: [u8; 0],
32494}
32495pub type GDtlsClientConnection = _GDtlsClientConnection;
32496#[repr(C)]
32497#[derive(Debug, Copy, Clone)]
32498pub struct _GDtlsServerConnection {
32499    _unused: [u8; 0],
32500}
32501pub type GDtlsServerConnection = _GDtlsServerConnection;
32502#[repr(C)]
32503#[derive(Debug, Copy, Clone)]
32504pub struct _GThemedIcon {
32505    _unused: [u8; 0],
32506}
32507pub type GThemedIcon = _GThemedIcon;
32508pub type GTlsCertificate = _GTlsCertificate;
32509#[repr(C)]
32510#[derive(Debug, Copy, Clone)]
32511pub struct _GTlsClientConnection {
32512    _unused: [u8; 0],
32513}
32514pub type GTlsClientConnection = _GTlsClientConnection;
32515pub type GTlsConnection = _GTlsConnection;
32516pub type GTlsDatabase = _GTlsDatabase;
32517#[repr(C)]
32518#[derive(Debug, Copy, Clone)]
32519pub struct _GTlsFileDatabase {
32520    _unused: [u8; 0],
32521}
32522pub type GTlsFileDatabase = _GTlsFileDatabase;
32523pub type GTlsInteraction = _GTlsInteraction;
32524pub type GTlsPassword = _GTlsPassword;
32525#[repr(C)]
32526#[derive(Debug, Copy, Clone)]
32527pub struct _GTlsServerConnection {
32528    _unused: [u8; 0],
32529}
32530pub type GTlsServerConnection = _GTlsServerConnection;
32531pub type GVfs = _GVfs;
32532#[repr(C)]
32533#[derive(Debug, Copy, Clone)]
32534pub struct _GProxyResolver {
32535    _unused: [u8; 0],
32536}
32537#[doc = " GProxyResolver:\n\n A helper class to enumerate proxies base on URI.\n\n Since: 2.26"]
32538pub type GProxyResolver = _GProxyResolver;
32539#[repr(C)]
32540#[derive(Debug, Copy, Clone)]
32541pub struct _GProxy {
32542    _unused: [u8; 0],
32543}
32544pub type GProxy = _GProxy;
32545pub type GProxyAddress = _GProxyAddress;
32546pub type GProxyAddressEnumerator = _GProxyAddressEnumerator;
32547#[repr(C)]
32548#[derive(Debug, Copy, Clone)]
32549pub struct _GVolume {
32550    _unused: [u8; 0],
32551}
32552#[doc = " GVolume:\n\n Opaque mountable volume object."]
32553pub type GVolume = _GVolume;
32554pub type GVolumeMonitor = _GVolumeMonitor;
32555#[doc = " GAsyncReadyCallback:\n @source_object: (nullable): the object the asynchronous operation was started with.\n @res: a #GAsyncResult.\n @data: user data passed to the callback.\n\n Type definition for a function that will be called back when an asynchronous\n operation within GIO has been completed. #GAsyncReadyCallback\n callbacks from #GTask are guaranteed to be invoked in a later\n iteration of the\n [thread-default main context][g-main-context-push-thread-default]\n where the #GTask was created. All other users of\n #GAsyncReadyCallback must likewise call it asynchronously in a\n later iteration of the main context.\n\n The asynchronous operation is guaranteed to have held a reference to\n @source_object from the time when the `*_async()` function was called, until\n after this callback returns."]
32556pub type GAsyncReadyCallback = ::std::option::Option<
32557    unsafe extern "C" fn(source_object: *mut GObject, res: *mut GAsyncResult, data: gpointer),
32558>;
32559#[doc = " GFileProgressCallback:\n @current_num_bytes: the current number of bytes in the operation.\n @total_num_bytes: the total number of bytes in the operation.\n @data: user data passed to the callback.\n\n When doing file operations that may take a while, such as moving\n a file or copying a file, a progress callback is used to pass how\n far along that operation is to the application."]
32560pub type GFileProgressCallback = ::std::option::Option<
32561    unsafe extern "C" fn(current_num_bytes: goffset, total_num_bytes: goffset, data: gpointer),
32562>;
32563#[doc = " GFileReadMoreCallback:\n @file_contents: the data as currently read.\n @file_size: the size of the data currently read.\n @callback_data: data passed to the callback.\n\n When loading the partial contents of a file with g_file_load_partial_contents_async(),\n it may become necessary to determine if any more data from the file should be loaded.\n A #GFileReadMoreCallback function facilitates this by returning %TRUE if more data\n should be read, or %FALSE otherwise.\n\n Returns: %TRUE if more data should be read back. %FALSE otherwise."]
32564pub type GFileReadMoreCallback = ::std::option::Option<
32565    unsafe extern "C" fn(
32566        file_contents: *const ::std::os::raw::c_char,
32567        file_size: goffset,
32568        callback_data: gpointer,
32569    ) -> gboolean,
32570>;
32571#[doc = " GFileMeasureProgressCallback:\n @reporting: %TRUE if more reports will come\n @current_size: the current cumulative size measurement\n @num_dirs: the number of directories visited so far\n @num_files: the number of non-directory files encountered\n @data: the data passed to the original request for this callback\n\n This callback type is used by g_file_measure_disk_usage() to make\n periodic progress reports when measuring the amount of disk spaced\n used by a directory.\n\n These calls are made on a best-effort basis and not all types of\n #GFile will support them.  At the minimum, however, one call will\n always be made immediately.\n\n In the case that there is no support, @reporting will be set to\n %FALSE (and the other values undefined) and no further calls will be\n made.  Otherwise, the @reporting will be %TRUE and the other values\n all-zeros during the first (immediate) call.  In this way, you can\n know which type of progress UI to show without a delay.\n\n For g_file_measure_disk_usage() the callback is made directly.  For\n g_file_measure_disk_usage_async() the callback is made via the\n default main context of the calling thread (ie: the same way that the\n final async result would be reported).\n\n @current_size is in the same units as requested by the operation (see\n %G_FILE_MEASURE_APPARENT_SIZE).\n\n The frequency of the updates is implementation defined, but is\n ideally about once every 200ms.\n\n The last progress callback may or may not be equal to the final\n result.  Always check the async result to get the final value.\n\n Since: 2.38"]
32572pub type GFileMeasureProgressCallback = ::std::option::Option<
32573    unsafe extern "C" fn(
32574        reporting: gboolean,
32575        current_size: guint64,
32576        num_dirs: guint64,
32577        num_files: guint64,
32578        data: gpointer,
32579    ),
32580>;
32581#[doc = " GIOSchedulerJobFunc:\n @job: a #GIOSchedulerJob.\n @cancellable: optional #GCancellable object, %NULL to ignore.\n @data: data passed to the callback function\n\n I/O Job function.\n\n Long-running jobs should periodically check the @cancellable\n to see if they have been cancelled.\n\n Returns: %TRUE if this function should be called again to\n    complete the job, %FALSE if the job is complete (or cancelled)"]
32582pub type GIOSchedulerJobFunc = ::std::option::Option<
32583    unsafe extern "C" fn(
32584        job: *mut GIOSchedulerJob,
32585        cancellable: *mut GCancellable,
32586        data: gpointer,
32587    ) -> gboolean,
32588>;
32589#[doc = " GSimpleAsyncThreadFunc:\n @res: a #GSimpleAsyncResult.\n @object: a #GObject.\n @cancellable: optional #GCancellable object, %NULL to ignore.\n\n Simple thread function that runs an asynchronous operation and\n checks for cancellation."]
32590pub type GSimpleAsyncThreadFunc = ::std::option::Option<
32591    unsafe extern "C" fn(
32592        res: *mut GSimpleAsyncResult,
32593        object: *mut GObject,
32594        cancellable: *mut GCancellable,
32595    ),
32596>;
32597#[doc = " GSocketSourceFunc:\n @socket: the #GSocket\n @condition: the current condition at the source fired.\n @data: data passed in by the user.\n\n This is the function type of the callback used for the #GSource\n returned by g_socket_create_source().\n\n Returns: it should return %FALSE if the source should be removed.\n\n Since: 2.22"]
32598pub type GSocketSourceFunc = ::std::option::Option<
32599    unsafe extern "C" fn(socket: *mut GSocket, condition: GIOCondition, data: gpointer) -> gboolean,
32600>;
32601#[doc = " GDatagramBasedSourceFunc:\n @datagram_based: the #GDatagramBased\n @condition: the current condition at the source fired\n @data: data passed in by the user\n\n This is the function type of the callback used for the #GSource\n returned by g_datagram_based_create_source().\n\n Returns: %G_SOURCE_REMOVE if the source should be removed,\n   %G_SOURCE_CONTINUE otherwise\n\n Since: 2.48"]
32602pub type GDatagramBasedSourceFunc = ::std::option::Option<
32603    unsafe extern "C" fn(
32604        datagram_based: *mut GDatagramBased,
32605        condition: GIOCondition,
32606        data: gpointer,
32607    ) -> gboolean,
32608>;
32609#[doc = " GInputVector:\n @buffer: Pointer to a buffer where data will be written.\n @size: the available size in @buffer.\n\n Structure used for scatter/gather data input.\n You generally pass in an array of #GInputVectors\n and the operation will store the read data starting in the\n first buffer, switching to the next as needed.\n\n Since: 2.22"]
32610pub type GInputVector = _GInputVector;
32611#[repr(C)]
32612#[derive(Debug, Copy, Clone, PartialEq, Eq)]
32613pub struct _GInputVector {
32614    pub buffer: gpointer,
32615    pub size: gsize,
32616}
32617#[test]
32618fn bindgen_test_layout__GInputVector() {
32619    const UNINIT: ::std::mem::MaybeUninit<_GInputVector> = ::std::mem::MaybeUninit::uninit();
32620    let ptr = UNINIT.as_ptr();
32621    assert_eq!(
32622        ::std::mem::size_of::<_GInputVector>(),
32623        16usize,
32624        concat!("Size of: ", stringify!(_GInputVector))
32625    );
32626    assert_eq!(
32627        ::std::mem::align_of::<_GInputVector>(),
32628        8usize,
32629        concat!("Alignment of ", stringify!(_GInputVector))
32630    );
32631    assert_eq!(
32632        unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
32633        0usize,
32634        concat!(
32635            "Offset of field: ",
32636            stringify!(_GInputVector),
32637            "::",
32638            stringify!(buffer)
32639        )
32640    );
32641    assert_eq!(
32642        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
32643        8usize,
32644        concat!(
32645            "Offset of field: ",
32646            stringify!(_GInputVector),
32647            "::",
32648            stringify!(size)
32649        )
32650    );
32651}
32652#[doc = " GInputMessage:\n @address: (optional) (out) (transfer full): return location\n   for a #GSocketAddress, or %NULL\n @vectors: (array length=num_vectors) (out): pointer to an\n   array of input vectors\n @num_vectors: the number of input vectors pointed to by @vectors\n @bytes_received: (out): will be set to the number of bytes that have been\n   received\n @flags: (out): collection of #GSocketMsgFlags for the received message,\n   outputted by the call\n @control_messages: (array length=num_control_messages) (optional)\n   (out) (transfer full): return location for a\n   caller-allocated array of #GSocketControlMessages, or %NULL\n @num_control_messages: (out) (optional): return location for the number of\n   elements in @control_messages\n\n Structure used for scatter/gather data input when receiving multiple\n messages or packets in one go. You generally pass in an array of empty\n #GInputVectors and the operation will use all the buffers as if they\n were one buffer, and will set @bytes_received to the total number of bytes\n received across all #GInputVectors.\n\n This structure closely mirrors `struct mmsghdr` and `struct msghdr` from\n the POSIX sockets API (see `man 2 recvmmsg`).\n\n If @address is non-%NULL then it is set to the source address the message\n was received from, and the caller must free it afterwards.\n\n If @control_messages is non-%NULL then it is set to an array of control\n messages received with the message (if any), and the caller must free it\n afterwards. @num_control_messages is set to the number of elements in\n this array, which may be zero.\n\n Flags relevant to this message will be returned in @flags. For example,\n `MSG_EOR` or `MSG_TRUNC`.\n\n Since: 2.48"]
32653pub type GInputMessage = _GInputMessage;
32654#[repr(C)]
32655#[derive(Debug, Copy, Clone, PartialEq, Eq)]
32656pub struct _GInputMessage {
32657    pub address: *mut *mut GSocketAddress,
32658    pub vectors: *mut GInputVector,
32659    pub num_vectors: guint,
32660    pub bytes_received: gsize,
32661    pub flags: gint,
32662    pub control_messages: *mut *mut *mut GSocketControlMessage,
32663    pub num_control_messages: *mut guint,
32664}
32665#[test]
32666fn bindgen_test_layout__GInputMessage() {
32667    const UNINIT: ::std::mem::MaybeUninit<_GInputMessage> = ::std::mem::MaybeUninit::uninit();
32668    let ptr = UNINIT.as_ptr();
32669    assert_eq!(
32670        ::std::mem::size_of::<_GInputMessage>(),
32671        56usize,
32672        concat!("Size of: ", stringify!(_GInputMessage))
32673    );
32674    assert_eq!(
32675        ::std::mem::align_of::<_GInputMessage>(),
32676        8usize,
32677        concat!("Alignment of ", stringify!(_GInputMessage))
32678    );
32679    assert_eq!(
32680        unsafe { ::std::ptr::addr_of!((*ptr).address) as usize - ptr as usize },
32681        0usize,
32682        concat!(
32683            "Offset of field: ",
32684            stringify!(_GInputMessage),
32685            "::",
32686            stringify!(address)
32687        )
32688    );
32689    assert_eq!(
32690        unsafe { ::std::ptr::addr_of!((*ptr).vectors) as usize - ptr as usize },
32691        8usize,
32692        concat!(
32693            "Offset of field: ",
32694            stringify!(_GInputMessage),
32695            "::",
32696            stringify!(vectors)
32697        )
32698    );
32699    assert_eq!(
32700        unsafe { ::std::ptr::addr_of!((*ptr).num_vectors) as usize - ptr as usize },
32701        16usize,
32702        concat!(
32703            "Offset of field: ",
32704            stringify!(_GInputMessage),
32705            "::",
32706            stringify!(num_vectors)
32707        )
32708    );
32709    assert_eq!(
32710        unsafe { ::std::ptr::addr_of!((*ptr).bytes_received) as usize - ptr as usize },
32711        24usize,
32712        concat!(
32713            "Offset of field: ",
32714            stringify!(_GInputMessage),
32715            "::",
32716            stringify!(bytes_received)
32717        )
32718    );
32719    assert_eq!(
32720        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
32721        32usize,
32722        concat!(
32723            "Offset of field: ",
32724            stringify!(_GInputMessage),
32725            "::",
32726            stringify!(flags)
32727        )
32728    );
32729    assert_eq!(
32730        unsafe { ::std::ptr::addr_of!((*ptr).control_messages) as usize - ptr as usize },
32731        40usize,
32732        concat!(
32733            "Offset of field: ",
32734            stringify!(_GInputMessage),
32735            "::",
32736            stringify!(control_messages)
32737        )
32738    );
32739    assert_eq!(
32740        unsafe { ::std::ptr::addr_of!((*ptr).num_control_messages) as usize - ptr as usize },
32741        48usize,
32742        concat!(
32743            "Offset of field: ",
32744            stringify!(_GInputMessage),
32745            "::",
32746            stringify!(num_control_messages)
32747        )
32748    );
32749}
32750#[doc = " GOutputVector:\n @buffer: Pointer to a buffer of data to read.\n @size: the size of @buffer.\n\n Structure used for scatter/gather data output.\n You generally pass in an array of #GOutputVectors\n and the operation will use all the buffers as if they were\n one buffer.\n\n Since: 2.22"]
32751pub type GOutputVector = _GOutputVector;
32752#[repr(C)]
32753#[derive(Debug, Copy, Clone, PartialEq, Eq)]
32754pub struct _GOutputVector {
32755    pub buffer: gconstpointer,
32756    pub size: gsize,
32757}
32758#[test]
32759fn bindgen_test_layout__GOutputVector() {
32760    const UNINIT: ::std::mem::MaybeUninit<_GOutputVector> = ::std::mem::MaybeUninit::uninit();
32761    let ptr = UNINIT.as_ptr();
32762    assert_eq!(
32763        ::std::mem::size_of::<_GOutputVector>(),
32764        16usize,
32765        concat!("Size of: ", stringify!(_GOutputVector))
32766    );
32767    assert_eq!(
32768        ::std::mem::align_of::<_GOutputVector>(),
32769        8usize,
32770        concat!("Alignment of ", stringify!(_GOutputVector))
32771    );
32772    assert_eq!(
32773        unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
32774        0usize,
32775        concat!(
32776            "Offset of field: ",
32777            stringify!(_GOutputVector),
32778            "::",
32779            stringify!(buffer)
32780        )
32781    );
32782    assert_eq!(
32783        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
32784        8usize,
32785        concat!(
32786            "Offset of field: ",
32787            stringify!(_GOutputVector),
32788            "::",
32789            stringify!(size)
32790        )
32791    );
32792}
32793#[doc = " GOutputMessage:\n @address: (nullable): a #GSocketAddress, or %NULL\n @vectors: pointer to an array of output vectors\n @num_vectors: the number of output vectors pointed to by @vectors.\n @bytes_sent: initialize to 0. Will be set to the number of bytes\n     that have been sent\n @control_messages: (array length=num_control_messages) (nullable): a pointer\n   to an array of #GSocketControlMessages, or %NULL.\n @num_control_messages: number of elements in @control_messages.\n\n Structure used for scatter/gather data output when sending multiple\n messages or packets in one go. You generally pass in an array of\n #GOutputVectors and the operation will use all the buffers as if they\n were one buffer.\n\n If @address is %NULL then the message is sent to the default receiver\n (as previously set by g_socket_connect()).\n\n Since: 2.44"]
32794pub type GOutputMessage = _GOutputMessage;
32795#[repr(C)]
32796#[derive(Debug, Copy, Clone, PartialEq, Eq)]
32797pub struct _GOutputMessage {
32798    pub address: *mut GSocketAddress,
32799    pub vectors: *mut GOutputVector,
32800    pub num_vectors: guint,
32801    pub bytes_sent: guint,
32802    pub control_messages: *mut *mut GSocketControlMessage,
32803    pub num_control_messages: guint,
32804}
32805#[test]
32806fn bindgen_test_layout__GOutputMessage() {
32807    const UNINIT: ::std::mem::MaybeUninit<_GOutputMessage> = ::std::mem::MaybeUninit::uninit();
32808    let ptr = UNINIT.as_ptr();
32809    assert_eq!(
32810        ::std::mem::size_of::<_GOutputMessage>(),
32811        40usize,
32812        concat!("Size of: ", stringify!(_GOutputMessage))
32813    );
32814    assert_eq!(
32815        ::std::mem::align_of::<_GOutputMessage>(),
32816        8usize,
32817        concat!("Alignment of ", stringify!(_GOutputMessage))
32818    );
32819    assert_eq!(
32820        unsafe { ::std::ptr::addr_of!((*ptr).address) as usize - ptr as usize },
32821        0usize,
32822        concat!(
32823            "Offset of field: ",
32824            stringify!(_GOutputMessage),
32825            "::",
32826            stringify!(address)
32827        )
32828    );
32829    assert_eq!(
32830        unsafe { ::std::ptr::addr_of!((*ptr).vectors) as usize - ptr as usize },
32831        8usize,
32832        concat!(
32833            "Offset of field: ",
32834            stringify!(_GOutputMessage),
32835            "::",
32836            stringify!(vectors)
32837        )
32838    );
32839    assert_eq!(
32840        unsafe { ::std::ptr::addr_of!((*ptr).num_vectors) as usize - ptr as usize },
32841        16usize,
32842        concat!(
32843            "Offset of field: ",
32844            stringify!(_GOutputMessage),
32845            "::",
32846            stringify!(num_vectors)
32847        )
32848    );
32849    assert_eq!(
32850        unsafe { ::std::ptr::addr_of!((*ptr).bytes_sent) as usize - ptr as usize },
32851        20usize,
32852        concat!(
32853            "Offset of field: ",
32854            stringify!(_GOutputMessage),
32855            "::",
32856            stringify!(bytes_sent)
32857        )
32858    );
32859    assert_eq!(
32860        unsafe { ::std::ptr::addr_of!((*ptr).control_messages) as usize - ptr as usize },
32861        24usize,
32862        concat!(
32863            "Offset of field: ",
32864            stringify!(_GOutputMessage),
32865            "::",
32866            stringify!(control_messages)
32867        )
32868    );
32869    assert_eq!(
32870        unsafe { ::std::ptr::addr_of!((*ptr).num_control_messages) as usize - ptr as usize },
32871        32usize,
32872        concat!(
32873            "Offset of field: ",
32874            stringify!(_GOutputMessage),
32875            "::",
32876            stringify!(num_control_messages)
32877        )
32878    );
32879}
32880#[repr(C)]
32881#[derive(Debug, Copy, Clone)]
32882pub struct _GCredentials {
32883    _unused: [u8; 0],
32884}
32885pub type GCredentials = _GCredentials;
32886#[doc = " GUnixCredentialsMessage:\n\n The #GUnixCredentialsMessage structure contains only private data\n and should only be accessed using the provided API.\n\n Since: 2.26"]
32887pub type GUnixCredentialsMessage = _GUnixCredentialsMessage;
32888pub type GUnixFDList = _GUnixFDList;
32889#[repr(C)]
32890#[derive(Debug, Copy, Clone)]
32891pub struct _GDBusMessage {
32892    _unused: [u8; 0],
32893}
32894pub type GDBusMessage = _GDBusMessage;
32895#[repr(C)]
32896#[derive(Debug, Copy, Clone)]
32897pub struct _GDBusConnection {
32898    _unused: [u8; 0],
32899}
32900pub type GDBusConnection = _GDBusConnection;
32901#[doc = " GDBusProxy:\n\n The #GDBusProxy structure contains only private data and\n should only be accessed using the provided API.\n\n Since: 2.26"]
32902pub type GDBusProxy = _GDBusProxy;
32903#[repr(C)]
32904#[derive(Debug, Copy, Clone)]
32905pub struct _GDBusMethodInvocation {
32906    _unused: [u8; 0],
32907}
32908pub type GDBusMethodInvocation = _GDBusMethodInvocation;
32909#[repr(C)]
32910#[derive(Debug, Copy, Clone)]
32911pub struct _GDBusServer {
32912    _unused: [u8; 0],
32913}
32914pub type GDBusServer = _GDBusServer;
32915#[repr(C)]
32916#[derive(Debug, Copy, Clone)]
32917pub struct _GDBusAuthObserver {
32918    _unused: [u8; 0],
32919}
32920pub type GDBusAuthObserver = _GDBusAuthObserver;
32921#[doc = " GDBusErrorEntry:\n @error_code: An error code.\n @dbus_error_name: The D-Bus error name to associate with @error_code.\n\n Struct used in g_dbus_error_register_error_domain().\n\n Since: 2.26"]
32922pub type GDBusErrorEntry = _GDBusErrorEntry;
32923#[doc = " GDBusInterfaceVTable:\n @method_call: Function for handling incoming method calls.\n @get_property: Function for getting a property.\n @set_property: Function for setting a property.\n\n Virtual table for handling properties and method calls for a D-Bus\n interface.\n\n Since 2.38, if you want to handle getting/setting D-Bus properties\n asynchronously, give %NULL as your get_property() or set_property()\n function. The D-Bus call will be directed to your @method_call function,\n with the provided @interface_name set to \"org.freedesktop.DBus.Properties\".\n\n Ownership of the #GDBusMethodInvocation object passed to the\n method_call() function is transferred to your handler; you must\n call one of the methods of #GDBusMethodInvocation to return a reply\n (possibly empty), or an error. These functions also take ownership\n of the passed-in invocation object, so unless the invocation\n object has otherwise been referenced, it will be then be freed.\n Calling one of these functions may be done within your\n method_call() implementation but it also can be done at a later\n point to handle the method asynchronously.\n\n The usual checks on the validity of the calls is performed. For\n `Get` calls, an error is automatically returned if the property does\n not exist or the permissions do not allow access. The same checks are\n performed for `Set` calls, and the provided value is also checked for\n being the correct type.\n\n For both `Get` and `Set` calls, the #GDBusMethodInvocation\n passed to the @method_call handler can be queried with\n g_dbus_method_invocation_get_property_info() to get a pointer\n to the #GDBusPropertyInfo of the property.\n\n If you have readable properties specified in your interface info,\n you must ensure that you either provide a non-%NULL @get_property()\n function or provide implementations of both the `Get` and `GetAll`\n methods on org.freedesktop.DBus.Properties interface in your @method_call\n function. Note that the required return type of the `Get` call is\n `(v)`, not the type of the property. `GetAll` expects a return value\n of type `a{sv}`.\n\n If you have writable properties specified in your interface info,\n you must ensure that you either provide a non-%NULL @set_property()\n function or provide an implementation of the `Set` call. If implementing\n the call, you must return the value of type %G_VARIANT_TYPE_UNIT.\n\n Since: 2.26"]
32924pub type GDBusInterfaceVTable = _GDBusInterfaceVTable;
32925#[doc = " GDBusSubtreeVTable:\n @enumerate: Function for enumerating child nodes.\n @introspect: Function for introspecting a child node.\n @dispatch: Function for dispatching a remote call on a child node.\n\n Virtual table for handling subtrees registered with g_dbus_connection_register_subtree().\n\n Since: 2.26"]
32926pub type GDBusSubtreeVTable = _GDBusSubtreeVTable;
32927#[doc = " GDBusAnnotationInfo:\n @ref_count: The reference count or -1 if statically allocated.\n @key: The name of the annotation, e.g. \"org.freedesktop.DBus.Deprecated\".\n @value: The value of the annotation.\n @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.\n\n Information about an annotation.\n\n Since: 2.26"]
32928pub type GDBusAnnotationInfo = _GDBusAnnotationInfo;
32929#[doc = " GDBusArgInfo:\n @ref_count: The reference count or -1 if statically allocated.\n @name: Name of the argument, e.g. @unix_user_id.\n @signature: D-Bus signature of the argument (a single complete type).\n @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.\n\n Information about an argument for a method or a signal.\n\n Since: 2.26"]
32930pub type GDBusArgInfo = _GDBusArgInfo;
32931#[doc = " GDBusMethodInfo:\n @ref_count: The reference count or -1 if statically allocated.\n @name: The name of the D-Bus method, e.g. @RequestName.\n @in_args: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusArgInfo structures or %NULL if there are no in arguments.\n @out_args: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusArgInfo structures or %NULL if there are no out arguments.\n @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.\n\n Information about a method on an D-Bus interface.\n\n Since: 2.26"]
32932pub type GDBusMethodInfo = _GDBusMethodInfo;
32933#[doc = " GDBusSignalInfo:\n @ref_count: The reference count or -1 if statically allocated.\n @name: The name of the D-Bus signal, e.g. \"NameOwnerChanged\".\n @args: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusArgInfo structures or %NULL if there are no arguments.\n @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.\n\n Information about a signal on a D-Bus interface.\n\n Since: 2.26"]
32934pub type GDBusSignalInfo = _GDBusSignalInfo;
32935#[doc = " GDBusPropertyInfo:\n @ref_count: The reference count or -1 if statically allocated.\n @name: The name of the D-Bus property, e.g. \"SupportedFilesystems\".\n @signature: The D-Bus signature of the property (a single complete type).\n @flags: Access control flags for the property.\n @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.\n\n Information about a D-Bus property on a D-Bus interface.\n\n Since: 2.26"]
32936pub type GDBusPropertyInfo = _GDBusPropertyInfo;
32937#[doc = " GDBusInterfaceInfo:\n @ref_count: The reference count or -1 if statically allocated.\n @name: The name of the D-Bus interface, e.g. \"org.freedesktop.DBus.Properties\".\n @methods: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusMethodInfo structures or %NULL if there are no methods.\n @signals: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusSignalInfo structures or %NULL if there are no signals.\n @properties: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusPropertyInfo structures or %NULL if there are no properties.\n @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.\n\n Information about a D-Bus interface.\n\n Since: 2.26"]
32938pub type GDBusInterfaceInfo = _GDBusInterfaceInfo;
32939#[doc = " GDBusNodeInfo:\n @ref_count: The reference count or -1 if statically allocated.\n @path: The path of the node or %NULL if omitted. Note that this may be a relative path. See the D-Bus specification for more details.\n @interfaces: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusInterfaceInfo structures or %NULL if there are no interfaces.\n @nodes: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusNodeInfo structures or %NULL if there are no nodes.\n @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.\n\n Information about nodes in a remote object hierarchy.\n\n Since: 2.26"]
32940pub type GDBusNodeInfo = _GDBusNodeInfo;
32941#[doc = " GCancellableSourceFunc:\n @cancellable: the #GCancellable\n @data: data passed in by the user.\n\n This is the function type of the callback used for the #GSource\n returned by g_cancellable_source_new().\n\n Returns: it should return %FALSE if the source should be removed.\n\n Since: 2.28"]
32942pub type GCancellableSourceFunc = ::std::option::Option<
32943    unsafe extern "C" fn(cancellable: *mut GCancellable, data: gpointer) -> gboolean,
32944>;
32945#[doc = " GPollableSourceFunc:\n @pollable_stream: the #GPollableInputStream or #GPollableOutputStream\n @data: data passed in by the user.\n\n This is the function type of the callback used for the #GSource\n returned by g_pollable_input_stream_create_source() and\n g_pollable_output_stream_create_source().\n\n Returns: it should return %FALSE if the source should be removed.\n\n Since: 2.28"]
32946pub type GPollableSourceFunc = ::std::option::Option<
32947    unsafe extern "C" fn(pollable_stream: *mut GObject, data: gpointer) -> gboolean,
32948>;
32949#[repr(C)]
32950#[derive(Debug, Copy, Clone)]
32951pub struct _GDBusInterface {
32952    _unused: [u8; 0],
32953}
32954pub type GDBusInterface = _GDBusInterface;
32955#[doc = " GDBusInterfaceSkeleton:\n\n The #GDBusInterfaceSkeleton structure contains private data and should\n only be accessed using the provided API.\n\n Since: 2.30"]
32956pub type GDBusInterfaceSkeleton = _GDBusInterfaceSkeleton;
32957#[repr(C)]
32958#[derive(Debug, Copy, Clone)]
32959pub struct _GDBusObject {
32960    _unused: [u8; 0],
32961}
32962pub type GDBusObject = _GDBusObject;
32963#[doc = " GDBusObjectSkeleton:\n\n The #GDBusObjectSkeleton structure contains private data and should only be\n accessed using the provided API.\n\n Since: 2.30"]
32964pub type GDBusObjectSkeleton = _GDBusObjectSkeleton;
32965#[doc = " GDBusObjectProxy:\n\n The #GDBusObjectProxy structure contains private data and should\n only be accessed using the provided API.\n\n Since: 2.30"]
32966pub type GDBusObjectProxy = _GDBusObjectProxy;
32967#[repr(C)]
32968#[derive(Debug, Copy, Clone)]
32969pub struct _GDBusObjectManager {
32970    _unused: [u8; 0],
32971}
32972pub type GDBusObjectManager = _GDBusObjectManager;
32973#[doc = " GDBusObjectManagerClient:\n\n The #GDBusObjectManagerClient structure contains private data and should\n only be accessed using the provided API.\n\n Since: 2.30"]
32974pub type GDBusObjectManagerClient = _GDBusObjectManagerClient;
32975#[doc = " GDBusObjectManagerServer:\n\n The #GDBusObjectManagerServer structure contains private data and should\n only be accessed using the provided API.\n\n Since: 2.30"]
32976pub type GDBusObjectManagerServer = _GDBusObjectManagerServer;
32977#[doc = " GDBusProxyTypeFunc:\n @manager: A #GDBusObjectManagerClient.\n @object_path: The object path of the remote object.\n @interface_name: (nullable): The interface name of the remote object or %NULL if a #GDBusObjectProxy #GType is requested.\n @data: data passed in by the user.\n\n Function signature for a function used to determine the #GType to\n use for an interface proxy (if @interface_name is not %NULL) or\n object proxy (if @interface_name is %NULL).\n\n This function is called in the\n [thread-default main loop][g-main-context-push-thread-default]\n that @manager was constructed in.\n\n Returns: A #GType to use for the remote object. The returned type\n   must be a #GDBusProxy or #GDBusObjectProxy -derived\n   type.\n\n Since: 2.30"]
32978pub type GDBusProxyTypeFunc = ::std::option::Option<
32979    unsafe extern "C" fn(
32980        manager: *mut GDBusObjectManagerClient,
32981        object_path: *const gchar,
32982        interface_name: *const gchar,
32983        data: gpointer,
32984    ) -> GType,
32985>;
32986#[repr(C)]
32987#[derive(Debug, Copy, Clone)]
32988pub struct _GTestDBus {
32989    _unused: [u8; 0],
32990}
32991pub type GTestDBus = _GTestDBus;
32992#[repr(C)]
32993#[derive(Debug, Copy, Clone)]
32994pub struct _GSubprocess {
32995    _unused: [u8; 0],
32996}
32997#[doc = " GSubprocess:\n\n A child process.\n\n Since: 2.40"]
32998pub type GSubprocess = _GSubprocess;
32999#[repr(C)]
33000#[derive(Debug, Copy, Clone)]
33001pub struct _GSubprocessLauncher {
33002    _unused: [u8; 0],
33003}
33004#[doc = " GSubprocessLauncher:\n\n Options for launching a child process.\n\n Since: 2.40"]
33005pub type GSubprocessLauncher = _GSubprocessLauncher;
33006pub type GActionInterface = _GActionInterface;
33007#[repr(C)]
33008#[derive(Debug, Copy, Clone, PartialEq, Eq)]
33009pub struct _GActionInterface {
33010    pub g_iface: GTypeInterface,
33011    pub get_name: ::std::option::Option<unsafe extern "C" fn(action: *mut GAction) -> *const gchar>,
33012    pub get_parameter_type:
33013        ::std::option::Option<unsafe extern "C" fn(action: *mut GAction) -> *const GVariantType>,
33014    pub get_state_type:
33015        ::std::option::Option<unsafe extern "C" fn(action: *mut GAction) -> *const GVariantType>,
33016    pub get_state_hint:
33017        ::std::option::Option<unsafe extern "C" fn(action: *mut GAction) -> *mut GVariant>,
33018    pub get_enabled: ::std::option::Option<unsafe extern "C" fn(action: *mut GAction) -> gboolean>,
33019    pub get_state:
33020        ::std::option::Option<unsafe extern "C" fn(action: *mut GAction) -> *mut GVariant>,
33021    pub change_state:
33022        ::std::option::Option<unsafe extern "C" fn(action: *mut GAction, value: *mut GVariant)>,
33023    pub activate:
33024        ::std::option::Option<unsafe extern "C" fn(action: *mut GAction, parameter: *mut GVariant)>,
33025}
33026#[test]
33027fn bindgen_test_layout__GActionInterface() {
33028    const UNINIT: ::std::mem::MaybeUninit<_GActionInterface> = ::std::mem::MaybeUninit::uninit();
33029    let ptr = UNINIT.as_ptr();
33030    assert_eq!(
33031        ::std::mem::size_of::<_GActionInterface>(),
33032        80usize,
33033        concat!("Size of: ", stringify!(_GActionInterface))
33034    );
33035    assert_eq!(
33036        ::std::mem::align_of::<_GActionInterface>(),
33037        8usize,
33038        concat!("Alignment of ", stringify!(_GActionInterface))
33039    );
33040    assert_eq!(
33041        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
33042        0usize,
33043        concat!(
33044            "Offset of field: ",
33045            stringify!(_GActionInterface),
33046            "::",
33047            stringify!(g_iface)
33048        )
33049    );
33050    assert_eq!(
33051        unsafe { ::std::ptr::addr_of!((*ptr).get_name) as usize - ptr as usize },
33052        16usize,
33053        concat!(
33054            "Offset of field: ",
33055            stringify!(_GActionInterface),
33056            "::",
33057            stringify!(get_name)
33058        )
33059    );
33060    assert_eq!(
33061        unsafe { ::std::ptr::addr_of!((*ptr).get_parameter_type) as usize - ptr as usize },
33062        24usize,
33063        concat!(
33064            "Offset of field: ",
33065            stringify!(_GActionInterface),
33066            "::",
33067            stringify!(get_parameter_type)
33068        )
33069    );
33070    assert_eq!(
33071        unsafe { ::std::ptr::addr_of!((*ptr).get_state_type) as usize - ptr as usize },
33072        32usize,
33073        concat!(
33074            "Offset of field: ",
33075            stringify!(_GActionInterface),
33076            "::",
33077            stringify!(get_state_type)
33078        )
33079    );
33080    assert_eq!(
33081        unsafe { ::std::ptr::addr_of!((*ptr).get_state_hint) as usize - ptr as usize },
33082        40usize,
33083        concat!(
33084            "Offset of field: ",
33085            stringify!(_GActionInterface),
33086            "::",
33087            stringify!(get_state_hint)
33088        )
33089    );
33090    assert_eq!(
33091        unsafe { ::std::ptr::addr_of!((*ptr).get_enabled) as usize - ptr as usize },
33092        48usize,
33093        concat!(
33094            "Offset of field: ",
33095            stringify!(_GActionInterface),
33096            "::",
33097            stringify!(get_enabled)
33098        )
33099    );
33100    assert_eq!(
33101        unsafe { ::std::ptr::addr_of!((*ptr).get_state) as usize - ptr as usize },
33102        56usize,
33103        concat!(
33104            "Offset of field: ",
33105            stringify!(_GActionInterface),
33106            "::",
33107            stringify!(get_state)
33108        )
33109    );
33110    assert_eq!(
33111        unsafe { ::std::ptr::addr_of!((*ptr).change_state) as usize - ptr as usize },
33112        64usize,
33113        concat!(
33114            "Offset of field: ",
33115            stringify!(_GActionInterface),
33116            "::",
33117            stringify!(change_state)
33118        )
33119    );
33120    assert_eq!(
33121        unsafe { ::std::ptr::addr_of!((*ptr).activate) as usize - ptr as usize },
33122        72usize,
33123        concat!(
33124            "Offset of field: ",
33125            stringify!(_GActionInterface),
33126            "::",
33127            stringify!(activate)
33128        )
33129    );
33130}
33131extern "C" {
33132    pub fn g_action_get_type() -> GType;
33133}
33134extern "C" {
33135    pub fn g_action_get_name(action: *mut GAction) -> *const gchar;
33136}
33137extern "C" {
33138    pub fn g_action_get_parameter_type(action: *mut GAction) -> *const GVariantType;
33139}
33140extern "C" {
33141    pub fn g_action_get_state_type(action: *mut GAction) -> *const GVariantType;
33142}
33143extern "C" {
33144    pub fn g_action_get_state_hint(action: *mut GAction) -> *mut GVariant;
33145}
33146extern "C" {
33147    pub fn g_action_get_enabled(action: *mut GAction) -> gboolean;
33148}
33149extern "C" {
33150    pub fn g_action_get_state(action: *mut GAction) -> *mut GVariant;
33151}
33152extern "C" {
33153    pub fn g_action_change_state(action: *mut GAction, value: *mut GVariant);
33154}
33155extern "C" {
33156    pub fn g_action_activate(action: *mut GAction, parameter: *mut GVariant);
33157}
33158extern "C" {
33159    pub fn g_action_name_is_valid(action_name: *const gchar) -> gboolean;
33160}
33161extern "C" {
33162    pub fn g_action_parse_detailed_name(
33163        detailed_name: *const gchar,
33164        action_name: *mut *mut gchar,
33165        target_value: *mut *mut GVariant,
33166        error: *mut *mut GError,
33167    ) -> gboolean;
33168}
33169extern "C" {
33170    pub fn g_action_print_detailed_name(
33171        action_name: *const gchar,
33172        target_value: *mut GVariant,
33173    ) -> *mut gchar;
33174}
33175pub type GActionGroupInterface = _GActionGroupInterface;
33176#[repr(C)]
33177#[derive(Debug, Copy, Clone, PartialEq, Eq)]
33178pub struct _GActionGroupInterface {
33179    pub g_iface: GTypeInterface,
33180    pub has_action: ::std::option::Option<
33181        unsafe extern "C" fn(
33182            action_group: *mut GActionGroup,
33183            action_name: *const gchar,
33184        ) -> gboolean,
33185    >,
33186    pub list_actions: ::std::option::Option<
33187        unsafe extern "C" fn(action_group: *mut GActionGroup) -> *mut *mut gchar,
33188    >,
33189    pub get_action_enabled: ::std::option::Option<
33190        unsafe extern "C" fn(
33191            action_group: *mut GActionGroup,
33192            action_name: *const gchar,
33193        ) -> gboolean,
33194    >,
33195    pub get_action_parameter_type: ::std::option::Option<
33196        unsafe extern "C" fn(
33197            action_group: *mut GActionGroup,
33198            action_name: *const gchar,
33199        ) -> *const GVariantType,
33200    >,
33201    pub get_action_state_type: ::std::option::Option<
33202        unsafe extern "C" fn(
33203            action_group: *mut GActionGroup,
33204            action_name: *const gchar,
33205        ) -> *const GVariantType,
33206    >,
33207    pub get_action_state_hint: ::std::option::Option<
33208        unsafe extern "C" fn(
33209            action_group: *mut GActionGroup,
33210            action_name: *const gchar,
33211        ) -> *mut GVariant,
33212    >,
33213    pub get_action_state: ::std::option::Option<
33214        unsafe extern "C" fn(
33215            action_group: *mut GActionGroup,
33216            action_name: *const gchar,
33217        ) -> *mut GVariant,
33218    >,
33219    pub change_action_state: ::std::option::Option<
33220        unsafe extern "C" fn(
33221            action_group: *mut GActionGroup,
33222            action_name: *const gchar,
33223            value: *mut GVariant,
33224        ),
33225    >,
33226    pub activate_action: ::std::option::Option<
33227        unsafe extern "C" fn(
33228            action_group: *mut GActionGroup,
33229            action_name: *const gchar,
33230            parameter: *mut GVariant,
33231        ),
33232    >,
33233    pub action_added: ::std::option::Option<
33234        unsafe extern "C" fn(action_group: *mut GActionGroup, action_name: *const gchar),
33235    >,
33236    pub action_removed: ::std::option::Option<
33237        unsafe extern "C" fn(action_group: *mut GActionGroup, action_name: *const gchar),
33238    >,
33239    pub action_enabled_changed: ::std::option::Option<
33240        unsafe extern "C" fn(
33241            action_group: *mut GActionGroup,
33242            action_name: *const gchar,
33243            enabled: gboolean,
33244        ),
33245    >,
33246    pub action_state_changed: ::std::option::Option<
33247        unsafe extern "C" fn(
33248            action_group: *mut GActionGroup,
33249            action_name: *const gchar,
33250            state: *mut GVariant,
33251        ),
33252    >,
33253    pub query_action: ::std::option::Option<
33254        unsafe extern "C" fn(
33255            action_group: *mut GActionGroup,
33256            action_name: *const gchar,
33257            enabled: *mut gboolean,
33258            parameter_type: *mut *const GVariantType,
33259            state_type: *mut *const GVariantType,
33260            state_hint: *mut *mut GVariant,
33261            state: *mut *mut GVariant,
33262        ) -> gboolean,
33263    >,
33264}
33265#[test]
33266fn bindgen_test_layout__GActionGroupInterface() {
33267    const UNINIT: ::std::mem::MaybeUninit<_GActionGroupInterface> =
33268        ::std::mem::MaybeUninit::uninit();
33269    let ptr = UNINIT.as_ptr();
33270    assert_eq!(
33271        ::std::mem::size_of::<_GActionGroupInterface>(),
33272        128usize,
33273        concat!("Size of: ", stringify!(_GActionGroupInterface))
33274    );
33275    assert_eq!(
33276        ::std::mem::align_of::<_GActionGroupInterface>(),
33277        8usize,
33278        concat!("Alignment of ", stringify!(_GActionGroupInterface))
33279    );
33280    assert_eq!(
33281        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
33282        0usize,
33283        concat!(
33284            "Offset of field: ",
33285            stringify!(_GActionGroupInterface),
33286            "::",
33287            stringify!(g_iface)
33288        )
33289    );
33290    assert_eq!(
33291        unsafe { ::std::ptr::addr_of!((*ptr).has_action) as usize - ptr as usize },
33292        16usize,
33293        concat!(
33294            "Offset of field: ",
33295            stringify!(_GActionGroupInterface),
33296            "::",
33297            stringify!(has_action)
33298        )
33299    );
33300    assert_eq!(
33301        unsafe { ::std::ptr::addr_of!((*ptr).list_actions) as usize - ptr as usize },
33302        24usize,
33303        concat!(
33304            "Offset of field: ",
33305            stringify!(_GActionGroupInterface),
33306            "::",
33307            stringify!(list_actions)
33308        )
33309    );
33310    assert_eq!(
33311        unsafe { ::std::ptr::addr_of!((*ptr).get_action_enabled) as usize - ptr as usize },
33312        32usize,
33313        concat!(
33314            "Offset of field: ",
33315            stringify!(_GActionGroupInterface),
33316            "::",
33317            stringify!(get_action_enabled)
33318        )
33319    );
33320    assert_eq!(
33321        unsafe { ::std::ptr::addr_of!((*ptr).get_action_parameter_type) as usize - ptr as usize },
33322        40usize,
33323        concat!(
33324            "Offset of field: ",
33325            stringify!(_GActionGroupInterface),
33326            "::",
33327            stringify!(get_action_parameter_type)
33328        )
33329    );
33330    assert_eq!(
33331        unsafe { ::std::ptr::addr_of!((*ptr).get_action_state_type) as usize - ptr as usize },
33332        48usize,
33333        concat!(
33334            "Offset of field: ",
33335            stringify!(_GActionGroupInterface),
33336            "::",
33337            stringify!(get_action_state_type)
33338        )
33339    );
33340    assert_eq!(
33341        unsafe { ::std::ptr::addr_of!((*ptr).get_action_state_hint) as usize - ptr as usize },
33342        56usize,
33343        concat!(
33344            "Offset of field: ",
33345            stringify!(_GActionGroupInterface),
33346            "::",
33347            stringify!(get_action_state_hint)
33348        )
33349    );
33350    assert_eq!(
33351        unsafe { ::std::ptr::addr_of!((*ptr).get_action_state) as usize - ptr as usize },
33352        64usize,
33353        concat!(
33354            "Offset of field: ",
33355            stringify!(_GActionGroupInterface),
33356            "::",
33357            stringify!(get_action_state)
33358        )
33359    );
33360    assert_eq!(
33361        unsafe { ::std::ptr::addr_of!((*ptr).change_action_state) as usize - ptr as usize },
33362        72usize,
33363        concat!(
33364            "Offset of field: ",
33365            stringify!(_GActionGroupInterface),
33366            "::",
33367            stringify!(change_action_state)
33368        )
33369    );
33370    assert_eq!(
33371        unsafe { ::std::ptr::addr_of!((*ptr).activate_action) as usize - ptr as usize },
33372        80usize,
33373        concat!(
33374            "Offset of field: ",
33375            stringify!(_GActionGroupInterface),
33376            "::",
33377            stringify!(activate_action)
33378        )
33379    );
33380    assert_eq!(
33381        unsafe { ::std::ptr::addr_of!((*ptr).action_added) as usize - ptr as usize },
33382        88usize,
33383        concat!(
33384            "Offset of field: ",
33385            stringify!(_GActionGroupInterface),
33386            "::",
33387            stringify!(action_added)
33388        )
33389    );
33390    assert_eq!(
33391        unsafe { ::std::ptr::addr_of!((*ptr).action_removed) as usize - ptr as usize },
33392        96usize,
33393        concat!(
33394            "Offset of field: ",
33395            stringify!(_GActionGroupInterface),
33396            "::",
33397            stringify!(action_removed)
33398        )
33399    );
33400    assert_eq!(
33401        unsafe { ::std::ptr::addr_of!((*ptr).action_enabled_changed) as usize - ptr as usize },
33402        104usize,
33403        concat!(
33404            "Offset of field: ",
33405            stringify!(_GActionGroupInterface),
33406            "::",
33407            stringify!(action_enabled_changed)
33408        )
33409    );
33410    assert_eq!(
33411        unsafe { ::std::ptr::addr_of!((*ptr).action_state_changed) as usize - ptr as usize },
33412        112usize,
33413        concat!(
33414            "Offset of field: ",
33415            stringify!(_GActionGroupInterface),
33416            "::",
33417            stringify!(action_state_changed)
33418        )
33419    );
33420    assert_eq!(
33421        unsafe { ::std::ptr::addr_of!((*ptr).query_action) as usize - ptr as usize },
33422        120usize,
33423        concat!(
33424            "Offset of field: ",
33425            stringify!(_GActionGroupInterface),
33426            "::",
33427            stringify!(query_action)
33428        )
33429    );
33430}
33431extern "C" {
33432    pub fn g_action_group_get_type() -> GType;
33433}
33434extern "C" {
33435    pub fn g_action_group_has_action(
33436        action_group: *mut GActionGroup,
33437        action_name: *const gchar,
33438    ) -> gboolean;
33439}
33440extern "C" {
33441    pub fn g_action_group_list_actions(action_group: *mut GActionGroup) -> *mut *mut gchar;
33442}
33443extern "C" {
33444    pub fn g_action_group_get_action_parameter_type(
33445        action_group: *mut GActionGroup,
33446        action_name: *const gchar,
33447    ) -> *const GVariantType;
33448}
33449extern "C" {
33450    pub fn g_action_group_get_action_state_type(
33451        action_group: *mut GActionGroup,
33452        action_name: *const gchar,
33453    ) -> *const GVariantType;
33454}
33455extern "C" {
33456    pub fn g_action_group_get_action_state_hint(
33457        action_group: *mut GActionGroup,
33458        action_name: *const gchar,
33459    ) -> *mut GVariant;
33460}
33461extern "C" {
33462    pub fn g_action_group_get_action_enabled(
33463        action_group: *mut GActionGroup,
33464        action_name: *const gchar,
33465    ) -> gboolean;
33466}
33467extern "C" {
33468    pub fn g_action_group_get_action_state(
33469        action_group: *mut GActionGroup,
33470        action_name: *const gchar,
33471    ) -> *mut GVariant;
33472}
33473extern "C" {
33474    pub fn g_action_group_change_action_state(
33475        action_group: *mut GActionGroup,
33476        action_name: *const gchar,
33477        value: *mut GVariant,
33478    );
33479}
33480extern "C" {
33481    pub fn g_action_group_activate_action(
33482        action_group: *mut GActionGroup,
33483        action_name: *const gchar,
33484        parameter: *mut GVariant,
33485    );
33486}
33487extern "C" {
33488    pub fn g_action_group_action_added(action_group: *mut GActionGroup, action_name: *const gchar);
33489}
33490extern "C" {
33491    pub fn g_action_group_action_removed(
33492        action_group: *mut GActionGroup,
33493        action_name: *const gchar,
33494    );
33495}
33496extern "C" {
33497    pub fn g_action_group_action_enabled_changed(
33498        action_group: *mut GActionGroup,
33499        action_name: *const gchar,
33500        enabled: gboolean,
33501    );
33502}
33503extern "C" {
33504    pub fn g_action_group_action_state_changed(
33505        action_group: *mut GActionGroup,
33506        action_name: *const gchar,
33507        state: *mut GVariant,
33508    );
33509}
33510extern "C" {
33511    pub fn g_action_group_query_action(
33512        action_group: *mut GActionGroup,
33513        action_name: *const gchar,
33514        enabled: *mut gboolean,
33515        parameter_type: *mut *const GVariantType,
33516        state_type: *mut *const GVariantType,
33517        state_hint: *mut *mut GVariant,
33518        state: *mut *mut GVariant,
33519    ) -> gboolean;
33520}
33521extern "C" {
33522    pub fn g_dbus_connection_export_action_group(
33523        connection: *mut GDBusConnection,
33524        object_path: *const gchar,
33525        action_group: *mut GActionGroup,
33526        error: *mut *mut GError,
33527    ) -> guint;
33528}
33529extern "C" {
33530    pub fn g_dbus_connection_unexport_action_group(
33531        connection: *mut GDBusConnection,
33532        export_id: guint,
33533    );
33534}
33535pub type GActionMapInterface = _GActionMapInterface;
33536pub type GActionEntry = _GActionEntry;
33537#[repr(C)]
33538#[derive(Debug, Copy, Clone, PartialEq, Eq)]
33539pub struct _GActionMapInterface {
33540    pub g_iface: GTypeInterface,
33541    pub lookup_action: ::std::option::Option<
33542        unsafe extern "C" fn(
33543            action_map: *mut GActionMap,
33544            action_name: *const gchar,
33545        ) -> *mut GAction,
33546    >,
33547    pub add_action: ::std::option::Option<
33548        unsafe extern "C" fn(action_map: *mut GActionMap, action: *mut GAction),
33549    >,
33550    pub remove_action: ::std::option::Option<
33551        unsafe extern "C" fn(action_map: *mut GActionMap, action_name: *const gchar),
33552    >,
33553}
33554#[test]
33555fn bindgen_test_layout__GActionMapInterface() {
33556    const UNINIT: ::std::mem::MaybeUninit<_GActionMapInterface> = ::std::mem::MaybeUninit::uninit();
33557    let ptr = UNINIT.as_ptr();
33558    assert_eq!(
33559        ::std::mem::size_of::<_GActionMapInterface>(),
33560        40usize,
33561        concat!("Size of: ", stringify!(_GActionMapInterface))
33562    );
33563    assert_eq!(
33564        ::std::mem::align_of::<_GActionMapInterface>(),
33565        8usize,
33566        concat!("Alignment of ", stringify!(_GActionMapInterface))
33567    );
33568    assert_eq!(
33569        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
33570        0usize,
33571        concat!(
33572            "Offset of field: ",
33573            stringify!(_GActionMapInterface),
33574            "::",
33575            stringify!(g_iface)
33576        )
33577    );
33578    assert_eq!(
33579        unsafe { ::std::ptr::addr_of!((*ptr).lookup_action) as usize - ptr as usize },
33580        16usize,
33581        concat!(
33582            "Offset of field: ",
33583            stringify!(_GActionMapInterface),
33584            "::",
33585            stringify!(lookup_action)
33586        )
33587    );
33588    assert_eq!(
33589        unsafe { ::std::ptr::addr_of!((*ptr).add_action) as usize - ptr as usize },
33590        24usize,
33591        concat!(
33592            "Offset of field: ",
33593            stringify!(_GActionMapInterface),
33594            "::",
33595            stringify!(add_action)
33596        )
33597    );
33598    assert_eq!(
33599        unsafe { ::std::ptr::addr_of!((*ptr).remove_action) as usize - ptr as usize },
33600        32usize,
33601        concat!(
33602            "Offset of field: ",
33603            stringify!(_GActionMapInterface),
33604            "::",
33605            stringify!(remove_action)
33606        )
33607    );
33608}
33609#[repr(C)]
33610#[derive(Debug, Copy, Clone, PartialEq, Eq)]
33611pub struct _GActionEntry {
33612    pub name: *const gchar,
33613    pub activate: ::std::option::Option<
33614        unsafe extern "C" fn(
33615            action: *mut GSimpleAction,
33616            parameter: *mut GVariant,
33617            user_data: gpointer,
33618        ),
33619    >,
33620    pub parameter_type: *const gchar,
33621    pub state: *const gchar,
33622    pub change_state: ::std::option::Option<
33623        unsafe extern "C" fn(action: *mut GSimpleAction, value: *mut GVariant, user_data: gpointer),
33624    >,
33625    pub padding: [gsize; 3usize],
33626}
33627#[test]
33628fn bindgen_test_layout__GActionEntry() {
33629    const UNINIT: ::std::mem::MaybeUninit<_GActionEntry> = ::std::mem::MaybeUninit::uninit();
33630    let ptr = UNINIT.as_ptr();
33631    assert_eq!(
33632        ::std::mem::size_of::<_GActionEntry>(),
33633        64usize,
33634        concat!("Size of: ", stringify!(_GActionEntry))
33635    );
33636    assert_eq!(
33637        ::std::mem::align_of::<_GActionEntry>(),
33638        8usize,
33639        concat!("Alignment of ", stringify!(_GActionEntry))
33640    );
33641    assert_eq!(
33642        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
33643        0usize,
33644        concat!(
33645            "Offset of field: ",
33646            stringify!(_GActionEntry),
33647            "::",
33648            stringify!(name)
33649        )
33650    );
33651    assert_eq!(
33652        unsafe { ::std::ptr::addr_of!((*ptr).activate) as usize - ptr as usize },
33653        8usize,
33654        concat!(
33655            "Offset of field: ",
33656            stringify!(_GActionEntry),
33657            "::",
33658            stringify!(activate)
33659        )
33660    );
33661    assert_eq!(
33662        unsafe { ::std::ptr::addr_of!((*ptr).parameter_type) as usize - ptr as usize },
33663        16usize,
33664        concat!(
33665            "Offset of field: ",
33666            stringify!(_GActionEntry),
33667            "::",
33668            stringify!(parameter_type)
33669        )
33670    );
33671    assert_eq!(
33672        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
33673        24usize,
33674        concat!(
33675            "Offset of field: ",
33676            stringify!(_GActionEntry),
33677            "::",
33678            stringify!(state)
33679        )
33680    );
33681    assert_eq!(
33682        unsafe { ::std::ptr::addr_of!((*ptr).change_state) as usize - ptr as usize },
33683        32usize,
33684        concat!(
33685            "Offset of field: ",
33686            stringify!(_GActionEntry),
33687            "::",
33688            stringify!(change_state)
33689        )
33690    );
33691    assert_eq!(
33692        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
33693        40usize,
33694        concat!(
33695            "Offset of field: ",
33696            stringify!(_GActionEntry),
33697            "::",
33698            stringify!(padding)
33699        )
33700    );
33701}
33702extern "C" {
33703    pub fn g_action_map_get_type() -> GType;
33704}
33705extern "C" {
33706    pub fn g_action_map_lookup_action(
33707        action_map: *mut GActionMap,
33708        action_name: *const gchar,
33709    ) -> *mut GAction;
33710}
33711extern "C" {
33712    pub fn g_action_map_add_action(action_map: *mut GActionMap, action: *mut GAction);
33713}
33714extern "C" {
33715    pub fn g_action_map_remove_action(action_map: *mut GActionMap, action_name: *const gchar);
33716}
33717extern "C" {
33718    pub fn g_action_map_add_action_entries(
33719        action_map: *mut GActionMap,
33720        entries: *const GActionEntry,
33721        n_entries: gint,
33722        user_data: gpointer,
33723    );
33724}
33725extern "C" {
33726    pub fn g_action_map_remove_action_entries(
33727        action_map: *mut GActionMap,
33728        entries: *const GActionEntry,
33729        n_entries: gint,
33730    );
33731}
33732pub type GAppLaunchContextClass = _GAppLaunchContextClass;
33733#[repr(C)]
33734#[derive(Debug, Copy, Clone)]
33735pub struct _GAppLaunchContextPrivate {
33736    _unused: [u8; 0],
33737}
33738pub type GAppLaunchContextPrivate = _GAppLaunchContextPrivate;
33739#[doc = " GAppInfoIface:\n @g_iface: The parent interface.\n @dup: Copies a #GAppInfo.\n @equal: Checks two #GAppInfos for equality.\n @get_id: Gets a string identifier for a #GAppInfo.\n @get_name: Gets the name of the application for a #GAppInfo.\n @get_description: Gets a short description for the application described by the #GAppInfo.\n @get_executable: Gets the executable name for the #GAppInfo.\n @get_icon: Gets the #GIcon for the #GAppInfo.\n @launch: Launches an application specified by the #GAppInfo.\n @supports_uris: Indicates whether the application specified supports launching URIs.\n @supports_files: Indicates whether the application specified accepts filename arguments.\n @launch_uris: Launches an application with a list of URIs.\n @should_show: Returns whether an application should be shown (e.g. when getting a list of installed applications).\n [FreeDesktop.Org Startup Notification Specification](http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt).\n @set_as_default_for_type: Sets an application as default for a given content type.\n @set_as_default_for_extension: Sets an application as default for a given file extension.\n @add_supports_type: Adds to the #GAppInfo information about supported file types.\n @can_remove_supports_type: Checks for support for removing supported file types from a #GAppInfo.\n @remove_supports_type: Removes a supported application type from a #GAppInfo.\n @can_delete: Checks if a #GAppInfo can be deleted. Since 2.20\n @do_delete: Deletes a #GAppInfo. Since 2.20\n @get_commandline: Gets the commandline for the #GAppInfo. Since 2.20\n @get_display_name: Gets the display name for the #GAppInfo. Since 2.24\n @set_as_last_used_for_type: Sets the application as the last used. See g_app_info_set_as_last_used_for_type().\n @get_supported_types: Retrieves the list of content types that @app_info claims to support.\n @launch_uris_async: Asynchronously launches an application with a list of URIs. (Since: 2.60)\n @launch_uris_finish: Finishes an operation started with @launch_uris_async. (Since: 2.60)\n\n Application Information interface, for operating system portability."]
33740pub type GAppInfoIface = _GAppInfoIface;
33741#[repr(C)]
33742#[derive(Debug, Copy, Clone, PartialEq, Eq)]
33743pub struct _GAppInfoIface {
33744    pub g_iface: GTypeInterface,
33745    pub dup: ::std::option::Option<unsafe extern "C" fn(appinfo: *mut GAppInfo) -> *mut GAppInfo>,
33746    pub equal: ::std::option::Option<
33747        unsafe extern "C" fn(appinfo1: *mut GAppInfo, appinfo2: *mut GAppInfo) -> gboolean,
33748    >,
33749    pub get_id: ::std::option::Option<
33750        unsafe extern "C" fn(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char,
33751    >,
33752    pub get_name: ::std::option::Option<
33753        unsafe extern "C" fn(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char,
33754    >,
33755    pub get_description: ::std::option::Option<
33756        unsafe extern "C" fn(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char,
33757    >,
33758    pub get_executable: ::std::option::Option<
33759        unsafe extern "C" fn(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char,
33760    >,
33761    pub get_icon: ::std::option::Option<unsafe extern "C" fn(appinfo: *mut GAppInfo) -> *mut GIcon>,
33762    pub launch: ::std::option::Option<
33763        unsafe extern "C" fn(
33764            appinfo: *mut GAppInfo,
33765            files: *mut GList,
33766            context: *mut GAppLaunchContext,
33767            error: *mut *mut GError,
33768        ) -> gboolean,
33769    >,
33770    pub supports_uris:
33771        ::std::option::Option<unsafe extern "C" fn(appinfo: *mut GAppInfo) -> gboolean>,
33772    pub supports_files:
33773        ::std::option::Option<unsafe extern "C" fn(appinfo: *mut GAppInfo) -> gboolean>,
33774    pub launch_uris: ::std::option::Option<
33775        unsafe extern "C" fn(
33776            appinfo: *mut GAppInfo,
33777            uris: *mut GList,
33778            context: *mut GAppLaunchContext,
33779            error: *mut *mut GError,
33780        ) -> gboolean,
33781    >,
33782    pub should_show:
33783        ::std::option::Option<unsafe extern "C" fn(appinfo: *mut GAppInfo) -> gboolean>,
33784    pub set_as_default_for_type: ::std::option::Option<
33785        unsafe extern "C" fn(
33786            appinfo: *mut GAppInfo,
33787            content_type: *const ::std::os::raw::c_char,
33788            error: *mut *mut GError,
33789        ) -> gboolean,
33790    >,
33791    pub set_as_default_for_extension: ::std::option::Option<
33792        unsafe extern "C" fn(
33793            appinfo: *mut GAppInfo,
33794            extension: *const ::std::os::raw::c_char,
33795            error: *mut *mut GError,
33796        ) -> gboolean,
33797    >,
33798    pub add_supports_type: ::std::option::Option<
33799        unsafe extern "C" fn(
33800            appinfo: *mut GAppInfo,
33801            content_type: *const ::std::os::raw::c_char,
33802            error: *mut *mut GError,
33803        ) -> gboolean,
33804    >,
33805    pub can_remove_supports_type:
33806        ::std::option::Option<unsafe extern "C" fn(appinfo: *mut GAppInfo) -> gboolean>,
33807    pub remove_supports_type: ::std::option::Option<
33808        unsafe extern "C" fn(
33809            appinfo: *mut GAppInfo,
33810            content_type: *const ::std::os::raw::c_char,
33811            error: *mut *mut GError,
33812        ) -> gboolean,
33813    >,
33814    pub can_delete: ::std::option::Option<unsafe extern "C" fn(appinfo: *mut GAppInfo) -> gboolean>,
33815    pub do_delete: ::std::option::Option<unsafe extern "C" fn(appinfo: *mut GAppInfo) -> gboolean>,
33816    pub get_commandline: ::std::option::Option<
33817        unsafe extern "C" fn(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char,
33818    >,
33819    pub get_display_name: ::std::option::Option<
33820        unsafe extern "C" fn(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char,
33821    >,
33822    pub set_as_last_used_for_type: ::std::option::Option<
33823        unsafe extern "C" fn(
33824            appinfo: *mut GAppInfo,
33825            content_type: *const ::std::os::raw::c_char,
33826            error: *mut *mut GError,
33827        ) -> gboolean,
33828    >,
33829    pub get_supported_types: ::std::option::Option<
33830        unsafe extern "C" fn(appinfo: *mut GAppInfo) -> *mut *const ::std::os::raw::c_char,
33831    >,
33832    pub launch_uris_async: ::std::option::Option<
33833        unsafe extern "C" fn(
33834            appinfo: *mut GAppInfo,
33835            uris: *mut GList,
33836            context: *mut GAppLaunchContext,
33837            cancellable: *mut GCancellable,
33838            callback: GAsyncReadyCallback,
33839            user_data: gpointer,
33840        ),
33841    >,
33842    pub launch_uris_finish: ::std::option::Option<
33843        unsafe extern "C" fn(
33844            appinfo: *mut GAppInfo,
33845            result: *mut GAsyncResult,
33846            error: *mut *mut GError,
33847        ) -> gboolean,
33848    >,
33849}
33850#[test]
33851fn bindgen_test_layout__GAppInfoIface() {
33852    const UNINIT: ::std::mem::MaybeUninit<_GAppInfoIface> = ::std::mem::MaybeUninit::uninit();
33853    let ptr = UNINIT.as_ptr();
33854    assert_eq!(
33855        ::std::mem::size_of::<_GAppInfoIface>(),
33856        216usize,
33857        concat!("Size of: ", stringify!(_GAppInfoIface))
33858    );
33859    assert_eq!(
33860        ::std::mem::align_of::<_GAppInfoIface>(),
33861        8usize,
33862        concat!("Alignment of ", stringify!(_GAppInfoIface))
33863    );
33864    assert_eq!(
33865        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
33866        0usize,
33867        concat!(
33868            "Offset of field: ",
33869            stringify!(_GAppInfoIface),
33870            "::",
33871            stringify!(g_iface)
33872        )
33873    );
33874    assert_eq!(
33875        unsafe { ::std::ptr::addr_of!((*ptr).dup) as usize - ptr as usize },
33876        16usize,
33877        concat!(
33878            "Offset of field: ",
33879            stringify!(_GAppInfoIface),
33880            "::",
33881            stringify!(dup)
33882        )
33883    );
33884    assert_eq!(
33885        unsafe { ::std::ptr::addr_of!((*ptr).equal) as usize - ptr as usize },
33886        24usize,
33887        concat!(
33888            "Offset of field: ",
33889            stringify!(_GAppInfoIface),
33890            "::",
33891            stringify!(equal)
33892        )
33893    );
33894    assert_eq!(
33895        unsafe { ::std::ptr::addr_of!((*ptr).get_id) as usize - ptr as usize },
33896        32usize,
33897        concat!(
33898            "Offset of field: ",
33899            stringify!(_GAppInfoIface),
33900            "::",
33901            stringify!(get_id)
33902        )
33903    );
33904    assert_eq!(
33905        unsafe { ::std::ptr::addr_of!((*ptr).get_name) as usize - ptr as usize },
33906        40usize,
33907        concat!(
33908            "Offset of field: ",
33909            stringify!(_GAppInfoIface),
33910            "::",
33911            stringify!(get_name)
33912        )
33913    );
33914    assert_eq!(
33915        unsafe { ::std::ptr::addr_of!((*ptr).get_description) as usize - ptr as usize },
33916        48usize,
33917        concat!(
33918            "Offset of field: ",
33919            stringify!(_GAppInfoIface),
33920            "::",
33921            stringify!(get_description)
33922        )
33923    );
33924    assert_eq!(
33925        unsafe { ::std::ptr::addr_of!((*ptr).get_executable) as usize - ptr as usize },
33926        56usize,
33927        concat!(
33928            "Offset of field: ",
33929            stringify!(_GAppInfoIface),
33930            "::",
33931            stringify!(get_executable)
33932        )
33933    );
33934    assert_eq!(
33935        unsafe { ::std::ptr::addr_of!((*ptr).get_icon) as usize - ptr as usize },
33936        64usize,
33937        concat!(
33938            "Offset of field: ",
33939            stringify!(_GAppInfoIface),
33940            "::",
33941            stringify!(get_icon)
33942        )
33943    );
33944    assert_eq!(
33945        unsafe { ::std::ptr::addr_of!((*ptr).launch) as usize - ptr as usize },
33946        72usize,
33947        concat!(
33948            "Offset of field: ",
33949            stringify!(_GAppInfoIface),
33950            "::",
33951            stringify!(launch)
33952        )
33953    );
33954    assert_eq!(
33955        unsafe { ::std::ptr::addr_of!((*ptr).supports_uris) as usize - ptr as usize },
33956        80usize,
33957        concat!(
33958            "Offset of field: ",
33959            stringify!(_GAppInfoIface),
33960            "::",
33961            stringify!(supports_uris)
33962        )
33963    );
33964    assert_eq!(
33965        unsafe { ::std::ptr::addr_of!((*ptr).supports_files) as usize - ptr as usize },
33966        88usize,
33967        concat!(
33968            "Offset of field: ",
33969            stringify!(_GAppInfoIface),
33970            "::",
33971            stringify!(supports_files)
33972        )
33973    );
33974    assert_eq!(
33975        unsafe { ::std::ptr::addr_of!((*ptr).launch_uris) as usize - ptr as usize },
33976        96usize,
33977        concat!(
33978            "Offset of field: ",
33979            stringify!(_GAppInfoIface),
33980            "::",
33981            stringify!(launch_uris)
33982        )
33983    );
33984    assert_eq!(
33985        unsafe { ::std::ptr::addr_of!((*ptr).should_show) as usize - ptr as usize },
33986        104usize,
33987        concat!(
33988            "Offset of field: ",
33989            stringify!(_GAppInfoIface),
33990            "::",
33991            stringify!(should_show)
33992        )
33993    );
33994    assert_eq!(
33995        unsafe { ::std::ptr::addr_of!((*ptr).set_as_default_for_type) as usize - ptr as usize },
33996        112usize,
33997        concat!(
33998            "Offset of field: ",
33999            stringify!(_GAppInfoIface),
34000            "::",
34001            stringify!(set_as_default_for_type)
34002        )
34003    );
34004    assert_eq!(
34005        unsafe {
34006            ::std::ptr::addr_of!((*ptr).set_as_default_for_extension) as usize - ptr as usize
34007        },
34008        120usize,
34009        concat!(
34010            "Offset of field: ",
34011            stringify!(_GAppInfoIface),
34012            "::",
34013            stringify!(set_as_default_for_extension)
34014        )
34015    );
34016    assert_eq!(
34017        unsafe { ::std::ptr::addr_of!((*ptr).add_supports_type) as usize - ptr as usize },
34018        128usize,
34019        concat!(
34020            "Offset of field: ",
34021            stringify!(_GAppInfoIface),
34022            "::",
34023            stringify!(add_supports_type)
34024        )
34025    );
34026    assert_eq!(
34027        unsafe { ::std::ptr::addr_of!((*ptr).can_remove_supports_type) as usize - ptr as usize },
34028        136usize,
34029        concat!(
34030            "Offset of field: ",
34031            stringify!(_GAppInfoIface),
34032            "::",
34033            stringify!(can_remove_supports_type)
34034        )
34035    );
34036    assert_eq!(
34037        unsafe { ::std::ptr::addr_of!((*ptr).remove_supports_type) as usize - ptr as usize },
34038        144usize,
34039        concat!(
34040            "Offset of field: ",
34041            stringify!(_GAppInfoIface),
34042            "::",
34043            stringify!(remove_supports_type)
34044        )
34045    );
34046    assert_eq!(
34047        unsafe { ::std::ptr::addr_of!((*ptr).can_delete) as usize - ptr as usize },
34048        152usize,
34049        concat!(
34050            "Offset of field: ",
34051            stringify!(_GAppInfoIface),
34052            "::",
34053            stringify!(can_delete)
34054        )
34055    );
34056    assert_eq!(
34057        unsafe { ::std::ptr::addr_of!((*ptr).do_delete) as usize - ptr as usize },
34058        160usize,
34059        concat!(
34060            "Offset of field: ",
34061            stringify!(_GAppInfoIface),
34062            "::",
34063            stringify!(do_delete)
34064        )
34065    );
34066    assert_eq!(
34067        unsafe { ::std::ptr::addr_of!((*ptr).get_commandline) as usize - ptr as usize },
34068        168usize,
34069        concat!(
34070            "Offset of field: ",
34071            stringify!(_GAppInfoIface),
34072            "::",
34073            stringify!(get_commandline)
34074        )
34075    );
34076    assert_eq!(
34077        unsafe { ::std::ptr::addr_of!((*ptr).get_display_name) as usize - ptr as usize },
34078        176usize,
34079        concat!(
34080            "Offset of field: ",
34081            stringify!(_GAppInfoIface),
34082            "::",
34083            stringify!(get_display_name)
34084        )
34085    );
34086    assert_eq!(
34087        unsafe { ::std::ptr::addr_of!((*ptr).set_as_last_used_for_type) as usize - ptr as usize },
34088        184usize,
34089        concat!(
34090            "Offset of field: ",
34091            stringify!(_GAppInfoIface),
34092            "::",
34093            stringify!(set_as_last_used_for_type)
34094        )
34095    );
34096    assert_eq!(
34097        unsafe { ::std::ptr::addr_of!((*ptr).get_supported_types) as usize - ptr as usize },
34098        192usize,
34099        concat!(
34100            "Offset of field: ",
34101            stringify!(_GAppInfoIface),
34102            "::",
34103            stringify!(get_supported_types)
34104        )
34105    );
34106    assert_eq!(
34107        unsafe { ::std::ptr::addr_of!((*ptr).launch_uris_async) as usize - ptr as usize },
34108        200usize,
34109        concat!(
34110            "Offset of field: ",
34111            stringify!(_GAppInfoIface),
34112            "::",
34113            stringify!(launch_uris_async)
34114        )
34115    );
34116    assert_eq!(
34117        unsafe { ::std::ptr::addr_of!((*ptr).launch_uris_finish) as usize - ptr as usize },
34118        208usize,
34119        concat!(
34120            "Offset of field: ",
34121            stringify!(_GAppInfoIface),
34122            "::",
34123            stringify!(launch_uris_finish)
34124        )
34125    );
34126}
34127extern "C" {
34128    pub fn g_app_info_get_type() -> GType;
34129}
34130extern "C" {
34131    pub fn g_app_info_create_from_commandline(
34132        commandline: *const ::std::os::raw::c_char,
34133        application_name: *const ::std::os::raw::c_char,
34134        flags: GAppInfoCreateFlags,
34135        error: *mut *mut GError,
34136    ) -> *mut GAppInfo;
34137}
34138extern "C" {
34139    pub fn g_app_info_dup(appinfo: *mut GAppInfo) -> *mut GAppInfo;
34140}
34141extern "C" {
34142    pub fn g_app_info_equal(appinfo1: *mut GAppInfo, appinfo2: *mut GAppInfo) -> gboolean;
34143}
34144extern "C" {
34145    pub fn g_app_info_get_id(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char;
34146}
34147extern "C" {
34148    pub fn g_app_info_get_name(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char;
34149}
34150extern "C" {
34151    pub fn g_app_info_get_display_name(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char;
34152}
34153extern "C" {
34154    pub fn g_app_info_get_description(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char;
34155}
34156extern "C" {
34157    pub fn g_app_info_get_executable(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char;
34158}
34159extern "C" {
34160    pub fn g_app_info_get_commandline(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char;
34161}
34162extern "C" {
34163    pub fn g_app_info_get_icon(appinfo: *mut GAppInfo) -> *mut GIcon;
34164}
34165extern "C" {
34166    pub fn g_app_info_launch(
34167        appinfo: *mut GAppInfo,
34168        files: *mut GList,
34169        context: *mut GAppLaunchContext,
34170        error: *mut *mut GError,
34171    ) -> gboolean;
34172}
34173extern "C" {
34174    pub fn g_app_info_supports_uris(appinfo: *mut GAppInfo) -> gboolean;
34175}
34176extern "C" {
34177    pub fn g_app_info_supports_files(appinfo: *mut GAppInfo) -> gboolean;
34178}
34179extern "C" {
34180    pub fn g_app_info_launch_uris(
34181        appinfo: *mut GAppInfo,
34182        uris: *mut GList,
34183        context: *mut GAppLaunchContext,
34184        error: *mut *mut GError,
34185    ) -> gboolean;
34186}
34187extern "C" {
34188    pub fn g_app_info_launch_uris_async(
34189        appinfo: *mut GAppInfo,
34190        uris: *mut GList,
34191        context: *mut GAppLaunchContext,
34192        cancellable: *mut GCancellable,
34193        callback: GAsyncReadyCallback,
34194        user_data: gpointer,
34195    );
34196}
34197extern "C" {
34198    pub fn g_app_info_launch_uris_finish(
34199        appinfo: *mut GAppInfo,
34200        result: *mut GAsyncResult,
34201        error: *mut *mut GError,
34202    ) -> gboolean;
34203}
34204extern "C" {
34205    pub fn g_app_info_should_show(appinfo: *mut GAppInfo) -> gboolean;
34206}
34207extern "C" {
34208    pub fn g_app_info_set_as_default_for_type(
34209        appinfo: *mut GAppInfo,
34210        content_type: *const ::std::os::raw::c_char,
34211        error: *mut *mut GError,
34212    ) -> gboolean;
34213}
34214extern "C" {
34215    pub fn g_app_info_set_as_default_for_extension(
34216        appinfo: *mut GAppInfo,
34217        extension: *const ::std::os::raw::c_char,
34218        error: *mut *mut GError,
34219    ) -> gboolean;
34220}
34221extern "C" {
34222    pub fn g_app_info_add_supports_type(
34223        appinfo: *mut GAppInfo,
34224        content_type: *const ::std::os::raw::c_char,
34225        error: *mut *mut GError,
34226    ) -> gboolean;
34227}
34228extern "C" {
34229    pub fn g_app_info_can_remove_supports_type(appinfo: *mut GAppInfo) -> gboolean;
34230}
34231extern "C" {
34232    pub fn g_app_info_remove_supports_type(
34233        appinfo: *mut GAppInfo,
34234        content_type: *const ::std::os::raw::c_char,
34235        error: *mut *mut GError,
34236    ) -> gboolean;
34237}
34238extern "C" {
34239    pub fn g_app_info_get_supported_types(
34240        appinfo: *mut GAppInfo,
34241    ) -> *mut *const ::std::os::raw::c_char;
34242}
34243extern "C" {
34244    pub fn g_app_info_can_delete(appinfo: *mut GAppInfo) -> gboolean;
34245}
34246extern "C" {
34247    pub fn g_app_info_delete(appinfo: *mut GAppInfo) -> gboolean;
34248}
34249extern "C" {
34250    pub fn g_app_info_set_as_last_used_for_type(
34251        appinfo: *mut GAppInfo,
34252        content_type: *const ::std::os::raw::c_char,
34253        error: *mut *mut GError,
34254    ) -> gboolean;
34255}
34256extern "C" {
34257    pub fn g_app_info_get_all() -> *mut GList;
34258}
34259extern "C" {
34260    pub fn g_app_info_get_all_for_type(content_type: *const ::std::os::raw::c_char) -> *mut GList;
34261}
34262extern "C" {
34263    pub fn g_app_info_get_recommended_for_type(content_type: *const gchar) -> *mut GList;
34264}
34265extern "C" {
34266    pub fn g_app_info_get_fallback_for_type(content_type: *const gchar) -> *mut GList;
34267}
34268extern "C" {
34269    pub fn g_app_info_reset_type_associations(content_type: *const ::std::os::raw::c_char);
34270}
34271extern "C" {
34272    pub fn g_app_info_get_default_for_type(
34273        content_type: *const ::std::os::raw::c_char,
34274        must_support_uris: gboolean,
34275    ) -> *mut GAppInfo;
34276}
34277extern "C" {
34278    pub fn g_app_info_get_default_for_type_async(
34279        content_type: *const ::std::os::raw::c_char,
34280        must_support_uris: gboolean,
34281        cancellable: *mut GCancellable,
34282        callback: GAsyncReadyCallback,
34283        user_data: gpointer,
34284    );
34285}
34286extern "C" {
34287    pub fn g_app_info_get_default_for_type_finish(
34288        result: *mut GAsyncResult,
34289        error: *mut *mut GError,
34290    ) -> *mut GAppInfo;
34291}
34292extern "C" {
34293    pub fn g_app_info_get_default_for_uri_scheme(
34294        uri_scheme: *const ::std::os::raw::c_char,
34295    ) -> *mut GAppInfo;
34296}
34297extern "C" {
34298    pub fn g_app_info_get_default_for_uri_scheme_async(
34299        uri_scheme: *const ::std::os::raw::c_char,
34300        cancellable: *mut GCancellable,
34301        callback: GAsyncReadyCallback,
34302        user_data: gpointer,
34303    );
34304}
34305extern "C" {
34306    pub fn g_app_info_get_default_for_uri_scheme_finish(
34307        result: *mut GAsyncResult,
34308        error: *mut *mut GError,
34309    ) -> *mut GAppInfo;
34310}
34311extern "C" {
34312    pub fn g_app_info_launch_default_for_uri(
34313        uri: *const ::std::os::raw::c_char,
34314        context: *mut GAppLaunchContext,
34315        error: *mut *mut GError,
34316    ) -> gboolean;
34317}
34318extern "C" {
34319    pub fn g_app_info_launch_default_for_uri_async(
34320        uri: *const ::std::os::raw::c_char,
34321        context: *mut GAppLaunchContext,
34322        cancellable: *mut GCancellable,
34323        callback: GAsyncReadyCallback,
34324        user_data: gpointer,
34325    );
34326}
34327extern "C" {
34328    pub fn g_app_info_launch_default_for_uri_finish(
34329        result: *mut GAsyncResult,
34330        error: *mut *mut GError,
34331    ) -> gboolean;
34332}
34333#[doc = " GAppLaunchContext:\n\n Integrating the launch with the launching application. This is used to\n handle for instance startup notification and launching the new application\n on the same screen as the launching window."]
34334#[repr(C)]
34335#[derive(Debug, Copy, Clone, PartialEq, Eq)]
34336pub struct _GAppLaunchContext {
34337    pub parent_instance: GObject,
34338    pub priv_: *mut GAppLaunchContextPrivate,
34339}
34340#[test]
34341fn bindgen_test_layout__GAppLaunchContext() {
34342    const UNINIT: ::std::mem::MaybeUninit<_GAppLaunchContext> = ::std::mem::MaybeUninit::uninit();
34343    let ptr = UNINIT.as_ptr();
34344    assert_eq!(
34345        ::std::mem::size_of::<_GAppLaunchContext>(),
34346        32usize,
34347        concat!("Size of: ", stringify!(_GAppLaunchContext))
34348    );
34349    assert_eq!(
34350        ::std::mem::align_of::<_GAppLaunchContext>(),
34351        8usize,
34352        concat!("Alignment of ", stringify!(_GAppLaunchContext))
34353    );
34354    assert_eq!(
34355        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
34356        0usize,
34357        concat!(
34358            "Offset of field: ",
34359            stringify!(_GAppLaunchContext),
34360            "::",
34361            stringify!(parent_instance)
34362        )
34363    );
34364    assert_eq!(
34365        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
34366        24usize,
34367        concat!(
34368            "Offset of field: ",
34369            stringify!(_GAppLaunchContext),
34370            "::",
34371            stringify!(priv_)
34372        )
34373    );
34374}
34375#[repr(C)]
34376#[derive(Debug, Copy, Clone, PartialEq, Eq)]
34377pub struct _GAppLaunchContextClass {
34378    pub parent_class: GObjectClass,
34379    pub get_display: ::std::option::Option<
34380        unsafe extern "C" fn(
34381            context: *mut GAppLaunchContext,
34382            info: *mut GAppInfo,
34383            files: *mut GList,
34384        ) -> *mut ::std::os::raw::c_char,
34385    >,
34386    pub get_startup_notify_id: ::std::option::Option<
34387        unsafe extern "C" fn(
34388            context: *mut GAppLaunchContext,
34389            info: *mut GAppInfo,
34390            files: *mut GList,
34391        ) -> *mut ::std::os::raw::c_char,
34392    >,
34393    pub launch_failed: ::std::option::Option<
34394        unsafe extern "C" fn(
34395            context: *mut GAppLaunchContext,
34396            startup_notify_id: *const ::std::os::raw::c_char,
34397        ),
34398    >,
34399    pub launched: ::std::option::Option<
34400        unsafe extern "C" fn(
34401            context: *mut GAppLaunchContext,
34402            info: *mut GAppInfo,
34403            platform_data: *mut GVariant,
34404        ),
34405    >,
34406    pub launch_started: ::std::option::Option<
34407        unsafe extern "C" fn(
34408            context: *mut GAppLaunchContext,
34409            info: *mut GAppInfo,
34410            platform_data: *mut GVariant,
34411        ),
34412    >,
34413    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
34414    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
34415    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
34416}
34417#[test]
34418fn bindgen_test_layout__GAppLaunchContextClass() {
34419    const UNINIT: ::std::mem::MaybeUninit<_GAppLaunchContextClass> =
34420        ::std::mem::MaybeUninit::uninit();
34421    let ptr = UNINIT.as_ptr();
34422    assert_eq!(
34423        ::std::mem::size_of::<_GAppLaunchContextClass>(),
34424        200usize,
34425        concat!("Size of: ", stringify!(_GAppLaunchContextClass))
34426    );
34427    assert_eq!(
34428        ::std::mem::align_of::<_GAppLaunchContextClass>(),
34429        8usize,
34430        concat!("Alignment of ", stringify!(_GAppLaunchContextClass))
34431    );
34432    assert_eq!(
34433        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
34434        0usize,
34435        concat!(
34436            "Offset of field: ",
34437            stringify!(_GAppLaunchContextClass),
34438            "::",
34439            stringify!(parent_class)
34440        )
34441    );
34442    assert_eq!(
34443        unsafe { ::std::ptr::addr_of!((*ptr).get_display) as usize - ptr as usize },
34444        136usize,
34445        concat!(
34446            "Offset of field: ",
34447            stringify!(_GAppLaunchContextClass),
34448            "::",
34449            stringify!(get_display)
34450        )
34451    );
34452    assert_eq!(
34453        unsafe { ::std::ptr::addr_of!((*ptr).get_startup_notify_id) as usize - ptr as usize },
34454        144usize,
34455        concat!(
34456            "Offset of field: ",
34457            stringify!(_GAppLaunchContextClass),
34458            "::",
34459            stringify!(get_startup_notify_id)
34460        )
34461    );
34462    assert_eq!(
34463        unsafe { ::std::ptr::addr_of!((*ptr).launch_failed) as usize - ptr as usize },
34464        152usize,
34465        concat!(
34466            "Offset of field: ",
34467            stringify!(_GAppLaunchContextClass),
34468            "::",
34469            stringify!(launch_failed)
34470        )
34471    );
34472    assert_eq!(
34473        unsafe { ::std::ptr::addr_of!((*ptr).launched) as usize - ptr as usize },
34474        160usize,
34475        concat!(
34476            "Offset of field: ",
34477            stringify!(_GAppLaunchContextClass),
34478            "::",
34479            stringify!(launched)
34480        )
34481    );
34482    assert_eq!(
34483        unsafe { ::std::ptr::addr_of!((*ptr).launch_started) as usize - ptr as usize },
34484        168usize,
34485        concat!(
34486            "Offset of field: ",
34487            stringify!(_GAppLaunchContextClass),
34488            "::",
34489            stringify!(launch_started)
34490        )
34491    );
34492    assert_eq!(
34493        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
34494        176usize,
34495        concat!(
34496            "Offset of field: ",
34497            stringify!(_GAppLaunchContextClass),
34498            "::",
34499            stringify!(_g_reserved1)
34500        )
34501    );
34502    assert_eq!(
34503        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
34504        184usize,
34505        concat!(
34506            "Offset of field: ",
34507            stringify!(_GAppLaunchContextClass),
34508            "::",
34509            stringify!(_g_reserved2)
34510        )
34511    );
34512    assert_eq!(
34513        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
34514        192usize,
34515        concat!(
34516            "Offset of field: ",
34517            stringify!(_GAppLaunchContextClass),
34518            "::",
34519            stringify!(_g_reserved3)
34520        )
34521    );
34522}
34523extern "C" {
34524    pub fn g_app_launch_context_get_type() -> GType;
34525}
34526extern "C" {
34527    pub fn g_app_launch_context_new() -> *mut GAppLaunchContext;
34528}
34529extern "C" {
34530    pub fn g_app_launch_context_setenv(
34531        context: *mut GAppLaunchContext,
34532        variable: *const ::std::os::raw::c_char,
34533        value: *const ::std::os::raw::c_char,
34534    );
34535}
34536extern "C" {
34537    pub fn g_app_launch_context_unsetenv(
34538        context: *mut GAppLaunchContext,
34539        variable: *const ::std::os::raw::c_char,
34540    );
34541}
34542extern "C" {
34543    pub fn g_app_launch_context_get_environment(
34544        context: *mut GAppLaunchContext,
34545    ) -> *mut *mut ::std::os::raw::c_char;
34546}
34547extern "C" {
34548    pub fn g_app_launch_context_get_display(
34549        context: *mut GAppLaunchContext,
34550        info: *mut GAppInfo,
34551        files: *mut GList,
34552    ) -> *mut ::std::os::raw::c_char;
34553}
34554extern "C" {
34555    pub fn g_app_launch_context_get_startup_notify_id(
34556        context: *mut GAppLaunchContext,
34557        info: *mut GAppInfo,
34558        files: *mut GList,
34559    ) -> *mut ::std::os::raw::c_char;
34560}
34561extern "C" {
34562    pub fn g_app_launch_context_launch_failed(
34563        context: *mut GAppLaunchContext,
34564        startup_notify_id: *const ::std::os::raw::c_char,
34565    );
34566}
34567#[repr(C)]
34568#[derive(Debug, Copy, Clone)]
34569pub struct _GAppInfoMonitor {
34570    _unused: [u8; 0],
34571}
34572pub type GAppInfoMonitor = _GAppInfoMonitor;
34573extern "C" {
34574    pub fn g_app_info_monitor_get_type() -> GType;
34575}
34576extern "C" {
34577    pub fn g_app_info_monitor_get() -> *mut GAppInfoMonitor;
34578}
34579#[repr(C)]
34580#[derive(Debug, Copy, Clone)]
34581pub struct _GApplicationPrivate {
34582    _unused: [u8; 0],
34583}
34584pub type GApplicationPrivate = _GApplicationPrivate;
34585pub type GApplicationClass = _GApplicationClass;
34586#[repr(C)]
34587#[derive(Debug, Copy, Clone, PartialEq, Eq)]
34588pub struct _GApplication {
34589    pub parent_instance: GObject,
34590    pub priv_: *mut GApplicationPrivate,
34591}
34592#[test]
34593fn bindgen_test_layout__GApplication() {
34594    const UNINIT: ::std::mem::MaybeUninit<_GApplication> = ::std::mem::MaybeUninit::uninit();
34595    let ptr = UNINIT.as_ptr();
34596    assert_eq!(
34597        ::std::mem::size_of::<_GApplication>(),
34598        32usize,
34599        concat!("Size of: ", stringify!(_GApplication))
34600    );
34601    assert_eq!(
34602        ::std::mem::align_of::<_GApplication>(),
34603        8usize,
34604        concat!("Alignment of ", stringify!(_GApplication))
34605    );
34606    assert_eq!(
34607        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
34608        0usize,
34609        concat!(
34610            "Offset of field: ",
34611            stringify!(_GApplication),
34612            "::",
34613            stringify!(parent_instance)
34614        )
34615    );
34616    assert_eq!(
34617        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
34618        24usize,
34619        concat!(
34620            "Offset of field: ",
34621            stringify!(_GApplication),
34622            "::",
34623            stringify!(priv_)
34624        )
34625    );
34626}
34627#[repr(C)]
34628#[derive(Debug, Copy, Clone, PartialEq, Eq)]
34629pub struct _GApplicationClass {
34630    pub parent_class: GObjectClass,
34631    pub startup: ::std::option::Option<unsafe extern "C" fn(application: *mut GApplication)>,
34632    pub activate: ::std::option::Option<unsafe extern "C" fn(application: *mut GApplication)>,
34633    pub open: ::std::option::Option<
34634        unsafe extern "C" fn(
34635            application: *mut GApplication,
34636            files: *mut *mut GFile,
34637            n_files: gint,
34638            hint: *const gchar,
34639        ),
34640    >,
34641    pub command_line: ::std::option::Option<
34642        unsafe extern "C" fn(
34643            application: *mut GApplication,
34644            command_line: *mut GApplicationCommandLine,
34645        ) -> ::std::os::raw::c_int,
34646    >,
34647    #[doc = " GApplicationClass::local_command_line:\n @application: a #GApplication\n @arguments: (inout) (array zero-terminated=1): array of command line arguments\n @exit_status: (out): exit status to fill after processing the command line.\n\n This virtual function is always invoked in the local instance. It\n gets passed a pointer to a %NULL-terminated copy of @argv and is\n expected to remove arguments that it handled (shifting up remaining\n arguments).\n\n The last argument to local_command_line() is a pointer to the @status\n variable which can used to set the exit status that is returned from\n g_application_run().\n\n See g_application_run() for more details on #GApplication startup.\n\n Returns: %TRUE if the commandline has been completely handled"]
34648    pub local_command_line: ::std::option::Option<
34649        unsafe extern "C" fn(
34650            application: *mut GApplication,
34651            arguments: *mut *mut *mut gchar,
34652            exit_status: *mut ::std::os::raw::c_int,
34653        ) -> gboolean,
34654    >,
34655    pub before_emit: ::std::option::Option<
34656        unsafe extern "C" fn(application: *mut GApplication, platform_data: *mut GVariant),
34657    >,
34658    pub after_emit: ::std::option::Option<
34659        unsafe extern "C" fn(application: *mut GApplication, platform_data: *mut GVariant),
34660    >,
34661    pub add_platform_data: ::std::option::Option<
34662        unsafe extern "C" fn(application: *mut GApplication, builder: *mut GVariantBuilder),
34663    >,
34664    pub quit_mainloop: ::std::option::Option<unsafe extern "C" fn(application: *mut GApplication)>,
34665    pub run_mainloop: ::std::option::Option<unsafe extern "C" fn(application: *mut GApplication)>,
34666    pub shutdown: ::std::option::Option<unsafe extern "C" fn(application: *mut GApplication)>,
34667    pub dbus_register: ::std::option::Option<
34668        unsafe extern "C" fn(
34669            application: *mut GApplication,
34670            connection: *mut GDBusConnection,
34671            object_path: *const gchar,
34672            error: *mut *mut GError,
34673        ) -> gboolean,
34674    >,
34675    pub dbus_unregister: ::std::option::Option<
34676        unsafe extern "C" fn(
34677            application: *mut GApplication,
34678            connection: *mut GDBusConnection,
34679            object_path: *const gchar,
34680        ),
34681    >,
34682    pub handle_local_options: ::std::option::Option<
34683        unsafe extern "C" fn(application: *mut GApplication, options: *mut GVariantDict) -> gint,
34684    >,
34685    pub name_lost:
34686        ::std::option::Option<unsafe extern "C" fn(application: *mut GApplication) -> gboolean>,
34687    pub padding: [gpointer; 7usize],
34688}
34689#[test]
34690fn bindgen_test_layout__GApplicationClass() {
34691    const UNINIT: ::std::mem::MaybeUninit<_GApplicationClass> = ::std::mem::MaybeUninit::uninit();
34692    let ptr = UNINIT.as_ptr();
34693    assert_eq!(
34694        ::std::mem::size_of::<_GApplicationClass>(),
34695        312usize,
34696        concat!("Size of: ", stringify!(_GApplicationClass))
34697    );
34698    assert_eq!(
34699        ::std::mem::align_of::<_GApplicationClass>(),
34700        8usize,
34701        concat!("Alignment of ", stringify!(_GApplicationClass))
34702    );
34703    assert_eq!(
34704        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
34705        0usize,
34706        concat!(
34707            "Offset of field: ",
34708            stringify!(_GApplicationClass),
34709            "::",
34710            stringify!(parent_class)
34711        )
34712    );
34713    assert_eq!(
34714        unsafe { ::std::ptr::addr_of!((*ptr).startup) as usize - ptr as usize },
34715        136usize,
34716        concat!(
34717            "Offset of field: ",
34718            stringify!(_GApplicationClass),
34719            "::",
34720            stringify!(startup)
34721        )
34722    );
34723    assert_eq!(
34724        unsafe { ::std::ptr::addr_of!((*ptr).activate) as usize - ptr as usize },
34725        144usize,
34726        concat!(
34727            "Offset of field: ",
34728            stringify!(_GApplicationClass),
34729            "::",
34730            stringify!(activate)
34731        )
34732    );
34733    assert_eq!(
34734        unsafe { ::std::ptr::addr_of!((*ptr).open) as usize - ptr as usize },
34735        152usize,
34736        concat!(
34737            "Offset of field: ",
34738            stringify!(_GApplicationClass),
34739            "::",
34740            stringify!(open)
34741        )
34742    );
34743    assert_eq!(
34744        unsafe { ::std::ptr::addr_of!((*ptr).command_line) as usize - ptr as usize },
34745        160usize,
34746        concat!(
34747            "Offset of field: ",
34748            stringify!(_GApplicationClass),
34749            "::",
34750            stringify!(command_line)
34751        )
34752    );
34753    assert_eq!(
34754        unsafe { ::std::ptr::addr_of!((*ptr).local_command_line) as usize - ptr as usize },
34755        168usize,
34756        concat!(
34757            "Offset of field: ",
34758            stringify!(_GApplicationClass),
34759            "::",
34760            stringify!(local_command_line)
34761        )
34762    );
34763    assert_eq!(
34764        unsafe { ::std::ptr::addr_of!((*ptr).before_emit) as usize - ptr as usize },
34765        176usize,
34766        concat!(
34767            "Offset of field: ",
34768            stringify!(_GApplicationClass),
34769            "::",
34770            stringify!(before_emit)
34771        )
34772    );
34773    assert_eq!(
34774        unsafe { ::std::ptr::addr_of!((*ptr).after_emit) as usize - ptr as usize },
34775        184usize,
34776        concat!(
34777            "Offset of field: ",
34778            stringify!(_GApplicationClass),
34779            "::",
34780            stringify!(after_emit)
34781        )
34782    );
34783    assert_eq!(
34784        unsafe { ::std::ptr::addr_of!((*ptr).add_platform_data) as usize - ptr as usize },
34785        192usize,
34786        concat!(
34787            "Offset of field: ",
34788            stringify!(_GApplicationClass),
34789            "::",
34790            stringify!(add_platform_data)
34791        )
34792    );
34793    assert_eq!(
34794        unsafe { ::std::ptr::addr_of!((*ptr).quit_mainloop) as usize - ptr as usize },
34795        200usize,
34796        concat!(
34797            "Offset of field: ",
34798            stringify!(_GApplicationClass),
34799            "::",
34800            stringify!(quit_mainloop)
34801        )
34802    );
34803    assert_eq!(
34804        unsafe { ::std::ptr::addr_of!((*ptr).run_mainloop) as usize - ptr as usize },
34805        208usize,
34806        concat!(
34807            "Offset of field: ",
34808            stringify!(_GApplicationClass),
34809            "::",
34810            stringify!(run_mainloop)
34811        )
34812    );
34813    assert_eq!(
34814        unsafe { ::std::ptr::addr_of!((*ptr).shutdown) as usize - ptr as usize },
34815        216usize,
34816        concat!(
34817            "Offset of field: ",
34818            stringify!(_GApplicationClass),
34819            "::",
34820            stringify!(shutdown)
34821        )
34822    );
34823    assert_eq!(
34824        unsafe { ::std::ptr::addr_of!((*ptr).dbus_register) as usize - ptr as usize },
34825        224usize,
34826        concat!(
34827            "Offset of field: ",
34828            stringify!(_GApplicationClass),
34829            "::",
34830            stringify!(dbus_register)
34831        )
34832    );
34833    assert_eq!(
34834        unsafe { ::std::ptr::addr_of!((*ptr).dbus_unregister) as usize - ptr as usize },
34835        232usize,
34836        concat!(
34837            "Offset of field: ",
34838            stringify!(_GApplicationClass),
34839            "::",
34840            stringify!(dbus_unregister)
34841        )
34842    );
34843    assert_eq!(
34844        unsafe { ::std::ptr::addr_of!((*ptr).handle_local_options) as usize - ptr as usize },
34845        240usize,
34846        concat!(
34847            "Offset of field: ",
34848            stringify!(_GApplicationClass),
34849            "::",
34850            stringify!(handle_local_options)
34851        )
34852    );
34853    assert_eq!(
34854        unsafe { ::std::ptr::addr_of!((*ptr).name_lost) as usize - ptr as usize },
34855        248usize,
34856        concat!(
34857            "Offset of field: ",
34858            stringify!(_GApplicationClass),
34859            "::",
34860            stringify!(name_lost)
34861        )
34862    );
34863    assert_eq!(
34864        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
34865        256usize,
34866        concat!(
34867            "Offset of field: ",
34868            stringify!(_GApplicationClass),
34869            "::",
34870            stringify!(padding)
34871        )
34872    );
34873}
34874extern "C" {
34875    pub fn g_application_get_type() -> GType;
34876}
34877extern "C" {
34878    pub fn g_application_id_is_valid(application_id: *const gchar) -> gboolean;
34879}
34880extern "C" {
34881    pub fn g_application_new(
34882        application_id: *const gchar,
34883        flags: GApplicationFlags,
34884    ) -> *mut GApplication;
34885}
34886extern "C" {
34887    pub fn g_application_get_application_id(application: *mut GApplication) -> *const gchar;
34888}
34889extern "C" {
34890    pub fn g_application_set_application_id(
34891        application: *mut GApplication,
34892        application_id: *const gchar,
34893    );
34894}
34895extern "C" {
34896    pub fn g_application_get_dbus_connection(
34897        application: *mut GApplication,
34898    ) -> *mut GDBusConnection;
34899}
34900extern "C" {
34901    pub fn g_application_get_dbus_object_path(application: *mut GApplication) -> *const gchar;
34902}
34903extern "C" {
34904    pub fn g_application_get_inactivity_timeout(application: *mut GApplication) -> guint;
34905}
34906extern "C" {
34907    pub fn g_application_set_inactivity_timeout(
34908        application: *mut GApplication,
34909        inactivity_timeout: guint,
34910    );
34911}
34912extern "C" {
34913    pub fn g_application_get_flags(application: *mut GApplication) -> GApplicationFlags;
34914}
34915extern "C" {
34916    pub fn g_application_set_flags(application: *mut GApplication, flags: GApplicationFlags);
34917}
34918extern "C" {
34919    pub fn g_application_get_resource_base_path(application: *mut GApplication) -> *const gchar;
34920}
34921extern "C" {
34922    pub fn g_application_set_resource_base_path(
34923        application: *mut GApplication,
34924        resource_path: *const gchar,
34925    );
34926}
34927extern "C" {
34928    pub fn g_application_set_action_group(
34929        application: *mut GApplication,
34930        action_group: *mut GActionGroup,
34931    );
34932}
34933extern "C" {
34934    pub fn g_application_add_main_option_entries(
34935        application: *mut GApplication,
34936        entries: *const GOptionEntry,
34937    );
34938}
34939extern "C" {
34940    pub fn g_application_add_main_option(
34941        application: *mut GApplication,
34942        long_name: *const ::std::os::raw::c_char,
34943        short_name: ::std::os::raw::c_char,
34944        flags: GOptionFlags,
34945        arg: GOptionArg,
34946        description: *const ::std::os::raw::c_char,
34947        arg_description: *const ::std::os::raw::c_char,
34948    );
34949}
34950extern "C" {
34951    pub fn g_application_add_option_group(application: *mut GApplication, group: *mut GOptionGroup);
34952}
34953extern "C" {
34954    pub fn g_application_set_option_context_parameter_string(
34955        application: *mut GApplication,
34956        parameter_string: *const gchar,
34957    );
34958}
34959extern "C" {
34960    pub fn g_application_set_option_context_summary(
34961        application: *mut GApplication,
34962        summary: *const gchar,
34963    );
34964}
34965extern "C" {
34966    pub fn g_application_set_option_context_description(
34967        application: *mut GApplication,
34968        description: *const gchar,
34969    );
34970}
34971extern "C" {
34972    pub fn g_application_get_is_registered(application: *mut GApplication) -> gboolean;
34973}
34974extern "C" {
34975    pub fn g_application_get_is_remote(application: *mut GApplication) -> gboolean;
34976}
34977extern "C" {
34978    pub fn g_application_register(
34979        application: *mut GApplication,
34980        cancellable: *mut GCancellable,
34981        error: *mut *mut GError,
34982    ) -> gboolean;
34983}
34984extern "C" {
34985    pub fn g_application_hold(application: *mut GApplication);
34986}
34987extern "C" {
34988    pub fn g_application_release(application: *mut GApplication);
34989}
34990extern "C" {
34991    pub fn g_application_activate(application: *mut GApplication);
34992}
34993extern "C" {
34994    pub fn g_application_open(
34995        application: *mut GApplication,
34996        files: *mut *mut GFile,
34997        n_files: gint,
34998        hint: *const gchar,
34999    );
35000}
35001extern "C" {
35002    pub fn g_application_run(
35003        application: *mut GApplication,
35004        argc: ::std::os::raw::c_int,
35005        argv: *mut *mut ::std::os::raw::c_char,
35006    ) -> ::std::os::raw::c_int;
35007}
35008extern "C" {
35009    pub fn g_application_quit(application: *mut GApplication);
35010}
35011extern "C" {
35012    pub fn g_application_get_default() -> *mut GApplication;
35013}
35014extern "C" {
35015    pub fn g_application_set_default(application: *mut GApplication);
35016}
35017extern "C" {
35018    pub fn g_application_mark_busy(application: *mut GApplication);
35019}
35020extern "C" {
35021    pub fn g_application_unmark_busy(application: *mut GApplication);
35022}
35023extern "C" {
35024    pub fn g_application_get_is_busy(application: *mut GApplication) -> gboolean;
35025}
35026extern "C" {
35027    pub fn g_application_send_notification(
35028        application: *mut GApplication,
35029        id: *const gchar,
35030        notification: *mut GNotification,
35031    );
35032}
35033extern "C" {
35034    pub fn g_application_withdraw_notification(application: *mut GApplication, id: *const gchar);
35035}
35036extern "C" {
35037    pub fn g_application_bind_busy_property(
35038        application: *mut GApplication,
35039        object: gpointer,
35040        property: *const gchar,
35041    );
35042}
35043extern "C" {
35044    pub fn g_application_unbind_busy_property(
35045        application: *mut GApplication,
35046        object: gpointer,
35047        property: *const gchar,
35048    );
35049}
35050#[repr(C)]
35051#[derive(Debug, Copy, Clone)]
35052pub struct _GApplicationCommandLinePrivate {
35053    _unused: [u8; 0],
35054}
35055pub type GApplicationCommandLinePrivate = _GApplicationCommandLinePrivate;
35056pub type GApplicationCommandLineClass = _GApplicationCommandLineClass;
35057#[repr(C)]
35058#[derive(Debug, Copy, Clone, PartialEq, Eq)]
35059pub struct _GApplicationCommandLine {
35060    pub parent_instance: GObject,
35061    pub priv_: *mut GApplicationCommandLinePrivate,
35062}
35063#[test]
35064fn bindgen_test_layout__GApplicationCommandLine() {
35065    const UNINIT: ::std::mem::MaybeUninit<_GApplicationCommandLine> =
35066        ::std::mem::MaybeUninit::uninit();
35067    let ptr = UNINIT.as_ptr();
35068    assert_eq!(
35069        ::std::mem::size_of::<_GApplicationCommandLine>(),
35070        32usize,
35071        concat!("Size of: ", stringify!(_GApplicationCommandLine))
35072    );
35073    assert_eq!(
35074        ::std::mem::align_of::<_GApplicationCommandLine>(),
35075        8usize,
35076        concat!("Alignment of ", stringify!(_GApplicationCommandLine))
35077    );
35078    assert_eq!(
35079        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
35080        0usize,
35081        concat!(
35082            "Offset of field: ",
35083            stringify!(_GApplicationCommandLine),
35084            "::",
35085            stringify!(parent_instance)
35086        )
35087    );
35088    assert_eq!(
35089        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
35090        24usize,
35091        concat!(
35092            "Offset of field: ",
35093            stringify!(_GApplicationCommandLine),
35094            "::",
35095            stringify!(priv_)
35096        )
35097    );
35098}
35099#[repr(C)]
35100#[derive(Debug, Copy, Clone, PartialEq, Eq)]
35101pub struct _GApplicationCommandLineClass {
35102    pub parent_class: GObjectClass,
35103    pub print_literal: ::std::option::Option<
35104        unsafe extern "C" fn(cmdline: *mut GApplicationCommandLine, message: *const gchar),
35105    >,
35106    pub printerr_literal: ::std::option::Option<
35107        unsafe extern "C" fn(cmdline: *mut GApplicationCommandLine, message: *const gchar),
35108    >,
35109    pub get_stdin: ::std::option::Option<
35110        unsafe extern "C" fn(cmdline: *mut GApplicationCommandLine) -> *mut GInputStream,
35111    >,
35112    pub padding: [gpointer; 11usize],
35113}
35114#[test]
35115fn bindgen_test_layout__GApplicationCommandLineClass() {
35116    const UNINIT: ::std::mem::MaybeUninit<_GApplicationCommandLineClass> =
35117        ::std::mem::MaybeUninit::uninit();
35118    let ptr = UNINIT.as_ptr();
35119    assert_eq!(
35120        ::std::mem::size_of::<_GApplicationCommandLineClass>(),
35121        248usize,
35122        concat!("Size of: ", stringify!(_GApplicationCommandLineClass))
35123    );
35124    assert_eq!(
35125        ::std::mem::align_of::<_GApplicationCommandLineClass>(),
35126        8usize,
35127        concat!("Alignment of ", stringify!(_GApplicationCommandLineClass))
35128    );
35129    assert_eq!(
35130        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
35131        0usize,
35132        concat!(
35133            "Offset of field: ",
35134            stringify!(_GApplicationCommandLineClass),
35135            "::",
35136            stringify!(parent_class)
35137        )
35138    );
35139    assert_eq!(
35140        unsafe { ::std::ptr::addr_of!((*ptr).print_literal) as usize - ptr as usize },
35141        136usize,
35142        concat!(
35143            "Offset of field: ",
35144            stringify!(_GApplicationCommandLineClass),
35145            "::",
35146            stringify!(print_literal)
35147        )
35148    );
35149    assert_eq!(
35150        unsafe { ::std::ptr::addr_of!((*ptr).printerr_literal) as usize - ptr as usize },
35151        144usize,
35152        concat!(
35153            "Offset of field: ",
35154            stringify!(_GApplicationCommandLineClass),
35155            "::",
35156            stringify!(printerr_literal)
35157        )
35158    );
35159    assert_eq!(
35160        unsafe { ::std::ptr::addr_of!((*ptr).get_stdin) as usize - ptr as usize },
35161        152usize,
35162        concat!(
35163            "Offset of field: ",
35164            stringify!(_GApplicationCommandLineClass),
35165            "::",
35166            stringify!(get_stdin)
35167        )
35168    );
35169    assert_eq!(
35170        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
35171        160usize,
35172        concat!(
35173            "Offset of field: ",
35174            stringify!(_GApplicationCommandLineClass),
35175            "::",
35176            stringify!(padding)
35177        )
35178    );
35179}
35180extern "C" {
35181    pub fn g_application_command_line_get_type() -> GType;
35182}
35183extern "C" {
35184    pub fn g_application_command_line_get_arguments(
35185        cmdline: *mut GApplicationCommandLine,
35186        argc: *mut ::std::os::raw::c_int,
35187    ) -> *mut *mut gchar;
35188}
35189extern "C" {
35190    pub fn g_application_command_line_get_options_dict(
35191        cmdline: *mut GApplicationCommandLine,
35192    ) -> *mut GVariantDict;
35193}
35194extern "C" {
35195    pub fn g_application_command_line_get_stdin(
35196        cmdline: *mut GApplicationCommandLine,
35197    ) -> *mut GInputStream;
35198}
35199extern "C" {
35200    pub fn g_application_command_line_get_environ(
35201        cmdline: *mut GApplicationCommandLine,
35202    ) -> *const *const gchar;
35203}
35204extern "C" {
35205    pub fn g_application_command_line_getenv(
35206        cmdline: *mut GApplicationCommandLine,
35207        name: *const gchar,
35208    ) -> *const gchar;
35209}
35210extern "C" {
35211    pub fn g_application_command_line_get_cwd(
35212        cmdline: *mut GApplicationCommandLine,
35213    ) -> *const gchar;
35214}
35215extern "C" {
35216    pub fn g_application_command_line_get_is_remote(
35217        cmdline: *mut GApplicationCommandLine,
35218    ) -> gboolean;
35219}
35220extern "C" {
35221    pub fn g_application_command_line_print(
35222        cmdline: *mut GApplicationCommandLine,
35223        format: *const gchar,
35224        ...
35225    );
35226}
35227extern "C" {
35228    pub fn g_application_command_line_printerr(
35229        cmdline: *mut GApplicationCommandLine,
35230        format: *const gchar,
35231        ...
35232    );
35233}
35234extern "C" {
35235    pub fn g_application_command_line_get_exit_status(
35236        cmdline: *mut GApplicationCommandLine,
35237    ) -> ::std::os::raw::c_int;
35238}
35239extern "C" {
35240    pub fn g_application_command_line_set_exit_status(
35241        cmdline: *mut GApplicationCommandLine,
35242        exit_status: ::std::os::raw::c_int,
35243    );
35244}
35245extern "C" {
35246    pub fn g_application_command_line_get_platform_data(
35247        cmdline: *mut GApplicationCommandLine,
35248    ) -> *mut GVariant;
35249}
35250extern "C" {
35251    pub fn g_application_command_line_create_file_for_arg(
35252        cmdline: *mut GApplicationCommandLine,
35253        arg: *const gchar,
35254    ) -> *mut GFile;
35255}
35256#[doc = " GInitable:\n\n Interface for initializable objects.\n\n Since: 2.22"]
35257pub type GInitableIface = _GInitableIface;
35258#[doc = " GInitableIface:\n @g_iface: The parent interface.\n @init: Initializes the object.\n\n Provides an interface for initializing object such that initialization\n may fail.\n\n Since: 2.22"]
35259#[repr(C)]
35260#[derive(Debug, Copy, Clone, PartialEq, Eq)]
35261pub struct _GInitableIface {
35262    pub g_iface: GTypeInterface,
35263    pub init: ::std::option::Option<
35264        unsafe extern "C" fn(
35265            initable: *mut GInitable,
35266            cancellable: *mut GCancellable,
35267            error: *mut *mut GError,
35268        ) -> gboolean,
35269    >,
35270}
35271#[test]
35272fn bindgen_test_layout__GInitableIface() {
35273    const UNINIT: ::std::mem::MaybeUninit<_GInitableIface> = ::std::mem::MaybeUninit::uninit();
35274    let ptr = UNINIT.as_ptr();
35275    assert_eq!(
35276        ::std::mem::size_of::<_GInitableIface>(),
35277        24usize,
35278        concat!("Size of: ", stringify!(_GInitableIface))
35279    );
35280    assert_eq!(
35281        ::std::mem::align_of::<_GInitableIface>(),
35282        8usize,
35283        concat!("Alignment of ", stringify!(_GInitableIface))
35284    );
35285    assert_eq!(
35286        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
35287        0usize,
35288        concat!(
35289            "Offset of field: ",
35290            stringify!(_GInitableIface),
35291            "::",
35292            stringify!(g_iface)
35293        )
35294    );
35295    assert_eq!(
35296        unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
35297        16usize,
35298        concat!(
35299            "Offset of field: ",
35300            stringify!(_GInitableIface),
35301            "::",
35302            stringify!(init)
35303        )
35304    );
35305}
35306extern "C" {
35307    pub fn g_initable_get_type() -> GType;
35308}
35309extern "C" {
35310    pub fn g_initable_init(
35311        initable: *mut GInitable,
35312        cancellable: *mut GCancellable,
35313        error: *mut *mut GError,
35314    ) -> gboolean;
35315}
35316extern "C" {
35317    pub fn g_initable_new(
35318        object_type: GType,
35319        cancellable: *mut GCancellable,
35320        error: *mut *mut GError,
35321        first_property_name: *const gchar,
35322        ...
35323    ) -> gpointer;
35324}
35325extern "C" {
35326    pub fn g_initable_newv(
35327        object_type: GType,
35328        n_parameters: guint,
35329        parameters: *mut GParameter,
35330        cancellable: *mut GCancellable,
35331        error: *mut *mut GError,
35332    ) -> gpointer;
35333}
35334extern "C" {
35335    pub fn g_initable_new_valist(
35336        object_type: GType,
35337        first_property_name: *const gchar,
35338        var_args: va_list,
35339        cancellable: *mut GCancellable,
35340        error: *mut *mut GError,
35341    ) -> *mut GObject;
35342}
35343#[doc = " GAsyncInitable:\n\n Interface for asynchronously initializable objects.\n\n Since: 2.22"]
35344pub type GAsyncInitableIface = _GAsyncInitableIface;
35345#[doc = " GAsyncInitableIface:\n @g_iface: The parent interface.\n @init_async: Starts initialization of the object.\n @init_finish: Finishes initialization of the object.\n\n Provides an interface for asynchronous initializing object such that\n initialization may fail.\n\n Since: 2.22"]
35346#[repr(C)]
35347#[derive(Debug, Copy, Clone, PartialEq, Eq)]
35348pub struct _GAsyncInitableIface {
35349    pub g_iface: GTypeInterface,
35350    pub init_async: ::std::option::Option<
35351        unsafe extern "C" fn(
35352            initable: *mut GAsyncInitable,
35353            io_priority: ::std::os::raw::c_int,
35354            cancellable: *mut GCancellable,
35355            callback: GAsyncReadyCallback,
35356            user_data: gpointer,
35357        ),
35358    >,
35359    pub init_finish: ::std::option::Option<
35360        unsafe extern "C" fn(
35361            initable: *mut GAsyncInitable,
35362            res: *mut GAsyncResult,
35363            error: *mut *mut GError,
35364        ) -> gboolean,
35365    >,
35366}
35367#[test]
35368fn bindgen_test_layout__GAsyncInitableIface() {
35369    const UNINIT: ::std::mem::MaybeUninit<_GAsyncInitableIface> = ::std::mem::MaybeUninit::uninit();
35370    let ptr = UNINIT.as_ptr();
35371    assert_eq!(
35372        ::std::mem::size_of::<_GAsyncInitableIface>(),
35373        32usize,
35374        concat!("Size of: ", stringify!(_GAsyncInitableIface))
35375    );
35376    assert_eq!(
35377        ::std::mem::align_of::<_GAsyncInitableIface>(),
35378        8usize,
35379        concat!("Alignment of ", stringify!(_GAsyncInitableIface))
35380    );
35381    assert_eq!(
35382        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
35383        0usize,
35384        concat!(
35385            "Offset of field: ",
35386            stringify!(_GAsyncInitableIface),
35387            "::",
35388            stringify!(g_iface)
35389        )
35390    );
35391    assert_eq!(
35392        unsafe { ::std::ptr::addr_of!((*ptr).init_async) as usize - ptr as usize },
35393        16usize,
35394        concat!(
35395            "Offset of field: ",
35396            stringify!(_GAsyncInitableIface),
35397            "::",
35398            stringify!(init_async)
35399        )
35400    );
35401    assert_eq!(
35402        unsafe { ::std::ptr::addr_of!((*ptr).init_finish) as usize - ptr as usize },
35403        24usize,
35404        concat!(
35405            "Offset of field: ",
35406            stringify!(_GAsyncInitableIface),
35407            "::",
35408            stringify!(init_finish)
35409        )
35410    );
35411}
35412extern "C" {
35413    pub fn g_async_initable_get_type() -> GType;
35414}
35415extern "C" {
35416    pub fn g_async_initable_init_async(
35417        initable: *mut GAsyncInitable,
35418        io_priority: ::std::os::raw::c_int,
35419        cancellable: *mut GCancellable,
35420        callback: GAsyncReadyCallback,
35421        user_data: gpointer,
35422    );
35423}
35424extern "C" {
35425    pub fn g_async_initable_init_finish(
35426        initable: *mut GAsyncInitable,
35427        res: *mut GAsyncResult,
35428        error: *mut *mut GError,
35429    ) -> gboolean;
35430}
35431extern "C" {
35432    pub fn g_async_initable_new_async(
35433        object_type: GType,
35434        io_priority: ::std::os::raw::c_int,
35435        cancellable: *mut GCancellable,
35436        callback: GAsyncReadyCallback,
35437        user_data: gpointer,
35438        first_property_name: *const gchar,
35439        ...
35440    );
35441}
35442extern "C" {
35443    pub fn g_async_initable_newv_async(
35444        object_type: GType,
35445        n_parameters: guint,
35446        parameters: *mut GParameter,
35447        io_priority: ::std::os::raw::c_int,
35448        cancellable: *mut GCancellable,
35449        callback: GAsyncReadyCallback,
35450        user_data: gpointer,
35451    );
35452}
35453extern "C" {
35454    pub fn g_async_initable_new_valist_async(
35455        object_type: GType,
35456        first_property_name: *const gchar,
35457        var_args: va_list,
35458        io_priority: ::std::os::raw::c_int,
35459        cancellable: *mut GCancellable,
35460        callback: GAsyncReadyCallback,
35461        user_data: gpointer,
35462    );
35463}
35464extern "C" {
35465    pub fn g_async_initable_new_finish(
35466        initable: *mut GAsyncInitable,
35467        res: *mut GAsyncResult,
35468        error: *mut *mut GError,
35469    ) -> *mut GObject;
35470}
35471#[doc = " GAsyncResult:\n\n Holds results information for an asynchronous operation,\n usually passed directly to an asynchronous _finish() operation."]
35472pub type GAsyncResultIface = _GAsyncResultIface;
35473#[doc = " GAsyncResultIface:\n @g_iface: The parent interface.\n @get_user_data: Gets the user data passed to the callback.\n @get_source_object: Gets the source object that issued the asynchronous operation.\n @is_tagged: Checks if a result is tagged with a particular source.\n\n Interface definition for #GAsyncResult."]
35474#[repr(C)]
35475#[derive(Debug, Copy, Clone, PartialEq, Eq)]
35476pub struct _GAsyncResultIface {
35477    pub g_iface: GTypeInterface,
35478    pub get_user_data:
35479        ::std::option::Option<unsafe extern "C" fn(res: *mut GAsyncResult) -> gpointer>,
35480    pub get_source_object:
35481        ::std::option::Option<unsafe extern "C" fn(res: *mut GAsyncResult) -> *mut GObject>,
35482    pub is_tagged: ::std::option::Option<
35483        unsafe extern "C" fn(res: *mut GAsyncResult, source_tag: gpointer) -> gboolean,
35484    >,
35485}
35486#[test]
35487fn bindgen_test_layout__GAsyncResultIface() {
35488    const UNINIT: ::std::mem::MaybeUninit<_GAsyncResultIface> = ::std::mem::MaybeUninit::uninit();
35489    let ptr = UNINIT.as_ptr();
35490    assert_eq!(
35491        ::std::mem::size_of::<_GAsyncResultIface>(),
35492        40usize,
35493        concat!("Size of: ", stringify!(_GAsyncResultIface))
35494    );
35495    assert_eq!(
35496        ::std::mem::align_of::<_GAsyncResultIface>(),
35497        8usize,
35498        concat!("Alignment of ", stringify!(_GAsyncResultIface))
35499    );
35500    assert_eq!(
35501        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
35502        0usize,
35503        concat!(
35504            "Offset of field: ",
35505            stringify!(_GAsyncResultIface),
35506            "::",
35507            stringify!(g_iface)
35508        )
35509    );
35510    assert_eq!(
35511        unsafe { ::std::ptr::addr_of!((*ptr).get_user_data) as usize - ptr as usize },
35512        16usize,
35513        concat!(
35514            "Offset of field: ",
35515            stringify!(_GAsyncResultIface),
35516            "::",
35517            stringify!(get_user_data)
35518        )
35519    );
35520    assert_eq!(
35521        unsafe { ::std::ptr::addr_of!((*ptr).get_source_object) as usize - ptr as usize },
35522        24usize,
35523        concat!(
35524            "Offset of field: ",
35525            stringify!(_GAsyncResultIface),
35526            "::",
35527            stringify!(get_source_object)
35528        )
35529    );
35530    assert_eq!(
35531        unsafe { ::std::ptr::addr_of!((*ptr).is_tagged) as usize - ptr as usize },
35532        32usize,
35533        concat!(
35534            "Offset of field: ",
35535            stringify!(_GAsyncResultIface),
35536            "::",
35537            stringify!(is_tagged)
35538        )
35539    );
35540}
35541extern "C" {
35542    pub fn g_async_result_get_type() -> GType;
35543}
35544extern "C" {
35545    pub fn g_async_result_get_user_data(res: *mut GAsyncResult) -> gpointer;
35546}
35547extern "C" {
35548    pub fn g_async_result_get_source_object(res: *mut GAsyncResult) -> *mut GObject;
35549}
35550extern "C" {
35551    pub fn g_async_result_legacy_propagate_error(
35552        res: *mut GAsyncResult,
35553        error: *mut *mut GError,
35554    ) -> gboolean;
35555}
35556extern "C" {
35557    pub fn g_async_result_is_tagged(res: *mut GAsyncResult, source_tag: gpointer) -> gboolean;
35558}
35559#[doc = " GInputStream:\n\n Base class for streaming input operations."]
35560pub type GInputStreamClass = _GInputStreamClass;
35561#[repr(C)]
35562#[derive(Debug, Copy, Clone)]
35563pub struct _GInputStreamPrivate {
35564    _unused: [u8; 0],
35565}
35566pub type GInputStreamPrivate = _GInputStreamPrivate;
35567#[repr(C)]
35568#[derive(Debug, Copy, Clone, PartialEq, Eq)]
35569pub struct _GInputStream {
35570    pub parent_instance: GObject,
35571    pub priv_: *mut GInputStreamPrivate,
35572}
35573#[test]
35574fn bindgen_test_layout__GInputStream() {
35575    const UNINIT: ::std::mem::MaybeUninit<_GInputStream> = ::std::mem::MaybeUninit::uninit();
35576    let ptr = UNINIT.as_ptr();
35577    assert_eq!(
35578        ::std::mem::size_of::<_GInputStream>(),
35579        32usize,
35580        concat!("Size of: ", stringify!(_GInputStream))
35581    );
35582    assert_eq!(
35583        ::std::mem::align_of::<_GInputStream>(),
35584        8usize,
35585        concat!("Alignment of ", stringify!(_GInputStream))
35586    );
35587    assert_eq!(
35588        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
35589        0usize,
35590        concat!(
35591            "Offset of field: ",
35592            stringify!(_GInputStream),
35593            "::",
35594            stringify!(parent_instance)
35595        )
35596    );
35597    assert_eq!(
35598        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
35599        24usize,
35600        concat!(
35601            "Offset of field: ",
35602            stringify!(_GInputStream),
35603            "::",
35604            stringify!(priv_)
35605        )
35606    );
35607}
35608#[repr(C)]
35609#[derive(Debug, Copy, Clone, PartialEq, Eq)]
35610pub struct _GInputStreamClass {
35611    pub parent_class: GObjectClass,
35612    pub read_fn: ::std::option::Option<
35613        unsafe extern "C" fn(
35614            stream: *mut GInputStream,
35615            buffer: *mut ::std::os::raw::c_void,
35616            count: gsize,
35617            cancellable: *mut GCancellable,
35618            error: *mut *mut GError,
35619        ) -> gssize,
35620    >,
35621    pub skip: ::std::option::Option<
35622        unsafe extern "C" fn(
35623            stream: *mut GInputStream,
35624            count: gsize,
35625            cancellable: *mut GCancellable,
35626            error: *mut *mut GError,
35627        ) -> gssize,
35628    >,
35629    pub close_fn: ::std::option::Option<
35630        unsafe extern "C" fn(
35631            stream: *mut GInputStream,
35632            cancellable: *mut GCancellable,
35633            error: *mut *mut GError,
35634        ) -> gboolean,
35635    >,
35636    pub read_async: ::std::option::Option<
35637        unsafe extern "C" fn(
35638            stream: *mut GInputStream,
35639            buffer: *mut ::std::os::raw::c_void,
35640            count: gsize,
35641            io_priority: ::std::os::raw::c_int,
35642            cancellable: *mut GCancellable,
35643            callback: GAsyncReadyCallback,
35644            user_data: gpointer,
35645        ),
35646    >,
35647    pub read_finish: ::std::option::Option<
35648        unsafe extern "C" fn(
35649            stream: *mut GInputStream,
35650            result: *mut GAsyncResult,
35651            error: *mut *mut GError,
35652        ) -> gssize,
35653    >,
35654    pub skip_async: ::std::option::Option<
35655        unsafe extern "C" fn(
35656            stream: *mut GInputStream,
35657            count: gsize,
35658            io_priority: ::std::os::raw::c_int,
35659            cancellable: *mut GCancellable,
35660            callback: GAsyncReadyCallback,
35661            user_data: gpointer,
35662        ),
35663    >,
35664    pub skip_finish: ::std::option::Option<
35665        unsafe extern "C" fn(
35666            stream: *mut GInputStream,
35667            result: *mut GAsyncResult,
35668            error: *mut *mut GError,
35669        ) -> gssize,
35670    >,
35671    pub close_async: ::std::option::Option<
35672        unsafe extern "C" fn(
35673            stream: *mut GInputStream,
35674            io_priority: ::std::os::raw::c_int,
35675            cancellable: *mut GCancellable,
35676            callback: GAsyncReadyCallback,
35677            user_data: gpointer,
35678        ),
35679    >,
35680    pub close_finish: ::std::option::Option<
35681        unsafe extern "C" fn(
35682            stream: *mut GInputStream,
35683            result: *mut GAsyncResult,
35684            error: *mut *mut GError,
35685        ) -> gboolean,
35686    >,
35687    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
35688    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
35689    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
35690    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
35691    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
35692}
35693#[test]
35694fn bindgen_test_layout__GInputStreamClass() {
35695    const UNINIT: ::std::mem::MaybeUninit<_GInputStreamClass> = ::std::mem::MaybeUninit::uninit();
35696    let ptr = UNINIT.as_ptr();
35697    assert_eq!(
35698        ::std::mem::size_of::<_GInputStreamClass>(),
35699        248usize,
35700        concat!("Size of: ", stringify!(_GInputStreamClass))
35701    );
35702    assert_eq!(
35703        ::std::mem::align_of::<_GInputStreamClass>(),
35704        8usize,
35705        concat!("Alignment of ", stringify!(_GInputStreamClass))
35706    );
35707    assert_eq!(
35708        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
35709        0usize,
35710        concat!(
35711            "Offset of field: ",
35712            stringify!(_GInputStreamClass),
35713            "::",
35714            stringify!(parent_class)
35715        )
35716    );
35717    assert_eq!(
35718        unsafe { ::std::ptr::addr_of!((*ptr).read_fn) as usize - ptr as usize },
35719        136usize,
35720        concat!(
35721            "Offset of field: ",
35722            stringify!(_GInputStreamClass),
35723            "::",
35724            stringify!(read_fn)
35725        )
35726    );
35727    assert_eq!(
35728        unsafe { ::std::ptr::addr_of!((*ptr).skip) as usize - ptr as usize },
35729        144usize,
35730        concat!(
35731            "Offset of field: ",
35732            stringify!(_GInputStreamClass),
35733            "::",
35734            stringify!(skip)
35735        )
35736    );
35737    assert_eq!(
35738        unsafe { ::std::ptr::addr_of!((*ptr).close_fn) as usize - ptr as usize },
35739        152usize,
35740        concat!(
35741            "Offset of field: ",
35742            stringify!(_GInputStreamClass),
35743            "::",
35744            stringify!(close_fn)
35745        )
35746    );
35747    assert_eq!(
35748        unsafe { ::std::ptr::addr_of!((*ptr).read_async) as usize - ptr as usize },
35749        160usize,
35750        concat!(
35751            "Offset of field: ",
35752            stringify!(_GInputStreamClass),
35753            "::",
35754            stringify!(read_async)
35755        )
35756    );
35757    assert_eq!(
35758        unsafe { ::std::ptr::addr_of!((*ptr).read_finish) as usize - ptr as usize },
35759        168usize,
35760        concat!(
35761            "Offset of field: ",
35762            stringify!(_GInputStreamClass),
35763            "::",
35764            stringify!(read_finish)
35765        )
35766    );
35767    assert_eq!(
35768        unsafe { ::std::ptr::addr_of!((*ptr).skip_async) as usize - ptr as usize },
35769        176usize,
35770        concat!(
35771            "Offset of field: ",
35772            stringify!(_GInputStreamClass),
35773            "::",
35774            stringify!(skip_async)
35775        )
35776    );
35777    assert_eq!(
35778        unsafe { ::std::ptr::addr_of!((*ptr).skip_finish) as usize - ptr as usize },
35779        184usize,
35780        concat!(
35781            "Offset of field: ",
35782            stringify!(_GInputStreamClass),
35783            "::",
35784            stringify!(skip_finish)
35785        )
35786    );
35787    assert_eq!(
35788        unsafe { ::std::ptr::addr_of!((*ptr).close_async) as usize - ptr as usize },
35789        192usize,
35790        concat!(
35791            "Offset of field: ",
35792            stringify!(_GInputStreamClass),
35793            "::",
35794            stringify!(close_async)
35795        )
35796    );
35797    assert_eq!(
35798        unsafe { ::std::ptr::addr_of!((*ptr).close_finish) as usize - ptr as usize },
35799        200usize,
35800        concat!(
35801            "Offset of field: ",
35802            stringify!(_GInputStreamClass),
35803            "::",
35804            stringify!(close_finish)
35805        )
35806    );
35807    assert_eq!(
35808        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
35809        208usize,
35810        concat!(
35811            "Offset of field: ",
35812            stringify!(_GInputStreamClass),
35813            "::",
35814            stringify!(_g_reserved1)
35815        )
35816    );
35817    assert_eq!(
35818        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
35819        216usize,
35820        concat!(
35821            "Offset of field: ",
35822            stringify!(_GInputStreamClass),
35823            "::",
35824            stringify!(_g_reserved2)
35825        )
35826    );
35827    assert_eq!(
35828        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
35829        224usize,
35830        concat!(
35831            "Offset of field: ",
35832            stringify!(_GInputStreamClass),
35833            "::",
35834            stringify!(_g_reserved3)
35835        )
35836    );
35837    assert_eq!(
35838        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
35839        232usize,
35840        concat!(
35841            "Offset of field: ",
35842            stringify!(_GInputStreamClass),
35843            "::",
35844            stringify!(_g_reserved4)
35845        )
35846    );
35847    assert_eq!(
35848        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
35849        240usize,
35850        concat!(
35851            "Offset of field: ",
35852            stringify!(_GInputStreamClass),
35853            "::",
35854            stringify!(_g_reserved5)
35855        )
35856    );
35857}
35858extern "C" {
35859    pub fn g_input_stream_get_type() -> GType;
35860}
35861extern "C" {
35862    pub fn g_input_stream_read(
35863        stream: *mut GInputStream,
35864        buffer: *mut ::std::os::raw::c_void,
35865        count: gsize,
35866        cancellable: *mut GCancellable,
35867        error: *mut *mut GError,
35868    ) -> gssize;
35869}
35870extern "C" {
35871    pub fn g_input_stream_read_all(
35872        stream: *mut GInputStream,
35873        buffer: *mut ::std::os::raw::c_void,
35874        count: gsize,
35875        bytes_read: *mut gsize,
35876        cancellable: *mut GCancellable,
35877        error: *mut *mut GError,
35878    ) -> gboolean;
35879}
35880extern "C" {
35881    pub fn g_input_stream_read_bytes(
35882        stream: *mut GInputStream,
35883        count: gsize,
35884        cancellable: *mut GCancellable,
35885        error: *mut *mut GError,
35886    ) -> *mut GBytes;
35887}
35888extern "C" {
35889    pub fn g_input_stream_skip(
35890        stream: *mut GInputStream,
35891        count: gsize,
35892        cancellable: *mut GCancellable,
35893        error: *mut *mut GError,
35894    ) -> gssize;
35895}
35896extern "C" {
35897    pub fn g_input_stream_close(
35898        stream: *mut GInputStream,
35899        cancellable: *mut GCancellable,
35900        error: *mut *mut GError,
35901    ) -> gboolean;
35902}
35903extern "C" {
35904    pub fn g_input_stream_read_async(
35905        stream: *mut GInputStream,
35906        buffer: *mut ::std::os::raw::c_void,
35907        count: gsize,
35908        io_priority: ::std::os::raw::c_int,
35909        cancellable: *mut GCancellable,
35910        callback: GAsyncReadyCallback,
35911        user_data: gpointer,
35912    );
35913}
35914extern "C" {
35915    pub fn g_input_stream_read_finish(
35916        stream: *mut GInputStream,
35917        result: *mut GAsyncResult,
35918        error: *mut *mut GError,
35919    ) -> gssize;
35920}
35921extern "C" {
35922    pub fn g_input_stream_read_all_async(
35923        stream: *mut GInputStream,
35924        buffer: *mut ::std::os::raw::c_void,
35925        count: gsize,
35926        io_priority: ::std::os::raw::c_int,
35927        cancellable: *mut GCancellable,
35928        callback: GAsyncReadyCallback,
35929        user_data: gpointer,
35930    );
35931}
35932extern "C" {
35933    pub fn g_input_stream_read_all_finish(
35934        stream: *mut GInputStream,
35935        result: *mut GAsyncResult,
35936        bytes_read: *mut gsize,
35937        error: *mut *mut GError,
35938    ) -> gboolean;
35939}
35940extern "C" {
35941    pub fn g_input_stream_read_bytes_async(
35942        stream: *mut GInputStream,
35943        count: gsize,
35944        io_priority: ::std::os::raw::c_int,
35945        cancellable: *mut GCancellable,
35946        callback: GAsyncReadyCallback,
35947        user_data: gpointer,
35948    );
35949}
35950extern "C" {
35951    pub fn g_input_stream_read_bytes_finish(
35952        stream: *mut GInputStream,
35953        result: *mut GAsyncResult,
35954        error: *mut *mut GError,
35955    ) -> *mut GBytes;
35956}
35957extern "C" {
35958    pub fn g_input_stream_skip_async(
35959        stream: *mut GInputStream,
35960        count: gsize,
35961        io_priority: ::std::os::raw::c_int,
35962        cancellable: *mut GCancellable,
35963        callback: GAsyncReadyCallback,
35964        user_data: gpointer,
35965    );
35966}
35967extern "C" {
35968    pub fn g_input_stream_skip_finish(
35969        stream: *mut GInputStream,
35970        result: *mut GAsyncResult,
35971        error: *mut *mut GError,
35972    ) -> gssize;
35973}
35974extern "C" {
35975    pub fn g_input_stream_close_async(
35976        stream: *mut GInputStream,
35977        io_priority: ::std::os::raw::c_int,
35978        cancellable: *mut GCancellable,
35979        callback: GAsyncReadyCallback,
35980        user_data: gpointer,
35981    );
35982}
35983extern "C" {
35984    pub fn g_input_stream_close_finish(
35985        stream: *mut GInputStream,
35986        result: *mut GAsyncResult,
35987        error: *mut *mut GError,
35988    ) -> gboolean;
35989}
35990extern "C" {
35991    pub fn g_input_stream_is_closed(stream: *mut GInputStream) -> gboolean;
35992}
35993extern "C" {
35994    pub fn g_input_stream_has_pending(stream: *mut GInputStream) -> gboolean;
35995}
35996extern "C" {
35997    pub fn g_input_stream_set_pending(
35998        stream: *mut GInputStream,
35999        error: *mut *mut GError,
36000    ) -> gboolean;
36001}
36002extern "C" {
36003    pub fn g_input_stream_clear_pending(stream: *mut GInputStream);
36004}
36005#[doc = " GFilterInputStream:\n\n A base class for all input streams that work on an underlying stream."]
36006pub type GFilterInputStreamClass = _GFilterInputStreamClass;
36007#[repr(C)]
36008#[derive(Debug, Copy, Clone, PartialEq, Eq)]
36009pub struct _GFilterInputStream {
36010    pub parent_instance: GInputStream,
36011    pub base_stream: *mut GInputStream,
36012}
36013#[test]
36014fn bindgen_test_layout__GFilterInputStream() {
36015    const UNINIT: ::std::mem::MaybeUninit<_GFilterInputStream> = ::std::mem::MaybeUninit::uninit();
36016    let ptr = UNINIT.as_ptr();
36017    assert_eq!(
36018        ::std::mem::size_of::<_GFilterInputStream>(),
36019        40usize,
36020        concat!("Size of: ", stringify!(_GFilterInputStream))
36021    );
36022    assert_eq!(
36023        ::std::mem::align_of::<_GFilterInputStream>(),
36024        8usize,
36025        concat!("Alignment of ", stringify!(_GFilterInputStream))
36026    );
36027    assert_eq!(
36028        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
36029        0usize,
36030        concat!(
36031            "Offset of field: ",
36032            stringify!(_GFilterInputStream),
36033            "::",
36034            stringify!(parent_instance)
36035        )
36036    );
36037    assert_eq!(
36038        unsafe { ::std::ptr::addr_of!((*ptr).base_stream) as usize - ptr as usize },
36039        32usize,
36040        concat!(
36041            "Offset of field: ",
36042            stringify!(_GFilterInputStream),
36043            "::",
36044            stringify!(base_stream)
36045        )
36046    );
36047}
36048#[repr(C)]
36049#[derive(Debug, Copy, Clone, PartialEq, Eq)]
36050pub struct _GFilterInputStreamClass {
36051    pub parent_class: GInputStreamClass,
36052    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
36053    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
36054    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
36055}
36056#[test]
36057fn bindgen_test_layout__GFilterInputStreamClass() {
36058    const UNINIT: ::std::mem::MaybeUninit<_GFilterInputStreamClass> =
36059        ::std::mem::MaybeUninit::uninit();
36060    let ptr = UNINIT.as_ptr();
36061    assert_eq!(
36062        ::std::mem::size_of::<_GFilterInputStreamClass>(),
36063        272usize,
36064        concat!("Size of: ", stringify!(_GFilterInputStreamClass))
36065    );
36066    assert_eq!(
36067        ::std::mem::align_of::<_GFilterInputStreamClass>(),
36068        8usize,
36069        concat!("Alignment of ", stringify!(_GFilterInputStreamClass))
36070    );
36071    assert_eq!(
36072        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
36073        0usize,
36074        concat!(
36075            "Offset of field: ",
36076            stringify!(_GFilterInputStreamClass),
36077            "::",
36078            stringify!(parent_class)
36079        )
36080    );
36081    assert_eq!(
36082        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
36083        248usize,
36084        concat!(
36085            "Offset of field: ",
36086            stringify!(_GFilterInputStreamClass),
36087            "::",
36088            stringify!(_g_reserved1)
36089        )
36090    );
36091    assert_eq!(
36092        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
36093        256usize,
36094        concat!(
36095            "Offset of field: ",
36096            stringify!(_GFilterInputStreamClass),
36097            "::",
36098            stringify!(_g_reserved2)
36099        )
36100    );
36101    assert_eq!(
36102        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
36103        264usize,
36104        concat!(
36105            "Offset of field: ",
36106            stringify!(_GFilterInputStreamClass),
36107            "::",
36108            stringify!(_g_reserved3)
36109        )
36110    );
36111}
36112extern "C" {
36113    pub fn g_filter_input_stream_get_type() -> GType;
36114}
36115extern "C" {
36116    pub fn g_filter_input_stream_get_base_stream(
36117        stream: *mut GFilterInputStream,
36118    ) -> *mut GInputStream;
36119}
36120extern "C" {
36121    pub fn g_filter_input_stream_get_close_base_stream(stream: *mut GFilterInputStream)
36122        -> gboolean;
36123}
36124extern "C" {
36125    pub fn g_filter_input_stream_set_close_base_stream(
36126        stream: *mut GFilterInputStream,
36127        close_base: gboolean,
36128    );
36129}
36130#[doc = " GBufferedInputStream:\n\n Implements #GFilterInputStream with a sized input buffer."]
36131pub type GBufferedInputStreamClass = _GBufferedInputStreamClass;
36132#[repr(C)]
36133#[derive(Debug, Copy, Clone)]
36134pub struct _GBufferedInputStreamPrivate {
36135    _unused: [u8; 0],
36136}
36137pub type GBufferedInputStreamPrivate = _GBufferedInputStreamPrivate;
36138#[repr(C)]
36139#[derive(Debug, Copy, Clone, PartialEq, Eq)]
36140pub struct _GBufferedInputStream {
36141    pub parent_instance: GFilterInputStream,
36142    pub priv_: *mut GBufferedInputStreamPrivate,
36143}
36144#[test]
36145fn bindgen_test_layout__GBufferedInputStream() {
36146    const UNINIT: ::std::mem::MaybeUninit<_GBufferedInputStream> =
36147        ::std::mem::MaybeUninit::uninit();
36148    let ptr = UNINIT.as_ptr();
36149    assert_eq!(
36150        ::std::mem::size_of::<_GBufferedInputStream>(),
36151        48usize,
36152        concat!("Size of: ", stringify!(_GBufferedInputStream))
36153    );
36154    assert_eq!(
36155        ::std::mem::align_of::<_GBufferedInputStream>(),
36156        8usize,
36157        concat!("Alignment of ", stringify!(_GBufferedInputStream))
36158    );
36159    assert_eq!(
36160        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
36161        0usize,
36162        concat!(
36163            "Offset of field: ",
36164            stringify!(_GBufferedInputStream),
36165            "::",
36166            stringify!(parent_instance)
36167        )
36168    );
36169    assert_eq!(
36170        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
36171        40usize,
36172        concat!(
36173            "Offset of field: ",
36174            stringify!(_GBufferedInputStream),
36175            "::",
36176            stringify!(priv_)
36177        )
36178    );
36179}
36180#[repr(C)]
36181#[derive(Debug, Copy, Clone, PartialEq, Eq)]
36182pub struct _GBufferedInputStreamClass {
36183    pub parent_class: GFilterInputStreamClass,
36184    pub fill: ::std::option::Option<
36185        unsafe extern "C" fn(
36186            stream: *mut GBufferedInputStream,
36187            count: gssize,
36188            cancellable: *mut GCancellable,
36189            error: *mut *mut GError,
36190        ) -> gssize,
36191    >,
36192    pub fill_async: ::std::option::Option<
36193        unsafe extern "C" fn(
36194            stream: *mut GBufferedInputStream,
36195            count: gssize,
36196            io_priority: ::std::os::raw::c_int,
36197            cancellable: *mut GCancellable,
36198            callback: GAsyncReadyCallback,
36199            user_data: gpointer,
36200        ),
36201    >,
36202    pub fill_finish: ::std::option::Option<
36203        unsafe extern "C" fn(
36204            stream: *mut GBufferedInputStream,
36205            result: *mut GAsyncResult,
36206            error: *mut *mut GError,
36207        ) -> gssize,
36208    >,
36209    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
36210    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
36211    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
36212    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
36213    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
36214}
36215#[test]
36216fn bindgen_test_layout__GBufferedInputStreamClass() {
36217    const UNINIT: ::std::mem::MaybeUninit<_GBufferedInputStreamClass> =
36218        ::std::mem::MaybeUninit::uninit();
36219    let ptr = UNINIT.as_ptr();
36220    assert_eq!(
36221        ::std::mem::size_of::<_GBufferedInputStreamClass>(),
36222        336usize,
36223        concat!("Size of: ", stringify!(_GBufferedInputStreamClass))
36224    );
36225    assert_eq!(
36226        ::std::mem::align_of::<_GBufferedInputStreamClass>(),
36227        8usize,
36228        concat!("Alignment of ", stringify!(_GBufferedInputStreamClass))
36229    );
36230    assert_eq!(
36231        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
36232        0usize,
36233        concat!(
36234            "Offset of field: ",
36235            stringify!(_GBufferedInputStreamClass),
36236            "::",
36237            stringify!(parent_class)
36238        )
36239    );
36240    assert_eq!(
36241        unsafe { ::std::ptr::addr_of!((*ptr).fill) as usize - ptr as usize },
36242        272usize,
36243        concat!(
36244            "Offset of field: ",
36245            stringify!(_GBufferedInputStreamClass),
36246            "::",
36247            stringify!(fill)
36248        )
36249    );
36250    assert_eq!(
36251        unsafe { ::std::ptr::addr_of!((*ptr).fill_async) as usize - ptr as usize },
36252        280usize,
36253        concat!(
36254            "Offset of field: ",
36255            stringify!(_GBufferedInputStreamClass),
36256            "::",
36257            stringify!(fill_async)
36258        )
36259    );
36260    assert_eq!(
36261        unsafe { ::std::ptr::addr_of!((*ptr).fill_finish) as usize - ptr as usize },
36262        288usize,
36263        concat!(
36264            "Offset of field: ",
36265            stringify!(_GBufferedInputStreamClass),
36266            "::",
36267            stringify!(fill_finish)
36268        )
36269    );
36270    assert_eq!(
36271        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
36272        296usize,
36273        concat!(
36274            "Offset of field: ",
36275            stringify!(_GBufferedInputStreamClass),
36276            "::",
36277            stringify!(_g_reserved1)
36278        )
36279    );
36280    assert_eq!(
36281        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
36282        304usize,
36283        concat!(
36284            "Offset of field: ",
36285            stringify!(_GBufferedInputStreamClass),
36286            "::",
36287            stringify!(_g_reserved2)
36288        )
36289    );
36290    assert_eq!(
36291        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
36292        312usize,
36293        concat!(
36294            "Offset of field: ",
36295            stringify!(_GBufferedInputStreamClass),
36296            "::",
36297            stringify!(_g_reserved3)
36298        )
36299    );
36300    assert_eq!(
36301        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
36302        320usize,
36303        concat!(
36304            "Offset of field: ",
36305            stringify!(_GBufferedInputStreamClass),
36306            "::",
36307            stringify!(_g_reserved4)
36308        )
36309    );
36310    assert_eq!(
36311        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
36312        328usize,
36313        concat!(
36314            "Offset of field: ",
36315            stringify!(_GBufferedInputStreamClass),
36316            "::",
36317            stringify!(_g_reserved5)
36318        )
36319    );
36320}
36321extern "C" {
36322    pub fn g_buffered_input_stream_get_type() -> GType;
36323}
36324extern "C" {
36325    pub fn g_buffered_input_stream_new(base_stream: *mut GInputStream) -> *mut GInputStream;
36326}
36327extern "C" {
36328    pub fn g_buffered_input_stream_new_sized(
36329        base_stream: *mut GInputStream,
36330        size: gsize,
36331    ) -> *mut GInputStream;
36332}
36333extern "C" {
36334    pub fn g_buffered_input_stream_get_buffer_size(stream: *mut GBufferedInputStream) -> gsize;
36335}
36336extern "C" {
36337    pub fn g_buffered_input_stream_set_buffer_size(stream: *mut GBufferedInputStream, size: gsize);
36338}
36339extern "C" {
36340    pub fn g_buffered_input_stream_get_available(stream: *mut GBufferedInputStream) -> gsize;
36341}
36342extern "C" {
36343    pub fn g_buffered_input_stream_peek(
36344        stream: *mut GBufferedInputStream,
36345        buffer: *mut ::std::os::raw::c_void,
36346        offset: gsize,
36347        count: gsize,
36348    ) -> gsize;
36349}
36350extern "C" {
36351    pub fn g_buffered_input_stream_peek_buffer(
36352        stream: *mut GBufferedInputStream,
36353        count: *mut gsize,
36354    ) -> *const ::std::os::raw::c_void;
36355}
36356extern "C" {
36357    pub fn g_buffered_input_stream_fill(
36358        stream: *mut GBufferedInputStream,
36359        count: gssize,
36360        cancellable: *mut GCancellable,
36361        error: *mut *mut GError,
36362    ) -> gssize;
36363}
36364extern "C" {
36365    pub fn g_buffered_input_stream_fill_async(
36366        stream: *mut GBufferedInputStream,
36367        count: gssize,
36368        io_priority: ::std::os::raw::c_int,
36369        cancellable: *mut GCancellable,
36370        callback: GAsyncReadyCallback,
36371        user_data: gpointer,
36372    );
36373}
36374extern "C" {
36375    pub fn g_buffered_input_stream_fill_finish(
36376        stream: *mut GBufferedInputStream,
36377        result: *mut GAsyncResult,
36378        error: *mut *mut GError,
36379    ) -> gssize;
36380}
36381extern "C" {
36382    pub fn g_buffered_input_stream_read_byte(
36383        stream: *mut GBufferedInputStream,
36384        cancellable: *mut GCancellable,
36385        error: *mut *mut GError,
36386    ) -> ::std::os::raw::c_int;
36387}
36388#[doc = " GOutputStream:\n\n Base class for writing output.\n\n All classes derived from GOutputStream should implement synchronous\n writing, splicing, flushing and closing streams, but may implement\n asynchronous versions."]
36389pub type GOutputStreamClass = _GOutputStreamClass;
36390#[repr(C)]
36391#[derive(Debug, Copy, Clone)]
36392pub struct _GOutputStreamPrivate {
36393    _unused: [u8; 0],
36394}
36395pub type GOutputStreamPrivate = _GOutputStreamPrivate;
36396#[repr(C)]
36397#[derive(Debug, Copy, Clone, PartialEq, Eq)]
36398pub struct _GOutputStream {
36399    pub parent_instance: GObject,
36400    pub priv_: *mut GOutputStreamPrivate,
36401}
36402#[test]
36403fn bindgen_test_layout__GOutputStream() {
36404    const UNINIT: ::std::mem::MaybeUninit<_GOutputStream> = ::std::mem::MaybeUninit::uninit();
36405    let ptr = UNINIT.as_ptr();
36406    assert_eq!(
36407        ::std::mem::size_of::<_GOutputStream>(),
36408        32usize,
36409        concat!("Size of: ", stringify!(_GOutputStream))
36410    );
36411    assert_eq!(
36412        ::std::mem::align_of::<_GOutputStream>(),
36413        8usize,
36414        concat!("Alignment of ", stringify!(_GOutputStream))
36415    );
36416    assert_eq!(
36417        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
36418        0usize,
36419        concat!(
36420            "Offset of field: ",
36421            stringify!(_GOutputStream),
36422            "::",
36423            stringify!(parent_instance)
36424        )
36425    );
36426    assert_eq!(
36427        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
36428        24usize,
36429        concat!(
36430            "Offset of field: ",
36431            stringify!(_GOutputStream),
36432            "::",
36433            stringify!(priv_)
36434        )
36435    );
36436}
36437#[repr(C)]
36438#[derive(Debug, Copy, Clone, PartialEq, Eq)]
36439pub struct _GOutputStreamClass {
36440    pub parent_class: GObjectClass,
36441    pub write_fn: ::std::option::Option<
36442        unsafe extern "C" fn(
36443            stream: *mut GOutputStream,
36444            buffer: *const ::std::os::raw::c_void,
36445            count: gsize,
36446            cancellable: *mut GCancellable,
36447            error: *mut *mut GError,
36448        ) -> gssize,
36449    >,
36450    pub splice: ::std::option::Option<
36451        unsafe extern "C" fn(
36452            stream: *mut GOutputStream,
36453            source: *mut GInputStream,
36454            flags: GOutputStreamSpliceFlags,
36455            cancellable: *mut GCancellable,
36456            error: *mut *mut GError,
36457        ) -> gssize,
36458    >,
36459    pub flush: ::std::option::Option<
36460        unsafe extern "C" fn(
36461            stream: *mut GOutputStream,
36462            cancellable: *mut GCancellable,
36463            error: *mut *mut GError,
36464        ) -> gboolean,
36465    >,
36466    pub close_fn: ::std::option::Option<
36467        unsafe extern "C" fn(
36468            stream: *mut GOutputStream,
36469            cancellable: *mut GCancellable,
36470            error: *mut *mut GError,
36471        ) -> gboolean,
36472    >,
36473    pub write_async: ::std::option::Option<
36474        unsafe extern "C" fn(
36475            stream: *mut GOutputStream,
36476            buffer: *const ::std::os::raw::c_void,
36477            count: gsize,
36478            io_priority: ::std::os::raw::c_int,
36479            cancellable: *mut GCancellable,
36480            callback: GAsyncReadyCallback,
36481            user_data: gpointer,
36482        ),
36483    >,
36484    pub write_finish: ::std::option::Option<
36485        unsafe extern "C" fn(
36486            stream: *mut GOutputStream,
36487            result: *mut GAsyncResult,
36488            error: *mut *mut GError,
36489        ) -> gssize,
36490    >,
36491    pub splice_async: ::std::option::Option<
36492        unsafe extern "C" fn(
36493            stream: *mut GOutputStream,
36494            source: *mut GInputStream,
36495            flags: GOutputStreamSpliceFlags,
36496            io_priority: ::std::os::raw::c_int,
36497            cancellable: *mut GCancellable,
36498            callback: GAsyncReadyCallback,
36499            user_data: gpointer,
36500        ),
36501    >,
36502    pub splice_finish: ::std::option::Option<
36503        unsafe extern "C" fn(
36504            stream: *mut GOutputStream,
36505            result: *mut GAsyncResult,
36506            error: *mut *mut GError,
36507        ) -> gssize,
36508    >,
36509    pub flush_async: ::std::option::Option<
36510        unsafe extern "C" fn(
36511            stream: *mut GOutputStream,
36512            io_priority: ::std::os::raw::c_int,
36513            cancellable: *mut GCancellable,
36514            callback: GAsyncReadyCallback,
36515            user_data: gpointer,
36516        ),
36517    >,
36518    pub flush_finish: ::std::option::Option<
36519        unsafe extern "C" fn(
36520            stream: *mut GOutputStream,
36521            result: *mut GAsyncResult,
36522            error: *mut *mut GError,
36523        ) -> gboolean,
36524    >,
36525    pub close_async: ::std::option::Option<
36526        unsafe extern "C" fn(
36527            stream: *mut GOutputStream,
36528            io_priority: ::std::os::raw::c_int,
36529            cancellable: *mut GCancellable,
36530            callback: GAsyncReadyCallback,
36531            user_data: gpointer,
36532        ),
36533    >,
36534    pub close_finish: ::std::option::Option<
36535        unsafe extern "C" fn(
36536            stream: *mut GOutputStream,
36537            result: *mut GAsyncResult,
36538            error: *mut *mut GError,
36539        ) -> gboolean,
36540    >,
36541    pub writev_fn: ::std::option::Option<
36542        unsafe extern "C" fn(
36543            stream: *mut GOutputStream,
36544            vectors: *const GOutputVector,
36545            n_vectors: gsize,
36546            bytes_written: *mut gsize,
36547            cancellable: *mut GCancellable,
36548            error: *mut *mut GError,
36549        ) -> gboolean,
36550    >,
36551    pub writev_async: ::std::option::Option<
36552        unsafe extern "C" fn(
36553            stream: *mut GOutputStream,
36554            vectors: *const GOutputVector,
36555            n_vectors: gsize,
36556            io_priority: ::std::os::raw::c_int,
36557            cancellable: *mut GCancellable,
36558            callback: GAsyncReadyCallback,
36559            user_data: gpointer,
36560        ),
36561    >,
36562    pub writev_finish: ::std::option::Option<
36563        unsafe extern "C" fn(
36564            stream: *mut GOutputStream,
36565            result: *mut GAsyncResult,
36566            bytes_written: *mut gsize,
36567            error: *mut *mut GError,
36568        ) -> gboolean,
36569    >,
36570    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
36571    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
36572    pub _g_reserved6: ::std::option::Option<unsafe extern "C" fn()>,
36573    pub _g_reserved7: ::std::option::Option<unsafe extern "C" fn()>,
36574    pub _g_reserved8: ::std::option::Option<unsafe extern "C" fn()>,
36575}
36576#[test]
36577fn bindgen_test_layout__GOutputStreamClass() {
36578    const UNINIT: ::std::mem::MaybeUninit<_GOutputStreamClass> = ::std::mem::MaybeUninit::uninit();
36579    let ptr = UNINIT.as_ptr();
36580    assert_eq!(
36581        ::std::mem::size_of::<_GOutputStreamClass>(),
36582        296usize,
36583        concat!("Size of: ", stringify!(_GOutputStreamClass))
36584    );
36585    assert_eq!(
36586        ::std::mem::align_of::<_GOutputStreamClass>(),
36587        8usize,
36588        concat!("Alignment of ", stringify!(_GOutputStreamClass))
36589    );
36590    assert_eq!(
36591        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
36592        0usize,
36593        concat!(
36594            "Offset of field: ",
36595            stringify!(_GOutputStreamClass),
36596            "::",
36597            stringify!(parent_class)
36598        )
36599    );
36600    assert_eq!(
36601        unsafe { ::std::ptr::addr_of!((*ptr).write_fn) as usize - ptr as usize },
36602        136usize,
36603        concat!(
36604            "Offset of field: ",
36605            stringify!(_GOutputStreamClass),
36606            "::",
36607            stringify!(write_fn)
36608        )
36609    );
36610    assert_eq!(
36611        unsafe { ::std::ptr::addr_of!((*ptr).splice) as usize - ptr as usize },
36612        144usize,
36613        concat!(
36614            "Offset of field: ",
36615            stringify!(_GOutputStreamClass),
36616            "::",
36617            stringify!(splice)
36618        )
36619    );
36620    assert_eq!(
36621        unsafe { ::std::ptr::addr_of!((*ptr).flush) as usize - ptr as usize },
36622        152usize,
36623        concat!(
36624            "Offset of field: ",
36625            stringify!(_GOutputStreamClass),
36626            "::",
36627            stringify!(flush)
36628        )
36629    );
36630    assert_eq!(
36631        unsafe { ::std::ptr::addr_of!((*ptr).close_fn) as usize - ptr as usize },
36632        160usize,
36633        concat!(
36634            "Offset of field: ",
36635            stringify!(_GOutputStreamClass),
36636            "::",
36637            stringify!(close_fn)
36638        )
36639    );
36640    assert_eq!(
36641        unsafe { ::std::ptr::addr_of!((*ptr).write_async) as usize - ptr as usize },
36642        168usize,
36643        concat!(
36644            "Offset of field: ",
36645            stringify!(_GOutputStreamClass),
36646            "::",
36647            stringify!(write_async)
36648        )
36649    );
36650    assert_eq!(
36651        unsafe { ::std::ptr::addr_of!((*ptr).write_finish) as usize - ptr as usize },
36652        176usize,
36653        concat!(
36654            "Offset of field: ",
36655            stringify!(_GOutputStreamClass),
36656            "::",
36657            stringify!(write_finish)
36658        )
36659    );
36660    assert_eq!(
36661        unsafe { ::std::ptr::addr_of!((*ptr).splice_async) as usize - ptr as usize },
36662        184usize,
36663        concat!(
36664            "Offset of field: ",
36665            stringify!(_GOutputStreamClass),
36666            "::",
36667            stringify!(splice_async)
36668        )
36669    );
36670    assert_eq!(
36671        unsafe { ::std::ptr::addr_of!((*ptr).splice_finish) as usize - ptr as usize },
36672        192usize,
36673        concat!(
36674            "Offset of field: ",
36675            stringify!(_GOutputStreamClass),
36676            "::",
36677            stringify!(splice_finish)
36678        )
36679    );
36680    assert_eq!(
36681        unsafe { ::std::ptr::addr_of!((*ptr).flush_async) as usize - ptr as usize },
36682        200usize,
36683        concat!(
36684            "Offset of field: ",
36685            stringify!(_GOutputStreamClass),
36686            "::",
36687            stringify!(flush_async)
36688        )
36689    );
36690    assert_eq!(
36691        unsafe { ::std::ptr::addr_of!((*ptr).flush_finish) as usize - ptr as usize },
36692        208usize,
36693        concat!(
36694            "Offset of field: ",
36695            stringify!(_GOutputStreamClass),
36696            "::",
36697            stringify!(flush_finish)
36698        )
36699    );
36700    assert_eq!(
36701        unsafe { ::std::ptr::addr_of!((*ptr).close_async) as usize - ptr as usize },
36702        216usize,
36703        concat!(
36704            "Offset of field: ",
36705            stringify!(_GOutputStreamClass),
36706            "::",
36707            stringify!(close_async)
36708        )
36709    );
36710    assert_eq!(
36711        unsafe { ::std::ptr::addr_of!((*ptr).close_finish) as usize - ptr as usize },
36712        224usize,
36713        concat!(
36714            "Offset of field: ",
36715            stringify!(_GOutputStreamClass),
36716            "::",
36717            stringify!(close_finish)
36718        )
36719    );
36720    assert_eq!(
36721        unsafe { ::std::ptr::addr_of!((*ptr).writev_fn) as usize - ptr as usize },
36722        232usize,
36723        concat!(
36724            "Offset of field: ",
36725            stringify!(_GOutputStreamClass),
36726            "::",
36727            stringify!(writev_fn)
36728        )
36729    );
36730    assert_eq!(
36731        unsafe { ::std::ptr::addr_of!((*ptr).writev_async) as usize - ptr as usize },
36732        240usize,
36733        concat!(
36734            "Offset of field: ",
36735            stringify!(_GOutputStreamClass),
36736            "::",
36737            stringify!(writev_async)
36738        )
36739    );
36740    assert_eq!(
36741        unsafe { ::std::ptr::addr_of!((*ptr).writev_finish) as usize - ptr as usize },
36742        248usize,
36743        concat!(
36744            "Offset of field: ",
36745            stringify!(_GOutputStreamClass),
36746            "::",
36747            stringify!(writev_finish)
36748        )
36749    );
36750    assert_eq!(
36751        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
36752        256usize,
36753        concat!(
36754            "Offset of field: ",
36755            stringify!(_GOutputStreamClass),
36756            "::",
36757            stringify!(_g_reserved4)
36758        )
36759    );
36760    assert_eq!(
36761        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
36762        264usize,
36763        concat!(
36764            "Offset of field: ",
36765            stringify!(_GOutputStreamClass),
36766            "::",
36767            stringify!(_g_reserved5)
36768        )
36769    );
36770    assert_eq!(
36771        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved6) as usize - ptr as usize },
36772        272usize,
36773        concat!(
36774            "Offset of field: ",
36775            stringify!(_GOutputStreamClass),
36776            "::",
36777            stringify!(_g_reserved6)
36778        )
36779    );
36780    assert_eq!(
36781        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved7) as usize - ptr as usize },
36782        280usize,
36783        concat!(
36784            "Offset of field: ",
36785            stringify!(_GOutputStreamClass),
36786            "::",
36787            stringify!(_g_reserved7)
36788        )
36789    );
36790    assert_eq!(
36791        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved8) as usize - ptr as usize },
36792        288usize,
36793        concat!(
36794            "Offset of field: ",
36795            stringify!(_GOutputStreamClass),
36796            "::",
36797            stringify!(_g_reserved8)
36798        )
36799    );
36800}
36801extern "C" {
36802    pub fn g_output_stream_get_type() -> GType;
36803}
36804extern "C" {
36805    pub fn g_output_stream_write(
36806        stream: *mut GOutputStream,
36807        buffer: *const ::std::os::raw::c_void,
36808        count: gsize,
36809        cancellable: *mut GCancellable,
36810        error: *mut *mut GError,
36811    ) -> gssize;
36812}
36813extern "C" {
36814    pub fn g_output_stream_write_all(
36815        stream: *mut GOutputStream,
36816        buffer: *const ::std::os::raw::c_void,
36817        count: gsize,
36818        bytes_written: *mut gsize,
36819        cancellable: *mut GCancellable,
36820        error: *mut *mut GError,
36821    ) -> gboolean;
36822}
36823extern "C" {
36824    pub fn g_output_stream_writev(
36825        stream: *mut GOutputStream,
36826        vectors: *const GOutputVector,
36827        n_vectors: gsize,
36828        bytes_written: *mut gsize,
36829        cancellable: *mut GCancellable,
36830        error: *mut *mut GError,
36831    ) -> gboolean;
36832}
36833extern "C" {
36834    pub fn g_output_stream_writev_all(
36835        stream: *mut GOutputStream,
36836        vectors: *mut GOutputVector,
36837        n_vectors: gsize,
36838        bytes_written: *mut gsize,
36839        cancellable: *mut GCancellable,
36840        error: *mut *mut GError,
36841    ) -> gboolean;
36842}
36843extern "C" {
36844    pub fn g_output_stream_printf(
36845        stream: *mut GOutputStream,
36846        bytes_written: *mut gsize,
36847        cancellable: *mut GCancellable,
36848        error: *mut *mut GError,
36849        format: *const gchar,
36850        ...
36851    ) -> gboolean;
36852}
36853extern "C" {
36854    pub fn g_output_stream_vprintf(
36855        stream: *mut GOutputStream,
36856        bytes_written: *mut gsize,
36857        cancellable: *mut GCancellable,
36858        error: *mut *mut GError,
36859        format: *const gchar,
36860        args: va_list,
36861    ) -> gboolean;
36862}
36863extern "C" {
36864    pub fn g_output_stream_write_bytes(
36865        stream: *mut GOutputStream,
36866        bytes: *mut GBytes,
36867        cancellable: *mut GCancellable,
36868        error: *mut *mut GError,
36869    ) -> gssize;
36870}
36871extern "C" {
36872    pub fn g_output_stream_splice(
36873        stream: *mut GOutputStream,
36874        source: *mut GInputStream,
36875        flags: GOutputStreamSpliceFlags,
36876        cancellable: *mut GCancellable,
36877        error: *mut *mut GError,
36878    ) -> gssize;
36879}
36880extern "C" {
36881    pub fn g_output_stream_flush(
36882        stream: *mut GOutputStream,
36883        cancellable: *mut GCancellable,
36884        error: *mut *mut GError,
36885    ) -> gboolean;
36886}
36887extern "C" {
36888    pub fn g_output_stream_close(
36889        stream: *mut GOutputStream,
36890        cancellable: *mut GCancellable,
36891        error: *mut *mut GError,
36892    ) -> gboolean;
36893}
36894extern "C" {
36895    pub fn g_output_stream_write_async(
36896        stream: *mut GOutputStream,
36897        buffer: *const ::std::os::raw::c_void,
36898        count: gsize,
36899        io_priority: ::std::os::raw::c_int,
36900        cancellable: *mut GCancellable,
36901        callback: GAsyncReadyCallback,
36902        user_data: gpointer,
36903    );
36904}
36905extern "C" {
36906    pub fn g_output_stream_write_finish(
36907        stream: *mut GOutputStream,
36908        result: *mut GAsyncResult,
36909        error: *mut *mut GError,
36910    ) -> gssize;
36911}
36912extern "C" {
36913    pub fn g_output_stream_write_all_async(
36914        stream: *mut GOutputStream,
36915        buffer: *const ::std::os::raw::c_void,
36916        count: gsize,
36917        io_priority: ::std::os::raw::c_int,
36918        cancellable: *mut GCancellable,
36919        callback: GAsyncReadyCallback,
36920        user_data: gpointer,
36921    );
36922}
36923extern "C" {
36924    pub fn g_output_stream_write_all_finish(
36925        stream: *mut GOutputStream,
36926        result: *mut GAsyncResult,
36927        bytes_written: *mut gsize,
36928        error: *mut *mut GError,
36929    ) -> gboolean;
36930}
36931extern "C" {
36932    pub fn g_output_stream_writev_async(
36933        stream: *mut GOutputStream,
36934        vectors: *const GOutputVector,
36935        n_vectors: gsize,
36936        io_priority: ::std::os::raw::c_int,
36937        cancellable: *mut GCancellable,
36938        callback: GAsyncReadyCallback,
36939        user_data: gpointer,
36940    );
36941}
36942extern "C" {
36943    pub fn g_output_stream_writev_finish(
36944        stream: *mut GOutputStream,
36945        result: *mut GAsyncResult,
36946        bytes_written: *mut gsize,
36947        error: *mut *mut GError,
36948    ) -> gboolean;
36949}
36950extern "C" {
36951    pub fn g_output_stream_writev_all_async(
36952        stream: *mut GOutputStream,
36953        vectors: *mut GOutputVector,
36954        n_vectors: gsize,
36955        io_priority: ::std::os::raw::c_int,
36956        cancellable: *mut GCancellable,
36957        callback: GAsyncReadyCallback,
36958        user_data: gpointer,
36959    );
36960}
36961extern "C" {
36962    pub fn g_output_stream_writev_all_finish(
36963        stream: *mut GOutputStream,
36964        result: *mut GAsyncResult,
36965        bytes_written: *mut gsize,
36966        error: *mut *mut GError,
36967    ) -> gboolean;
36968}
36969extern "C" {
36970    pub fn g_output_stream_write_bytes_async(
36971        stream: *mut GOutputStream,
36972        bytes: *mut GBytes,
36973        io_priority: ::std::os::raw::c_int,
36974        cancellable: *mut GCancellable,
36975        callback: GAsyncReadyCallback,
36976        user_data: gpointer,
36977    );
36978}
36979extern "C" {
36980    pub fn g_output_stream_write_bytes_finish(
36981        stream: *mut GOutputStream,
36982        result: *mut GAsyncResult,
36983        error: *mut *mut GError,
36984    ) -> gssize;
36985}
36986extern "C" {
36987    pub fn g_output_stream_splice_async(
36988        stream: *mut GOutputStream,
36989        source: *mut GInputStream,
36990        flags: GOutputStreamSpliceFlags,
36991        io_priority: ::std::os::raw::c_int,
36992        cancellable: *mut GCancellable,
36993        callback: GAsyncReadyCallback,
36994        user_data: gpointer,
36995    );
36996}
36997extern "C" {
36998    pub fn g_output_stream_splice_finish(
36999        stream: *mut GOutputStream,
37000        result: *mut GAsyncResult,
37001        error: *mut *mut GError,
37002    ) -> gssize;
37003}
37004extern "C" {
37005    pub fn g_output_stream_flush_async(
37006        stream: *mut GOutputStream,
37007        io_priority: ::std::os::raw::c_int,
37008        cancellable: *mut GCancellable,
37009        callback: GAsyncReadyCallback,
37010        user_data: gpointer,
37011    );
37012}
37013extern "C" {
37014    pub fn g_output_stream_flush_finish(
37015        stream: *mut GOutputStream,
37016        result: *mut GAsyncResult,
37017        error: *mut *mut GError,
37018    ) -> gboolean;
37019}
37020extern "C" {
37021    pub fn g_output_stream_close_async(
37022        stream: *mut GOutputStream,
37023        io_priority: ::std::os::raw::c_int,
37024        cancellable: *mut GCancellable,
37025        callback: GAsyncReadyCallback,
37026        user_data: gpointer,
37027    );
37028}
37029extern "C" {
37030    pub fn g_output_stream_close_finish(
37031        stream: *mut GOutputStream,
37032        result: *mut GAsyncResult,
37033        error: *mut *mut GError,
37034    ) -> gboolean;
37035}
37036extern "C" {
37037    pub fn g_output_stream_is_closed(stream: *mut GOutputStream) -> gboolean;
37038}
37039extern "C" {
37040    pub fn g_output_stream_is_closing(stream: *mut GOutputStream) -> gboolean;
37041}
37042extern "C" {
37043    pub fn g_output_stream_has_pending(stream: *mut GOutputStream) -> gboolean;
37044}
37045extern "C" {
37046    pub fn g_output_stream_set_pending(
37047        stream: *mut GOutputStream,
37048        error: *mut *mut GError,
37049    ) -> gboolean;
37050}
37051extern "C" {
37052    pub fn g_output_stream_clear_pending(stream: *mut GOutputStream);
37053}
37054#[doc = " GFilterOutputStream:\n\n A base class for all output streams that work on an underlying stream."]
37055pub type GFilterOutputStreamClass = _GFilterOutputStreamClass;
37056#[repr(C)]
37057#[derive(Debug, Copy, Clone, PartialEq, Eq)]
37058pub struct _GFilterOutputStream {
37059    pub parent_instance: GOutputStream,
37060    pub base_stream: *mut GOutputStream,
37061}
37062#[test]
37063fn bindgen_test_layout__GFilterOutputStream() {
37064    const UNINIT: ::std::mem::MaybeUninit<_GFilterOutputStream> = ::std::mem::MaybeUninit::uninit();
37065    let ptr = UNINIT.as_ptr();
37066    assert_eq!(
37067        ::std::mem::size_of::<_GFilterOutputStream>(),
37068        40usize,
37069        concat!("Size of: ", stringify!(_GFilterOutputStream))
37070    );
37071    assert_eq!(
37072        ::std::mem::align_of::<_GFilterOutputStream>(),
37073        8usize,
37074        concat!("Alignment of ", stringify!(_GFilterOutputStream))
37075    );
37076    assert_eq!(
37077        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
37078        0usize,
37079        concat!(
37080            "Offset of field: ",
37081            stringify!(_GFilterOutputStream),
37082            "::",
37083            stringify!(parent_instance)
37084        )
37085    );
37086    assert_eq!(
37087        unsafe { ::std::ptr::addr_of!((*ptr).base_stream) as usize - ptr as usize },
37088        32usize,
37089        concat!(
37090            "Offset of field: ",
37091            stringify!(_GFilterOutputStream),
37092            "::",
37093            stringify!(base_stream)
37094        )
37095    );
37096}
37097#[repr(C)]
37098#[derive(Debug, Copy, Clone, PartialEq, Eq)]
37099pub struct _GFilterOutputStreamClass {
37100    pub parent_class: GOutputStreamClass,
37101    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
37102    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
37103    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
37104}
37105#[test]
37106fn bindgen_test_layout__GFilterOutputStreamClass() {
37107    const UNINIT: ::std::mem::MaybeUninit<_GFilterOutputStreamClass> =
37108        ::std::mem::MaybeUninit::uninit();
37109    let ptr = UNINIT.as_ptr();
37110    assert_eq!(
37111        ::std::mem::size_of::<_GFilterOutputStreamClass>(),
37112        320usize,
37113        concat!("Size of: ", stringify!(_GFilterOutputStreamClass))
37114    );
37115    assert_eq!(
37116        ::std::mem::align_of::<_GFilterOutputStreamClass>(),
37117        8usize,
37118        concat!("Alignment of ", stringify!(_GFilterOutputStreamClass))
37119    );
37120    assert_eq!(
37121        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
37122        0usize,
37123        concat!(
37124            "Offset of field: ",
37125            stringify!(_GFilterOutputStreamClass),
37126            "::",
37127            stringify!(parent_class)
37128        )
37129    );
37130    assert_eq!(
37131        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
37132        296usize,
37133        concat!(
37134            "Offset of field: ",
37135            stringify!(_GFilterOutputStreamClass),
37136            "::",
37137            stringify!(_g_reserved1)
37138        )
37139    );
37140    assert_eq!(
37141        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
37142        304usize,
37143        concat!(
37144            "Offset of field: ",
37145            stringify!(_GFilterOutputStreamClass),
37146            "::",
37147            stringify!(_g_reserved2)
37148        )
37149    );
37150    assert_eq!(
37151        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
37152        312usize,
37153        concat!(
37154            "Offset of field: ",
37155            stringify!(_GFilterOutputStreamClass),
37156            "::",
37157            stringify!(_g_reserved3)
37158        )
37159    );
37160}
37161extern "C" {
37162    pub fn g_filter_output_stream_get_type() -> GType;
37163}
37164extern "C" {
37165    pub fn g_filter_output_stream_get_base_stream(
37166        stream: *mut GFilterOutputStream,
37167    ) -> *mut GOutputStream;
37168}
37169extern "C" {
37170    pub fn g_filter_output_stream_get_close_base_stream(
37171        stream: *mut GFilterOutputStream,
37172    ) -> gboolean;
37173}
37174extern "C" {
37175    pub fn g_filter_output_stream_set_close_base_stream(
37176        stream: *mut GFilterOutputStream,
37177        close_base: gboolean,
37178    );
37179}
37180#[doc = " GBufferedOutputStream:\n\n An implementation of #GFilterOutputStream with a sized buffer."]
37181pub type GBufferedOutputStreamClass = _GBufferedOutputStreamClass;
37182#[repr(C)]
37183#[derive(Debug, Copy, Clone)]
37184pub struct _GBufferedOutputStreamPrivate {
37185    _unused: [u8; 0],
37186}
37187pub type GBufferedOutputStreamPrivate = _GBufferedOutputStreamPrivate;
37188#[repr(C)]
37189#[derive(Debug, Copy, Clone, PartialEq, Eq)]
37190pub struct _GBufferedOutputStream {
37191    pub parent_instance: GFilterOutputStream,
37192    pub priv_: *mut GBufferedOutputStreamPrivate,
37193}
37194#[test]
37195fn bindgen_test_layout__GBufferedOutputStream() {
37196    const UNINIT: ::std::mem::MaybeUninit<_GBufferedOutputStream> =
37197        ::std::mem::MaybeUninit::uninit();
37198    let ptr = UNINIT.as_ptr();
37199    assert_eq!(
37200        ::std::mem::size_of::<_GBufferedOutputStream>(),
37201        48usize,
37202        concat!("Size of: ", stringify!(_GBufferedOutputStream))
37203    );
37204    assert_eq!(
37205        ::std::mem::align_of::<_GBufferedOutputStream>(),
37206        8usize,
37207        concat!("Alignment of ", stringify!(_GBufferedOutputStream))
37208    );
37209    assert_eq!(
37210        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
37211        0usize,
37212        concat!(
37213            "Offset of field: ",
37214            stringify!(_GBufferedOutputStream),
37215            "::",
37216            stringify!(parent_instance)
37217        )
37218    );
37219    assert_eq!(
37220        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
37221        40usize,
37222        concat!(
37223            "Offset of field: ",
37224            stringify!(_GBufferedOutputStream),
37225            "::",
37226            stringify!(priv_)
37227        )
37228    );
37229}
37230#[repr(C)]
37231#[derive(Debug, Copy, Clone, PartialEq, Eq)]
37232pub struct _GBufferedOutputStreamClass {
37233    pub parent_class: GFilterOutputStreamClass,
37234    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
37235    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
37236}
37237#[test]
37238fn bindgen_test_layout__GBufferedOutputStreamClass() {
37239    const UNINIT: ::std::mem::MaybeUninit<_GBufferedOutputStreamClass> =
37240        ::std::mem::MaybeUninit::uninit();
37241    let ptr = UNINIT.as_ptr();
37242    assert_eq!(
37243        ::std::mem::size_of::<_GBufferedOutputStreamClass>(),
37244        336usize,
37245        concat!("Size of: ", stringify!(_GBufferedOutputStreamClass))
37246    );
37247    assert_eq!(
37248        ::std::mem::align_of::<_GBufferedOutputStreamClass>(),
37249        8usize,
37250        concat!("Alignment of ", stringify!(_GBufferedOutputStreamClass))
37251    );
37252    assert_eq!(
37253        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
37254        0usize,
37255        concat!(
37256            "Offset of field: ",
37257            stringify!(_GBufferedOutputStreamClass),
37258            "::",
37259            stringify!(parent_class)
37260        )
37261    );
37262    assert_eq!(
37263        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
37264        320usize,
37265        concat!(
37266            "Offset of field: ",
37267            stringify!(_GBufferedOutputStreamClass),
37268            "::",
37269            stringify!(_g_reserved1)
37270        )
37271    );
37272    assert_eq!(
37273        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
37274        328usize,
37275        concat!(
37276            "Offset of field: ",
37277            stringify!(_GBufferedOutputStreamClass),
37278            "::",
37279            stringify!(_g_reserved2)
37280        )
37281    );
37282}
37283extern "C" {
37284    pub fn g_buffered_output_stream_get_type() -> GType;
37285}
37286extern "C" {
37287    pub fn g_buffered_output_stream_new(base_stream: *mut GOutputStream) -> *mut GOutputStream;
37288}
37289extern "C" {
37290    pub fn g_buffered_output_stream_new_sized(
37291        base_stream: *mut GOutputStream,
37292        size: gsize,
37293    ) -> *mut GOutputStream;
37294}
37295extern "C" {
37296    pub fn g_buffered_output_stream_get_buffer_size(stream: *mut GBufferedOutputStream) -> gsize;
37297}
37298extern "C" {
37299    pub fn g_buffered_output_stream_set_buffer_size(
37300        stream: *mut GBufferedOutputStream,
37301        size: gsize,
37302    );
37303}
37304extern "C" {
37305    pub fn g_buffered_output_stream_get_auto_grow(stream: *mut GBufferedOutputStream) -> gboolean;
37306}
37307extern "C" {
37308    pub fn g_buffered_output_stream_set_auto_grow(
37309        stream: *mut GBufferedOutputStream,
37310        auto_grow: gboolean,
37311    );
37312}
37313extern "C" {
37314    #[doc = " GBytesIcon:\n\n Gets an icon for a #GBytes. Implements #GLoadableIcon."]
37315    pub fn g_bytes_icon_get_type() -> GType;
37316}
37317extern "C" {
37318    pub fn g_bytes_icon_new(bytes: *mut GBytes) -> *mut GIcon;
37319}
37320extern "C" {
37321    pub fn g_bytes_icon_get_bytes(icon: *mut GBytesIcon) -> *mut GBytes;
37322}
37323#[doc = " GCancellable:\n\n Allows actions to be cancelled."]
37324pub type GCancellableClass = _GCancellableClass;
37325#[repr(C)]
37326#[derive(Debug, Copy, Clone)]
37327pub struct _GCancellablePrivate {
37328    _unused: [u8; 0],
37329}
37330pub type GCancellablePrivate = _GCancellablePrivate;
37331#[repr(C)]
37332#[derive(Debug, Copy, Clone, PartialEq, Eq)]
37333pub struct _GCancellable {
37334    pub parent_instance: GObject,
37335    pub priv_: *mut GCancellablePrivate,
37336}
37337#[test]
37338fn bindgen_test_layout__GCancellable() {
37339    const UNINIT: ::std::mem::MaybeUninit<_GCancellable> = ::std::mem::MaybeUninit::uninit();
37340    let ptr = UNINIT.as_ptr();
37341    assert_eq!(
37342        ::std::mem::size_of::<_GCancellable>(),
37343        32usize,
37344        concat!("Size of: ", stringify!(_GCancellable))
37345    );
37346    assert_eq!(
37347        ::std::mem::align_of::<_GCancellable>(),
37348        8usize,
37349        concat!("Alignment of ", stringify!(_GCancellable))
37350    );
37351    assert_eq!(
37352        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
37353        0usize,
37354        concat!(
37355            "Offset of field: ",
37356            stringify!(_GCancellable),
37357            "::",
37358            stringify!(parent_instance)
37359        )
37360    );
37361    assert_eq!(
37362        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
37363        24usize,
37364        concat!(
37365            "Offset of field: ",
37366            stringify!(_GCancellable),
37367            "::",
37368            stringify!(priv_)
37369        )
37370    );
37371}
37372#[repr(C)]
37373#[derive(Debug, Copy, Clone, PartialEq, Eq)]
37374pub struct _GCancellableClass {
37375    pub parent_class: GObjectClass,
37376    pub cancelled: ::std::option::Option<unsafe extern "C" fn(cancellable: *mut GCancellable)>,
37377    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
37378    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
37379    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
37380    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
37381    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
37382}
37383#[test]
37384fn bindgen_test_layout__GCancellableClass() {
37385    const UNINIT: ::std::mem::MaybeUninit<_GCancellableClass> = ::std::mem::MaybeUninit::uninit();
37386    let ptr = UNINIT.as_ptr();
37387    assert_eq!(
37388        ::std::mem::size_of::<_GCancellableClass>(),
37389        184usize,
37390        concat!("Size of: ", stringify!(_GCancellableClass))
37391    );
37392    assert_eq!(
37393        ::std::mem::align_of::<_GCancellableClass>(),
37394        8usize,
37395        concat!("Alignment of ", stringify!(_GCancellableClass))
37396    );
37397    assert_eq!(
37398        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
37399        0usize,
37400        concat!(
37401            "Offset of field: ",
37402            stringify!(_GCancellableClass),
37403            "::",
37404            stringify!(parent_class)
37405        )
37406    );
37407    assert_eq!(
37408        unsafe { ::std::ptr::addr_of!((*ptr).cancelled) as usize - ptr as usize },
37409        136usize,
37410        concat!(
37411            "Offset of field: ",
37412            stringify!(_GCancellableClass),
37413            "::",
37414            stringify!(cancelled)
37415        )
37416    );
37417    assert_eq!(
37418        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
37419        144usize,
37420        concat!(
37421            "Offset of field: ",
37422            stringify!(_GCancellableClass),
37423            "::",
37424            stringify!(_g_reserved1)
37425        )
37426    );
37427    assert_eq!(
37428        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
37429        152usize,
37430        concat!(
37431            "Offset of field: ",
37432            stringify!(_GCancellableClass),
37433            "::",
37434            stringify!(_g_reserved2)
37435        )
37436    );
37437    assert_eq!(
37438        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
37439        160usize,
37440        concat!(
37441            "Offset of field: ",
37442            stringify!(_GCancellableClass),
37443            "::",
37444            stringify!(_g_reserved3)
37445        )
37446    );
37447    assert_eq!(
37448        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
37449        168usize,
37450        concat!(
37451            "Offset of field: ",
37452            stringify!(_GCancellableClass),
37453            "::",
37454            stringify!(_g_reserved4)
37455        )
37456    );
37457    assert_eq!(
37458        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
37459        176usize,
37460        concat!(
37461            "Offset of field: ",
37462            stringify!(_GCancellableClass),
37463            "::",
37464            stringify!(_g_reserved5)
37465        )
37466    );
37467}
37468extern "C" {
37469    pub fn g_cancellable_get_type() -> GType;
37470}
37471extern "C" {
37472    pub fn g_cancellable_new() -> *mut GCancellable;
37473}
37474extern "C" {
37475    pub fn g_cancellable_is_cancelled(cancellable: *mut GCancellable) -> gboolean;
37476}
37477extern "C" {
37478    pub fn g_cancellable_set_error_if_cancelled(
37479        cancellable: *mut GCancellable,
37480        error: *mut *mut GError,
37481    ) -> gboolean;
37482}
37483extern "C" {
37484    pub fn g_cancellable_get_fd(cancellable: *mut GCancellable) -> ::std::os::raw::c_int;
37485}
37486extern "C" {
37487    pub fn g_cancellable_make_pollfd(
37488        cancellable: *mut GCancellable,
37489        pollfd: *mut GPollFD,
37490    ) -> gboolean;
37491}
37492extern "C" {
37493    pub fn g_cancellable_release_fd(cancellable: *mut GCancellable);
37494}
37495extern "C" {
37496    pub fn g_cancellable_source_new(cancellable: *mut GCancellable) -> *mut GSource;
37497}
37498extern "C" {
37499    pub fn g_cancellable_get_current() -> *mut GCancellable;
37500}
37501extern "C" {
37502    pub fn g_cancellable_push_current(cancellable: *mut GCancellable);
37503}
37504extern "C" {
37505    pub fn g_cancellable_pop_current(cancellable: *mut GCancellable);
37506}
37507extern "C" {
37508    pub fn g_cancellable_reset(cancellable: *mut GCancellable);
37509}
37510extern "C" {
37511    pub fn g_cancellable_connect(
37512        cancellable: *mut GCancellable,
37513        callback: GCallback,
37514        data: gpointer,
37515        data_destroy_func: GDestroyNotify,
37516    ) -> gulong;
37517}
37518extern "C" {
37519    pub fn g_cancellable_disconnect(cancellable: *mut GCancellable, handler_id: gulong);
37520}
37521extern "C" {
37522    pub fn g_cancellable_cancel(cancellable: *mut GCancellable);
37523}
37524#[doc = " GConverter:\n\n Seek object for streaming operations.\n\n Since: 2.24"]
37525pub type GConverterIface = _GConverterIface;
37526#[doc = " GConverterIface:\n @g_iface: The parent interface.\n @convert: Converts data.\n @reset: Reverts the internal state of the converter to its initial state.\n\n Provides an interface for converting data from one type\n to another type. The conversion can be stateful\n and may fail at any place.\n\n Since: 2.24"]
37527#[repr(C)]
37528#[derive(Debug, Copy, Clone, PartialEq, Eq)]
37529pub struct _GConverterIface {
37530    pub g_iface: GTypeInterface,
37531    pub convert: ::std::option::Option<
37532        unsafe extern "C" fn(
37533            converter: *mut GConverter,
37534            inbuf: *const ::std::os::raw::c_void,
37535            inbuf_size: gsize,
37536            outbuf: *mut ::std::os::raw::c_void,
37537            outbuf_size: gsize,
37538            flags: GConverterFlags,
37539            bytes_read: *mut gsize,
37540            bytes_written: *mut gsize,
37541            error: *mut *mut GError,
37542        ) -> GConverterResult,
37543    >,
37544    pub reset: ::std::option::Option<unsafe extern "C" fn(converter: *mut GConverter)>,
37545}
37546#[test]
37547fn bindgen_test_layout__GConverterIface() {
37548    const UNINIT: ::std::mem::MaybeUninit<_GConverterIface> = ::std::mem::MaybeUninit::uninit();
37549    let ptr = UNINIT.as_ptr();
37550    assert_eq!(
37551        ::std::mem::size_of::<_GConverterIface>(),
37552        32usize,
37553        concat!("Size of: ", stringify!(_GConverterIface))
37554    );
37555    assert_eq!(
37556        ::std::mem::align_of::<_GConverterIface>(),
37557        8usize,
37558        concat!("Alignment of ", stringify!(_GConverterIface))
37559    );
37560    assert_eq!(
37561        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
37562        0usize,
37563        concat!(
37564            "Offset of field: ",
37565            stringify!(_GConverterIface),
37566            "::",
37567            stringify!(g_iface)
37568        )
37569    );
37570    assert_eq!(
37571        unsafe { ::std::ptr::addr_of!((*ptr).convert) as usize - ptr as usize },
37572        16usize,
37573        concat!(
37574            "Offset of field: ",
37575            stringify!(_GConverterIface),
37576            "::",
37577            stringify!(convert)
37578        )
37579    );
37580    assert_eq!(
37581        unsafe { ::std::ptr::addr_of!((*ptr).reset) as usize - ptr as usize },
37582        24usize,
37583        concat!(
37584            "Offset of field: ",
37585            stringify!(_GConverterIface),
37586            "::",
37587            stringify!(reset)
37588        )
37589    );
37590}
37591extern "C" {
37592    pub fn g_converter_get_type() -> GType;
37593}
37594extern "C" {
37595    pub fn g_converter_convert(
37596        converter: *mut GConverter,
37597        inbuf: *const ::std::os::raw::c_void,
37598        inbuf_size: gsize,
37599        outbuf: *mut ::std::os::raw::c_void,
37600        outbuf_size: gsize,
37601        flags: GConverterFlags,
37602        bytes_read: *mut gsize,
37603        bytes_written: *mut gsize,
37604        error: *mut *mut GError,
37605    ) -> GConverterResult;
37606}
37607extern "C" {
37608    pub fn g_converter_reset(converter: *mut GConverter);
37609}
37610pub type GCharsetConverterClass = _GCharsetConverterClass;
37611#[repr(C)]
37612#[derive(Debug, Copy, Clone, PartialEq, Eq)]
37613pub struct _GCharsetConverterClass {
37614    pub parent_class: GObjectClass,
37615}
37616#[test]
37617fn bindgen_test_layout__GCharsetConverterClass() {
37618    const UNINIT: ::std::mem::MaybeUninit<_GCharsetConverterClass> =
37619        ::std::mem::MaybeUninit::uninit();
37620    let ptr = UNINIT.as_ptr();
37621    assert_eq!(
37622        ::std::mem::size_of::<_GCharsetConverterClass>(),
37623        136usize,
37624        concat!("Size of: ", stringify!(_GCharsetConverterClass))
37625    );
37626    assert_eq!(
37627        ::std::mem::align_of::<_GCharsetConverterClass>(),
37628        8usize,
37629        concat!("Alignment of ", stringify!(_GCharsetConverterClass))
37630    );
37631    assert_eq!(
37632        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
37633        0usize,
37634        concat!(
37635            "Offset of field: ",
37636            stringify!(_GCharsetConverterClass),
37637            "::",
37638            stringify!(parent_class)
37639        )
37640    );
37641}
37642extern "C" {
37643    pub fn g_charset_converter_get_type() -> GType;
37644}
37645extern "C" {
37646    pub fn g_charset_converter_new(
37647        to_charset: *const gchar,
37648        from_charset: *const gchar,
37649        error: *mut *mut GError,
37650    ) -> *mut GCharsetConverter;
37651}
37652extern "C" {
37653    pub fn g_charset_converter_set_use_fallback(
37654        converter: *mut GCharsetConverter,
37655        use_fallback: gboolean,
37656    );
37657}
37658extern "C" {
37659    pub fn g_charset_converter_get_use_fallback(converter: *mut GCharsetConverter) -> gboolean;
37660}
37661extern "C" {
37662    pub fn g_charset_converter_get_num_fallbacks(converter: *mut GCharsetConverter) -> guint;
37663}
37664extern "C" {
37665    pub fn g_content_type_equals(type1: *const gchar, type2: *const gchar) -> gboolean;
37666}
37667extern "C" {
37668    pub fn g_content_type_is_a(type_: *const gchar, supertype: *const gchar) -> gboolean;
37669}
37670extern "C" {
37671    pub fn g_content_type_is_mime_type(type_: *const gchar, mime_type: *const gchar) -> gboolean;
37672}
37673extern "C" {
37674    pub fn g_content_type_is_unknown(type_: *const gchar) -> gboolean;
37675}
37676extern "C" {
37677    pub fn g_content_type_get_description(type_: *const gchar) -> *mut gchar;
37678}
37679extern "C" {
37680    pub fn g_content_type_get_mime_type(type_: *const gchar) -> *mut gchar;
37681}
37682extern "C" {
37683    pub fn g_content_type_get_icon(type_: *const gchar) -> *mut GIcon;
37684}
37685extern "C" {
37686    pub fn g_content_type_get_symbolic_icon(type_: *const gchar) -> *mut GIcon;
37687}
37688extern "C" {
37689    pub fn g_content_type_get_generic_icon_name(type_: *const gchar) -> *mut gchar;
37690}
37691extern "C" {
37692    pub fn g_content_type_can_be_executable(type_: *const gchar) -> gboolean;
37693}
37694extern "C" {
37695    pub fn g_content_type_from_mime_type(mime_type: *const gchar) -> *mut gchar;
37696}
37697extern "C" {
37698    pub fn g_content_type_guess(
37699        filename: *const gchar,
37700        data: *const guchar,
37701        data_size: gsize,
37702        result_uncertain: *mut gboolean,
37703    ) -> *mut gchar;
37704}
37705extern "C" {
37706    pub fn g_content_type_guess_for_tree(root: *mut GFile) -> *mut *mut gchar;
37707}
37708extern "C" {
37709    pub fn g_content_types_get_registered() -> *mut GList;
37710}
37711extern "C" {
37712    pub fn g_content_type_get_mime_dirs() -> *const *const gchar;
37713}
37714extern "C" {
37715    pub fn g_content_type_set_mime_dirs(dirs: *const *const gchar);
37716}
37717#[doc = " GConverterInputStream:\n\n An implementation of #GFilterInputStream that allows data\n conversion."]
37718pub type GConverterInputStreamClass = _GConverterInputStreamClass;
37719#[repr(C)]
37720#[derive(Debug, Copy, Clone)]
37721pub struct _GConverterInputStreamPrivate {
37722    _unused: [u8; 0],
37723}
37724pub type GConverterInputStreamPrivate = _GConverterInputStreamPrivate;
37725#[repr(C)]
37726#[derive(Debug, Copy, Clone, PartialEq, Eq)]
37727pub struct _GConverterInputStream {
37728    pub parent_instance: GFilterInputStream,
37729    pub priv_: *mut GConverterInputStreamPrivate,
37730}
37731#[test]
37732fn bindgen_test_layout__GConverterInputStream() {
37733    const UNINIT: ::std::mem::MaybeUninit<_GConverterInputStream> =
37734        ::std::mem::MaybeUninit::uninit();
37735    let ptr = UNINIT.as_ptr();
37736    assert_eq!(
37737        ::std::mem::size_of::<_GConverterInputStream>(),
37738        48usize,
37739        concat!("Size of: ", stringify!(_GConverterInputStream))
37740    );
37741    assert_eq!(
37742        ::std::mem::align_of::<_GConverterInputStream>(),
37743        8usize,
37744        concat!("Alignment of ", stringify!(_GConverterInputStream))
37745    );
37746    assert_eq!(
37747        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
37748        0usize,
37749        concat!(
37750            "Offset of field: ",
37751            stringify!(_GConverterInputStream),
37752            "::",
37753            stringify!(parent_instance)
37754        )
37755    );
37756    assert_eq!(
37757        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
37758        40usize,
37759        concat!(
37760            "Offset of field: ",
37761            stringify!(_GConverterInputStream),
37762            "::",
37763            stringify!(priv_)
37764        )
37765    );
37766}
37767#[repr(C)]
37768#[derive(Debug, Copy, Clone, PartialEq, Eq)]
37769pub struct _GConverterInputStreamClass {
37770    pub parent_class: GFilterInputStreamClass,
37771    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
37772    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
37773    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
37774    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
37775    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
37776}
37777#[test]
37778fn bindgen_test_layout__GConverterInputStreamClass() {
37779    const UNINIT: ::std::mem::MaybeUninit<_GConverterInputStreamClass> =
37780        ::std::mem::MaybeUninit::uninit();
37781    let ptr = UNINIT.as_ptr();
37782    assert_eq!(
37783        ::std::mem::size_of::<_GConverterInputStreamClass>(),
37784        312usize,
37785        concat!("Size of: ", stringify!(_GConverterInputStreamClass))
37786    );
37787    assert_eq!(
37788        ::std::mem::align_of::<_GConverterInputStreamClass>(),
37789        8usize,
37790        concat!("Alignment of ", stringify!(_GConverterInputStreamClass))
37791    );
37792    assert_eq!(
37793        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
37794        0usize,
37795        concat!(
37796            "Offset of field: ",
37797            stringify!(_GConverterInputStreamClass),
37798            "::",
37799            stringify!(parent_class)
37800        )
37801    );
37802    assert_eq!(
37803        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
37804        272usize,
37805        concat!(
37806            "Offset of field: ",
37807            stringify!(_GConverterInputStreamClass),
37808            "::",
37809            stringify!(_g_reserved1)
37810        )
37811    );
37812    assert_eq!(
37813        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
37814        280usize,
37815        concat!(
37816            "Offset of field: ",
37817            stringify!(_GConverterInputStreamClass),
37818            "::",
37819            stringify!(_g_reserved2)
37820        )
37821    );
37822    assert_eq!(
37823        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
37824        288usize,
37825        concat!(
37826            "Offset of field: ",
37827            stringify!(_GConverterInputStreamClass),
37828            "::",
37829            stringify!(_g_reserved3)
37830        )
37831    );
37832    assert_eq!(
37833        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
37834        296usize,
37835        concat!(
37836            "Offset of field: ",
37837            stringify!(_GConverterInputStreamClass),
37838            "::",
37839            stringify!(_g_reserved4)
37840        )
37841    );
37842    assert_eq!(
37843        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
37844        304usize,
37845        concat!(
37846            "Offset of field: ",
37847            stringify!(_GConverterInputStreamClass),
37848            "::",
37849            stringify!(_g_reserved5)
37850        )
37851    );
37852}
37853extern "C" {
37854    pub fn g_converter_input_stream_get_type() -> GType;
37855}
37856extern "C" {
37857    pub fn g_converter_input_stream_new(
37858        base_stream: *mut GInputStream,
37859        converter: *mut GConverter,
37860    ) -> *mut GInputStream;
37861}
37862extern "C" {
37863    pub fn g_converter_input_stream_get_converter(
37864        converter_stream: *mut GConverterInputStream,
37865    ) -> *mut GConverter;
37866}
37867#[doc = " GConverterOutputStream:\n\n An implementation of #GFilterOutputStream that allows data\n conversion."]
37868pub type GConverterOutputStreamClass = _GConverterOutputStreamClass;
37869#[repr(C)]
37870#[derive(Debug, Copy, Clone)]
37871pub struct _GConverterOutputStreamPrivate {
37872    _unused: [u8; 0],
37873}
37874pub type GConverterOutputStreamPrivate = _GConverterOutputStreamPrivate;
37875#[repr(C)]
37876#[derive(Debug, Copy, Clone, PartialEq, Eq)]
37877pub struct _GConverterOutputStream {
37878    pub parent_instance: GFilterOutputStream,
37879    pub priv_: *mut GConverterOutputStreamPrivate,
37880}
37881#[test]
37882fn bindgen_test_layout__GConverterOutputStream() {
37883    const UNINIT: ::std::mem::MaybeUninit<_GConverterOutputStream> =
37884        ::std::mem::MaybeUninit::uninit();
37885    let ptr = UNINIT.as_ptr();
37886    assert_eq!(
37887        ::std::mem::size_of::<_GConverterOutputStream>(),
37888        48usize,
37889        concat!("Size of: ", stringify!(_GConverterOutputStream))
37890    );
37891    assert_eq!(
37892        ::std::mem::align_of::<_GConverterOutputStream>(),
37893        8usize,
37894        concat!("Alignment of ", stringify!(_GConverterOutputStream))
37895    );
37896    assert_eq!(
37897        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
37898        0usize,
37899        concat!(
37900            "Offset of field: ",
37901            stringify!(_GConverterOutputStream),
37902            "::",
37903            stringify!(parent_instance)
37904        )
37905    );
37906    assert_eq!(
37907        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
37908        40usize,
37909        concat!(
37910            "Offset of field: ",
37911            stringify!(_GConverterOutputStream),
37912            "::",
37913            stringify!(priv_)
37914        )
37915    );
37916}
37917#[repr(C)]
37918#[derive(Debug, Copy, Clone, PartialEq, Eq)]
37919pub struct _GConverterOutputStreamClass {
37920    pub parent_class: GFilterOutputStreamClass,
37921    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
37922    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
37923    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
37924    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
37925    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
37926}
37927#[test]
37928fn bindgen_test_layout__GConverterOutputStreamClass() {
37929    const UNINIT: ::std::mem::MaybeUninit<_GConverterOutputStreamClass> =
37930        ::std::mem::MaybeUninit::uninit();
37931    let ptr = UNINIT.as_ptr();
37932    assert_eq!(
37933        ::std::mem::size_of::<_GConverterOutputStreamClass>(),
37934        360usize,
37935        concat!("Size of: ", stringify!(_GConverterOutputStreamClass))
37936    );
37937    assert_eq!(
37938        ::std::mem::align_of::<_GConverterOutputStreamClass>(),
37939        8usize,
37940        concat!("Alignment of ", stringify!(_GConverterOutputStreamClass))
37941    );
37942    assert_eq!(
37943        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
37944        0usize,
37945        concat!(
37946            "Offset of field: ",
37947            stringify!(_GConverterOutputStreamClass),
37948            "::",
37949            stringify!(parent_class)
37950        )
37951    );
37952    assert_eq!(
37953        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
37954        320usize,
37955        concat!(
37956            "Offset of field: ",
37957            stringify!(_GConverterOutputStreamClass),
37958            "::",
37959            stringify!(_g_reserved1)
37960        )
37961    );
37962    assert_eq!(
37963        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
37964        328usize,
37965        concat!(
37966            "Offset of field: ",
37967            stringify!(_GConverterOutputStreamClass),
37968            "::",
37969            stringify!(_g_reserved2)
37970        )
37971    );
37972    assert_eq!(
37973        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
37974        336usize,
37975        concat!(
37976            "Offset of field: ",
37977            stringify!(_GConverterOutputStreamClass),
37978            "::",
37979            stringify!(_g_reserved3)
37980        )
37981    );
37982    assert_eq!(
37983        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
37984        344usize,
37985        concat!(
37986            "Offset of field: ",
37987            stringify!(_GConverterOutputStreamClass),
37988            "::",
37989            stringify!(_g_reserved4)
37990        )
37991    );
37992    assert_eq!(
37993        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
37994        352usize,
37995        concat!(
37996            "Offset of field: ",
37997            stringify!(_GConverterOutputStreamClass),
37998            "::",
37999            stringify!(_g_reserved5)
38000        )
38001    );
38002}
38003extern "C" {
38004    pub fn g_converter_output_stream_get_type() -> GType;
38005}
38006extern "C" {
38007    pub fn g_converter_output_stream_new(
38008        base_stream: *mut GOutputStream,
38009        converter: *mut GConverter,
38010    ) -> *mut GOutputStream;
38011}
38012extern "C" {
38013    pub fn g_converter_output_stream_get_converter(
38014        converter_stream: *mut GConverterOutputStream,
38015    ) -> *mut GConverter;
38016}
38017#[repr(C)]
38018#[derive(Debug, Copy, Clone, PartialEq, Eq)]
38019pub struct accessx_descriptor {
38020    pub ad_name_offset: ::std::os::raw::c_uint,
38021    pub ad_flags: ::std::os::raw::c_int,
38022    pub ad_pad: [::std::os::raw::c_int; 2usize],
38023}
38024#[test]
38025fn bindgen_test_layout_accessx_descriptor() {
38026    const UNINIT: ::std::mem::MaybeUninit<accessx_descriptor> = ::std::mem::MaybeUninit::uninit();
38027    let ptr = UNINIT.as_ptr();
38028    assert_eq!(
38029        ::std::mem::size_of::<accessx_descriptor>(),
38030        16usize,
38031        concat!("Size of: ", stringify!(accessx_descriptor))
38032    );
38033    assert_eq!(
38034        ::std::mem::align_of::<accessx_descriptor>(),
38035        4usize,
38036        concat!("Alignment of ", stringify!(accessx_descriptor))
38037    );
38038    assert_eq!(
38039        unsafe { ::std::ptr::addr_of!((*ptr).ad_name_offset) as usize - ptr as usize },
38040        0usize,
38041        concat!(
38042            "Offset of field: ",
38043            stringify!(accessx_descriptor),
38044            "::",
38045            stringify!(ad_name_offset)
38046        )
38047    );
38048    assert_eq!(
38049        unsafe { ::std::ptr::addr_of!((*ptr).ad_flags) as usize - ptr as usize },
38050        4usize,
38051        concat!(
38052            "Offset of field: ",
38053            stringify!(accessx_descriptor),
38054            "::",
38055            stringify!(ad_flags)
38056        )
38057    );
38058    assert_eq!(
38059        unsafe { ::std::ptr::addr_of!((*ptr).ad_pad) as usize - ptr as usize },
38060        8usize,
38061        concat!(
38062            "Offset of field: ",
38063            stringify!(accessx_descriptor),
38064            "::",
38065            stringify!(ad_pad)
38066        )
38067    );
38068}
38069extern "C" {
38070    pub fn getattrlistbulk(
38071        arg1: ::std::os::raw::c_int,
38072        arg2: *mut ::std::os::raw::c_void,
38073        arg3: *mut ::std::os::raw::c_void,
38074        arg4: size_t,
38075        arg5: u64,
38076    ) -> ::std::os::raw::c_int;
38077}
38078extern "C" {
38079    pub fn getattrlistat(
38080        arg1: ::std::os::raw::c_int,
38081        arg2: *const ::std::os::raw::c_char,
38082        arg3: *mut ::std::os::raw::c_void,
38083        arg4: *mut ::std::os::raw::c_void,
38084        arg5: size_t,
38085        arg6: ::std::os::raw::c_ulong,
38086    ) -> ::std::os::raw::c_int;
38087}
38088extern "C" {
38089    pub fn setattrlistat(
38090        arg1: ::std::os::raw::c_int,
38091        arg2: *const ::std::os::raw::c_char,
38092        arg3: *mut ::std::os::raw::c_void,
38093        arg4: *mut ::std::os::raw::c_void,
38094        arg5: size_t,
38095        arg6: u32,
38096    ) -> ::std::os::raw::c_int;
38097}
38098extern "C" {
38099    pub fn freadlink(
38100        arg1: ::std::os::raw::c_int,
38101        arg2: *mut ::std::os::raw::c_char,
38102        arg3: size_t,
38103    ) -> ssize_t;
38104}
38105extern "C" {
38106    pub fn faccessat(
38107        arg1: ::std::os::raw::c_int,
38108        arg2: *const ::std::os::raw::c_char,
38109        arg3: ::std::os::raw::c_int,
38110        arg4: ::std::os::raw::c_int,
38111    ) -> ::std::os::raw::c_int;
38112}
38113extern "C" {
38114    pub fn fchownat(
38115        arg1: ::std::os::raw::c_int,
38116        arg2: *const ::std::os::raw::c_char,
38117        arg3: uid_t,
38118        arg4: gid_t,
38119        arg5: ::std::os::raw::c_int,
38120    ) -> ::std::os::raw::c_int;
38121}
38122extern "C" {
38123    pub fn linkat(
38124        arg1: ::std::os::raw::c_int,
38125        arg2: *const ::std::os::raw::c_char,
38126        arg3: ::std::os::raw::c_int,
38127        arg4: *const ::std::os::raw::c_char,
38128        arg5: ::std::os::raw::c_int,
38129    ) -> ::std::os::raw::c_int;
38130}
38131extern "C" {
38132    pub fn readlinkat(
38133        arg1: ::std::os::raw::c_int,
38134        arg2: *const ::std::os::raw::c_char,
38135        arg3: *mut ::std::os::raw::c_char,
38136        arg4: size_t,
38137    ) -> ssize_t;
38138}
38139extern "C" {
38140    pub fn symlinkat(
38141        arg1: *const ::std::os::raw::c_char,
38142        arg2: ::std::os::raw::c_int,
38143        arg3: *const ::std::os::raw::c_char,
38144    ) -> ::std::os::raw::c_int;
38145}
38146extern "C" {
38147    pub fn unlinkat(
38148        arg1: ::std::os::raw::c_int,
38149        arg2: *const ::std::os::raw::c_char,
38150        arg3: ::std::os::raw::c_int,
38151    ) -> ::std::os::raw::c_int;
38152}
38153extern "C" {
38154    pub fn _exit(arg1: ::std::os::raw::c_int) -> !;
38155}
38156extern "C" {
38157    pub fn access(
38158        arg1: *const ::std::os::raw::c_char,
38159        arg2: ::std::os::raw::c_int,
38160    ) -> ::std::os::raw::c_int;
38161}
38162extern "C" {
38163    pub fn alarm(arg1: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint;
38164}
38165extern "C" {
38166    pub fn chdir(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
38167}
38168extern "C" {
38169    pub fn chown(
38170        arg1: *const ::std::os::raw::c_char,
38171        arg2: uid_t,
38172        arg3: gid_t,
38173    ) -> ::std::os::raw::c_int;
38174}
38175extern "C" {
38176    pub fn close(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
38177}
38178extern "C" {
38179    pub fn dup(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
38180}
38181extern "C" {
38182    pub fn dup2(arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
38183}
38184extern "C" {
38185    pub fn execl(
38186        __path: *const ::std::os::raw::c_char,
38187        __arg0: *const ::std::os::raw::c_char,
38188        ...
38189    ) -> ::std::os::raw::c_int;
38190}
38191extern "C" {
38192    pub fn execle(
38193        __path: *const ::std::os::raw::c_char,
38194        __arg0: *const ::std::os::raw::c_char,
38195        ...
38196    ) -> ::std::os::raw::c_int;
38197}
38198extern "C" {
38199    pub fn execlp(
38200        __file: *const ::std::os::raw::c_char,
38201        __arg0: *const ::std::os::raw::c_char,
38202        ...
38203    ) -> ::std::os::raw::c_int;
38204}
38205extern "C" {
38206    pub fn execv(
38207        __path: *const ::std::os::raw::c_char,
38208        __argv: *const *mut ::std::os::raw::c_char,
38209    ) -> ::std::os::raw::c_int;
38210}
38211extern "C" {
38212    pub fn execve(
38213        __file: *const ::std::os::raw::c_char,
38214        __argv: *const *mut ::std::os::raw::c_char,
38215        __envp: *const *mut ::std::os::raw::c_char,
38216    ) -> ::std::os::raw::c_int;
38217}
38218extern "C" {
38219    pub fn execvp(
38220        __file: *const ::std::os::raw::c_char,
38221        __argv: *const *mut ::std::os::raw::c_char,
38222    ) -> ::std::os::raw::c_int;
38223}
38224extern "C" {
38225    pub fn fork() -> pid_t;
38226}
38227extern "C" {
38228    pub fn fpathconf(
38229        arg1: ::std::os::raw::c_int,
38230        arg2: ::std::os::raw::c_int,
38231    ) -> ::std::os::raw::c_long;
38232}
38233extern "C" {
38234    pub fn getcwd(arg1: *mut ::std::os::raw::c_char, arg2: size_t) -> *mut ::std::os::raw::c_char;
38235}
38236extern "C" {
38237    pub fn getegid() -> gid_t;
38238}
38239extern "C" {
38240    pub fn geteuid() -> uid_t;
38241}
38242extern "C" {
38243    pub fn getgid() -> gid_t;
38244}
38245extern "C" {
38246    pub fn getgroups(arg1: ::std::os::raw::c_int, arg2: *mut gid_t) -> ::std::os::raw::c_int;
38247}
38248extern "C" {
38249    pub fn getlogin() -> *mut ::std::os::raw::c_char;
38250}
38251extern "C" {
38252    pub fn getpgrp() -> pid_t;
38253}
38254extern "C" {
38255    pub fn getpid() -> pid_t;
38256}
38257extern "C" {
38258    pub fn getppid() -> pid_t;
38259}
38260extern "C" {
38261    pub fn getuid() -> uid_t;
38262}
38263extern "C" {
38264    pub fn isatty(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
38265}
38266extern "C" {
38267    pub fn link(
38268        arg1: *const ::std::os::raw::c_char,
38269        arg2: *const ::std::os::raw::c_char,
38270    ) -> ::std::os::raw::c_int;
38271}
38272extern "C" {
38273    pub fn lseek(arg1: ::std::os::raw::c_int, arg2: off_t, arg3: ::std::os::raw::c_int) -> off_t;
38274}
38275extern "C" {
38276    pub fn pathconf(
38277        arg1: *const ::std::os::raw::c_char,
38278        arg2: ::std::os::raw::c_int,
38279    ) -> ::std::os::raw::c_long;
38280}
38281extern "C" {
38282    pub fn pause() -> ::std::os::raw::c_int;
38283}
38284extern "C" {
38285    pub fn pipe(arg1: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
38286}
38287extern "C" {
38288    pub fn read(
38289        arg1: ::std::os::raw::c_int,
38290        arg2: *mut ::std::os::raw::c_void,
38291        arg3: size_t,
38292    ) -> ssize_t;
38293}
38294extern "C" {
38295    pub fn rmdir(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
38296}
38297extern "C" {
38298    pub fn setgid(arg1: gid_t) -> ::std::os::raw::c_int;
38299}
38300extern "C" {
38301    pub fn setpgid(arg1: pid_t, arg2: pid_t) -> ::std::os::raw::c_int;
38302}
38303extern "C" {
38304    pub fn setsid() -> pid_t;
38305}
38306extern "C" {
38307    pub fn setuid(arg1: uid_t) -> ::std::os::raw::c_int;
38308}
38309extern "C" {
38310    pub fn sleep(arg1: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint;
38311}
38312extern "C" {
38313    pub fn sysconf(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_long;
38314}
38315extern "C" {
38316    pub fn tcgetpgrp(arg1: ::std::os::raw::c_int) -> pid_t;
38317}
38318extern "C" {
38319    pub fn tcsetpgrp(arg1: ::std::os::raw::c_int, arg2: pid_t) -> ::std::os::raw::c_int;
38320}
38321extern "C" {
38322    pub fn ttyname(arg1: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
38323}
38324extern "C" {
38325    pub fn ttyname_r(
38326        arg1: ::std::os::raw::c_int,
38327        arg2: *mut ::std::os::raw::c_char,
38328        arg3: size_t,
38329    ) -> ::std::os::raw::c_int;
38330}
38331extern "C" {
38332    pub fn unlink(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
38333}
38334extern "C" {
38335    pub fn write(
38336        __fd: ::std::os::raw::c_int,
38337        __buf: *const ::std::os::raw::c_void,
38338        __nbyte: size_t,
38339    ) -> ssize_t;
38340}
38341extern "C" {
38342    pub fn confstr(
38343        arg1: ::std::os::raw::c_int,
38344        arg2: *mut ::std::os::raw::c_char,
38345        arg3: size_t,
38346    ) -> size_t;
38347}
38348extern "C" {
38349    pub fn getopt(
38350        arg1: ::std::os::raw::c_int,
38351        arg2: *const *mut ::std::os::raw::c_char,
38352        arg3: *const ::std::os::raw::c_char,
38353    ) -> ::std::os::raw::c_int;
38354}
38355extern "C" {
38356    pub static mut optarg: *mut ::std::os::raw::c_char;
38357}
38358extern "C" {
38359    pub static mut optind: ::std::os::raw::c_int;
38360}
38361extern "C" {
38362    pub static mut opterr: ::std::os::raw::c_int;
38363}
38364extern "C" {
38365    pub static mut optopt: ::std::os::raw::c_int;
38366}
38367extern "C" {
38368    pub fn brk(arg1: *const ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void;
38369}
38370extern "C" {
38371    pub fn chroot(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
38372}
38373extern "C" {
38374    pub fn crypt(
38375        arg1: *const ::std::os::raw::c_char,
38376        arg2: *const ::std::os::raw::c_char,
38377    ) -> *mut ::std::os::raw::c_char;
38378}
38379extern "C" {
38380    pub fn encrypt(arg1: *mut ::std::os::raw::c_char, arg2: ::std::os::raw::c_int);
38381}
38382extern "C" {
38383    pub fn fchdir(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
38384}
38385extern "C" {
38386    pub fn gethostid() -> ::std::os::raw::c_long;
38387}
38388extern "C" {
38389    pub fn getpgid(arg1: pid_t) -> pid_t;
38390}
38391extern "C" {
38392    pub fn getsid(arg1: pid_t) -> pid_t;
38393}
38394extern "C" {
38395    pub fn getdtablesize() -> ::std::os::raw::c_int;
38396}
38397extern "C" {
38398    pub fn getpagesize() -> ::std::os::raw::c_int;
38399}
38400extern "C" {
38401    pub fn getpass(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
38402}
38403extern "C" {
38404    pub fn getwd(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
38405}
38406extern "C" {
38407    pub fn lchown(
38408        arg1: *const ::std::os::raw::c_char,
38409        arg2: uid_t,
38410        arg3: gid_t,
38411    ) -> ::std::os::raw::c_int;
38412}
38413extern "C" {
38414    pub fn lockf(
38415        arg1: ::std::os::raw::c_int,
38416        arg2: ::std::os::raw::c_int,
38417        arg3: off_t,
38418    ) -> ::std::os::raw::c_int;
38419}
38420extern "C" {
38421    pub fn nice(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
38422}
38423extern "C" {
38424    pub fn pread(
38425        __fd: ::std::os::raw::c_int,
38426        __buf: *mut ::std::os::raw::c_void,
38427        __nbyte: size_t,
38428        __offset: off_t,
38429    ) -> ssize_t;
38430}
38431extern "C" {
38432    pub fn pwrite(
38433        __fd: ::std::os::raw::c_int,
38434        __buf: *const ::std::os::raw::c_void,
38435        __nbyte: size_t,
38436        __offset: off_t,
38437    ) -> ssize_t;
38438}
38439extern "C" {
38440    pub fn sbrk(arg1: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_void;
38441}
38442extern "C" {
38443    pub fn setpgrp() -> pid_t;
38444}
38445extern "C" {
38446    pub fn setregid(arg1: gid_t, arg2: gid_t) -> ::std::os::raw::c_int;
38447}
38448extern "C" {
38449    pub fn setreuid(arg1: uid_t, arg2: uid_t) -> ::std::os::raw::c_int;
38450}
38451extern "C" {
38452    pub fn sync();
38453}
38454extern "C" {
38455    pub fn truncate(arg1: *const ::std::os::raw::c_char, arg2: off_t) -> ::std::os::raw::c_int;
38456}
38457extern "C" {
38458    pub fn ualarm(arg1: useconds_t, arg2: useconds_t) -> useconds_t;
38459}
38460extern "C" {
38461    pub fn usleep(arg1: useconds_t) -> ::std::os::raw::c_int;
38462}
38463extern "C" {
38464    pub fn vfork() -> ::std::os::raw::c_int;
38465}
38466extern "C" {
38467    pub fn fsync(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
38468}
38469extern "C" {
38470    pub fn ftruncate(arg1: ::std::os::raw::c_int, arg2: off_t) -> ::std::os::raw::c_int;
38471}
38472extern "C" {
38473    pub fn getlogin_r(arg1: *mut ::std::os::raw::c_char, arg2: size_t) -> ::std::os::raw::c_int;
38474}
38475extern "C" {
38476    pub fn fchown(arg1: ::std::os::raw::c_int, arg2: uid_t, arg3: gid_t) -> ::std::os::raw::c_int;
38477}
38478extern "C" {
38479    pub fn gethostname(arg1: *mut ::std::os::raw::c_char, arg2: size_t) -> ::std::os::raw::c_int;
38480}
38481extern "C" {
38482    pub fn readlink(
38483        arg1: *const ::std::os::raw::c_char,
38484        arg2: *mut ::std::os::raw::c_char,
38485        arg3: size_t,
38486    ) -> ssize_t;
38487}
38488extern "C" {
38489    pub fn setegid(arg1: gid_t) -> ::std::os::raw::c_int;
38490}
38491extern "C" {
38492    pub fn seteuid(arg1: uid_t) -> ::std::os::raw::c_int;
38493}
38494extern "C" {
38495    pub fn symlink(
38496        arg1: *const ::std::os::raw::c_char,
38497        arg2: *const ::std::os::raw::c_char,
38498    ) -> ::std::os::raw::c_int;
38499}
38500extern "C" {
38501    pub fn pselect(
38502        arg1: ::std::os::raw::c_int,
38503        arg2: *mut fd_set,
38504        arg3: *mut fd_set,
38505        arg4: *mut fd_set,
38506        arg5: *const timespec,
38507        arg6: *const sigset_t,
38508    ) -> ::std::os::raw::c_int;
38509}
38510extern "C" {
38511    pub fn select(
38512        arg1: ::std::os::raw::c_int,
38513        arg2: *mut fd_set,
38514        arg3: *mut fd_set,
38515        arg4: *mut fd_set,
38516        arg5: *mut timeval,
38517    ) -> ::std::os::raw::c_int;
38518}
38519pub type uuid_t = __darwin_uuid_t;
38520extern "C" {
38521    pub fn accessx_np(
38522        arg1: *const accessx_descriptor,
38523        arg2: size_t,
38524        arg3: *mut ::std::os::raw::c_int,
38525        arg4: uid_t,
38526    ) -> ::std::os::raw::c_int;
38527}
38528extern "C" {
38529    pub fn acct(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
38530}
38531extern "C" {
38532    pub fn add_profil(
38533        arg1: *mut ::std::os::raw::c_char,
38534        arg2: size_t,
38535        arg3: ::std::os::raw::c_ulong,
38536        arg4: ::std::os::raw::c_uint,
38537    ) -> ::std::os::raw::c_int;
38538}
38539extern "C" {
38540    pub fn endusershell();
38541}
38542extern "C" {
38543    pub fn execvP(
38544        __file: *const ::std::os::raw::c_char,
38545        __searchpath: *const ::std::os::raw::c_char,
38546        __argv: *const *mut ::std::os::raw::c_char,
38547    ) -> ::std::os::raw::c_int;
38548}
38549extern "C" {
38550    pub fn fflagstostr(arg1: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_char;
38551}
38552extern "C" {
38553    pub fn getdomainname(
38554        arg1: *mut ::std::os::raw::c_char,
38555        arg2: ::std::os::raw::c_int,
38556    ) -> ::std::os::raw::c_int;
38557}
38558extern "C" {
38559    pub fn getgrouplist(
38560        arg1: *const ::std::os::raw::c_char,
38561        arg2: ::std::os::raw::c_int,
38562        arg3: *mut ::std::os::raw::c_int,
38563        arg4: *mut ::std::os::raw::c_int,
38564    ) -> ::std::os::raw::c_int;
38565}
38566extern "C" {
38567    pub fn gethostuuid(
38568        arg1: *mut ::std::os::raw::c_uchar,
38569        arg2: *const timespec,
38570    ) -> ::std::os::raw::c_int;
38571}
38572extern "C" {
38573    pub fn getmode(arg1: *const ::std::os::raw::c_void, arg2: mode_t) -> mode_t;
38574}
38575extern "C" {
38576    pub fn getpeereid(
38577        arg1: ::std::os::raw::c_int,
38578        arg2: *mut uid_t,
38579        arg3: *mut gid_t,
38580    ) -> ::std::os::raw::c_int;
38581}
38582extern "C" {
38583    pub fn getsgroups_np(
38584        arg1: *mut ::std::os::raw::c_int,
38585        arg2: *mut ::std::os::raw::c_uchar,
38586    ) -> ::std::os::raw::c_int;
38587}
38588extern "C" {
38589    pub fn getusershell() -> *mut ::std::os::raw::c_char;
38590}
38591extern "C" {
38592    pub fn getwgroups_np(
38593        arg1: *mut ::std::os::raw::c_int,
38594        arg2: *mut ::std::os::raw::c_uchar,
38595    ) -> ::std::os::raw::c_int;
38596}
38597extern "C" {
38598    pub fn initgroups(
38599        arg1: *const ::std::os::raw::c_char,
38600        arg2: ::std::os::raw::c_int,
38601    ) -> ::std::os::raw::c_int;
38602}
38603extern "C" {
38604    pub fn issetugid() -> ::std::os::raw::c_int;
38605}
38606extern "C" {
38607    pub fn mkdtemp(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
38608}
38609extern "C" {
38610    pub fn mkpath_np(path: *const ::std::os::raw::c_char, omode: mode_t) -> ::std::os::raw::c_int;
38611}
38612extern "C" {
38613    pub fn mkpathat_np(
38614        dfd: ::std::os::raw::c_int,
38615        path: *const ::std::os::raw::c_char,
38616        omode: mode_t,
38617    ) -> ::std::os::raw::c_int;
38618}
38619extern "C" {
38620    pub fn mkstemps(
38621        arg1: *mut ::std::os::raw::c_char,
38622        arg2: ::std::os::raw::c_int,
38623    ) -> ::std::os::raw::c_int;
38624}
38625extern "C" {
38626    pub fn mkostemp(
38627        path: *mut ::std::os::raw::c_char,
38628        oflags: ::std::os::raw::c_int,
38629    ) -> ::std::os::raw::c_int;
38630}
38631extern "C" {
38632    pub fn mkostemps(
38633        path: *mut ::std::os::raw::c_char,
38634        slen: ::std::os::raw::c_int,
38635        oflags: ::std::os::raw::c_int,
38636    ) -> ::std::os::raw::c_int;
38637}
38638extern "C" {
38639    pub fn mkstemp_dprotected_np(
38640        path: *mut ::std::os::raw::c_char,
38641        dpclass: ::std::os::raw::c_int,
38642        dpflags: ::std::os::raw::c_int,
38643    ) -> ::std::os::raw::c_int;
38644}
38645extern "C" {
38646    pub fn mkdtempat_np(
38647        dfd: ::std::os::raw::c_int,
38648        path: *mut ::std::os::raw::c_char,
38649    ) -> *mut ::std::os::raw::c_char;
38650}
38651extern "C" {
38652    pub fn mkstempsat_np(
38653        dfd: ::std::os::raw::c_int,
38654        path: *mut ::std::os::raw::c_char,
38655        slen: ::std::os::raw::c_int,
38656    ) -> ::std::os::raw::c_int;
38657}
38658extern "C" {
38659    pub fn mkostempsat_np(
38660        dfd: ::std::os::raw::c_int,
38661        path: *mut ::std::os::raw::c_char,
38662        slen: ::std::os::raw::c_int,
38663        oflags: ::std::os::raw::c_int,
38664    ) -> ::std::os::raw::c_int;
38665}
38666extern "C" {
38667    pub fn nfssvc(
38668        arg1: ::std::os::raw::c_int,
38669        arg2: *mut ::std::os::raw::c_void,
38670    ) -> ::std::os::raw::c_int;
38671}
38672extern "C" {
38673    pub fn profil(
38674        arg1: *mut ::std::os::raw::c_char,
38675        arg2: size_t,
38676        arg3: ::std::os::raw::c_ulong,
38677        arg4: ::std::os::raw::c_uint,
38678    ) -> ::std::os::raw::c_int;
38679}
38680extern "C" {
38681    pub fn pthread_setugid_np(arg1: uid_t, arg2: gid_t) -> ::std::os::raw::c_int;
38682}
38683extern "C" {
38684    pub fn pthread_getugid_np(arg1: *mut uid_t, arg2: *mut gid_t) -> ::std::os::raw::c_int;
38685}
38686extern "C" {
38687    pub fn reboot(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
38688}
38689extern "C" {
38690    pub fn revoke(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
38691}
38692extern "C" {
38693    pub fn rcmd(
38694        arg1: *mut *mut ::std::os::raw::c_char,
38695        arg2: ::std::os::raw::c_int,
38696        arg3: *const ::std::os::raw::c_char,
38697        arg4: *const ::std::os::raw::c_char,
38698        arg5: *const ::std::os::raw::c_char,
38699        arg6: *mut ::std::os::raw::c_int,
38700    ) -> ::std::os::raw::c_int;
38701}
38702extern "C" {
38703    pub fn rcmd_af(
38704        arg1: *mut *mut ::std::os::raw::c_char,
38705        arg2: ::std::os::raw::c_int,
38706        arg3: *const ::std::os::raw::c_char,
38707        arg4: *const ::std::os::raw::c_char,
38708        arg5: *const ::std::os::raw::c_char,
38709        arg6: *mut ::std::os::raw::c_int,
38710        arg7: ::std::os::raw::c_int,
38711    ) -> ::std::os::raw::c_int;
38712}
38713extern "C" {
38714    pub fn rresvport(arg1: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
38715}
38716extern "C" {
38717    pub fn rresvport_af(
38718        arg1: *mut ::std::os::raw::c_int,
38719        arg2: ::std::os::raw::c_int,
38720    ) -> ::std::os::raw::c_int;
38721}
38722extern "C" {
38723    pub fn iruserok(
38724        arg1: ::std::os::raw::c_ulong,
38725        arg2: ::std::os::raw::c_int,
38726        arg3: *const ::std::os::raw::c_char,
38727        arg4: *const ::std::os::raw::c_char,
38728    ) -> ::std::os::raw::c_int;
38729}
38730extern "C" {
38731    pub fn iruserok_sa(
38732        arg1: *const ::std::os::raw::c_void,
38733        arg2: ::std::os::raw::c_int,
38734        arg3: ::std::os::raw::c_int,
38735        arg4: *const ::std::os::raw::c_char,
38736        arg5: *const ::std::os::raw::c_char,
38737    ) -> ::std::os::raw::c_int;
38738}
38739extern "C" {
38740    pub fn ruserok(
38741        arg1: *const ::std::os::raw::c_char,
38742        arg2: ::std::os::raw::c_int,
38743        arg3: *const ::std::os::raw::c_char,
38744        arg4: *const ::std::os::raw::c_char,
38745    ) -> ::std::os::raw::c_int;
38746}
38747extern "C" {
38748    pub fn setdomainname(
38749        arg1: *const ::std::os::raw::c_char,
38750        arg2: ::std::os::raw::c_int,
38751    ) -> ::std::os::raw::c_int;
38752}
38753extern "C" {
38754    pub fn setgroups(arg1: ::std::os::raw::c_int, arg2: *const gid_t) -> ::std::os::raw::c_int;
38755}
38756extern "C" {
38757    pub fn sethostid(arg1: ::std::os::raw::c_long);
38758}
38759extern "C" {
38760    pub fn sethostname(
38761        arg1: *const ::std::os::raw::c_char,
38762        arg2: ::std::os::raw::c_int,
38763    ) -> ::std::os::raw::c_int;
38764}
38765extern "C" {
38766    pub fn setlogin(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
38767}
38768extern "C" {
38769    pub fn setmode(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_void;
38770}
38771extern "C" {
38772    pub fn setrgid(arg1: gid_t) -> ::std::os::raw::c_int;
38773}
38774extern "C" {
38775    pub fn setruid(arg1: uid_t) -> ::std::os::raw::c_int;
38776}
38777extern "C" {
38778    pub fn setsgroups_np(
38779        arg1: ::std::os::raw::c_int,
38780        arg2: *mut ::std::os::raw::c_uchar,
38781    ) -> ::std::os::raw::c_int;
38782}
38783extern "C" {
38784    pub fn setusershell();
38785}
38786extern "C" {
38787    pub fn setwgroups_np(
38788        arg1: ::std::os::raw::c_int,
38789        arg2: *mut ::std::os::raw::c_uchar,
38790    ) -> ::std::os::raw::c_int;
38791}
38792extern "C" {
38793    pub fn strtofflags(
38794        arg1: *mut *mut ::std::os::raw::c_char,
38795        arg2: *mut ::std::os::raw::c_ulong,
38796        arg3: *mut ::std::os::raw::c_ulong,
38797    ) -> ::std::os::raw::c_int;
38798}
38799extern "C" {
38800    pub fn swapon(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
38801}
38802extern "C" {
38803    pub fn ttyslot() -> ::std::os::raw::c_int;
38804}
38805extern "C" {
38806    pub fn undelete(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
38807}
38808extern "C" {
38809    pub fn unwhiteout(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
38810}
38811extern "C" {
38812    pub fn syscall(arg1: ::std::os::raw::c_int, ...) -> ::std::os::raw::c_int;
38813}
38814extern "C" {
38815    pub fn fgetattrlist(
38816        arg1: ::std::os::raw::c_int,
38817        arg2: *mut ::std::os::raw::c_void,
38818        arg3: *mut ::std::os::raw::c_void,
38819        arg4: size_t,
38820        arg5: ::std::os::raw::c_uint,
38821    ) -> ::std::os::raw::c_int;
38822}
38823extern "C" {
38824    pub fn fsetattrlist(
38825        arg1: ::std::os::raw::c_int,
38826        arg2: *mut ::std::os::raw::c_void,
38827        arg3: *mut ::std::os::raw::c_void,
38828        arg4: size_t,
38829        arg5: ::std::os::raw::c_uint,
38830    ) -> ::std::os::raw::c_int;
38831}
38832extern "C" {
38833    pub fn getattrlist(
38834        arg1: *const ::std::os::raw::c_char,
38835        arg2: *mut ::std::os::raw::c_void,
38836        arg3: *mut ::std::os::raw::c_void,
38837        arg4: size_t,
38838        arg5: ::std::os::raw::c_uint,
38839    ) -> ::std::os::raw::c_int;
38840}
38841extern "C" {
38842    pub fn setattrlist(
38843        arg1: *const ::std::os::raw::c_char,
38844        arg2: *mut ::std::os::raw::c_void,
38845        arg3: *mut ::std::os::raw::c_void,
38846        arg4: size_t,
38847        arg5: ::std::os::raw::c_uint,
38848    ) -> ::std::os::raw::c_int;
38849}
38850extern "C" {
38851    pub fn exchangedata(
38852        arg1: *const ::std::os::raw::c_char,
38853        arg2: *const ::std::os::raw::c_char,
38854        arg3: ::std::os::raw::c_uint,
38855    ) -> ::std::os::raw::c_int;
38856}
38857extern "C" {
38858    pub fn getdirentriesattr(
38859        arg1: ::std::os::raw::c_int,
38860        arg2: *mut ::std::os::raw::c_void,
38861        arg3: *mut ::std::os::raw::c_void,
38862        arg4: size_t,
38863        arg5: *mut ::std::os::raw::c_uint,
38864        arg6: *mut ::std::os::raw::c_uint,
38865        arg7: *mut ::std::os::raw::c_uint,
38866        arg8: ::std::os::raw::c_uint,
38867    ) -> ::std::os::raw::c_int;
38868}
38869#[repr(C)]
38870#[derive(Debug, Copy, Clone)]
38871pub struct fssearchblock {
38872    _unused: [u8; 0],
38873}
38874#[repr(C)]
38875#[derive(Debug, Copy, Clone)]
38876pub struct searchstate {
38877    _unused: [u8; 0],
38878}
38879extern "C" {
38880    pub fn searchfs(
38881        arg1: *const ::std::os::raw::c_char,
38882        arg2: *mut fssearchblock,
38883        arg3: *mut ::std::os::raw::c_ulong,
38884        arg4: ::std::os::raw::c_uint,
38885        arg5: ::std::os::raw::c_uint,
38886        arg6: *mut searchstate,
38887    ) -> ::std::os::raw::c_int;
38888}
38889extern "C" {
38890    pub fn fsctl(
38891        arg1: *const ::std::os::raw::c_char,
38892        arg2: ::std::os::raw::c_ulong,
38893        arg3: *mut ::std::os::raw::c_void,
38894        arg4: ::std::os::raw::c_uint,
38895    ) -> ::std::os::raw::c_int;
38896}
38897extern "C" {
38898    pub fn ffsctl(
38899        arg1: ::std::os::raw::c_int,
38900        arg2: ::std::os::raw::c_ulong,
38901        arg3: *mut ::std::os::raw::c_void,
38902        arg4: ::std::os::raw::c_uint,
38903    ) -> ::std::os::raw::c_int;
38904}
38905extern "C" {
38906    pub fn fsync_volume_np(
38907        arg1: ::std::os::raw::c_int,
38908        arg2: ::std::os::raw::c_int,
38909    ) -> ::std::os::raw::c_int;
38910}
38911extern "C" {
38912    pub fn sync_volume_np(
38913        arg1: *const ::std::os::raw::c_char,
38914        arg2: ::std::os::raw::c_int,
38915    ) -> ::std::os::raw::c_int;
38916}
38917extern "C" {
38918    pub static mut optreset: ::std::os::raw::c_int;
38919}
38920#[repr(C)]
38921#[derive(Debug, Copy, Clone)]
38922pub struct _GCredentialsClass {
38923    _unused: [u8; 0],
38924}
38925pub type GCredentialsClass = _GCredentialsClass;
38926extern "C" {
38927    pub fn g_credentials_get_type() -> GType;
38928}
38929extern "C" {
38930    pub fn g_credentials_new() -> *mut GCredentials;
38931}
38932extern "C" {
38933    pub fn g_credentials_to_string(credentials: *mut GCredentials) -> *mut gchar;
38934}
38935extern "C" {
38936    pub fn g_credentials_get_native(
38937        credentials: *mut GCredentials,
38938        native_type: GCredentialsType,
38939    ) -> gpointer;
38940}
38941extern "C" {
38942    pub fn g_credentials_set_native(
38943        credentials: *mut GCredentials,
38944        native_type: GCredentialsType,
38945        native: gpointer,
38946    );
38947}
38948extern "C" {
38949    pub fn g_credentials_is_same_user(
38950        credentials: *mut GCredentials,
38951        other_credentials: *mut GCredentials,
38952        error: *mut *mut GError,
38953    ) -> gboolean;
38954}
38955extern "C" {
38956    pub fn g_credentials_get_unix_pid(
38957        credentials: *mut GCredentials,
38958        error: *mut *mut GError,
38959    ) -> pid_t;
38960}
38961extern "C" {
38962    pub fn g_credentials_get_unix_user(
38963        credentials: *mut GCredentials,
38964        error: *mut *mut GError,
38965    ) -> uid_t;
38966}
38967extern "C" {
38968    pub fn g_credentials_set_unix_user(
38969        credentials: *mut GCredentials,
38970        uid: uid_t,
38971        error: *mut *mut GError,
38972    ) -> gboolean;
38973}
38974#[doc = " GDatagramBased:\n\n Interface for socket-like objects with datagram semantics.\n\n Since: 2.48"]
38975pub type GDatagramBasedInterface = _GDatagramBasedInterface;
38976#[doc = " GDatagramBasedInterface:\n @g_iface: The parent interface.\n @receive_messages: Virtual method for g_datagram_based_receive_messages().\n @send_messages: Virtual method for g_datagram_based_send_messages().\n @create_source: Virtual method for g_datagram_based_create_source().\n @condition_check: Virtual method for g_datagram_based_condition_check().\n @condition_wait: Virtual method for\n   g_datagram_based_condition_wait().\n\n Provides an interface for socket-like objects which have datagram semantics,\n following the Berkeley sockets API. The interface methods are thin wrappers\n around the corresponding virtual methods, and no pre-processing of inputs is\n implemented — so implementations of this API must handle all functionality\n documented in the interface methods.\n\n Since: 2.48"]
38977#[repr(C)]
38978#[derive(Debug, Copy, Clone, PartialEq, Eq)]
38979pub struct _GDatagramBasedInterface {
38980    pub g_iface: GTypeInterface,
38981    pub receive_messages: ::std::option::Option<
38982        unsafe extern "C" fn(
38983            datagram_based: *mut GDatagramBased,
38984            messages: *mut GInputMessage,
38985            num_messages: guint,
38986            flags: gint,
38987            timeout: gint64,
38988            cancellable: *mut GCancellable,
38989            error: *mut *mut GError,
38990        ) -> gint,
38991    >,
38992    pub send_messages: ::std::option::Option<
38993        unsafe extern "C" fn(
38994            datagram_based: *mut GDatagramBased,
38995            messages: *mut GOutputMessage,
38996            num_messages: guint,
38997            flags: gint,
38998            timeout: gint64,
38999            cancellable: *mut GCancellable,
39000            error: *mut *mut GError,
39001        ) -> gint,
39002    >,
39003    pub create_source: ::std::option::Option<
39004        unsafe extern "C" fn(
39005            datagram_based: *mut GDatagramBased,
39006            condition: GIOCondition,
39007            cancellable: *mut GCancellable,
39008        ) -> *mut GSource,
39009    >,
39010    pub condition_check: ::std::option::Option<
39011        unsafe extern "C" fn(
39012            datagram_based: *mut GDatagramBased,
39013            condition: GIOCondition,
39014        ) -> GIOCondition,
39015    >,
39016    pub condition_wait: ::std::option::Option<
39017        unsafe extern "C" fn(
39018            datagram_based: *mut GDatagramBased,
39019            condition: GIOCondition,
39020            timeout: gint64,
39021            cancellable: *mut GCancellable,
39022            error: *mut *mut GError,
39023        ) -> gboolean,
39024    >,
39025}
39026#[test]
39027fn bindgen_test_layout__GDatagramBasedInterface() {
39028    const UNINIT: ::std::mem::MaybeUninit<_GDatagramBasedInterface> =
39029        ::std::mem::MaybeUninit::uninit();
39030    let ptr = UNINIT.as_ptr();
39031    assert_eq!(
39032        ::std::mem::size_of::<_GDatagramBasedInterface>(),
39033        56usize,
39034        concat!("Size of: ", stringify!(_GDatagramBasedInterface))
39035    );
39036    assert_eq!(
39037        ::std::mem::align_of::<_GDatagramBasedInterface>(),
39038        8usize,
39039        concat!("Alignment of ", stringify!(_GDatagramBasedInterface))
39040    );
39041    assert_eq!(
39042        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
39043        0usize,
39044        concat!(
39045            "Offset of field: ",
39046            stringify!(_GDatagramBasedInterface),
39047            "::",
39048            stringify!(g_iface)
39049        )
39050    );
39051    assert_eq!(
39052        unsafe { ::std::ptr::addr_of!((*ptr).receive_messages) as usize - ptr as usize },
39053        16usize,
39054        concat!(
39055            "Offset of field: ",
39056            stringify!(_GDatagramBasedInterface),
39057            "::",
39058            stringify!(receive_messages)
39059        )
39060    );
39061    assert_eq!(
39062        unsafe { ::std::ptr::addr_of!((*ptr).send_messages) as usize - ptr as usize },
39063        24usize,
39064        concat!(
39065            "Offset of field: ",
39066            stringify!(_GDatagramBasedInterface),
39067            "::",
39068            stringify!(send_messages)
39069        )
39070    );
39071    assert_eq!(
39072        unsafe { ::std::ptr::addr_of!((*ptr).create_source) as usize - ptr as usize },
39073        32usize,
39074        concat!(
39075            "Offset of field: ",
39076            stringify!(_GDatagramBasedInterface),
39077            "::",
39078            stringify!(create_source)
39079        )
39080    );
39081    assert_eq!(
39082        unsafe { ::std::ptr::addr_of!((*ptr).condition_check) as usize - ptr as usize },
39083        40usize,
39084        concat!(
39085            "Offset of field: ",
39086            stringify!(_GDatagramBasedInterface),
39087            "::",
39088            stringify!(condition_check)
39089        )
39090    );
39091    assert_eq!(
39092        unsafe { ::std::ptr::addr_of!((*ptr).condition_wait) as usize - ptr as usize },
39093        48usize,
39094        concat!(
39095            "Offset of field: ",
39096            stringify!(_GDatagramBasedInterface),
39097            "::",
39098            stringify!(condition_wait)
39099        )
39100    );
39101}
39102extern "C" {
39103    pub fn g_datagram_based_get_type() -> GType;
39104}
39105extern "C" {
39106    pub fn g_datagram_based_receive_messages(
39107        datagram_based: *mut GDatagramBased,
39108        messages: *mut GInputMessage,
39109        num_messages: guint,
39110        flags: gint,
39111        timeout: gint64,
39112        cancellable: *mut GCancellable,
39113        error: *mut *mut GError,
39114    ) -> gint;
39115}
39116extern "C" {
39117    pub fn g_datagram_based_send_messages(
39118        datagram_based: *mut GDatagramBased,
39119        messages: *mut GOutputMessage,
39120        num_messages: guint,
39121        flags: gint,
39122        timeout: gint64,
39123        cancellable: *mut GCancellable,
39124        error: *mut *mut GError,
39125    ) -> gint;
39126}
39127extern "C" {
39128    pub fn g_datagram_based_create_source(
39129        datagram_based: *mut GDatagramBased,
39130        condition: GIOCondition,
39131        cancellable: *mut GCancellable,
39132    ) -> *mut GSource;
39133}
39134extern "C" {
39135    pub fn g_datagram_based_condition_check(
39136        datagram_based: *mut GDatagramBased,
39137        condition: GIOCondition,
39138    ) -> GIOCondition;
39139}
39140extern "C" {
39141    pub fn g_datagram_based_condition_wait(
39142        datagram_based: *mut GDatagramBased,
39143        condition: GIOCondition,
39144        timeout: gint64,
39145        cancellable: *mut GCancellable,
39146        error: *mut *mut GError,
39147    ) -> gboolean;
39148}
39149#[doc = " GDataInputStream:\n\n An implementation of #GBufferedInputStream that allows for high-level\n data manipulation of arbitrary data (including binary operations)."]
39150pub type GDataInputStreamClass = _GDataInputStreamClass;
39151#[repr(C)]
39152#[derive(Debug, Copy, Clone)]
39153pub struct _GDataInputStreamPrivate {
39154    _unused: [u8; 0],
39155}
39156pub type GDataInputStreamPrivate = _GDataInputStreamPrivate;
39157#[repr(C)]
39158#[derive(Debug, Copy, Clone, PartialEq, Eq)]
39159pub struct _GDataInputStream {
39160    pub parent_instance: GBufferedInputStream,
39161    pub priv_: *mut GDataInputStreamPrivate,
39162}
39163#[test]
39164fn bindgen_test_layout__GDataInputStream() {
39165    const UNINIT: ::std::mem::MaybeUninit<_GDataInputStream> = ::std::mem::MaybeUninit::uninit();
39166    let ptr = UNINIT.as_ptr();
39167    assert_eq!(
39168        ::std::mem::size_of::<_GDataInputStream>(),
39169        56usize,
39170        concat!("Size of: ", stringify!(_GDataInputStream))
39171    );
39172    assert_eq!(
39173        ::std::mem::align_of::<_GDataInputStream>(),
39174        8usize,
39175        concat!("Alignment of ", stringify!(_GDataInputStream))
39176    );
39177    assert_eq!(
39178        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
39179        0usize,
39180        concat!(
39181            "Offset of field: ",
39182            stringify!(_GDataInputStream),
39183            "::",
39184            stringify!(parent_instance)
39185        )
39186    );
39187    assert_eq!(
39188        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
39189        48usize,
39190        concat!(
39191            "Offset of field: ",
39192            stringify!(_GDataInputStream),
39193            "::",
39194            stringify!(priv_)
39195        )
39196    );
39197}
39198#[repr(C)]
39199#[derive(Debug, Copy, Clone, PartialEq, Eq)]
39200pub struct _GDataInputStreamClass {
39201    pub parent_class: GBufferedInputStreamClass,
39202    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
39203    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
39204    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
39205    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
39206    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
39207}
39208#[test]
39209fn bindgen_test_layout__GDataInputStreamClass() {
39210    const UNINIT: ::std::mem::MaybeUninit<_GDataInputStreamClass> =
39211        ::std::mem::MaybeUninit::uninit();
39212    let ptr = UNINIT.as_ptr();
39213    assert_eq!(
39214        ::std::mem::size_of::<_GDataInputStreamClass>(),
39215        376usize,
39216        concat!("Size of: ", stringify!(_GDataInputStreamClass))
39217    );
39218    assert_eq!(
39219        ::std::mem::align_of::<_GDataInputStreamClass>(),
39220        8usize,
39221        concat!("Alignment of ", stringify!(_GDataInputStreamClass))
39222    );
39223    assert_eq!(
39224        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
39225        0usize,
39226        concat!(
39227            "Offset of field: ",
39228            stringify!(_GDataInputStreamClass),
39229            "::",
39230            stringify!(parent_class)
39231        )
39232    );
39233    assert_eq!(
39234        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
39235        336usize,
39236        concat!(
39237            "Offset of field: ",
39238            stringify!(_GDataInputStreamClass),
39239            "::",
39240            stringify!(_g_reserved1)
39241        )
39242    );
39243    assert_eq!(
39244        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
39245        344usize,
39246        concat!(
39247            "Offset of field: ",
39248            stringify!(_GDataInputStreamClass),
39249            "::",
39250            stringify!(_g_reserved2)
39251        )
39252    );
39253    assert_eq!(
39254        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
39255        352usize,
39256        concat!(
39257            "Offset of field: ",
39258            stringify!(_GDataInputStreamClass),
39259            "::",
39260            stringify!(_g_reserved3)
39261        )
39262    );
39263    assert_eq!(
39264        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
39265        360usize,
39266        concat!(
39267            "Offset of field: ",
39268            stringify!(_GDataInputStreamClass),
39269            "::",
39270            stringify!(_g_reserved4)
39271        )
39272    );
39273    assert_eq!(
39274        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
39275        368usize,
39276        concat!(
39277            "Offset of field: ",
39278            stringify!(_GDataInputStreamClass),
39279            "::",
39280            stringify!(_g_reserved5)
39281        )
39282    );
39283}
39284extern "C" {
39285    pub fn g_data_input_stream_get_type() -> GType;
39286}
39287extern "C" {
39288    pub fn g_data_input_stream_new(base_stream: *mut GInputStream) -> *mut GDataInputStream;
39289}
39290extern "C" {
39291    pub fn g_data_input_stream_set_byte_order(
39292        stream: *mut GDataInputStream,
39293        order: GDataStreamByteOrder,
39294    );
39295}
39296extern "C" {
39297    pub fn g_data_input_stream_get_byte_order(
39298        stream: *mut GDataInputStream,
39299    ) -> GDataStreamByteOrder;
39300}
39301extern "C" {
39302    pub fn g_data_input_stream_set_newline_type(
39303        stream: *mut GDataInputStream,
39304        type_: GDataStreamNewlineType,
39305    );
39306}
39307extern "C" {
39308    pub fn g_data_input_stream_get_newline_type(
39309        stream: *mut GDataInputStream,
39310    ) -> GDataStreamNewlineType;
39311}
39312extern "C" {
39313    pub fn g_data_input_stream_read_byte(
39314        stream: *mut GDataInputStream,
39315        cancellable: *mut GCancellable,
39316        error: *mut *mut GError,
39317    ) -> guchar;
39318}
39319extern "C" {
39320    pub fn g_data_input_stream_read_int16(
39321        stream: *mut GDataInputStream,
39322        cancellable: *mut GCancellable,
39323        error: *mut *mut GError,
39324    ) -> gint16;
39325}
39326extern "C" {
39327    pub fn g_data_input_stream_read_uint16(
39328        stream: *mut GDataInputStream,
39329        cancellable: *mut GCancellable,
39330        error: *mut *mut GError,
39331    ) -> guint16;
39332}
39333extern "C" {
39334    pub fn g_data_input_stream_read_int32(
39335        stream: *mut GDataInputStream,
39336        cancellable: *mut GCancellable,
39337        error: *mut *mut GError,
39338    ) -> gint32;
39339}
39340extern "C" {
39341    pub fn g_data_input_stream_read_uint32(
39342        stream: *mut GDataInputStream,
39343        cancellable: *mut GCancellable,
39344        error: *mut *mut GError,
39345    ) -> guint32;
39346}
39347extern "C" {
39348    pub fn g_data_input_stream_read_int64(
39349        stream: *mut GDataInputStream,
39350        cancellable: *mut GCancellable,
39351        error: *mut *mut GError,
39352    ) -> gint64;
39353}
39354extern "C" {
39355    pub fn g_data_input_stream_read_uint64(
39356        stream: *mut GDataInputStream,
39357        cancellable: *mut GCancellable,
39358        error: *mut *mut GError,
39359    ) -> guint64;
39360}
39361extern "C" {
39362    pub fn g_data_input_stream_read_line(
39363        stream: *mut GDataInputStream,
39364        length: *mut gsize,
39365        cancellable: *mut GCancellable,
39366        error: *mut *mut GError,
39367    ) -> *mut ::std::os::raw::c_char;
39368}
39369extern "C" {
39370    pub fn g_data_input_stream_read_line_utf8(
39371        stream: *mut GDataInputStream,
39372        length: *mut gsize,
39373        cancellable: *mut GCancellable,
39374        error: *mut *mut GError,
39375    ) -> *mut ::std::os::raw::c_char;
39376}
39377extern "C" {
39378    pub fn g_data_input_stream_read_line_async(
39379        stream: *mut GDataInputStream,
39380        io_priority: gint,
39381        cancellable: *mut GCancellable,
39382        callback: GAsyncReadyCallback,
39383        user_data: gpointer,
39384    );
39385}
39386extern "C" {
39387    pub fn g_data_input_stream_read_line_finish(
39388        stream: *mut GDataInputStream,
39389        result: *mut GAsyncResult,
39390        length: *mut gsize,
39391        error: *mut *mut GError,
39392    ) -> *mut ::std::os::raw::c_char;
39393}
39394extern "C" {
39395    pub fn g_data_input_stream_read_line_finish_utf8(
39396        stream: *mut GDataInputStream,
39397        result: *mut GAsyncResult,
39398        length: *mut gsize,
39399        error: *mut *mut GError,
39400    ) -> *mut ::std::os::raw::c_char;
39401}
39402extern "C" {
39403    pub fn g_data_input_stream_read_until(
39404        stream: *mut GDataInputStream,
39405        stop_chars: *const gchar,
39406        length: *mut gsize,
39407        cancellable: *mut GCancellable,
39408        error: *mut *mut GError,
39409    ) -> *mut ::std::os::raw::c_char;
39410}
39411extern "C" {
39412    pub fn g_data_input_stream_read_until_async(
39413        stream: *mut GDataInputStream,
39414        stop_chars: *const gchar,
39415        io_priority: gint,
39416        cancellable: *mut GCancellable,
39417        callback: GAsyncReadyCallback,
39418        user_data: gpointer,
39419    );
39420}
39421extern "C" {
39422    pub fn g_data_input_stream_read_until_finish(
39423        stream: *mut GDataInputStream,
39424        result: *mut GAsyncResult,
39425        length: *mut gsize,
39426        error: *mut *mut GError,
39427    ) -> *mut ::std::os::raw::c_char;
39428}
39429extern "C" {
39430    pub fn g_data_input_stream_read_upto(
39431        stream: *mut GDataInputStream,
39432        stop_chars: *const gchar,
39433        stop_chars_len: gssize,
39434        length: *mut gsize,
39435        cancellable: *mut GCancellable,
39436        error: *mut *mut GError,
39437    ) -> *mut ::std::os::raw::c_char;
39438}
39439extern "C" {
39440    pub fn g_data_input_stream_read_upto_async(
39441        stream: *mut GDataInputStream,
39442        stop_chars: *const gchar,
39443        stop_chars_len: gssize,
39444        io_priority: gint,
39445        cancellable: *mut GCancellable,
39446        callback: GAsyncReadyCallback,
39447        user_data: gpointer,
39448    );
39449}
39450extern "C" {
39451    pub fn g_data_input_stream_read_upto_finish(
39452        stream: *mut GDataInputStream,
39453        result: *mut GAsyncResult,
39454        length: *mut gsize,
39455        error: *mut *mut GError,
39456    ) -> *mut ::std::os::raw::c_char;
39457}
39458#[doc = " GDataOutputStream:\n\n An implementation of #GBufferedOutputStream that allows for high-level\n data manipulation of arbitrary data (including binary operations)."]
39459pub type GDataOutputStream = _GDataOutputStream;
39460pub type GDataOutputStreamClass = _GDataOutputStreamClass;
39461#[repr(C)]
39462#[derive(Debug, Copy, Clone)]
39463pub struct _GDataOutputStreamPrivate {
39464    _unused: [u8; 0],
39465}
39466pub type GDataOutputStreamPrivate = _GDataOutputStreamPrivate;
39467#[repr(C)]
39468#[derive(Debug, Copy, Clone, PartialEq, Eq)]
39469pub struct _GDataOutputStream {
39470    pub parent_instance: GFilterOutputStream,
39471    pub priv_: *mut GDataOutputStreamPrivate,
39472}
39473#[test]
39474fn bindgen_test_layout__GDataOutputStream() {
39475    const UNINIT: ::std::mem::MaybeUninit<_GDataOutputStream> = ::std::mem::MaybeUninit::uninit();
39476    let ptr = UNINIT.as_ptr();
39477    assert_eq!(
39478        ::std::mem::size_of::<_GDataOutputStream>(),
39479        48usize,
39480        concat!("Size of: ", stringify!(_GDataOutputStream))
39481    );
39482    assert_eq!(
39483        ::std::mem::align_of::<_GDataOutputStream>(),
39484        8usize,
39485        concat!("Alignment of ", stringify!(_GDataOutputStream))
39486    );
39487    assert_eq!(
39488        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
39489        0usize,
39490        concat!(
39491            "Offset of field: ",
39492            stringify!(_GDataOutputStream),
39493            "::",
39494            stringify!(parent_instance)
39495        )
39496    );
39497    assert_eq!(
39498        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
39499        40usize,
39500        concat!(
39501            "Offset of field: ",
39502            stringify!(_GDataOutputStream),
39503            "::",
39504            stringify!(priv_)
39505        )
39506    );
39507}
39508#[repr(C)]
39509#[derive(Debug, Copy, Clone, PartialEq, Eq)]
39510pub struct _GDataOutputStreamClass {
39511    pub parent_class: GFilterOutputStreamClass,
39512    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
39513    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
39514    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
39515    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
39516    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
39517}
39518#[test]
39519fn bindgen_test_layout__GDataOutputStreamClass() {
39520    const UNINIT: ::std::mem::MaybeUninit<_GDataOutputStreamClass> =
39521        ::std::mem::MaybeUninit::uninit();
39522    let ptr = UNINIT.as_ptr();
39523    assert_eq!(
39524        ::std::mem::size_of::<_GDataOutputStreamClass>(),
39525        360usize,
39526        concat!("Size of: ", stringify!(_GDataOutputStreamClass))
39527    );
39528    assert_eq!(
39529        ::std::mem::align_of::<_GDataOutputStreamClass>(),
39530        8usize,
39531        concat!("Alignment of ", stringify!(_GDataOutputStreamClass))
39532    );
39533    assert_eq!(
39534        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
39535        0usize,
39536        concat!(
39537            "Offset of field: ",
39538            stringify!(_GDataOutputStreamClass),
39539            "::",
39540            stringify!(parent_class)
39541        )
39542    );
39543    assert_eq!(
39544        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
39545        320usize,
39546        concat!(
39547            "Offset of field: ",
39548            stringify!(_GDataOutputStreamClass),
39549            "::",
39550            stringify!(_g_reserved1)
39551        )
39552    );
39553    assert_eq!(
39554        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
39555        328usize,
39556        concat!(
39557            "Offset of field: ",
39558            stringify!(_GDataOutputStreamClass),
39559            "::",
39560            stringify!(_g_reserved2)
39561        )
39562    );
39563    assert_eq!(
39564        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
39565        336usize,
39566        concat!(
39567            "Offset of field: ",
39568            stringify!(_GDataOutputStreamClass),
39569            "::",
39570            stringify!(_g_reserved3)
39571        )
39572    );
39573    assert_eq!(
39574        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
39575        344usize,
39576        concat!(
39577            "Offset of field: ",
39578            stringify!(_GDataOutputStreamClass),
39579            "::",
39580            stringify!(_g_reserved4)
39581        )
39582    );
39583    assert_eq!(
39584        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
39585        352usize,
39586        concat!(
39587            "Offset of field: ",
39588            stringify!(_GDataOutputStreamClass),
39589            "::",
39590            stringify!(_g_reserved5)
39591        )
39592    );
39593}
39594extern "C" {
39595    pub fn g_data_output_stream_get_type() -> GType;
39596}
39597extern "C" {
39598    pub fn g_data_output_stream_new(base_stream: *mut GOutputStream) -> *mut GDataOutputStream;
39599}
39600extern "C" {
39601    pub fn g_data_output_stream_set_byte_order(
39602        stream: *mut GDataOutputStream,
39603        order: GDataStreamByteOrder,
39604    );
39605}
39606extern "C" {
39607    pub fn g_data_output_stream_get_byte_order(
39608        stream: *mut GDataOutputStream,
39609    ) -> GDataStreamByteOrder;
39610}
39611extern "C" {
39612    pub fn g_data_output_stream_put_byte(
39613        stream: *mut GDataOutputStream,
39614        data: guchar,
39615        cancellable: *mut GCancellable,
39616        error: *mut *mut GError,
39617    ) -> gboolean;
39618}
39619extern "C" {
39620    pub fn g_data_output_stream_put_int16(
39621        stream: *mut GDataOutputStream,
39622        data: gint16,
39623        cancellable: *mut GCancellable,
39624        error: *mut *mut GError,
39625    ) -> gboolean;
39626}
39627extern "C" {
39628    pub fn g_data_output_stream_put_uint16(
39629        stream: *mut GDataOutputStream,
39630        data: guint16,
39631        cancellable: *mut GCancellable,
39632        error: *mut *mut GError,
39633    ) -> gboolean;
39634}
39635extern "C" {
39636    pub fn g_data_output_stream_put_int32(
39637        stream: *mut GDataOutputStream,
39638        data: gint32,
39639        cancellable: *mut GCancellable,
39640        error: *mut *mut GError,
39641    ) -> gboolean;
39642}
39643extern "C" {
39644    pub fn g_data_output_stream_put_uint32(
39645        stream: *mut GDataOutputStream,
39646        data: guint32,
39647        cancellable: *mut GCancellable,
39648        error: *mut *mut GError,
39649    ) -> gboolean;
39650}
39651extern "C" {
39652    pub fn g_data_output_stream_put_int64(
39653        stream: *mut GDataOutputStream,
39654        data: gint64,
39655        cancellable: *mut GCancellable,
39656        error: *mut *mut GError,
39657    ) -> gboolean;
39658}
39659extern "C" {
39660    pub fn g_data_output_stream_put_uint64(
39661        stream: *mut GDataOutputStream,
39662        data: guint64,
39663        cancellable: *mut GCancellable,
39664        error: *mut *mut GError,
39665    ) -> gboolean;
39666}
39667extern "C" {
39668    pub fn g_data_output_stream_put_string(
39669        stream: *mut GDataOutputStream,
39670        str_: *const ::std::os::raw::c_char,
39671        cancellable: *mut GCancellable,
39672        error: *mut *mut GError,
39673    ) -> gboolean;
39674}
39675extern "C" {
39676    pub fn g_dbus_action_group_get_type() -> GType;
39677}
39678extern "C" {
39679    pub fn g_dbus_action_group_get(
39680        connection: *mut GDBusConnection,
39681        bus_name: *const gchar,
39682        object_path: *const gchar,
39683    ) -> *mut GDBusActionGroup;
39684}
39685extern "C" {
39686    pub fn g_dbus_address_escape_value(string: *const gchar) -> *mut gchar;
39687}
39688extern "C" {
39689    pub fn g_dbus_is_address(string: *const gchar) -> gboolean;
39690}
39691extern "C" {
39692    pub fn g_dbus_is_supported_address(string: *const gchar, error: *mut *mut GError) -> gboolean;
39693}
39694extern "C" {
39695    pub fn g_dbus_address_get_stream(
39696        address: *const gchar,
39697        cancellable: *mut GCancellable,
39698        callback: GAsyncReadyCallback,
39699        user_data: gpointer,
39700    );
39701}
39702extern "C" {
39703    pub fn g_dbus_address_get_stream_finish(
39704        res: *mut GAsyncResult,
39705        out_guid: *mut *mut gchar,
39706        error: *mut *mut GError,
39707    ) -> *mut GIOStream;
39708}
39709extern "C" {
39710    pub fn g_dbus_address_get_stream_sync(
39711        address: *const gchar,
39712        out_guid: *mut *mut gchar,
39713        cancellable: *mut GCancellable,
39714        error: *mut *mut GError,
39715    ) -> *mut GIOStream;
39716}
39717extern "C" {
39718    pub fn g_dbus_address_get_for_bus_sync(
39719        bus_type: GBusType,
39720        cancellable: *mut GCancellable,
39721        error: *mut *mut GError,
39722    ) -> *mut gchar;
39723}
39724extern "C" {
39725    pub fn g_dbus_auth_observer_get_type() -> GType;
39726}
39727extern "C" {
39728    pub fn g_dbus_auth_observer_new() -> *mut GDBusAuthObserver;
39729}
39730extern "C" {
39731    pub fn g_dbus_auth_observer_authorize_authenticated_peer(
39732        observer: *mut GDBusAuthObserver,
39733        stream: *mut GIOStream,
39734        credentials: *mut GCredentials,
39735    ) -> gboolean;
39736}
39737extern "C" {
39738    pub fn g_dbus_auth_observer_allow_mechanism(
39739        observer: *mut GDBusAuthObserver,
39740        mechanism: *const gchar,
39741    ) -> gboolean;
39742}
39743extern "C" {
39744    pub fn g_dbus_connection_get_type() -> GType;
39745}
39746extern "C" {
39747    pub fn g_bus_get(
39748        bus_type: GBusType,
39749        cancellable: *mut GCancellable,
39750        callback: GAsyncReadyCallback,
39751        user_data: gpointer,
39752    );
39753}
39754extern "C" {
39755    pub fn g_bus_get_finish(
39756        res: *mut GAsyncResult,
39757        error: *mut *mut GError,
39758    ) -> *mut GDBusConnection;
39759}
39760extern "C" {
39761    pub fn g_bus_get_sync(
39762        bus_type: GBusType,
39763        cancellable: *mut GCancellable,
39764        error: *mut *mut GError,
39765    ) -> *mut GDBusConnection;
39766}
39767extern "C" {
39768    pub fn g_dbus_connection_new(
39769        stream: *mut GIOStream,
39770        guid: *const gchar,
39771        flags: GDBusConnectionFlags,
39772        observer: *mut GDBusAuthObserver,
39773        cancellable: *mut GCancellable,
39774        callback: GAsyncReadyCallback,
39775        user_data: gpointer,
39776    );
39777}
39778extern "C" {
39779    pub fn g_dbus_connection_new_finish(
39780        res: *mut GAsyncResult,
39781        error: *mut *mut GError,
39782    ) -> *mut GDBusConnection;
39783}
39784extern "C" {
39785    pub fn g_dbus_connection_new_sync(
39786        stream: *mut GIOStream,
39787        guid: *const gchar,
39788        flags: GDBusConnectionFlags,
39789        observer: *mut GDBusAuthObserver,
39790        cancellable: *mut GCancellable,
39791        error: *mut *mut GError,
39792    ) -> *mut GDBusConnection;
39793}
39794extern "C" {
39795    pub fn g_dbus_connection_new_for_address(
39796        address: *const gchar,
39797        flags: GDBusConnectionFlags,
39798        observer: *mut GDBusAuthObserver,
39799        cancellable: *mut GCancellable,
39800        callback: GAsyncReadyCallback,
39801        user_data: gpointer,
39802    );
39803}
39804extern "C" {
39805    pub fn g_dbus_connection_new_for_address_finish(
39806        res: *mut GAsyncResult,
39807        error: *mut *mut GError,
39808    ) -> *mut GDBusConnection;
39809}
39810extern "C" {
39811    pub fn g_dbus_connection_new_for_address_sync(
39812        address: *const gchar,
39813        flags: GDBusConnectionFlags,
39814        observer: *mut GDBusAuthObserver,
39815        cancellable: *mut GCancellable,
39816        error: *mut *mut GError,
39817    ) -> *mut GDBusConnection;
39818}
39819extern "C" {
39820    pub fn g_dbus_connection_start_message_processing(connection: *mut GDBusConnection);
39821}
39822extern "C" {
39823    pub fn g_dbus_connection_is_closed(connection: *mut GDBusConnection) -> gboolean;
39824}
39825extern "C" {
39826    pub fn g_dbus_connection_get_stream(connection: *mut GDBusConnection) -> *mut GIOStream;
39827}
39828extern "C" {
39829    pub fn g_dbus_connection_get_guid(connection: *mut GDBusConnection) -> *const gchar;
39830}
39831extern "C" {
39832    pub fn g_dbus_connection_get_unique_name(connection: *mut GDBusConnection) -> *const gchar;
39833}
39834extern "C" {
39835    pub fn g_dbus_connection_get_peer_credentials(
39836        connection: *mut GDBusConnection,
39837    ) -> *mut GCredentials;
39838}
39839extern "C" {
39840    pub fn g_dbus_connection_get_last_serial(connection: *mut GDBusConnection) -> guint32;
39841}
39842extern "C" {
39843    pub fn g_dbus_connection_get_exit_on_close(connection: *mut GDBusConnection) -> gboolean;
39844}
39845extern "C" {
39846    pub fn g_dbus_connection_set_exit_on_close(
39847        connection: *mut GDBusConnection,
39848        exit_on_close: gboolean,
39849    );
39850}
39851extern "C" {
39852    pub fn g_dbus_connection_get_capabilities(
39853        connection: *mut GDBusConnection,
39854    ) -> GDBusCapabilityFlags;
39855}
39856extern "C" {
39857    pub fn g_dbus_connection_get_flags(connection: *mut GDBusConnection) -> GDBusConnectionFlags;
39858}
39859extern "C" {
39860    pub fn g_dbus_connection_close(
39861        connection: *mut GDBusConnection,
39862        cancellable: *mut GCancellable,
39863        callback: GAsyncReadyCallback,
39864        user_data: gpointer,
39865    );
39866}
39867extern "C" {
39868    pub fn g_dbus_connection_close_finish(
39869        connection: *mut GDBusConnection,
39870        res: *mut GAsyncResult,
39871        error: *mut *mut GError,
39872    ) -> gboolean;
39873}
39874extern "C" {
39875    pub fn g_dbus_connection_close_sync(
39876        connection: *mut GDBusConnection,
39877        cancellable: *mut GCancellable,
39878        error: *mut *mut GError,
39879    ) -> gboolean;
39880}
39881extern "C" {
39882    pub fn g_dbus_connection_flush(
39883        connection: *mut GDBusConnection,
39884        cancellable: *mut GCancellable,
39885        callback: GAsyncReadyCallback,
39886        user_data: gpointer,
39887    );
39888}
39889extern "C" {
39890    pub fn g_dbus_connection_flush_finish(
39891        connection: *mut GDBusConnection,
39892        res: *mut GAsyncResult,
39893        error: *mut *mut GError,
39894    ) -> gboolean;
39895}
39896extern "C" {
39897    pub fn g_dbus_connection_flush_sync(
39898        connection: *mut GDBusConnection,
39899        cancellable: *mut GCancellable,
39900        error: *mut *mut GError,
39901    ) -> gboolean;
39902}
39903extern "C" {
39904    pub fn g_dbus_connection_send_message(
39905        connection: *mut GDBusConnection,
39906        message: *mut GDBusMessage,
39907        flags: GDBusSendMessageFlags,
39908        out_serial: *mut guint32,
39909        error: *mut *mut GError,
39910    ) -> gboolean;
39911}
39912extern "C" {
39913    pub fn g_dbus_connection_send_message_with_reply(
39914        connection: *mut GDBusConnection,
39915        message: *mut GDBusMessage,
39916        flags: GDBusSendMessageFlags,
39917        timeout_msec: gint,
39918        out_serial: *mut guint32,
39919        cancellable: *mut GCancellable,
39920        callback: GAsyncReadyCallback,
39921        user_data: gpointer,
39922    );
39923}
39924extern "C" {
39925    pub fn g_dbus_connection_send_message_with_reply_finish(
39926        connection: *mut GDBusConnection,
39927        res: *mut GAsyncResult,
39928        error: *mut *mut GError,
39929    ) -> *mut GDBusMessage;
39930}
39931extern "C" {
39932    pub fn g_dbus_connection_send_message_with_reply_sync(
39933        connection: *mut GDBusConnection,
39934        message: *mut GDBusMessage,
39935        flags: GDBusSendMessageFlags,
39936        timeout_msec: gint,
39937        out_serial: *mut guint32,
39938        cancellable: *mut GCancellable,
39939        error: *mut *mut GError,
39940    ) -> *mut GDBusMessage;
39941}
39942extern "C" {
39943    pub fn g_dbus_connection_emit_signal(
39944        connection: *mut GDBusConnection,
39945        destination_bus_name: *const gchar,
39946        object_path: *const gchar,
39947        interface_name: *const gchar,
39948        signal_name: *const gchar,
39949        parameters: *mut GVariant,
39950        error: *mut *mut GError,
39951    ) -> gboolean;
39952}
39953extern "C" {
39954    pub fn g_dbus_connection_call(
39955        connection: *mut GDBusConnection,
39956        bus_name: *const gchar,
39957        object_path: *const gchar,
39958        interface_name: *const gchar,
39959        method_name: *const gchar,
39960        parameters: *mut GVariant,
39961        reply_type: *const GVariantType,
39962        flags: GDBusCallFlags,
39963        timeout_msec: gint,
39964        cancellable: *mut GCancellable,
39965        callback: GAsyncReadyCallback,
39966        user_data: gpointer,
39967    );
39968}
39969extern "C" {
39970    pub fn g_dbus_connection_call_finish(
39971        connection: *mut GDBusConnection,
39972        res: *mut GAsyncResult,
39973        error: *mut *mut GError,
39974    ) -> *mut GVariant;
39975}
39976extern "C" {
39977    pub fn g_dbus_connection_call_sync(
39978        connection: *mut GDBusConnection,
39979        bus_name: *const gchar,
39980        object_path: *const gchar,
39981        interface_name: *const gchar,
39982        method_name: *const gchar,
39983        parameters: *mut GVariant,
39984        reply_type: *const GVariantType,
39985        flags: GDBusCallFlags,
39986        timeout_msec: gint,
39987        cancellable: *mut GCancellable,
39988        error: *mut *mut GError,
39989    ) -> *mut GVariant;
39990}
39991extern "C" {
39992    pub fn g_dbus_connection_call_with_unix_fd_list(
39993        connection: *mut GDBusConnection,
39994        bus_name: *const gchar,
39995        object_path: *const gchar,
39996        interface_name: *const gchar,
39997        method_name: *const gchar,
39998        parameters: *mut GVariant,
39999        reply_type: *const GVariantType,
40000        flags: GDBusCallFlags,
40001        timeout_msec: gint,
40002        fd_list: *mut GUnixFDList,
40003        cancellable: *mut GCancellable,
40004        callback: GAsyncReadyCallback,
40005        user_data: gpointer,
40006    );
40007}
40008extern "C" {
40009    pub fn g_dbus_connection_call_with_unix_fd_list_finish(
40010        connection: *mut GDBusConnection,
40011        out_fd_list: *mut *mut GUnixFDList,
40012        res: *mut GAsyncResult,
40013        error: *mut *mut GError,
40014    ) -> *mut GVariant;
40015}
40016extern "C" {
40017    pub fn g_dbus_connection_call_with_unix_fd_list_sync(
40018        connection: *mut GDBusConnection,
40019        bus_name: *const gchar,
40020        object_path: *const gchar,
40021        interface_name: *const gchar,
40022        method_name: *const gchar,
40023        parameters: *mut GVariant,
40024        reply_type: *const GVariantType,
40025        flags: GDBusCallFlags,
40026        timeout_msec: gint,
40027        fd_list: *mut GUnixFDList,
40028        out_fd_list: *mut *mut GUnixFDList,
40029        cancellable: *mut GCancellable,
40030        error: *mut *mut GError,
40031    ) -> *mut GVariant;
40032}
40033#[doc = " GDBusInterfaceMethodCallFunc:\n @connection: A #GDBusConnection.\n @sender: The unique bus name of the remote caller.\n @object_path: The object path that the method was invoked on.\n @interface_name: The D-Bus interface name the method was invoked on.\n @method_name: The name of the method that was invoked.\n @parameters: A #GVariant tuple with parameters.\n @invocation: (transfer full): A #GDBusMethodInvocation object that must be used to return a value or error.\n @user_data: The @user_data #gpointer passed to g_dbus_connection_register_object().\n\n The type of the @method_call function in #GDBusInterfaceVTable.\n\n Since: 2.26"]
40034pub type GDBusInterfaceMethodCallFunc = ::std::option::Option<
40035    unsafe extern "C" fn(
40036        connection: *mut GDBusConnection,
40037        sender: *const gchar,
40038        object_path: *const gchar,
40039        interface_name: *const gchar,
40040        method_name: *const gchar,
40041        parameters: *mut GVariant,
40042        invocation: *mut GDBusMethodInvocation,
40043        user_data: gpointer,
40044    ),
40045>;
40046#[doc = " GDBusInterfaceGetPropertyFunc:\n @connection: A #GDBusConnection.\n @sender: The unique bus name of the remote caller.\n @object_path: The object path that the method was invoked on.\n @interface_name: The D-Bus interface name for the property.\n @property_name: The name of the property to get the value of.\n @error: Return location for error.\n @user_data: The @user_data #gpointer passed to g_dbus_connection_register_object().\n\n The type of the @get_property function in #GDBusInterfaceVTable.\n\n Returns: A #GVariant with the value for @property_name or %NULL if\n     @error is set. If the returned #GVariant is floating, it is\n     consumed - otherwise its reference count is decreased by one.\n\n Since: 2.26"]
40047pub type GDBusInterfaceGetPropertyFunc = ::std::option::Option<
40048    unsafe extern "C" fn(
40049        connection: *mut GDBusConnection,
40050        sender: *const gchar,
40051        object_path: *const gchar,
40052        interface_name: *const gchar,
40053        property_name: *const gchar,
40054        error: *mut *mut GError,
40055        user_data: gpointer,
40056    ) -> *mut GVariant,
40057>;
40058#[doc = " GDBusInterfaceSetPropertyFunc:\n @connection: A #GDBusConnection.\n @sender: The unique bus name of the remote caller.\n @object_path: The object path that the method was invoked on.\n @interface_name: The D-Bus interface name for the property.\n @property_name: The name of the property to get the value of.\n @value: The value to set the property to.\n @error: Return location for error.\n @user_data: The @user_data #gpointer passed to g_dbus_connection_register_object().\n\n The type of the @set_property function in #GDBusInterfaceVTable.\n\n Returns: %TRUE if the property was set to @value, %FALSE if @error is set.\n\n Since: 2.26"]
40059pub type GDBusInterfaceSetPropertyFunc = ::std::option::Option<
40060    unsafe extern "C" fn(
40061        connection: *mut GDBusConnection,
40062        sender: *const gchar,
40063        object_path: *const gchar,
40064        interface_name: *const gchar,
40065        property_name: *const gchar,
40066        value: *mut GVariant,
40067        error: *mut *mut GError,
40068        user_data: gpointer,
40069    ) -> gboolean,
40070>;
40071#[doc = " GDBusInterfaceVTable:\n @method_call: Function for handling incoming method calls.\n @get_property: Function for getting a property.\n @set_property: Function for setting a property.\n\n Virtual table for handling properties and method calls for a D-Bus\n interface.\n\n Since 2.38, if you want to handle getting/setting D-Bus properties\n asynchronously, give %NULL as your get_property() or set_property()\n function. The D-Bus call will be directed to your @method_call function,\n with the provided @interface_name set to \"org.freedesktop.DBus.Properties\".\n\n Ownership of the #GDBusMethodInvocation object passed to the\n method_call() function is transferred to your handler; you must\n call one of the methods of #GDBusMethodInvocation to return a reply\n (possibly empty), or an error. These functions also take ownership\n of the passed-in invocation object, so unless the invocation\n object has otherwise been referenced, it will be then be freed.\n Calling one of these functions may be done within your\n method_call() implementation but it also can be done at a later\n point to handle the method asynchronously.\n\n The usual checks on the validity of the calls is performed. For\n `Get` calls, an error is automatically returned if the property does\n not exist or the permissions do not allow access. The same checks are\n performed for `Set` calls, and the provided value is also checked for\n being the correct type.\n\n For both `Get` and `Set` calls, the #GDBusMethodInvocation\n passed to the @method_call handler can be queried with\n g_dbus_method_invocation_get_property_info() to get a pointer\n to the #GDBusPropertyInfo of the property.\n\n If you have readable properties specified in your interface info,\n you must ensure that you either provide a non-%NULL @get_property()\n function or provide implementations of both the `Get` and `GetAll`\n methods on org.freedesktop.DBus.Properties interface in your @method_call\n function. Note that the required return type of the `Get` call is\n `(v)`, not the type of the property. `GetAll` expects a return value\n of type `a{sv}`.\n\n If you have writable properties specified in your interface info,\n you must ensure that you either provide a non-%NULL @set_property()\n function or provide an implementation of the `Set` call. If implementing\n the call, you must return the value of type %G_VARIANT_TYPE_UNIT.\n\n Since: 2.26"]
40072#[repr(C)]
40073#[derive(Debug, Copy, Clone, PartialEq, Eq)]
40074pub struct _GDBusInterfaceVTable {
40075    pub method_call: GDBusInterfaceMethodCallFunc,
40076    pub get_property: GDBusInterfaceGetPropertyFunc,
40077    pub set_property: GDBusInterfaceSetPropertyFunc,
40078    pub padding: [gpointer; 8usize],
40079}
40080#[test]
40081fn bindgen_test_layout__GDBusInterfaceVTable() {
40082    const UNINIT: ::std::mem::MaybeUninit<_GDBusInterfaceVTable> =
40083        ::std::mem::MaybeUninit::uninit();
40084    let ptr = UNINIT.as_ptr();
40085    assert_eq!(
40086        ::std::mem::size_of::<_GDBusInterfaceVTable>(),
40087        88usize,
40088        concat!("Size of: ", stringify!(_GDBusInterfaceVTable))
40089    );
40090    assert_eq!(
40091        ::std::mem::align_of::<_GDBusInterfaceVTable>(),
40092        8usize,
40093        concat!("Alignment of ", stringify!(_GDBusInterfaceVTable))
40094    );
40095    assert_eq!(
40096        unsafe { ::std::ptr::addr_of!((*ptr).method_call) as usize - ptr as usize },
40097        0usize,
40098        concat!(
40099            "Offset of field: ",
40100            stringify!(_GDBusInterfaceVTable),
40101            "::",
40102            stringify!(method_call)
40103        )
40104    );
40105    assert_eq!(
40106        unsafe { ::std::ptr::addr_of!((*ptr).get_property) as usize - ptr as usize },
40107        8usize,
40108        concat!(
40109            "Offset of field: ",
40110            stringify!(_GDBusInterfaceVTable),
40111            "::",
40112            stringify!(get_property)
40113        )
40114    );
40115    assert_eq!(
40116        unsafe { ::std::ptr::addr_of!((*ptr).set_property) as usize - ptr as usize },
40117        16usize,
40118        concat!(
40119            "Offset of field: ",
40120            stringify!(_GDBusInterfaceVTable),
40121            "::",
40122            stringify!(set_property)
40123        )
40124    );
40125    assert_eq!(
40126        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
40127        24usize,
40128        concat!(
40129            "Offset of field: ",
40130            stringify!(_GDBusInterfaceVTable),
40131            "::",
40132            stringify!(padding)
40133        )
40134    );
40135}
40136extern "C" {
40137    pub fn g_dbus_connection_register_object(
40138        connection: *mut GDBusConnection,
40139        object_path: *const gchar,
40140        interface_info: *mut GDBusInterfaceInfo,
40141        vtable: *const GDBusInterfaceVTable,
40142        user_data: gpointer,
40143        user_data_free_func: GDestroyNotify,
40144        error: *mut *mut GError,
40145    ) -> guint;
40146}
40147extern "C" {
40148    pub fn g_dbus_connection_register_object_with_closures(
40149        connection: *mut GDBusConnection,
40150        object_path: *const gchar,
40151        interface_info: *mut GDBusInterfaceInfo,
40152        method_call_closure: *mut GClosure,
40153        get_property_closure: *mut GClosure,
40154        set_property_closure: *mut GClosure,
40155        error: *mut *mut GError,
40156    ) -> guint;
40157}
40158extern "C" {
40159    pub fn g_dbus_connection_unregister_object(
40160        connection: *mut GDBusConnection,
40161        registration_id: guint,
40162    ) -> gboolean;
40163}
40164#[doc = " GDBusSubtreeEnumerateFunc:\n @connection: A #GDBusConnection.\n @sender: The unique bus name of the remote caller.\n @object_path: The object path that was registered with g_dbus_connection_register_subtree().\n @user_data: The @user_data #gpointer passed to g_dbus_connection_register_subtree().\n\n The type of the @enumerate function in #GDBusSubtreeVTable.\n\n This function is called when generating introspection data and also\n when preparing to dispatch incoming messages in the event that the\n %G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES flag is not\n specified (ie: to verify that the object path is valid).\n\n Hierarchies are not supported; the items that you return should not\n contain the `/` character.\n\n The return value will be freed with g_strfreev().\n\n Returns: (array zero-terminated=1) (transfer full): A newly allocated array of strings for node names that are children of @object_path.\n\n Since: 2.26"]
40165pub type GDBusSubtreeEnumerateFunc = ::std::option::Option<
40166    unsafe extern "C" fn(
40167        connection: *mut GDBusConnection,
40168        sender: *const gchar,
40169        object_path: *const gchar,
40170        user_data: gpointer,
40171    ) -> *mut *mut gchar,
40172>;
40173#[doc = " GDBusSubtreeIntrospectFunc:\n @connection: A #GDBusConnection.\n @sender: The unique bus name of the remote caller.\n @object_path: The object path that was registered with g_dbus_connection_register_subtree().\n @node: A node that is a child of @object_path (relative to @object_path) or %NULL for the root of the subtree.\n @user_data: The @user_data #gpointer passed to g_dbus_connection_register_subtree().\n\n The type of the @introspect function in #GDBusSubtreeVTable.\n\n Subtrees are flat.  @node, if non-%NULL, is always exactly one\n segment of the object path (ie: it never contains a slash).\n\n This function should return %NULL to indicate that there is no object\n at this node.\n\n If this function returns non-%NULL, the return value is expected to\n be a %NULL-terminated array of pointers to #GDBusInterfaceInfo\n structures describing the interfaces implemented by @node.  This\n array will have g_dbus_interface_info_unref() called on each item\n before being freed with g_free().\n\n The difference between returning %NULL and an array containing zero\n items is that the standard DBus interfaces will returned to the\n remote introspector in the empty array case, but not in the %NULL\n case.\n\n Returns: (array zero-terminated=1) (nullable) (transfer full): A %NULL-terminated array of pointers to #GDBusInterfaceInfo, or %NULL.\n\n Since: 2.26"]
40174pub type GDBusSubtreeIntrospectFunc = ::std::option::Option<
40175    unsafe extern "C" fn(
40176        connection: *mut GDBusConnection,
40177        sender: *const gchar,
40178        object_path: *const gchar,
40179        node: *const gchar,
40180        user_data: gpointer,
40181    ) -> *mut *mut GDBusInterfaceInfo,
40182>;
40183#[doc = " GDBusSubtreeDispatchFunc:\n @connection: A #GDBusConnection.\n @sender: The unique bus name of the remote caller.\n @object_path: The object path that was registered with g_dbus_connection_register_subtree().\n @interface_name: The D-Bus interface name that the method call or property access is for.\n @node: A node that is a child of @object_path (relative to @object_path) or %NULL for the root of the subtree.\n @out_user_data: (nullable) (not optional): Return location for user data to pass to functions in the returned #GDBusInterfaceVTable.\n @user_data: The @user_data #gpointer passed to g_dbus_connection_register_subtree().\n\n The type of the @dispatch function in #GDBusSubtreeVTable.\n\n Subtrees are flat.  @node, if non-%NULL, is always exactly one\n segment of the object path (ie: it never contains a slash).\n\n Returns: (nullable): A #GDBusInterfaceVTable or %NULL if you don't want to handle the methods.\n\n Since: 2.26"]
40184pub type GDBusSubtreeDispatchFunc = ::std::option::Option<
40185    unsafe extern "C" fn(
40186        connection: *mut GDBusConnection,
40187        sender: *const gchar,
40188        object_path: *const gchar,
40189        interface_name: *const gchar,
40190        node: *const gchar,
40191        out_user_data: *mut gpointer,
40192        user_data: gpointer,
40193    ) -> *const GDBusInterfaceVTable,
40194>;
40195#[doc = " GDBusSubtreeVTable:\n @enumerate: Function for enumerating child nodes.\n @introspect: Function for introspecting a child node.\n @dispatch: Function for dispatching a remote call on a child node.\n\n Virtual table for handling subtrees registered with g_dbus_connection_register_subtree().\n\n Since: 2.26"]
40196#[repr(C)]
40197#[derive(Debug, Copy, Clone, PartialEq, Eq)]
40198pub struct _GDBusSubtreeVTable {
40199    pub enumerate: GDBusSubtreeEnumerateFunc,
40200    pub introspect: GDBusSubtreeIntrospectFunc,
40201    pub dispatch: GDBusSubtreeDispatchFunc,
40202    pub padding: [gpointer; 8usize],
40203}
40204#[test]
40205fn bindgen_test_layout__GDBusSubtreeVTable() {
40206    const UNINIT: ::std::mem::MaybeUninit<_GDBusSubtreeVTable> = ::std::mem::MaybeUninit::uninit();
40207    let ptr = UNINIT.as_ptr();
40208    assert_eq!(
40209        ::std::mem::size_of::<_GDBusSubtreeVTable>(),
40210        88usize,
40211        concat!("Size of: ", stringify!(_GDBusSubtreeVTable))
40212    );
40213    assert_eq!(
40214        ::std::mem::align_of::<_GDBusSubtreeVTable>(),
40215        8usize,
40216        concat!("Alignment of ", stringify!(_GDBusSubtreeVTable))
40217    );
40218    assert_eq!(
40219        unsafe { ::std::ptr::addr_of!((*ptr).enumerate) as usize - ptr as usize },
40220        0usize,
40221        concat!(
40222            "Offset of field: ",
40223            stringify!(_GDBusSubtreeVTable),
40224            "::",
40225            stringify!(enumerate)
40226        )
40227    );
40228    assert_eq!(
40229        unsafe { ::std::ptr::addr_of!((*ptr).introspect) as usize - ptr as usize },
40230        8usize,
40231        concat!(
40232            "Offset of field: ",
40233            stringify!(_GDBusSubtreeVTable),
40234            "::",
40235            stringify!(introspect)
40236        )
40237    );
40238    assert_eq!(
40239        unsafe { ::std::ptr::addr_of!((*ptr).dispatch) as usize - ptr as usize },
40240        16usize,
40241        concat!(
40242            "Offset of field: ",
40243            stringify!(_GDBusSubtreeVTable),
40244            "::",
40245            stringify!(dispatch)
40246        )
40247    );
40248    assert_eq!(
40249        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
40250        24usize,
40251        concat!(
40252            "Offset of field: ",
40253            stringify!(_GDBusSubtreeVTable),
40254            "::",
40255            stringify!(padding)
40256        )
40257    );
40258}
40259extern "C" {
40260    pub fn g_dbus_connection_register_subtree(
40261        connection: *mut GDBusConnection,
40262        object_path: *const gchar,
40263        vtable: *const GDBusSubtreeVTable,
40264        flags: GDBusSubtreeFlags,
40265        user_data: gpointer,
40266        user_data_free_func: GDestroyNotify,
40267        error: *mut *mut GError,
40268    ) -> guint;
40269}
40270extern "C" {
40271    pub fn g_dbus_connection_unregister_subtree(
40272        connection: *mut GDBusConnection,
40273        registration_id: guint,
40274    ) -> gboolean;
40275}
40276#[doc = " GDBusSignalCallback:\n @connection: A #GDBusConnection.\n @sender_name: (nullable): The unique bus name of the sender of the signal,\nor %NULL on a peer-to-peer D-Bus connection.\n @object_path: The object path that the signal was emitted on.\n @interface_name: The name of the interface.\n @signal_name: The name of the signal.\n @parameters: A #GVariant tuple with parameters for the signal.\n @user_data: User data passed when subscribing to the signal.\n\n Signature for callback function used in g_dbus_connection_signal_subscribe().\n\n Since: 2.26"]
40277pub type GDBusSignalCallback = ::std::option::Option<
40278    unsafe extern "C" fn(
40279        connection: *mut GDBusConnection,
40280        sender_name: *const gchar,
40281        object_path: *const gchar,
40282        interface_name: *const gchar,
40283        signal_name: *const gchar,
40284        parameters: *mut GVariant,
40285        user_data: gpointer,
40286    ),
40287>;
40288extern "C" {
40289    pub fn g_dbus_connection_signal_subscribe(
40290        connection: *mut GDBusConnection,
40291        sender: *const gchar,
40292        interface_name: *const gchar,
40293        member: *const gchar,
40294        object_path: *const gchar,
40295        arg0: *const gchar,
40296        flags: GDBusSignalFlags,
40297        callback: GDBusSignalCallback,
40298        user_data: gpointer,
40299        user_data_free_func: GDestroyNotify,
40300    ) -> guint;
40301}
40302extern "C" {
40303    pub fn g_dbus_connection_signal_unsubscribe(
40304        connection: *mut GDBusConnection,
40305        subscription_id: guint,
40306    );
40307}
40308#[doc = " GDBusMessageFilterFunction:\n @connection: (transfer none): A #GDBusConnection.\n @message: (transfer full): A locked #GDBusMessage that the filter function takes ownership of.\n @incoming: %TRUE if it is a message received from the other peer, %FALSE if it is\n a message to be sent to the other peer.\n @user_data: User data passed when adding the filter.\n\n Signature for function used in g_dbus_connection_add_filter().\n\n A filter function is passed a #GDBusMessage and expected to return\n a #GDBusMessage too. Passive filter functions that don't modify the\n message can simply return the @message object:\n |[\n static GDBusMessage *\n passive_filter (GDBusConnection *connection\n                 GDBusMessage    *message,\n                 gboolean         incoming,\n                 gpointer         user_data)\n {\n   // inspect @message\n   return message;\n }\n ]|\n Filter functions that wants to drop a message can simply return %NULL:\n |[\n static GDBusMessage *\n drop_filter (GDBusConnection *connection\n              GDBusMessage    *message,\n              gboolean         incoming,\n              gpointer         user_data)\n {\n   if (should_drop_message)\n     {\n       g_object_unref (message);\n       message = NULL;\n     }\n   return message;\n }\n ]|\n Finally, a filter function may modify a message by copying it:\n |[\n static GDBusMessage *\n modifying_filter (GDBusConnection *connection\n                   GDBusMessage    *message,\n                   gboolean         incoming,\n                   gpointer         user_data)\n {\n   GDBusMessage *copy;\n   GError *error;\n\n   error = NULL;\n   copy = g_dbus_message_copy (message, &error);\n   // handle @error being set\n   g_object_unref (message);\n\n   // modify @copy\n\n   return copy;\n }\n ]|\n If the returned #GDBusMessage is different from @message and cannot\n be sent on @connection (it could use features, such as file\n descriptors, not compatible with @connection), then a warning is\n logged to standard error. Applications can\n check this ahead of time using g_dbus_message_to_blob() passing a\n #GDBusCapabilityFlags value obtained from @connection.\n\n Returns: (transfer full) (nullable): A #GDBusMessage that will be freed with\n g_object_unref() or %NULL to drop the message. Passive filter\n functions can simply return the passed @message object.\n\n Since: 2.26"]
40309pub type GDBusMessageFilterFunction = ::std::option::Option<
40310    unsafe extern "C" fn(
40311        connection: *mut GDBusConnection,
40312        message: *mut GDBusMessage,
40313        incoming: gboolean,
40314        user_data: gpointer,
40315    ) -> *mut GDBusMessage,
40316>;
40317extern "C" {
40318    pub fn g_dbus_connection_add_filter(
40319        connection: *mut GDBusConnection,
40320        filter_function: GDBusMessageFilterFunction,
40321        user_data: gpointer,
40322        user_data_free_func: GDestroyNotify,
40323    ) -> guint;
40324}
40325extern "C" {
40326    pub fn g_dbus_connection_remove_filter(connection: *mut GDBusConnection, filter_id: guint);
40327}
40328extern "C" {
40329    pub fn g_dbus_error_quark() -> GQuark;
40330}
40331extern "C" {
40332    pub fn g_dbus_error_is_remote_error(error: *const GError) -> gboolean;
40333}
40334extern "C" {
40335    pub fn g_dbus_error_get_remote_error(error: *const GError) -> *mut gchar;
40336}
40337extern "C" {
40338    pub fn g_dbus_error_strip_remote_error(error: *mut GError) -> gboolean;
40339}
40340#[doc = " GDBusErrorEntry:\n @error_code: An error code.\n @dbus_error_name: The D-Bus error name to associate with @error_code.\n\n Struct used in g_dbus_error_register_error_domain().\n\n Since: 2.26"]
40341#[repr(C)]
40342#[derive(Debug, Copy, Clone, PartialEq, Eq)]
40343pub struct _GDBusErrorEntry {
40344    pub error_code: gint,
40345    pub dbus_error_name: *const gchar,
40346}
40347#[test]
40348fn bindgen_test_layout__GDBusErrorEntry() {
40349    const UNINIT: ::std::mem::MaybeUninit<_GDBusErrorEntry> = ::std::mem::MaybeUninit::uninit();
40350    let ptr = UNINIT.as_ptr();
40351    assert_eq!(
40352        ::std::mem::size_of::<_GDBusErrorEntry>(),
40353        16usize,
40354        concat!("Size of: ", stringify!(_GDBusErrorEntry))
40355    );
40356    assert_eq!(
40357        ::std::mem::align_of::<_GDBusErrorEntry>(),
40358        8usize,
40359        concat!("Alignment of ", stringify!(_GDBusErrorEntry))
40360    );
40361    assert_eq!(
40362        unsafe { ::std::ptr::addr_of!((*ptr).error_code) as usize - ptr as usize },
40363        0usize,
40364        concat!(
40365            "Offset of field: ",
40366            stringify!(_GDBusErrorEntry),
40367            "::",
40368            stringify!(error_code)
40369        )
40370    );
40371    assert_eq!(
40372        unsafe { ::std::ptr::addr_of!((*ptr).dbus_error_name) as usize - ptr as usize },
40373        8usize,
40374        concat!(
40375            "Offset of field: ",
40376            stringify!(_GDBusErrorEntry),
40377            "::",
40378            stringify!(dbus_error_name)
40379        )
40380    );
40381}
40382extern "C" {
40383    pub fn g_dbus_error_register_error(
40384        error_domain: GQuark,
40385        error_code: gint,
40386        dbus_error_name: *const gchar,
40387    ) -> gboolean;
40388}
40389extern "C" {
40390    pub fn g_dbus_error_unregister_error(
40391        error_domain: GQuark,
40392        error_code: gint,
40393        dbus_error_name: *const gchar,
40394    ) -> gboolean;
40395}
40396extern "C" {
40397    pub fn g_dbus_error_register_error_domain(
40398        error_domain_quark_name: *const gchar,
40399        quark_volatile: *mut gsize,
40400        entries: *const GDBusErrorEntry,
40401        num_entries: guint,
40402    );
40403}
40404extern "C" {
40405    pub fn g_dbus_error_new_for_dbus_error(
40406        dbus_error_name: *const gchar,
40407        dbus_error_message: *const gchar,
40408    ) -> *mut GError;
40409}
40410extern "C" {
40411    pub fn g_dbus_error_set_dbus_error(
40412        error: *mut *mut GError,
40413        dbus_error_name: *const gchar,
40414        dbus_error_message: *const gchar,
40415        format: *const gchar,
40416        ...
40417    );
40418}
40419extern "C" {
40420    pub fn g_dbus_error_set_dbus_error_valist(
40421        error: *mut *mut GError,
40422        dbus_error_name: *const gchar,
40423        dbus_error_message: *const gchar,
40424        format: *const gchar,
40425        var_args: va_list,
40426    );
40427}
40428extern "C" {
40429    pub fn g_dbus_error_encode_gerror(error: *const GError) -> *mut gchar;
40430}
40431#[doc = " GDBusInterface:\n\n Base type for D-Bus interfaces.\n\n Since: 2.30"]
40432pub type GDBusInterfaceIface = _GDBusInterfaceIface;
40433#[doc = " GDBusInterfaceIface:\n @parent_iface: The parent interface.\n @get_info: Returns a #GDBusInterfaceInfo. See g_dbus_interface_get_info().\n @get_object: Gets the enclosing #GDBusObject. See g_dbus_interface_get_object().\n @set_object: Sets the enclosing #GDBusObject. See g_dbus_interface_set_object().\n @dup_object: Gets a reference to the enclosing #GDBusObject. See g_dbus_interface_dup_object(). Added in 2.32.\n\n Base type for D-Bus interfaces.\n\n Since: 2.30"]
40434#[repr(C)]
40435#[derive(Debug, Copy, Clone, PartialEq, Eq)]
40436pub struct _GDBusInterfaceIface {
40437    pub parent_iface: GTypeInterface,
40438    pub get_info: ::std::option::Option<
40439        unsafe extern "C" fn(interface_: *mut GDBusInterface) -> *mut GDBusInterfaceInfo,
40440    >,
40441    pub get_object: ::std::option::Option<
40442        unsafe extern "C" fn(interface_: *mut GDBusInterface) -> *mut GDBusObject,
40443    >,
40444    pub set_object: ::std::option::Option<
40445        unsafe extern "C" fn(interface_: *mut GDBusInterface, object: *mut GDBusObject),
40446    >,
40447    pub dup_object: ::std::option::Option<
40448        unsafe extern "C" fn(interface_: *mut GDBusInterface) -> *mut GDBusObject,
40449    >,
40450}
40451#[test]
40452fn bindgen_test_layout__GDBusInterfaceIface() {
40453    const UNINIT: ::std::mem::MaybeUninit<_GDBusInterfaceIface> = ::std::mem::MaybeUninit::uninit();
40454    let ptr = UNINIT.as_ptr();
40455    assert_eq!(
40456        ::std::mem::size_of::<_GDBusInterfaceIface>(),
40457        48usize,
40458        concat!("Size of: ", stringify!(_GDBusInterfaceIface))
40459    );
40460    assert_eq!(
40461        ::std::mem::align_of::<_GDBusInterfaceIface>(),
40462        8usize,
40463        concat!("Alignment of ", stringify!(_GDBusInterfaceIface))
40464    );
40465    assert_eq!(
40466        unsafe { ::std::ptr::addr_of!((*ptr).parent_iface) as usize - ptr as usize },
40467        0usize,
40468        concat!(
40469            "Offset of field: ",
40470            stringify!(_GDBusInterfaceIface),
40471            "::",
40472            stringify!(parent_iface)
40473        )
40474    );
40475    assert_eq!(
40476        unsafe { ::std::ptr::addr_of!((*ptr).get_info) as usize - ptr as usize },
40477        16usize,
40478        concat!(
40479            "Offset of field: ",
40480            stringify!(_GDBusInterfaceIface),
40481            "::",
40482            stringify!(get_info)
40483        )
40484    );
40485    assert_eq!(
40486        unsafe { ::std::ptr::addr_of!((*ptr).get_object) as usize - ptr as usize },
40487        24usize,
40488        concat!(
40489            "Offset of field: ",
40490            stringify!(_GDBusInterfaceIface),
40491            "::",
40492            stringify!(get_object)
40493        )
40494    );
40495    assert_eq!(
40496        unsafe { ::std::ptr::addr_of!((*ptr).set_object) as usize - ptr as usize },
40497        32usize,
40498        concat!(
40499            "Offset of field: ",
40500            stringify!(_GDBusInterfaceIface),
40501            "::",
40502            stringify!(set_object)
40503        )
40504    );
40505    assert_eq!(
40506        unsafe { ::std::ptr::addr_of!((*ptr).dup_object) as usize - ptr as usize },
40507        40usize,
40508        concat!(
40509            "Offset of field: ",
40510            stringify!(_GDBusInterfaceIface),
40511            "::",
40512            stringify!(dup_object)
40513        )
40514    );
40515}
40516extern "C" {
40517    pub fn g_dbus_interface_get_type() -> GType;
40518}
40519extern "C" {
40520    pub fn g_dbus_interface_get_info(interface_: *mut GDBusInterface) -> *mut GDBusInterfaceInfo;
40521}
40522extern "C" {
40523    pub fn g_dbus_interface_get_object(interface_: *mut GDBusInterface) -> *mut GDBusObject;
40524}
40525extern "C" {
40526    pub fn g_dbus_interface_set_object(interface_: *mut GDBusInterface, object: *mut GDBusObject);
40527}
40528extern "C" {
40529    pub fn g_dbus_interface_dup_object(interface_: *mut GDBusInterface) -> *mut GDBusObject;
40530}
40531#[doc = " GDBusInterfaceSkeletonClass:\n @parent_class: The parent class.\n @get_info: Returns a #GDBusInterfaceInfo. See g_dbus_interface_skeleton_get_info() for details.\n @get_vtable: Returns a #GDBusInterfaceVTable. See g_dbus_interface_skeleton_get_vtable() for details.\n @get_properties: Returns a #GVariant with all properties. See g_dbus_interface_skeleton_get_properties().\n @flush: Emits outstanding changes, if any. See g_dbus_interface_skeleton_flush().\n @g_authorize_method: Signal class handler for the #GDBusInterfaceSkeleton::g-authorize-method signal.\n\n Class structure for #GDBusInterfaceSkeleton.\n\n Since: 2.30"]
40532pub type GDBusInterfaceSkeletonClass = _GDBusInterfaceSkeletonClass;
40533#[repr(C)]
40534#[derive(Debug, Copy, Clone)]
40535pub struct _GDBusInterfaceSkeletonPrivate {
40536    _unused: [u8; 0],
40537}
40538pub type GDBusInterfaceSkeletonPrivate = _GDBusInterfaceSkeletonPrivate;
40539#[doc = " GDBusInterfaceSkeleton:\n\n The #GDBusInterfaceSkeleton structure contains private data and should\n only be accessed using the provided API.\n\n Since: 2.30"]
40540#[repr(C)]
40541#[derive(Debug, Copy, Clone, PartialEq, Eq)]
40542pub struct _GDBusInterfaceSkeleton {
40543    pub parent_instance: GObject,
40544    pub priv_: *mut GDBusInterfaceSkeletonPrivate,
40545}
40546#[test]
40547fn bindgen_test_layout__GDBusInterfaceSkeleton() {
40548    const UNINIT: ::std::mem::MaybeUninit<_GDBusInterfaceSkeleton> =
40549        ::std::mem::MaybeUninit::uninit();
40550    let ptr = UNINIT.as_ptr();
40551    assert_eq!(
40552        ::std::mem::size_of::<_GDBusInterfaceSkeleton>(),
40553        32usize,
40554        concat!("Size of: ", stringify!(_GDBusInterfaceSkeleton))
40555    );
40556    assert_eq!(
40557        ::std::mem::align_of::<_GDBusInterfaceSkeleton>(),
40558        8usize,
40559        concat!("Alignment of ", stringify!(_GDBusInterfaceSkeleton))
40560    );
40561    assert_eq!(
40562        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
40563        0usize,
40564        concat!(
40565            "Offset of field: ",
40566            stringify!(_GDBusInterfaceSkeleton),
40567            "::",
40568            stringify!(parent_instance)
40569        )
40570    );
40571    assert_eq!(
40572        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
40573        24usize,
40574        concat!(
40575            "Offset of field: ",
40576            stringify!(_GDBusInterfaceSkeleton),
40577            "::",
40578            stringify!(priv_)
40579        )
40580    );
40581}
40582#[doc = " GDBusInterfaceSkeletonClass:\n @parent_class: The parent class.\n @get_info: Returns a #GDBusInterfaceInfo. See g_dbus_interface_skeleton_get_info() for details.\n @get_vtable: Returns a #GDBusInterfaceVTable. See g_dbus_interface_skeleton_get_vtable() for details.\n @get_properties: Returns a #GVariant with all properties. See g_dbus_interface_skeleton_get_properties().\n @flush: Emits outstanding changes, if any. See g_dbus_interface_skeleton_flush().\n @g_authorize_method: Signal class handler for the #GDBusInterfaceSkeleton::g-authorize-method signal.\n\n Class structure for #GDBusInterfaceSkeleton.\n\n Since: 2.30"]
40583#[repr(C)]
40584#[derive(Debug, Copy, Clone, PartialEq, Eq)]
40585pub struct _GDBusInterfaceSkeletonClass {
40586    pub parent_class: GObjectClass,
40587    pub get_info: ::std::option::Option<
40588        unsafe extern "C" fn(interface_: *mut GDBusInterfaceSkeleton) -> *mut GDBusInterfaceInfo,
40589    >,
40590    pub get_vtable: ::std::option::Option<
40591        unsafe extern "C" fn(interface_: *mut GDBusInterfaceSkeleton) -> *mut GDBusInterfaceVTable,
40592    >,
40593    pub get_properties: ::std::option::Option<
40594        unsafe extern "C" fn(interface_: *mut GDBusInterfaceSkeleton) -> *mut GVariant,
40595    >,
40596    pub flush: ::std::option::Option<unsafe extern "C" fn(interface_: *mut GDBusInterfaceSkeleton)>,
40597    pub vfunc_padding: [gpointer; 8usize],
40598    pub g_authorize_method: ::std::option::Option<
40599        unsafe extern "C" fn(
40600            interface_: *mut GDBusInterfaceSkeleton,
40601            invocation: *mut GDBusMethodInvocation,
40602        ) -> gboolean,
40603    >,
40604    pub signal_padding: [gpointer; 8usize],
40605}
40606#[test]
40607fn bindgen_test_layout__GDBusInterfaceSkeletonClass() {
40608    const UNINIT: ::std::mem::MaybeUninit<_GDBusInterfaceSkeletonClass> =
40609        ::std::mem::MaybeUninit::uninit();
40610    let ptr = UNINIT.as_ptr();
40611    assert_eq!(
40612        ::std::mem::size_of::<_GDBusInterfaceSkeletonClass>(),
40613        304usize,
40614        concat!("Size of: ", stringify!(_GDBusInterfaceSkeletonClass))
40615    );
40616    assert_eq!(
40617        ::std::mem::align_of::<_GDBusInterfaceSkeletonClass>(),
40618        8usize,
40619        concat!("Alignment of ", stringify!(_GDBusInterfaceSkeletonClass))
40620    );
40621    assert_eq!(
40622        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
40623        0usize,
40624        concat!(
40625            "Offset of field: ",
40626            stringify!(_GDBusInterfaceSkeletonClass),
40627            "::",
40628            stringify!(parent_class)
40629        )
40630    );
40631    assert_eq!(
40632        unsafe { ::std::ptr::addr_of!((*ptr).get_info) as usize - ptr as usize },
40633        136usize,
40634        concat!(
40635            "Offset of field: ",
40636            stringify!(_GDBusInterfaceSkeletonClass),
40637            "::",
40638            stringify!(get_info)
40639        )
40640    );
40641    assert_eq!(
40642        unsafe { ::std::ptr::addr_of!((*ptr).get_vtable) as usize - ptr as usize },
40643        144usize,
40644        concat!(
40645            "Offset of field: ",
40646            stringify!(_GDBusInterfaceSkeletonClass),
40647            "::",
40648            stringify!(get_vtable)
40649        )
40650    );
40651    assert_eq!(
40652        unsafe { ::std::ptr::addr_of!((*ptr).get_properties) as usize - ptr as usize },
40653        152usize,
40654        concat!(
40655            "Offset of field: ",
40656            stringify!(_GDBusInterfaceSkeletonClass),
40657            "::",
40658            stringify!(get_properties)
40659        )
40660    );
40661    assert_eq!(
40662        unsafe { ::std::ptr::addr_of!((*ptr).flush) as usize - ptr as usize },
40663        160usize,
40664        concat!(
40665            "Offset of field: ",
40666            stringify!(_GDBusInterfaceSkeletonClass),
40667            "::",
40668            stringify!(flush)
40669        )
40670    );
40671    assert_eq!(
40672        unsafe { ::std::ptr::addr_of!((*ptr).vfunc_padding) as usize - ptr as usize },
40673        168usize,
40674        concat!(
40675            "Offset of field: ",
40676            stringify!(_GDBusInterfaceSkeletonClass),
40677            "::",
40678            stringify!(vfunc_padding)
40679        )
40680    );
40681    assert_eq!(
40682        unsafe { ::std::ptr::addr_of!((*ptr).g_authorize_method) as usize - ptr as usize },
40683        232usize,
40684        concat!(
40685            "Offset of field: ",
40686            stringify!(_GDBusInterfaceSkeletonClass),
40687            "::",
40688            stringify!(g_authorize_method)
40689        )
40690    );
40691    assert_eq!(
40692        unsafe { ::std::ptr::addr_of!((*ptr).signal_padding) as usize - ptr as usize },
40693        240usize,
40694        concat!(
40695            "Offset of field: ",
40696            stringify!(_GDBusInterfaceSkeletonClass),
40697            "::",
40698            stringify!(signal_padding)
40699        )
40700    );
40701}
40702extern "C" {
40703    pub fn g_dbus_interface_skeleton_get_type() -> GType;
40704}
40705extern "C" {
40706    pub fn g_dbus_interface_skeleton_get_flags(
40707        interface_: *mut GDBusInterfaceSkeleton,
40708    ) -> GDBusInterfaceSkeletonFlags;
40709}
40710extern "C" {
40711    pub fn g_dbus_interface_skeleton_set_flags(
40712        interface_: *mut GDBusInterfaceSkeleton,
40713        flags: GDBusInterfaceSkeletonFlags,
40714    );
40715}
40716extern "C" {
40717    pub fn g_dbus_interface_skeleton_get_info(
40718        interface_: *mut GDBusInterfaceSkeleton,
40719    ) -> *mut GDBusInterfaceInfo;
40720}
40721extern "C" {
40722    pub fn g_dbus_interface_skeleton_get_vtable(
40723        interface_: *mut GDBusInterfaceSkeleton,
40724    ) -> *mut GDBusInterfaceVTable;
40725}
40726extern "C" {
40727    pub fn g_dbus_interface_skeleton_get_properties(
40728        interface_: *mut GDBusInterfaceSkeleton,
40729    ) -> *mut GVariant;
40730}
40731extern "C" {
40732    pub fn g_dbus_interface_skeleton_flush(interface_: *mut GDBusInterfaceSkeleton);
40733}
40734extern "C" {
40735    pub fn g_dbus_interface_skeleton_export(
40736        interface_: *mut GDBusInterfaceSkeleton,
40737        connection: *mut GDBusConnection,
40738        object_path: *const gchar,
40739        error: *mut *mut GError,
40740    ) -> gboolean;
40741}
40742extern "C" {
40743    pub fn g_dbus_interface_skeleton_unexport(interface_: *mut GDBusInterfaceSkeleton);
40744}
40745extern "C" {
40746    pub fn g_dbus_interface_skeleton_unexport_from_connection(
40747        interface_: *mut GDBusInterfaceSkeleton,
40748        connection: *mut GDBusConnection,
40749    );
40750}
40751extern "C" {
40752    pub fn g_dbus_interface_skeleton_get_connection(
40753        interface_: *mut GDBusInterfaceSkeleton,
40754    ) -> *mut GDBusConnection;
40755}
40756extern "C" {
40757    pub fn g_dbus_interface_skeleton_get_connections(
40758        interface_: *mut GDBusInterfaceSkeleton,
40759    ) -> *mut GList;
40760}
40761extern "C" {
40762    pub fn g_dbus_interface_skeleton_has_connection(
40763        interface_: *mut GDBusInterfaceSkeleton,
40764        connection: *mut GDBusConnection,
40765    ) -> gboolean;
40766}
40767extern "C" {
40768    pub fn g_dbus_interface_skeleton_get_object_path(
40769        interface_: *mut GDBusInterfaceSkeleton,
40770    ) -> *const gchar;
40771}
40772#[doc = " GDBusAnnotationInfo:\n @ref_count: The reference count or -1 if statically allocated.\n @key: The name of the annotation, e.g. \"org.freedesktop.DBus.Deprecated\".\n @value: The value of the annotation.\n @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.\n\n Information about an annotation.\n\n Since: 2.26"]
40773#[repr(C)]
40774#[derive(Debug, Copy, Clone, PartialEq, Eq)]
40775pub struct _GDBusAnnotationInfo {
40776    pub ref_count: gint,
40777    pub key: *mut gchar,
40778    pub value: *mut gchar,
40779    pub annotations: *mut *mut GDBusAnnotationInfo,
40780}
40781#[test]
40782fn bindgen_test_layout__GDBusAnnotationInfo() {
40783    const UNINIT: ::std::mem::MaybeUninit<_GDBusAnnotationInfo> = ::std::mem::MaybeUninit::uninit();
40784    let ptr = UNINIT.as_ptr();
40785    assert_eq!(
40786        ::std::mem::size_of::<_GDBusAnnotationInfo>(),
40787        32usize,
40788        concat!("Size of: ", stringify!(_GDBusAnnotationInfo))
40789    );
40790    assert_eq!(
40791        ::std::mem::align_of::<_GDBusAnnotationInfo>(),
40792        8usize,
40793        concat!("Alignment of ", stringify!(_GDBusAnnotationInfo))
40794    );
40795    assert_eq!(
40796        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
40797        0usize,
40798        concat!(
40799            "Offset of field: ",
40800            stringify!(_GDBusAnnotationInfo),
40801            "::",
40802            stringify!(ref_count)
40803        )
40804    );
40805    assert_eq!(
40806        unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
40807        8usize,
40808        concat!(
40809            "Offset of field: ",
40810            stringify!(_GDBusAnnotationInfo),
40811            "::",
40812            stringify!(key)
40813        )
40814    );
40815    assert_eq!(
40816        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
40817        16usize,
40818        concat!(
40819            "Offset of field: ",
40820            stringify!(_GDBusAnnotationInfo),
40821            "::",
40822            stringify!(value)
40823        )
40824    );
40825    assert_eq!(
40826        unsafe { ::std::ptr::addr_of!((*ptr).annotations) as usize - ptr as usize },
40827        24usize,
40828        concat!(
40829            "Offset of field: ",
40830            stringify!(_GDBusAnnotationInfo),
40831            "::",
40832            stringify!(annotations)
40833        )
40834    );
40835}
40836#[doc = " GDBusArgInfo:\n @ref_count: The reference count or -1 if statically allocated.\n @name: Name of the argument, e.g. @unix_user_id.\n @signature: D-Bus signature of the argument (a single complete type).\n @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.\n\n Information about an argument for a method or a signal.\n\n Since: 2.26"]
40837#[repr(C)]
40838#[derive(Debug, Copy, Clone, PartialEq, Eq)]
40839pub struct _GDBusArgInfo {
40840    pub ref_count: gint,
40841    pub name: *mut gchar,
40842    pub signature: *mut gchar,
40843    pub annotations: *mut *mut GDBusAnnotationInfo,
40844}
40845#[test]
40846fn bindgen_test_layout__GDBusArgInfo() {
40847    const UNINIT: ::std::mem::MaybeUninit<_GDBusArgInfo> = ::std::mem::MaybeUninit::uninit();
40848    let ptr = UNINIT.as_ptr();
40849    assert_eq!(
40850        ::std::mem::size_of::<_GDBusArgInfo>(),
40851        32usize,
40852        concat!("Size of: ", stringify!(_GDBusArgInfo))
40853    );
40854    assert_eq!(
40855        ::std::mem::align_of::<_GDBusArgInfo>(),
40856        8usize,
40857        concat!("Alignment of ", stringify!(_GDBusArgInfo))
40858    );
40859    assert_eq!(
40860        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
40861        0usize,
40862        concat!(
40863            "Offset of field: ",
40864            stringify!(_GDBusArgInfo),
40865            "::",
40866            stringify!(ref_count)
40867        )
40868    );
40869    assert_eq!(
40870        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
40871        8usize,
40872        concat!(
40873            "Offset of field: ",
40874            stringify!(_GDBusArgInfo),
40875            "::",
40876            stringify!(name)
40877        )
40878    );
40879    assert_eq!(
40880        unsafe { ::std::ptr::addr_of!((*ptr).signature) as usize - ptr as usize },
40881        16usize,
40882        concat!(
40883            "Offset of field: ",
40884            stringify!(_GDBusArgInfo),
40885            "::",
40886            stringify!(signature)
40887        )
40888    );
40889    assert_eq!(
40890        unsafe { ::std::ptr::addr_of!((*ptr).annotations) as usize - ptr as usize },
40891        24usize,
40892        concat!(
40893            "Offset of field: ",
40894            stringify!(_GDBusArgInfo),
40895            "::",
40896            stringify!(annotations)
40897        )
40898    );
40899}
40900#[doc = " GDBusMethodInfo:\n @ref_count: The reference count or -1 if statically allocated.\n @name: The name of the D-Bus method, e.g. @RequestName.\n @in_args: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusArgInfo structures or %NULL if there are no in arguments.\n @out_args: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusArgInfo structures or %NULL if there are no out arguments.\n @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.\n\n Information about a method on an D-Bus interface.\n\n Since: 2.26"]
40901#[repr(C)]
40902#[derive(Debug, Copy, Clone, PartialEq, Eq)]
40903pub struct _GDBusMethodInfo {
40904    pub ref_count: gint,
40905    pub name: *mut gchar,
40906    pub in_args: *mut *mut GDBusArgInfo,
40907    pub out_args: *mut *mut GDBusArgInfo,
40908    pub annotations: *mut *mut GDBusAnnotationInfo,
40909}
40910#[test]
40911fn bindgen_test_layout__GDBusMethodInfo() {
40912    const UNINIT: ::std::mem::MaybeUninit<_GDBusMethodInfo> = ::std::mem::MaybeUninit::uninit();
40913    let ptr = UNINIT.as_ptr();
40914    assert_eq!(
40915        ::std::mem::size_of::<_GDBusMethodInfo>(),
40916        40usize,
40917        concat!("Size of: ", stringify!(_GDBusMethodInfo))
40918    );
40919    assert_eq!(
40920        ::std::mem::align_of::<_GDBusMethodInfo>(),
40921        8usize,
40922        concat!("Alignment of ", stringify!(_GDBusMethodInfo))
40923    );
40924    assert_eq!(
40925        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
40926        0usize,
40927        concat!(
40928            "Offset of field: ",
40929            stringify!(_GDBusMethodInfo),
40930            "::",
40931            stringify!(ref_count)
40932        )
40933    );
40934    assert_eq!(
40935        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
40936        8usize,
40937        concat!(
40938            "Offset of field: ",
40939            stringify!(_GDBusMethodInfo),
40940            "::",
40941            stringify!(name)
40942        )
40943    );
40944    assert_eq!(
40945        unsafe { ::std::ptr::addr_of!((*ptr).in_args) as usize - ptr as usize },
40946        16usize,
40947        concat!(
40948            "Offset of field: ",
40949            stringify!(_GDBusMethodInfo),
40950            "::",
40951            stringify!(in_args)
40952        )
40953    );
40954    assert_eq!(
40955        unsafe { ::std::ptr::addr_of!((*ptr).out_args) as usize - ptr as usize },
40956        24usize,
40957        concat!(
40958            "Offset of field: ",
40959            stringify!(_GDBusMethodInfo),
40960            "::",
40961            stringify!(out_args)
40962        )
40963    );
40964    assert_eq!(
40965        unsafe { ::std::ptr::addr_of!((*ptr).annotations) as usize - ptr as usize },
40966        32usize,
40967        concat!(
40968            "Offset of field: ",
40969            stringify!(_GDBusMethodInfo),
40970            "::",
40971            stringify!(annotations)
40972        )
40973    );
40974}
40975#[doc = " GDBusSignalInfo:\n @ref_count: The reference count or -1 if statically allocated.\n @name: The name of the D-Bus signal, e.g. \"NameOwnerChanged\".\n @args: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusArgInfo structures or %NULL if there are no arguments.\n @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.\n\n Information about a signal on a D-Bus interface.\n\n Since: 2.26"]
40976#[repr(C)]
40977#[derive(Debug, Copy, Clone, PartialEq, Eq)]
40978pub struct _GDBusSignalInfo {
40979    pub ref_count: gint,
40980    pub name: *mut gchar,
40981    pub args: *mut *mut GDBusArgInfo,
40982    pub annotations: *mut *mut GDBusAnnotationInfo,
40983}
40984#[test]
40985fn bindgen_test_layout__GDBusSignalInfo() {
40986    const UNINIT: ::std::mem::MaybeUninit<_GDBusSignalInfo> = ::std::mem::MaybeUninit::uninit();
40987    let ptr = UNINIT.as_ptr();
40988    assert_eq!(
40989        ::std::mem::size_of::<_GDBusSignalInfo>(),
40990        32usize,
40991        concat!("Size of: ", stringify!(_GDBusSignalInfo))
40992    );
40993    assert_eq!(
40994        ::std::mem::align_of::<_GDBusSignalInfo>(),
40995        8usize,
40996        concat!("Alignment of ", stringify!(_GDBusSignalInfo))
40997    );
40998    assert_eq!(
40999        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
41000        0usize,
41001        concat!(
41002            "Offset of field: ",
41003            stringify!(_GDBusSignalInfo),
41004            "::",
41005            stringify!(ref_count)
41006        )
41007    );
41008    assert_eq!(
41009        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
41010        8usize,
41011        concat!(
41012            "Offset of field: ",
41013            stringify!(_GDBusSignalInfo),
41014            "::",
41015            stringify!(name)
41016        )
41017    );
41018    assert_eq!(
41019        unsafe { ::std::ptr::addr_of!((*ptr).args) as usize - ptr as usize },
41020        16usize,
41021        concat!(
41022            "Offset of field: ",
41023            stringify!(_GDBusSignalInfo),
41024            "::",
41025            stringify!(args)
41026        )
41027    );
41028    assert_eq!(
41029        unsafe { ::std::ptr::addr_of!((*ptr).annotations) as usize - ptr as usize },
41030        24usize,
41031        concat!(
41032            "Offset of field: ",
41033            stringify!(_GDBusSignalInfo),
41034            "::",
41035            stringify!(annotations)
41036        )
41037    );
41038}
41039#[doc = " GDBusPropertyInfo:\n @ref_count: The reference count or -1 if statically allocated.\n @name: The name of the D-Bus property, e.g. \"SupportedFilesystems\".\n @signature: The D-Bus signature of the property (a single complete type).\n @flags: Access control flags for the property.\n @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.\n\n Information about a D-Bus property on a D-Bus interface.\n\n Since: 2.26"]
41040#[repr(C)]
41041#[derive(Debug, Copy, Clone, PartialEq, Eq)]
41042pub struct _GDBusPropertyInfo {
41043    pub ref_count: gint,
41044    pub name: *mut gchar,
41045    pub signature: *mut gchar,
41046    pub flags: GDBusPropertyInfoFlags,
41047    pub annotations: *mut *mut GDBusAnnotationInfo,
41048}
41049#[test]
41050fn bindgen_test_layout__GDBusPropertyInfo() {
41051    const UNINIT: ::std::mem::MaybeUninit<_GDBusPropertyInfo> = ::std::mem::MaybeUninit::uninit();
41052    let ptr = UNINIT.as_ptr();
41053    assert_eq!(
41054        ::std::mem::size_of::<_GDBusPropertyInfo>(),
41055        40usize,
41056        concat!("Size of: ", stringify!(_GDBusPropertyInfo))
41057    );
41058    assert_eq!(
41059        ::std::mem::align_of::<_GDBusPropertyInfo>(),
41060        8usize,
41061        concat!("Alignment of ", stringify!(_GDBusPropertyInfo))
41062    );
41063    assert_eq!(
41064        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
41065        0usize,
41066        concat!(
41067            "Offset of field: ",
41068            stringify!(_GDBusPropertyInfo),
41069            "::",
41070            stringify!(ref_count)
41071        )
41072    );
41073    assert_eq!(
41074        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
41075        8usize,
41076        concat!(
41077            "Offset of field: ",
41078            stringify!(_GDBusPropertyInfo),
41079            "::",
41080            stringify!(name)
41081        )
41082    );
41083    assert_eq!(
41084        unsafe { ::std::ptr::addr_of!((*ptr).signature) as usize - ptr as usize },
41085        16usize,
41086        concat!(
41087            "Offset of field: ",
41088            stringify!(_GDBusPropertyInfo),
41089            "::",
41090            stringify!(signature)
41091        )
41092    );
41093    assert_eq!(
41094        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
41095        24usize,
41096        concat!(
41097            "Offset of field: ",
41098            stringify!(_GDBusPropertyInfo),
41099            "::",
41100            stringify!(flags)
41101        )
41102    );
41103    assert_eq!(
41104        unsafe { ::std::ptr::addr_of!((*ptr).annotations) as usize - ptr as usize },
41105        32usize,
41106        concat!(
41107            "Offset of field: ",
41108            stringify!(_GDBusPropertyInfo),
41109            "::",
41110            stringify!(annotations)
41111        )
41112    );
41113}
41114#[doc = " GDBusInterfaceInfo:\n @ref_count: The reference count or -1 if statically allocated.\n @name: The name of the D-Bus interface, e.g. \"org.freedesktop.DBus.Properties\".\n @methods: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusMethodInfo structures or %NULL if there are no methods.\n @signals: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusSignalInfo structures or %NULL if there are no signals.\n @properties: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusPropertyInfo structures or %NULL if there are no properties.\n @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.\n\n Information about a D-Bus interface.\n\n Since: 2.26"]
41115#[repr(C)]
41116#[derive(Debug, Copy, Clone, PartialEq, Eq)]
41117pub struct _GDBusInterfaceInfo {
41118    pub ref_count: gint,
41119    pub name: *mut gchar,
41120    pub methods: *mut *mut GDBusMethodInfo,
41121    pub signals: *mut *mut GDBusSignalInfo,
41122    pub properties: *mut *mut GDBusPropertyInfo,
41123    pub annotations: *mut *mut GDBusAnnotationInfo,
41124}
41125#[test]
41126fn bindgen_test_layout__GDBusInterfaceInfo() {
41127    const UNINIT: ::std::mem::MaybeUninit<_GDBusInterfaceInfo> = ::std::mem::MaybeUninit::uninit();
41128    let ptr = UNINIT.as_ptr();
41129    assert_eq!(
41130        ::std::mem::size_of::<_GDBusInterfaceInfo>(),
41131        48usize,
41132        concat!("Size of: ", stringify!(_GDBusInterfaceInfo))
41133    );
41134    assert_eq!(
41135        ::std::mem::align_of::<_GDBusInterfaceInfo>(),
41136        8usize,
41137        concat!("Alignment of ", stringify!(_GDBusInterfaceInfo))
41138    );
41139    assert_eq!(
41140        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
41141        0usize,
41142        concat!(
41143            "Offset of field: ",
41144            stringify!(_GDBusInterfaceInfo),
41145            "::",
41146            stringify!(ref_count)
41147        )
41148    );
41149    assert_eq!(
41150        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
41151        8usize,
41152        concat!(
41153            "Offset of field: ",
41154            stringify!(_GDBusInterfaceInfo),
41155            "::",
41156            stringify!(name)
41157        )
41158    );
41159    assert_eq!(
41160        unsafe { ::std::ptr::addr_of!((*ptr).methods) as usize - ptr as usize },
41161        16usize,
41162        concat!(
41163            "Offset of field: ",
41164            stringify!(_GDBusInterfaceInfo),
41165            "::",
41166            stringify!(methods)
41167        )
41168    );
41169    assert_eq!(
41170        unsafe { ::std::ptr::addr_of!((*ptr).signals) as usize - ptr as usize },
41171        24usize,
41172        concat!(
41173            "Offset of field: ",
41174            stringify!(_GDBusInterfaceInfo),
41175            "::",
41176            stringify!(signals)
41177        )
41178    );
41179    assert_eq!(
41180        unsafe { ::std::ptr::addr_of!((*ptr).properties) as usize - ptr as usize },
41181        32usize,
41182        concat!(
41183            "Offset of field: ",
41184            stringify!(_GDBusInterfaceInfo),
41185            "::",
41186            stringify!(properties)
41187        )
41188    );
41189    assert_eq!(
41190        unsafe { ::std::ptr::addr_of!((*ptr).annotations) as usize - ptr as usize },
41191        40usize,
41192        concat!(
41193            "Offset of field: ",
41194            stringify!(_GDBusInterfaceInfo),
41195            "::",
41196            stringify!(annotations)
41197        )
41198    );
41199}
41200#[doc = " GDBusNodeInfo:\n @ref_count: The reference count or -1 if statically allocated.\n @path: The path of the node or %NULL if omitted. Note that this may be a relative path. See the D-Bus specification for more details.\n @interfaces: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusInterfaceInfo structures or %NULL if there are no interfaces.\n @nodes: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusNodeInfo structures or %NULL if there are no nodes.\n @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.\n\n Information about nodes in a remote object hierarchy.\n\n Since: 2.26"]
41201#[repr(C)]
41202#[derive(Debug, Copy, Clone, PartialEq, Eq)]
41203pub struct _GDBusNodeInfo {
41204    pub ref_count: gint,
41205    pub path: *mut gchar,
41206    pub interfaces: *mut *mut GDBusInterfaceInfo,
41207    pub nodes: *mut *mut GDBusNodeInfo,
41208    pub annotations: *mut *mut GDBusAnnotationInfo,
41209}
41210#[test]
41211fn bindgen_test_layout__GDBusNodeInfo() {
41212    const UNINIT: ::std::mem::MaybeUninit<_GDBusNodeInfo> = ::std::mem::MaybeUninit::uninit();
41213    let ptr = UNINIT.as_ptr();
41214    assert_eq!(
41215        ::std::mem::size_of::<_GDBusNodeInfo>(),
41216        40usize,
41217        concat!("Size of: ", stringify!(_GDBusNodeInfo))
41218    );
41219    assert_eq!(
41220        ::std::mem::align_of::<_GDBusNodeInfo>(),
41221        8usize,
41222        concat!("Alignment of ", stringify!(_GDBusNodeInfo))
41223    );
41224    assert_eq!(
41225        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
41226        0usize,
41227        concat!(
41228            "Offset of field: ",
41229            stringify!(_GDBusNodeInfo),
41230            "::",
41231            stringify!(ref_count)
41232        )
41233    );
41234    assert_eq!(
41235        unsafe { ::std::ptr::addr_of!((*ptr).path) as usize - ptr as usize },
41236        8usize,
41237        concat!(
41238            "Offset of field: ",
41239            stringify!(_GDBusNodeInfo),
41240            "::",
41241            stringify!(path)
41242        )
41243    );
41244    assert_eq!(
41245        unsafe { ::std::ptr::addr_of!((*ptr).interfaces) as usize - ptr as usize },
41246        16usize,
41247        concat!(
41248            "Offset of field: ",
41249            stringify!(_GDBusNodeInfo),
41250            "::",
41251            stringify!(interfaces)
41252        )
41253    );
41254    assert_eq!(
41255        unsafe { ::std::ptr::addr_of!((*ptr).nodes) as usize - ptr as usize },
41256        24usize,
41257        concat!(
41258            "Offset of field: ",
41259            stringify!(_GDBusNodeInfo),
41260            "::",
41261            stringify!(nodes)
41262        )
41263    );
41264    assert_eq!(
41265        unsafe { ::std::ptr::addr_of!((*ptr).annotations) as usize - ptr as usize },
41266        32usize,
41267        concat!(
41268            "Offset of field: ",
41269            stringify!(_GDBusNodeInfo),
41270            "::",
41271            stringify!(annotations)
41272        )
41273    );
41274}
41275extern "C" {
41276    pub fn g_dbus_annotation_info_lookup(
41277        annotations: *mut *mut GDBusAnnotationInfo,
41278        name: *const gchar,
41279    ) -> *const gchar;
41280}
41281extern "C" {
41282    pub fn g_dbus_interface_info_lookup_method(
41283        info: *mut GDBusInterfaceInfo,
41284        name: *const gchar,
41285    ) -> *mut GDBusMethodInfo;
41286}
41287extern "C" {
41288    pub fn g_dbus_interface_info_lookup_signal(
41289        info: *mut GDBusInterfaceInfo,
41290        name: *const gchar,
41291    ) -> *mut GDBusSignalInfo;
41292}
41293extern "C" {
41294    pub fn g_dbus_interface_info_lookup_property(
41295        info: *mut GDBusInterfaceInfo,
41296        name: *const gchar,
41297    ) -> *mut GDBusPropertyInfo;
41298}
41299extern "C" {
41300    pub fn g_dbus_interface_info_cache_build(info: *mut GDBusInterfaceInfo);
41301}
41302extern "C" {
41303    pub fn g_dbus_interface_info_cache_release(info: *mut GDBusInterfaceInfo);
41304}
41305extern "C" {
41306    pub fn g_dbus_interface_info_generate_xml(
41307        info: *mut GDBusInterfaceInfo,
41308        indent: guint,
41309        string_builder: *mut GString,
41310    );
41311}
41312extern "C" {
41313    pub fn g_dbus_node_info_new_for_xml(
41314        xml_data: *const gchar,
41315        error: *mut *mut GError,
41316    ) -> *mut GDBusNodeInfo;
41317}
41318extern "C" {
41319    pub fn g_dbus_node_info_lookup_interface(
41320        info: *mut GDBusNodeInfo,
41321        name: *const gchar,
41322    ) -> *mut GDBusInterfaceInfo;
41323}
41324extern "C" {
41325    pub fn g_dbus_node_info_generate_xml(
41326        info: *mut GDBusNodeInfo,
41327        indent: guint,
41328        string_builder: *mut GString,
41329    );
41330}
41331extern "C" {
41332    pub fn g_dbus_node_info_ref(info: *mut GDBusNodeInfo) -> *mut GDBusNodeInfo;
41333}
41334extern "C" {
41335    pub fn g_dbus_interface_info_ref(info: *mut GDBusInterfaceInfo) -> *mut GDBusInterfaceInfo;
41336}
41337extern "C" {
41338    pub fn g_dbus_method_info_ref(info: *mut GDBusMethodInfo) -> *mut GDBusMethodInfo;
41339}
41340extern "C" {
41341    pub fn g_dbus_signal_info_ref(info: *mut GDBusSignalInfo) -> *mut GDBusSignalInfo;
41342}
41343extern "C" {
41344    pub fn g_dbus_property_info_ref(info: *mut GDBusPropertyInfo) -> *mut GDBusPropertyInfo;
41345}
41346extern "C" {
41347    pub fn g_dbus_arg_info_ref(info: *mut GDBusArgInfo) -> *mut GDBusArgInfo;
41348}
41349extern "C" {
41350    pub fn g_dbus_annotation_info_ref(info: *mut GDBusAnnotationInfo) -> *mut GDBusAnnotationInfo;
41351}
41352extern "C" {
41353    pub fn g_dbus_node_info_unref(info: *mut GDBusNodeInfo);
41354}
41355extern "C" {
41356    pub fn g_dbus_interface_info_unref(info: *mut GDBusInterfaceInfo);
41357}
41358extern "C" {
41359    pub fn g_dbus_method_info_unref(info: *mut GDBusMethodInfo);
41360}
41361extern "C" {
41362    pub fn g_dbus_signal_info_unref(info: *mut GDBusSignalInfo);
41363}
41364extern "C" {
41365    pub fn g_dbus_property_info_unref(info: *mut GDBusPropertyInfo);
41366}
41367extern "C" {
41368    pub fn g_dbus_arg_info_unref(info: *mut GDBusArgInfo);
41369}
41370extern "C" {
41371    pub fn g_dbus_annotation_info_unref(info: *mut GDBusAnnotationInfo);
41372}
41373extern "C" {
41374    pub fn g_dbus_node_info_get_type() -> GType;
41375}
41376extern "C" {
41377    pub fn g_dbus_interface_info_get_type() -> GType;
41378}
41379extern "C" {
41380    pub fn g_dbus_method_info_get_type() -> GType;
41381}
41382extern "C" {
41383    pub fn g_dbus_signal_info_get_type() -> GType;
41384}
41385extern "C" {
41386    pub fn g_dbus_property_info_get_type() -> GType;
41387}
41388extern "C" {
41389    pub fn g_dbus_arg_info_get_type() -> GType;
41390}
41391extern "C" {
41392    pub fn g_dbus_annotation_info_get_type() -> GType;
41393}
41394#[repr(C)]
41395#[derive(Debug, Copy, Clone)]
41396pub struct _GDBusMenuModel {
41397    _unused: [u8; 0],
41398}
41399pub type GDBusMenuModel = _GDBusMenuModel;
41400extern "C" {
41401    pub fn g_dbus_menu_model_get_type() -> GType;
41402}
41403extern "C" {
41404    pub fn g_dbus_menu_model_get(
41405        connection: *mut GDBusConnection,
41406        bus_name: *const gchar,
41407        object_path: *const gchar,
41408    ) -> *mut GDBusMenuModel;
41409}
41410extern "C" {
41411    pub fn g_dbus_message_get_type() -> GType;
41412}
41413extern "C" {
41414    pub fn g_dbus_message_new() -> *mut GDBusMessage;
41415}
41416extern "C" {
41417    pub fn g_dbus_message_new_signal(
41418        path: *const gchar,
41419        interface_: *const gchar,
41420        signal: *const gchar,
41421    ) -> *mut GDBusMessage;
41422}
41423extern "C" {
41424    pub fn g_dbus_message_new_method_call(
41425        name: *const gchar,
41426        path: *const gchar,
41427        interface_: *const gchar,
41428        method: *const gchar,
41429    ) -> *mut GDBusMessage;
41430}
41431extern "C" {
41432    pub fn g_dbus_message_new_method_reply(
41433        method_call_message: *mut GDBusMessage,
41434    ) -> *mut GDBusMessage;
41435}
41436extern "C" {
41437    pub fn g_dbus_message_new_method_error(
41438        method_call_message: *mut GDBusMessage,
41439        error_name: *const gchar,
41440        error_message_format: *const gchar,
41441        ...
41442    ) -> *mut GDBusMessage;
41443}
41444extern "C" {
41445    pub fn g_dbus_message_new_method_error_valist(
41446        method_call_message: *mut GDBusMessage,
41447        error_name: *const gchar,
41448        error_message_format: *const gchar,
41449        var_args: va_list,
41450    ) -> *mut GDBusMessage;
41451}
41452extern "C" {
41453    pub fn g_dbus_message_new_method_error_literal(
41454        method_call_message: *mut GDBusMessage,
41455        error_name: *const gchar,
41456        error_message: *const gchar,
41457    ) -> *mut GDBusMessage;
41458}
41459extern "C" {
41460    pub fn g_dbus_message_print(message: *mut GDBusMessage, indent: guint) -> *mut gchar;
41461}
41462extern "C" {
41463    pub fn g_dbus_message_get_locked(message: *mut GDBusMessage) -> gboolean;
41464}
41465extern "C" {
41466    pub fn g_dbus_message_lock(message: *mut GDBusMessage);
41467}
41468extern "C" {
41469    pub fn g_dbus_message_copy(
41470        message: *mut GDBusMessage,
41471        error: *mut *mut GError,
41472    ) -> *mut GDBusMessage;
41473}
41474extern "C" {
41475    pub fn g_dbus_message_get_byte_order(message: *mut GDBusMessage) -> GDBusMessageByteOrder;
41476}
41477extern "C" {
41478    pub fn g_dbus_message_set_byte_order(
41479        message: *mut GDBusMessage,
41480        byte_order: GDBusMessageByteOrder,
41481    );
41482}
41483extern "C" {
41484    pub fn g_dbus_message_get_message_type(message: *mut GDBusMessage) -> GDBusMessageType;
41485}
41486extern "C" {
41487    pub fn g_dbus_message_set_message_type(message: *mut GDBusMessage, type_: GDBusMessageType);
41488}
41489extern "C" {
41490    pub fn g_dbus_message_get_flags(message: *mut GDBusMessage) -> GDBusMessageFlags;
41491}
41492extern "C" {
41493    pub fn g_dbus_message_set_flags(message: *mut GDBusMessage, flags: GDBusMessageFlags);
41494}
41495extern "C" {
41496    pub fn g_dbus_message_get_serial(message: *mut GDBusMessage) -> guint32;
41497}
41498extern "C" {
41499    pub fn g_dbus_message_set_serial(message: *mut GDBusMessage, serial: guint32);
41500}
41501extern "C" {
41502    pub fn g_dbus_message_get_header(
41503        message: *mut GDBusMessage,
41504        header_field: GDBusMessageHeaderField,
41505    ) -> *mut GVariant;
41506}
41507extern "C" {
41508    pub fn g_dbus_message_set_header(
41509        message: *mut GDBusMessage,
41510        header_field: GDBusMessageHeaderField,
41511        value: *mut GVariant,
41512    );
41513}
41514extern "C" {
41515    pub fn g_dbus_message_get_header_fields(message: *mut GDBusMessage) -> *mut guchar;
41516}
41517extern "C" {
41518    pub fn g_dbus_message_get_body(message: *mut GDBusMessage) -> *mut GVariant;
41519}
41520extern "C" {
41521    pub fn g_dbus_message_set_body(message: *mut GDBusMessage, body: *mut GVariant);
41522}
41523extern "C" {
41524    pub fn g_dbus_message_get_unix_fd_list(message: *mut GDBusMessage) -> *mut GUnixFDList;
41525}
41526extern "C" {
41527    pub fn g_dbus_message_set_unix_fd_list(message: *mut GDBusMessage, fd_list: *mut GUnixFDList);
41528}
41529extern "C" {
41530    pub fn g_dbus_message_get_reply_serial(message: *mut GDBusMessage) -> guint32;
41531}
41532extern "C" {
41533    pub fn g_dbus_message_set_reply_serial(message: *mut GDBusMessage, value: guint32);
41534}
41535extern "C" {
41536    pub fn g_dbus_message_get_interface(message: *mut GDBusMessage) -> *const gchar;
41537}
41538extern "C" {
41539    pub fn g_dbus_message_set_interface(message: *mut GDBusMessage, value: *const gchar);
41540}
41541extern "C" {
41542    pub fn g_dbus_message_get_member(message: *mut GDBusMessage) -> *const gchar;
41543}
41544extern "C" {
41545    pub fn g_dbus_message_set_member(message: *mut GDBusMessage, value: *const gchar);
41546}
41547extern "C" {
41548    pub fn g_dbus_message_get_path(message: *mut GDBusMessage) -> *const gchar;
41549}
41550extern "C" {
41551    pub fn g_dbus_message_set_path(message: *mut GDBusMessage, value: *const gchar);
41552}
41553extern "C" {
41554    pub fn g_dbus_message_get_sender(message: *mut GDBusMessage) -> *const gchar;
41555}
41556extern "C" {
41557    pub fn g_dbus_message_set_sender(message: *mut GDBusMessage, value: *const gchar);
41558}
41559extern "C" {
41560    pub fn g_dbus_message_get_destination(message: *mut GDBusMessage) -> *const gchar;
41561}
41562extern "C" {
41563    pub fn g_dbus_message_set_destination(message: *mut GDBusMessage, value: *const gchar);
41564}
41565extern "C" {
41566    pub fn g_dbus_message_get_error_name(message: *mut GDBusMessage) -> *const gchar;
41567}
41568extern "C" {
41569    pub fn g_dbus_message_set_error_name(message: *mut GDBusMessage, value: *const gchar);
41570}
41571extern "C" {
41572    pub fn g_dbus_message_get_signature(message: *mut GDBusMessage) -> *const gchar;
41573}
41574extern "C" {
41575    pub fn g_dbus_message_set_signature(message: *mut GDBusMessage, value: *const gchar);
41576}
41577extern "C" {
41578    pub fn g_dbus_message_get_num_unix_fds(message: *mut GDBusMessage) -> guint32;
41579}
41580extern "C" {
41581    pub fn g_dbus_message_set_num_unix_fds(message: *mut GDBusMessage, value: guint32);
41582}
41583extern "C" {
41584    pub fn g_dbus_message_get_arg0(message: *mut GDBusMessage) -> *const gchar;
41585}
41586extern "C" {
41587    pub fn g_dbus_message_new_from_blob(
41588        blob: *mut guchar,
41589        blob_len: gsize,
41590        capabilities: GDBusCapabilityFlags,
41591        error: *mut *mut GError,
41592    ) -> *mut GDBusMessage;
41593}
41594extern "C" {
41595    pub fn g_dbus_message_bytes_needed(
41596        blob: *mut guchar,
41597        blob_len: gsize,
41598        error: *mut *mut GError,
41599    ) -> gssize;
41600}
41601extern "C" {
41602    pub fn g_dbus_message_to_blob(
41603        message: *mut GDBusMessage,
41604        out_size: *mut gsize,
41605        capabilities: GDBusCapabilityFlags,
41606        error: *mut *mut GError,
41607    ) -> *mut guchar;
41608}
41609extern "C" {
41610    pub fn g_dbus_message_to_gerror(
41611        message: *mut GDBusMessage,
41612        error: *mut *mut GError,
41613    ) -> gboolean;
41614}
41615extern "C" {
41616    pub fn g_dbus_method_invocation_get_type() -> GType;
41617}
41618extern "C" {
41619    pub fn g_dbus_method_invocation_get_sender(
41620        invocation: *mut GDBusMethodInvocation,
41621    ) -> *const gchar;
41622}
41623extern "C" {
41624    pub fn g_dbus_method_invocation_get_object_path(
41625        invocation: *mut GDBusMethodInvocation,
41626    ) -> *const gchar;
41627}
41628extern "C" {
41629    pub fn g_dbus_method_invocation_get_interface_name(
41630        invocation: *mut GDBusMethodInvocation,
41631    ) -> *const gchar;
41632}
41633extern "C" {
41634    pub fn g_dbus_method_invocation_get_method_name(
41635        invocation: *mut GDBusMethodInvocation,
41636    ) -> *const gchar;
41637}
41638extern "C" {
41639    pub fn g_dbus_method_invocation_get_method_info(
41640        invocation: *mut GDBusMethodInvocation,
41641    ) -> *const GDBusMethodInfo;
41642}
41643extern "C" {
41644    pub fn g_dbus_method_invocation_get_property_info(
41645        invocation: *mut GDBusMethodInvocation,
41646    ) -> *const GDBusPropertyInfo;
41647}
41648extern "C" {
41649    pub fn g_dbus_method_invocation_get_connection(
41650        invocation: *mut GDBusMethodInvocation,
41651    ) -> *mut GDBusConnection;
41652}
41653extern "C" {
41654    pub fn g_dbus_method_invocation_get_message(
41655        invocation: *mut GDBusMethodInvocation,
41656    ) -> *mut GDBusMessage;
41657}
41658extern "C" {
41659    pub fn g_dbus_method_invocation_get_parameters(
41660        invocation: *mut GDBusMethodInvocation,
41661    ) -> *mut GVariant;
41662}
41663extern "C" {
41664    pub fn g_dbus_method_invocation_get_user_data(
41665        invocation: *mut GDBusMethodInvocation,
41666    ) -> gpointer;
41667}
41668extern "C" {
41669    pub fn g_dbus_method_invocation_return_value(
41670        invocation: *mut GDBusMethodInvocation,
41671        parameters: *mut GVariant,
41672    );
41673}
41674extern "C" {
41675    pub fn g_dbus_method_invocation_return_value_with_unix_fd_list(
41676        invocation: *mut GDBusMethodInvocation,
41677        parameters: *mut GVariant,
41678        fd_list: *mut GUnixFDList,
41679    );
41680}
41681extern "C" {
41682    pub fn g_dbus_method_invocation_return_error(
41683        invocation: *mut GDBusMethodInvocation,
41684        domain: GQuark,
41685        code: gint,
41686        format: *const gchar,
41687        ...
41688    );
41689}
41690extern "C" {
41691    pub fn g_dbus_method_invocation_return_error_valist(
41692        invocation: *mut GDBusMethodInvocation,
41693        domain: GQuark,
41694        code: gint,
41695        format: *const gchar,
41696        var_args: va_list,
41697    );
41698}
41699extern "C" {
41700    pub fn g_dbus_method_invocation_return_error_literal(
41701        invocation: *mut GDBusMethodInvocation,
41702        domain: GQuark,
41703        code: gint,
41704        message: *const gchar,
41705    );
41706}
41707extern "C" {
41708    pub fn g_dbus_method_invocation_return_gerror(
41709        invocation: *mut GDBusMethodInvocation,
41710        error: *const GError,
41711    );
41712}
41713extern "C" {
41714    pub fn g_dbus_method_invocation_take_error(
41715        invocation: *mut GDBusMethodInvocation,
41716        error: *mut GError,
41717    );
41718}
41719extern "C" {
41720    pub fn g_dbus_method_invocation_return_dbus_error(
41721        invocation: *mut GDBusMethodInvocation,
41722        error_name: *const gchar,
41723        error_message: *const gchar,
41724    );
41725}
41726#[doc = " GBusAcquiredCallback:\n @connection: The #GDBusConnection to a message bus.\n @name: The name that is requested to be owned.\n @user_data: User data passed to g_bus_own_name().\n\n Invoked when a connection to a message bus has been obtained.\n\n Since: 2.26"]
41727pub type GBusAcquiredCallback = ::std::option::Option<
41728    unsafe extern "C" fn(connection: *mut GDBusConnection, name: *const gchar, user_data: gpointer),
41729>;
41730#[doc = " GBusNameAcquiredCallback:\n @connection: The #GDBusConnection on which to acquired the name.\n @name: The name being owned.\n @user_data: User data passed to g_bus_own_name() or g_bus_own_name_on_connection().\n\n Invoked when the name is acquired.\n\n Since: 2.26"]
41731pub type GBusNameAcquiredCallback = ::std::option::Option<
41732    unsafe extern "C" fn(connection: *mut GDBusConnection, name: *const gchar, user_data: gpointer),
41733>;
41734#[doc = " GBusNameLostCallback:\n @connection: The #GDBusConnection on which to acquire the name or %NULL if\n the connection was disconnected.\n @name: The name being owned.\n @user_data: User data passed to g_bus_own_name() or g_bus_own_name_on_connection().\n\n Invoked when the name is lost or @connection has been closed.\n\n Since: 2.26"]
41735pub type GBusNameLostCallback = ::std::option::Option<
41736    unsafe extern "C" fn(connection: *mut GDBusConnection, name: *const gchar, user_data: gpointer),
41737>;
41738extern "C" {
41739    pub fn g_bus_own_name(
41740        bus_type: GBusType,
41741        name: *const gchar,
41742        flags: GBusNameOwnerFlags,
41743        bus_acquired_handler: GBusAcquiredCallback,
41744        name_acquired_handler: GBusNameAcquiredCallback,
41745        name_lost_handler: GBusNameLostCallback,
41746        user_data: gpointer,
41747        user_data_free_func: GDestroyNotify,
41748    ) -> guint;
41749}
41750extern "C" {
41751    pub fn g_bus_own_name_on_connection(
41752        connection: *mut GDBusConnection,
41753        name: *const gchar,
41754        flags: GBusNameOwnerFlags,
41755        name_acquired_handler: GBusNameAcquiredCallback,
41756        name_lost_handler: GBusNameLostCallback,
41757        user_data: gpointer,
41758        user_data_free_func: GDestroyNotify,
41759    ) -> guint;
41760}
41761extern "C" {
41762    pub fn g_bus_own_name_with_closures(
41763        bus_type: GBusType,
41764        name: *const gchar,
41765        flags: GBusNameOwnerFlags,
41766        bus_acquired_closure: *mut GClosure,
41767        name_acquired_closure: *mut GClosure,
41768        name_lost_closure: *mut GClosure,
41769    ) -> guint;
41770}
41771extern "C" {
41772    pub fn g_bus_own_name_on_connection_with_closures(
41773        connection: *mut GDBusConnection,
41774        name: *const gchar,
41775        flags: GBusNameOwnerFlags,
41776        name_acquired_closure: *mut GClosure,
41777        name_lost_closure: *mut GClosure,
41778    ) -> guint;
41779}
41780extern "C" {
41781    pub fn g_bus_unown_name(owner_id: guint);
41782}
41783#[doc = " GBusNameAppearedCallback:\n @connection: The #GDBusConnection the name is being watched on.\n @name: The name being watched.\n @name_owner: Unique name of the owner of the name being watched.\n @user_data: User data passed to g_bus_watch_name().\n\n Invoked when the name being watched is known to have to have an owner.\n\n Since: 2.26"]
41784pub type GBusNameAppearedCallback = ::std::option::Option<
41785    unsafe extern "C" fn(
41786        connection: *mut GDBusConnection,
41787        name: *const gchar,
41788        name_owner: *const gchar,
41789        user_data: gpointer,
41790    ),
41791>;
41792#[doc = " GBusNameVanishedCallback:\n @connection: The #GDBusConnection the name is being watched on, or\n     %NULL.\n @name: The name being watched.\n @user_data: User data passed to g_bus_watch_name().\n\n Invoked when the name being watched is known not to have to have an owner.\n\n This is also invoked when the #GDBusConnection on which the watch was\n established has been closed.  In that case, @connection will be\n %NULL.\n\n Since: 2.26"]
41793pub type GBusNameVanishedCallback = ::std::option::Option<
41794    unsafe extern "C" fn(connection: *mut GDBusConnection, name: *const gchar, user_data: gpointer),
41795>;
41796extern "C" {
41797    pub fn g_bus_watch_name(
41798        bus_type: GBusType,
41799        name: *const gchar,
41800        flags: GBusNameWatcherFlags,
41801        name_appeared_handler: GBusNameAppearedCallback,
41802        name_vanished_handler: GBusNameVanishedCallback,
41803        user_data: gpointer,
41804        user_data_free_func: GDestroyNotify,
41805    ) -> guint;
41806}
41807extern "C" {
41808    pub fn g_bus_watch_name_on_connection(
41809        connection: *mut GDBusConnection,
41810        name: *const gchar,
41811        flags: GBusNameWatcherFlags,
41812        name_appeared_handler: GBusNameAppearedCallback,
41813        name_vanished_handler: GBusNameVanishedCallback,
41814        user_data: gpointer,
41815        user_data_free_func: GDestroyNotify,
41816    ) -> guint;
41817}
41818extern "C" {
41819    pub fn g_bus_watch_name_with_closures(
41820        bus_type: GBusType,
41821        name: *const gchar,
41822        flags: GBusNameWatcherFlags,
41823        name_appeared_closure: *mut GClosure,
41824        name_vanished_closure: *mut GClosure,
41825    ) -> guint;
41826}
41827extern "C" {
41828    pub fn g_bus_watch_name_on_connection_with_closures(
41829        connection: *mut GDBusConnection,
41830        name: *const gchar,
41831        flags: GBusNameWatcherFlags,
41832        name_appeared_closure: *mut GClosure,
41833        name_vanished_closure: *mut GClosure,
41834    ) -> guint;
41835}
41836extern "C" {
41837    pub fn g_bus_unwatch_name(watcher_id: guint);
41838}
41839#[doc = " GDBusObjectIface:\n @parent_iface: The parent interface.\n @get_object_path: Returns the object path. See g_dbus_object_get_object_path().\n @get_interfaces: Returns all interfaces. See g_dbus_object_get_interfaces().\n @get_interface: Returns an interface by name. See g_dbus_object_get_interface().\n @interface_added: Signal handler for the #GDBusObject::interface-added signal.\n @interface_removed: Signal handler for the #GDBusObject::interface-removed signal.\n\n Base object type for D-Bus objects.\n\n Since: 2.30"]
41840pub type GDBusObjectIface = _GDBusObjectIface;
41841#[doc = " GDBusObjectIface:\n @parent_iface: The parent interface.\n @get_object_path: Returns the object path. See g_dbus_object_get_object_path().\n @get_interfaces: Returns all interfaces. See g_dbus_object_get_interfaces().\n @get_interface: Returns an interface by name. See g_dbus_object_get_interface().\n @interface_added: Signal handler for the #GDBusObject::interface-added signal.\n @interface_removed: Signal handler for the #GDBusObject::interface-removed signal.\n\n Base object type for D-Bus objects.\n\n Since: 2.30"]
41842#[repr(C)]
41843#[derive(Debug, Copy, Clone, PartialEq, Eq)]
41844pub struct _GDBusObjectIface {
41845    pub parent_iface: GTypeInterface,
41846    pub get_object_path:
41847        ::std::option::Option<unsafe extern "C" fn(object: *mut GDBusObject) -> *const gchar>,
41848    pub get_interfaces:
41849        ::std::option::Option<unsafe extern "C" fn(object: *mut GDBusObject) -> *mut GList>,
41850    pub get_interface: ::std::option::Option<
41851        unsafe extern "C" fn(
41852            object: *mut GDBusObject,
41853            interface_name: *const gchar,
41854        ) -> *mut GDBusInterface,
41855    >,
41856    pub interface_added: ::std::option::Option<
41857        unsafe extern "C" fn(object: *mut GDBusObject, interface_: *mut GDBusInterface),
41858    >,
41859    pub interface_removed: ::std::option::Option<
41860        unsafe extern "C" fn(object: *mut GDBusObject, interface_: *mut GDBusInterface),
41861    >,
41862}
41863#[test]
41864fn bindgen_test_layout__GDBusObjectIface() {
41865    const UNINIT: ::std::mem::MaybeUninit<_GDBusObjectIface> = ::std::mem::MaybeUninit::uninit();
41866    let ptr = UNINIT.as_ptr();
41867    assert_eq!(
41868        ::std::mem::size_of::<_GDBusObjectIface>(),
41869        56usize,
41870        concat!("Size of: ", stringify!(_GDBusObjectIface))
41871    );
41872    assert_eq!(
41873        ::std::mem::align_of::<_GDBusObjectIface>(),
41874        8usize,
41875        concat!("Alignment of ", stringify!(_GDBusObjectIface))
41876    );
41877    assert_eq!(
41878        unsafe { ::std::ptr::addr_of!((*ptr).parent_iface) as usize - ptr as usize },
41879        0usize,
41880        concat!(
41881            "Offset of field: ",
41882            stringify!(_GDBusObjectIface),
41883            "::",
41884            stringify!(parent_iface)
41885        )
41886    );
41887    assert_eq!(
41888        unsafe { ::std::ptr::addr_of!((*ptr).get_object_path) as usize - ptr as usize },
41889        16usize,
41890        concat!(
41891            "Offset of field: ",
41892            stringify!(_GDBusObjectIface),
41893            "::",
41894            stringify!(get_object_path)
41895        )
41896    );
41897    assert_eq!(
41898        unsafe { ::std::ptr::addr_of!((*ptr).get_interfaces) as usize - ptr as usize },
41899        24usize,
41900        concat!(
41901            "Offset of field: ",
41902            stringify!(_GDBusObjectIface),
41903            "::",
41904            stringify!(get_interfaces)
41905        )
41906    );
41907    assert_eq!(
41908        unsafe { ::std::ptr::addr_of!((*ptr).get_interface) as usize - ptr as usize },
41909        32usize,
41910        concat!(
41911            "Offset of field: ",
41912            stringify!(_GDBusObjectIface),
41913            "::",
41914            stringify!(get_interface)
41915        )
41916    );
41917    assert_eq!(
41918        unsafe { ::std::ptr::addr_of!((*ptr).interface_added) as usize - ptr as usize },
41919        40usize,
41920        concat!(
41921            "Offset of field: ",
41922            stringify!(_GDBusObjectIface),
41923            "::",
41924            stringify!(interface_added)
41925        )
41926    );
41927    assert_eq!(
41928        unsafe { ::std::ptr::addr_of!((*ptr).interface_removed) as usize - ptr as usize },
41929        48usize,
41930        concat!(
41931            "Offset of field: ",
41932            stringify!(_GDBusObjectIface),
41933            "::",
41934            stringify!(interface_removed)
41935        )
41936    );
41937}
41938extern "C" {
41939    pub fn g_dbus_object_get_type() -> GType;
41940}
41941extern "C" {
41942    pub fn g_dbus_object_get_object_path(object: *mut GDBusObject) -> *const gchar;
41943}
41944extern "C" {
41945    pub fn g_dbus_object_get_interfaces(object: *mut GDBusObject) -> *mut GList;
41946}
41947extern "C" {
41948    pub fn g_dbus_object_get_interface(
41949        object: *mut GDBusObject,
41950        interface_name: *const gchar,
41951    ) -> *mut GDBusInterface;
41952}
41953#[doc = " GDBusObjectManagerIface:\n @parent_iface: The parent interface.\n @get_object_path: Virtual function for g_dbus_object_manager_get_object_path().\n @get_objects: Virtual function for g_dbus_object_manager_get_objects().\n @get_object: Virtual function for g_dbus_object_manager_get_object().\n @get_interface: Virtual function for g_dbus_object_manager_get_interface().\n @object_added: Signal handler for the #GDBusObjectManager::object-added signal.\n @object_removed: Signal handler for the #GDBusObjectManager::object-removed signal.\n @interface_added: Signal handler for the #GDBusObjectManager::interface-added signal.\n @interface_removed: Signal handler for the #GDBusObjectManager::interface-removed signal.\n\n Base type for D-Bus object managers.\n\n Since: 2.30"]
41954pub type GDBusObjectManagerIface = _GDBusObjectManagerIface;
41955#[doc = " GDBusObjectManagerIface:\n @parent_iface: The parent interface.\n @get_object_path: Virtual function for g_dbus_object_manager_get_object_path().\n @get_objects: Virtual function for g_dbus_object_manager_get_objects().\n @get_object: Virtual function for g_dbus_object_manager_get_object().\n @get_interface: Virtual function for g_dbus_object_manager_get_interface().\n @object_added: Signal handler for the #GDBusObjectManager::object-added signal.\n @object_removed: Signal handler for the #GDBusObjectManager::object-removed signal.\n @interface_added: Signal handler for the #GDBusObjectManager::interface-added signal.\n @interface_removed: Signal handler for the #GDBusObjectManager::interface-removed signal.\n\n Base type for D-Bus object managers.\n\n Since: 2.30"]
41956#[repr(C)]
41957#[derive(Debug, Copy, Clone, PartialEq, Eq)]
41958pub struct _GDBusObjectManagerIface {
41959    pub parent_iface: GTypeInterface,
41960    pub get_object_path: ::std::option::Option<
41961        unsafe extern "C" fn(manager: *mut GDBusObjectManager) -> *const gchar,
41962    >,
41963    pub get_objects:
41964        ::std::option::Option<unsafe extern "C" fn(manager: *mut GDBusObjectManager) -> *mut GList>,
41965    pub get_object: ::std::option::Option<
41966        unsafe extern "C" fn(
41967            manager: *mut GDBusObjectManager,
41968            object_path: *const gchar,
41969        ) -> *mut GDBusObject,
41970    >,
41971    pub get_interface: ::std::option::Option<
41972        unsafe extern "C" fn(
41973            manager: *mut GDBusObjectManager,
41974            object_path: *const gchar,
41975            interface_name: *const gchar,
41976        ) -> *mut GDBusInterface,
41977    >,
41978    pub object_added: ::std::option::Option<
41979        unsafe extern "C" fn(manager: *mut GDBusObjectManager, object: *mut GDBusObject),
41980    >,
41981    pub object_removed: ::std::option::Option<
41982        unsafe extern "C" fn(manager: *mut GDBusObjectManager, object: *mut GDBusObject),
41983    >,
41984    pub interface_added: ::std::option::Option<
41985        unsafe extern "C" fn(
41986            manager: *mut GDBusObjectManager,
41987            object: *mut GDBusObject,
41988            interface_: *mut GDBusInterface,
41989        ),
41990    >,
41991    pub interface_removed: ::std::option::Option<
41992        unsafe extern "C" fn(
41993            manager: *mut GDBusObjectManager,
41994            object: *mut GDBusObject,
41995            interface_: *mut GDBusInterface,
41996        ),
41997    >,
41998}
41999#[test]
42000fn bindgen_test_layout__GDBusObjectManagerIface() {
42001    const UNINIT: ::std::mem::MaybeUninit<_GDBusObjectManagerIface> =
42002        ::std::mem::MaybeUninit::uninit();
42003    let ptr = UNINIT.as_ptr();
42004    assert_eq!(
42005        ::std::mem::size_of::<_GDBusObjectManagerIface>(),
42006        80usize,
42007        concat!("Size of: ", stringify!(_GDBusObjectManagerIface))
42008    );
42009    assert_eq!(
42010        ::std::mem::align_of::<_GDBusObjectManagerIface>(),
42011        8usize,
42012        concat!("Alignment of ", stringify!(_GDBusObjectManagerIface))
42013    );
42014    assert_eq!(
42015        unsafe { ::std::ptr::addr_of!((*ptr).parent_iface) as usize - ptr as usize },
42016        0usize,
42017        concat!(
42018            "Offset of field: ",
42019            stringify!(_GDBusObjectManagerIface),
42020            "::",
42021            stringify!(parent_iface)
42022        )
42023    );
42024    assert_eq!(
42025        unsafe { ::std::ptr::addr_of!((*ptr).get_object_path) as usize - ptr as usize },
42026        16usize,
42027        concat!(
42028            "Offset of field: ",
42029            stringify!(_GDBusObjectManagerIface),
42030            "::",
42031            stringify!(get_object_path)
42032        )
42033    );
42034    assert_eq!(
42035        unsafe { ::std::ptr::addr_of!((*ptr).get_objects) as usize - ptr as usize },
42036        24usize,
42037        concat!(
42038            "Offset of field: ",
42039            stringify!(_GDBusObjectManagerIface),
42040            "::",
42041            stringify!(get_objects)
42042        )
42043    );
42044    assert_eq!(
42045        unsafe { ::std::ptr::addr_of!((*ptr).get_object) as usize - ptr as usize },
42046        32usize,
42047        concat!(
42048            "Offset of field: ",
42049            stringify!(_GDBusObjectManagerIface),
42050            "::",
42051            stringify!(get_object)
42052        )
42053    );
42054    assert_eq!(
42055        unsafe { ::std::ptr::addr_of!((*ptr).get_interface) as usize - ptr as usize },
42056        40usize,
42057        concat!(
42058            "Offset of field: ",
42059            stringify!(_GDBusObjectManagerIface),
42060            "::",
42061            stringify!(get_interface)
42062        )
42063    );
42064    assert_eq!(
42065        unsafe { ::std::ptr::addr_of!((*ptr).object_added) as usize - ptr as usize },
42066        48usize,
42067        concat!(
42068            "Offset of field: ",
42069            stringify!(_GDBusObjectManagerIface),
42070            "::",
42071            stringify!(object_added)
42072        )
42073    );
42074    assert_eq!(
42075        unsafe { ::std::ptr::addr_of!((*ptr).object_removed) as usize - ptr as usize },
42076        56usize,
42077        concat!(
42078            "Offset of field: ",
42079            stringify!(_GDBusObjectManagerIface),
42080            "::",
42081            stringify!(object_removed)
42082        )
42083    );
42084    assert_eq!(
42085        unsafe { ::std::ptr::addr_of!((*ptr).interface_added) as usize - ptr as usize },
42086        64usize,
42087        concat!(
42088            "Offset of field: ",
42089            stringify!(_GDBusObjectManagerIface),
42090            "::",
42091            stringify!(interface_added)
42092        )
42093    );
42094    assert_eq!(
42095        unsafe { ::std::ptr::addr_of!((*ptr).interface_removed) as usize - ptr as usize },
42096        72usize,
42097        concat!(
42098            "Offset of field: ",
42099            stringify!(_GDBusObjectManagerIface),
42100            "::",
42101            stringify!(interface_removed)
42102        )
42103    );
42104}
42105extern "C" {
42106    pub fn g_dbus_object_manager_get_type() -> GType;
42107}
42108extern "C" {
42109    pub fn g_dbus_object_manager_get_object_path(manager: *mut GDBusObjectManager) -> *const gchar;
42110}
42111extern "C" {
42112    pub fn g_dbus_object_manager_get_objects(manager: *mut GDBusObjectManager) -> *mut GList;
42113}
42114extern "C" {
42115    pub fn g_dbus_object_manager_get_object(
42116        manager: *mut GDBusObjectManager,
42117        object_path: *const gchar,
42118    ) -> *mut GDBusObject;
42119}
42120extern "C" {
42121    pub fn g_dbus_object_manager_get_interface(
42122        manager: *mut GDBusObjectManager,
42123        object_path: *const gchar,
42124        interface_name: *const gchar,
42125    ) -> *mut GDBusInterface;
42126}
42127#[doc = " GDBusObjectManagerClientClass:\n @parent_class: The parent class.\n @interface_proxy_signal: Signal class handler for the #GDBusObjectManagerClient::interface-proxy-signal signal.\n @interface_proxy_properties_changed: Signal class handler for the #GDBusObjectManagerClient::interface-proxy-properties-changed signal.\n\n Class structure for #GDBusObjectManagerClient.\n\n Since: 2.30"]
42128pub type GDBusObjectManagerClientClass = _GDBusObjectManagerClientClass;
42129#[repr(C)]
42130#[derive(Debug, Copy, Clone)]
42131pub struct _GDBusObjectManagerClientPrivate {
42132    _unused: [u8; 0],
42133}
42134pub type GDBusObjectManagerClientPrivate = _GDBusObjectManagerClientPrivate;
42135#[doc = " GDBusObjectManagerClient:\n\n The #GDBusObjectManagerClient structure contains private data and should\n only be accessed using the provided API.\n\n Since: 2.30"]
42136#[repr(C)]
42137#[derive(Debug, Copy, Clone, PartialEq, Eq)]
42138pub struct _GDBusObjectManagerClient {
42139    pub parent_instance: GObject,
42140    pub priv_: *mut GDBusObjectManagerClientPrivate,
42141}
42142#[test]
42143fn bindgen_test_layout__GDBusObjectManagerClient() {
42144    const UNINIT: ::std::mem::MaybeUninit<_GDBusObjectManagerClient> =
42145        ::std::mem::MaybeUninit::uninit();
42146    let ptr = UNINIT.as_ptr();
42147    assert_eq!(
42148        ::std::mem::size_of::<_GDBusObjectManagerClient>(),
42149        32usize,
42150        concat!("Size of: ", stringify!(_GDBusObjectManagerClient))
42151    );
42152    assert_eq!(
42153        ::std::mem::align_of::<_GDBusObjectManagerClient>(),
42154        8usize,
42155        concat!("Alignment of ", stringify!(_GDBusObjectManagerClient))
42156    );
42157    assert_eq!(
42158        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
42159        0usize,
42160        concat!(
42161            "Offset of field: ",
42162            stringify!(_GDBusObjectManagerClient),
42163            "::",
42164            stringify!(parent_instance)
42165        )
42166    );
42167    assert_eq!(
42168        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
42169        24usize,
42170        concat!(
42171            "Offset of field: ",
42172            stringify!(_GDBusObjectManagerClient),
42173            "::",
42174            stringify!(priv_)
42175        )
42176    );
42177}
42178#[doc = " GDBusObjectManagerClientClass:\n @parent_class: The parent class.\n @interface_proxy_signal: Signal class handler for the #GDBusObjectManagerClient::interface-proxy-signal signal.\n @interface_proxy_properties_changed: Signal class handler for the #GDBusObjectManagerClient::interface-proxy-properties-changed signal.\n\n Class structure for #GDBusObjectManagerClient.\n\n Since: 2.30"]
42179#[repr(C)]
42180#[derive(Debug, Copy, Clone, PartialEq, Eq)]
42181pub struct _GDBusObjectManagerClientClass {
42182    pub parent_class: GObjectClass,
42183    pub interface_proxy_signal: ::std::option::Option<
42184        unsafe extern "C" fn(
42185            manager: *mut GDBusObjectManagerClient,
42186            object_proxy: *mut GDBusObjectProxy,
42187            interface_proxy: *mut GDBusProxy,
42188            sender_name: *const gchar,
42189            signal_name: *const gchar,
42190            parameters: *mut GVariant,
42191        ),
42192    >,
42193    pub interface_proxy_properties_changed: ::std::option::Option<
42194        unsafe extern "C" fn(
42195            manager: *mut GDBusObjectManagerClient,
42196            object_proxy: *mut GDBusObjectProxy,
42197            interface_proxy: *mut GDBusProxy,
42198            changed_properties: *mut GVariant,
42199            invalidated_properties: *const *const gchar,
42200        ),
42201    >,
42202    pub padding: [gpointer; 8usize],
42203}
42204#[test]
42205fn bindgen_test_layout__GDBusObjectManagerClientClass() {
42206    const UNINIT: ::std::mem::MaybeUninit<_GDBusObjectManagerClientClass> =
42207        ::std::mem::MaybeUninit::uninit();
42208    let ptr = UNINIT.as_ptr();
42209    assert_eq!(
42210        ::std::mem::size_of::<_GDBusObjectManagerClientClass>(),
42211        216usize,
42212        concat!("Size of: ", stringify!(_GDBusObjectManagerClientClass))
42213    );
42214    assert_eq!(
42215        ::std::mem::align_of::<_GDBusObjectManagerClientClass>(),
42216        8usize,
42217        concat!("Alignment of ", stringify!(_GDBusObjectManagerClientClass))
42218    );
42219    assert_eq!(
42220        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
42221        0usize,
42222        concat!(
42223            "Offset of field: ",
42224            stringify!(_GDBusObjectManagerClientClass),
42225            "::",
42226            stringify!(parent_class)
42227        )
42228    );
42229    assert_eq!(
42230        unsafe { ::std::ptr::addr_of!((*ptr).interface_proxy_signal) as usize - ptr as usize },
42231        136usize,
42232        concat!(
42233            "Offset of field: ",
42234            stringify!(_GDBusObjectManagerClientClass),
42235            "::",
42236            stringify!(interface_proxy_signal)
42237        )
42238    );
42239    assert_eq!(
42240        unsafe {
42241            ::std::ptr::addr_of!((*ptr).interface_proxy_properties_changed) as usize - ptr as usize
42242        },
42243        144usize,
42244        concat!(
42245            "Offset of field: ",
42246            stringify!(_GDBusObjectManagerClientClass),
42247            "::",
42248            stringify!(interface_proxy_properties_changed)
42249        )
42250    );
42251    assert_eq!(
42252        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
42253        152usize,
42254        concat!(
42255            "Offset of field: ",
42256            stringify!(_GDBusObjectManagerClientClass),
42257            "::",
42258            stringify!(padding)
42259        )
42260    );
42261}
42262extern "C" {
42263    pub fn g_dbus_object_manager_client_get_type() -> GType;
42264}
42265extern "C" {
42266    pub fn g_dbus_object_manager_client_new(
42267        connection: *mut GDBusConnection,
42268        flags: GDBusObjectManagerClientFlags,
42269        name: *const gchar,
42270        object_path: *const gchar,
42271        get_proxy_type_func: GDBusProxyTypeFunc,
42272        get_proxy_type_user_data: gpointer,
42273        get_proxy_type_destroy_notify: GDestroyNotify,
42274        cancellable: *mut GCancellable,
42275        callback: GAsyncReadyCallback,
42276        user_data: gpointer,
42277    );
42278}
42279extern "C" {
42280    pub fn g_dbus_object_manager_client_new_finish(
42281        res: *mut GAsyncResult,
42282        error: *mut *mut GError,
42283    ) -> *mut GDBusObjectManager;
42284}
42285extern "C" {
42286    pub fn g_dbus_object_manager_client_new_sync(
42287        connection: *mut GDBusConnection,
42288        flags: GDBusObjectManagerClientFlags,
42289        name: *const gchar,
42290        object_path: *const gchar,
42291        get_proxy_type_func: GDBusProxyTypeFunc,
42292        get_proxy_type_user_data: gpointer,
42293        get_proxy_type_destroy_notify: GDestroyNotify,
42294        cancellable: *mut GCancellable,
42295        error: *mut *mut GError,
42296    ) -> *mut GDBusObjectManager;
42297}
42298extern "C" {
42299    pub fn g_dbus_object_manager_client_new_for_bus(
42300        bus_type: GBusType,
42301        flags: GDBusObjectManagerClientFlags,
42302        name: *const gchar,
42303        object_path: *const gchar,
42304        get_proxy_type_func: GDBusProxyTypeFunc,
42305        get_proxy_type_user_data: gpointer,
42306        get_proxy_type_destroy_notify: GDestroyNotify,
42307        cancellable: *mut GCancellable,
42308        callback: GAsyncReadyCallback,
42309        user_data: gpointer,
42310    );
42311}
42312extern "C" {
42313    pub fn g_dbus_object_manager_client_new_for_bus_finish(
42314        res: *mut GAsyncResult,
42315        error: *mut *mut GError,
42316    ) -> *mut GDBusObjectManager;
42317}
42318extern "C" {
42319    pub fn g_dbus_object_manager_client_new_for_bus_sync(
42320        bus_type: GBusType,
42321        flags: GDBusObjectManagerClientFlags,
42322        name: *const gchar,
42323        object_path: *const gchar,
42324        get_proxy_type_func: GDBusProxyTypeFunc,
42325        get_proxy_type_user_data: gpointer,
42326        get_proxy_type_destroy_notify: GDestroyNotify,
42327        cancellable: *mut GCancellable,
42328        error: *mut *mut GError,
42329    ) -> *mut GDBusObjectManager;
42330}
42331extern "C" {
42332    pub fn g_dbus_object_manager_client_get_connection(
42333        manager: *mut GDBusObjectManagerClient,
42334    ) -> *mut GDBusConnection;
42335}
42336extern "C" {
42337    pub fn g_dbus_object_manager_client_get_flags(
42338        manager: *mut GDBusObjectManagerClient,
42339    ) -> GDBusObjectManagerClientFlags;
42340}
42341extern "C" {
42342    pub fn g_dbus_object_manager_client_get_name(
42343        manager: *mut GDBusObjectManagerClient,
42344    ) -> *const gchar;
42345}
42346extern "C" {
42347    pub fn g_dbus_object_manager_client_get_name_owner(
42348        manager: *mut GDBusObjectManagerClient,
42349    ) -> *mut gchar;
42350}
42351#[doc = " GDBusObjectManagerServerClass:\n @parent_class: The parent class.\n\n Class structure for #GDBusObjectManagerServer.\n\n Since: 2.30"]
42352pub type GDBusObjectManagerServerClass = _GDBusObjectManagerServerClass;
42353#[repr(C)]
42354#[derive(Debug, Copy, Clone)]
42355pub struct _GDBusObjectManagerServerPrivate {
42356    _unused: [u8; 0],
42357}
42358pub type GDBusObjectManagerServerPrivate = _GDBusObjectManagerServerPrivate;
42359#[doc = " GDBusObjectManagerServer:\n\n The #GDBusObjectManagerServer structure contains private data and should\n only be accessed using the provided API.\n\n Since: 2.30"]
42360#[repr(C)]
42361#[derive(Debug, Copy, Clone, PartialEq, Eq)]
42362pub struct _GDBusObjectManagerServer {
42363    pub parent_instance: GObject,
42364    pub priv_: *mut GDBusObjectManagerServerPrivate,
42365}
42366#[test]
42367fn bindgen_test_layout__GDBusObjectManagerServer() {
42368    const UNINIT: ::std::mem::MaybeUninit<_GDBusObjectManagerServer> =
42369        ::std::mem::MaybeUninit::uninit();
42370    let ptr = UNINIT.as_ptr();
42371    assert_eq!(
42372        ::std::mem::size_of::<_GDBusObjectManagerServer>(),
42373        32usize,
42374        concat!("Size of: ", stringify!(_GDBusObjectManagerServer))
42375    );
42376    assert_eq!(
42377        ::std::mem::align_of::<_GDBusObjectManagerServer>(),
42378        8usize,
42379        concat!("Alignment of ", stringify!(_GDBusObjectManagerServer))
42380    );
42381    assert_eq!(
42382        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
42383        0usize,
42384        concat!(
42385            "Offset of field: ",
42386            stringify!(_GDBusObjectManagerServer),
42387            "::",
42388            stringify!(parent_instance)
42389        )
42390    );
42391    assert_eq!(
42392        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
42393        24usize,
42394        concat!(
42395            "Offset of field: ",
42396            stringify!(_GDBusObjectManagerServer),
42397            "::",
42398            stringify!(priv_)
42399        )
42400    );
42401}
42402#[doc = " GDBusObjectManagerServerClass:\n @parent_class: The parent class.\n\n Class structure for #GDBusObjectManagerServer.\n\n Since: 2.30"]
42403#[repr(C)]
42404#[derive(Debug, Copy, Clone, PartialEq, Eq)]
42405pub struct _GDBusObjectManagerServerClass {
42406    pub parent_class: GObjectClass,
42407    pub padding: [gpointer; 8usize],
42408}
42409#[test]
42410fn bindgen_test_layout__GDBusObjectManagerServerClass() {
42411    const UNINIT: ::std::mem::MaybeUninit<_GDBusObjectManagerServerClass> =
42412        ::std::mem::MaybeUninit::uninit();
42413    let ptr = UNINIT.as_ptr();
42414    assert_eq!(
42415        ::std::mem::size_of::<_GDBusObjectManagerServerClass>(),
42416        200usize,
42417        concat!("Size of: ", stringify!(_GDBusObjectManagerServerClass))
42418    );
42419    assert_eq!(
42420        ::std::mem::align_of::<_GDBusObjectManagerServerClass>(),
42421        8usize,
42422        concat!("Alignment of ", stringify!(_GDBusObjectManagerServerClass))
42423    );
42424    assert_eq!(
42425        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
42426        0usize,
42427        concat!(
42428            "Offset of field: ",
42429            stringify!(_GDBusObjectManagerServerClass),
42430            "::",
42431            stringify!(parent_class)
42432        )
42433    );
42434    assert_eq!(
42435        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
42436        136usize,
42437        concat!(
42438            "Offset of field: ",
42439            stringify!(_GDBusObjectManagerServerClass),
42440            "::",
42441            stringify!(padding)
42442        )
42443    );
42444}
42445extern "C" {
42446    pub fn g_dbus_object_manager_server_get_type() -> GType;
42447}
42448extern "C" {
42449    pub fn g_dbus_object_manager_server_new(
42450        object_path: *const gchar,
42451    ) -> *mut GDBusObjectManagerServer;
42452}
42453extern "C" {
42454    pub fn g_dbus_object_manager_server_get_connection(
42455        manager: *mut GDBusObjectManagerServer,
42456    ) -> *mut GDBusConnection;
42457}
42458extern "C" {
42459    pub fn g_dbus_object_manager_server_set_connection(
42460        manager: *mut GDBusObjectManagerServer,
42461        connection: *mut GDBusConnection,
42462    );
42463}
42464extern "C" {
42465    pub fn g_dbus_object_manager_server_export(
42466        manager: *mut GDBusObjectManagerServer,
42467        object: *mut GDBusObjectSkeleton,
42468    );
42469}
42470extern "C" {
42471    pub fn g_dbus_object_manager_server_export_uniquely(
42472        manager: *mut GDBusObjectManagerServer,
42473        object: *mut GDBusObjectSkeleton,
42474    );
42475}
42476extern "C" {
42477    pub fn g_dbus_object_manager_server_is_exported(
42478        manager: *mut GDBusObjectManagerServer,
42479        object: *mut GDBusObjectSkeleton,
42480    ) -> gboolean;
42481}
42482extern "C" {
42483    pub fn g_dbus_object_manager_server_unexport(
42484        manager: *mut GDBusObjectManagerServer,
42485        object_path: *const gchar,
42486    ) -> gboolean;
42487}
42488#[doc = " GDBusObjectProxyClass:\n @parent_class: The parent class.\n\n Class structure for #GDBusObjectProxy.\n\n Since: 2.30"]
42489pub type GDBusObjectProxyClass = _GDBusObjectProxyClass;
42490#[repr(C)]
42491#[derive(Debug, Copy, Clone)]
42492pub struct _GDBusObjectProxyPrivate {
42493    _unused: [u8; 0],
42494}
42495pub type GDBusObjectProxyPrivate = _GDBusObjectProxyPrivate;
42496#[doc = " GDBusObjectProxy:\n\n The #GDBusObjectProxy structure contains private data and should\n only be accessed using the provided API.\n\n Since: 2.30"]
42497#[repr(C)]
42498#[derive(Debug, Copy, Clone, PartialEq, Eq)]
42499pub struct _GDBusObjectProxy {
42500    pub parent_instance: GObject,
42501    pub priv_: *mut GDBusObjectProxyPrivate,
42502}
42503#[test]
42504fn bindgen_test_layout__GDBusObjectProxy() {
42505    const UNINIT: ::std::mem::MaybeUninit<_GDBusObjectProxy> = ::std::mem::MaybeUninit::uninit();
42506    let ptr = UNINIT.as_ptr();
42507    assert_eq!(
42508        ::std::mem::size_of::<_GDBusObjectProxy>(),
42509        32usize,
42510        concat!("Size of: ", stringify!(_GDBusObjectProxy))
42511    );
42512    assert_eq!(
42513        ::std::mem::align_of::<_GDBusObjectProxy>(),
42514        8usize,
42515        concat!("Alignment of ", stringify!(_GDBusObjectProxy))
42516    );
42517    assert_eq!(
42518        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
42519        0usize,
42520        concat!(
42521            "Offset of field: ",
42522            stringify!(_GDBusObjectProxy),
42523            "::",
42524            stringify!(parent_instance)
42525        )
42526    );
42527    assert_eq!(
42528        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
42529        24usize,
42530        concat!(
42531            "Offset of field: ",
42532            stringify!(_GDBusObjectProxy),
42533            "::",
42534            stringify!(priv_)
42535        )
42536    );
42537}
42538#[doc = " GDBusObjectProxyClass:\n @parent_class: The parent class.\n\n Class structure for #GDBusObjectProxy.\n\n Since: 2.30"]
42539#[repr(C)]
42540#[derive(Debug, Copy, Clone, PartialEq, Eq)]
42541pub struct _GDBusObjectProxyClass {
42542    pub parent_class: GObjectClass,
42543    pub padding: [gpointer; 8usize],
42544}
42545#[test]
42546fn bindgen_test_layout__GDBusObjectProxyClass() {
42547    const UNINIT: ::std::mem::MaybeUninit<_GDBusObjectProxyClass> =
42548        ::std::mem::MaybeUninit::uninit();
42549    let ptr = UNINIT.as_ptr();
42550    assert_eq!(
42551        ::std::mem::size_of::<_GDBusObjectProxyClass>(),
42552        200usize,
42553        concat!("Size of: ", stringify!(_GDBusObjectProxyClass))
42554    );
42555    assert_eq!(
42556        ::std::mem::align_of::<_GDBusObjectProxyClass>(),
42557        8usize,
42558        concat!("Alignment of ", stringify!(_GDBusObjectProxyClass))
42559    );
42560    assert_eq!(
42561        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
42562        0usize,
42563        concat!(
42564            "Offset of field: ",
42565            stringify!(_GDBusObjectProxyClass),
42566            "::",
42567            stringify!(parent_class)
42568        )
42569    );
42570    assert_eq!(
42571        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
42572        136usize,
42573        concat!(
42574            "Offset of field: ",
42575            stringify!(_GDBusObjectProxyClass),
42576            "::",
42577            stringify!(padding)
42578        )
42579    );
42580}
42581extern "C" {
42582    pub fn g_dbus_object_proxy_get_type() -> GType;
42583}
42584extern "C" {
42585    pub fn g_dbus_object_proxy_new(
42586        connection: *mut GDBusConnection,
42587        object_path: *const gchar,
42588    ) -> *mut GDBusObjectProxy;
42589}
42590extern "C" {
42591    pub fn g_dbus_object_proxy_get_connection(proxy: *mut GDBusObjectProxy)
42592        -> *mut GDBusConnection;
42593}
42594#[doc = " GDBusObjectSkeletonClass:\n @parent_class: The parent class.\n @authorize_method: Signal class handler for the #GDBusObjectSkeleton::authorize-method signal.\n\n Class structure for #GDBusObjectSkeleton.\n\n Since: 2.30"]
42595pub type GDBusObjectSkeletonClass = _GDBusObjectSkeletonClass;
42596#[repr(C)]
42597#[derive(Debug, Copy, Clone)]
42598pub struct _GDBusObjectSkeletonPrivate {
42599    _unused: [u8; 0],
42600}
42601pub type GDBusObjectSkeletonPrivate = _GDBusObjectSkeletonPrivate;
42602#[doc = " GDBusObjectSkeleton:\n\n The #GDBusObjectSkeleton structure contains private data and should only be\n accessed using the provided API.\n\n Since: 2.30"]
42603#[repr(C)]
42604#[derive(Debug, Copy, Clone, PartialEq, Eq)]
42605pub struct _GDBusObjectSkeleton {
42606    pub parent_instance: GObject,
42607    pub priv_: *mut GDBusObjectSkeletonPrivate,
42608}
42609#[test]
42610fn bindgen_test_layout__GDBusObjectSkeleton() {
42611    const UNINIT: ::std::mem::MaybeUninit<_GDBusObjectSkeleton> = ::std::mem::MaybeUninit::uninit();
42612    let ptr = UNINIT.as_ptr();
42613    assert_eq!(
42614        ::std::mem::size_of::<_GDBusObjectSkeleton>(),
42615        32usize,
42616        concat!("Size of: ", stringify!(_GDBusObjectSkeleton))
42617    );
42618    assert_eq!(
42619        ::std::mem::align_of::<_GDBusObjectSkeleton>(),
42620        8usize,
42621        concat!("Alignment of ", stringify!(_GDBusObjectSkeleton))
42622    );
42623    assert_eq!(
42624        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
42625        0usize,
42626        concat!(
42627            "Offset of field: ",
42628            stringify!(_GDBusObjectSkeleton),
42629            "::",
42630            stringify!(parent_instance)
42631        )
42632    );
42633    assert_eq!(
42634        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
42635        24usize,
42636        concat!(
42637            "Offset of field: ",
42638            stringify!(_GDBusObjectSkeleton),
42639            "::",
42640            stringify!(priv_)
42641        )
42642    );
42643}
42644#[doc = " GDBusObjectSkeletonClass:\n @parent_class: The parent class.\n @authorize_method: Signal class handler for the #GDBusObjectSkeleton::authorize-method signal.\n\n Class structure for #GDBusObjectSkeleton.\n\n Since: 2.30"]
42645#[repr(C)]
42646#[derive(Debug, Copy, Clone, PartialEq, Eq)]
42647pub struct _GDBusObjectSkeletonClass {
42648    pub parent_class: GObjectClass,
42649    pub authorize_method: ::std::option::Option<
42650        unsafe extern "C" fn(
42651            object: *mut GDBusObjectSkeleton,
42652            interface_: *mut GDBusInterfaceSkeleton,
42653            invocation: *mut GDBusMethodInvocation,
42654        ) -> gboolean,
42655    >,
42656    pub padding: [gpointer; 8usize],
42657}
42658#[test]
42659fn bindgen_test_layout__GDBusObjectSkeletonClass() {
42660    const UNINIT: ::std::mem::MaybeUninit<_GDBusObjectSkeletonClass> =
42661        ::std::mem::MaybeUninit::uninit();
42662    let ptr = UNINIT.as_ptr();
42663    assert_eq!(
42664        ::std::mem::size_of::<_GDBusObjectSkeletonClass>(),
42665        208usize,
42666        concat!("Size of: ", stringify!(_GDBusObjectSkeletonClass))
42667    );
42668    assert_eq!(
42669        ::std::mem::align_of::<_GDBusObjectSkeletonClass>(),
42670        8usize,
42671        concat!("Alignment of ", stringify!(_GDBusObjectSkeletonClass))
42672    );
42673    assert_eq!(
42674        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
42675        0usize,
42676        concat!(
42677            "Offset of field: ",
42678            stringify!(_GDBusObjectSkeletonClass),
42679            "::",
42680            stringify!(parent_class)
42681        )
42682    );
42683    assert_eq!(
42684        unsafe { ::std::ptr::addr_of!((*ptr).authorize_method) as usize - ptr as usize },
42685        136usize,
42686        concat!(
42687            "Offset of field: ",
42688            stringify!(_GDBusObjectSkeletonClass),
42689            "::",
42690            stringify!(authorize_method)
42691        )
42692    );
42693    assert_eq!(
42694        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
42695        144usize,
42696        concat!(
42697            "Offset of field: ",
42698            stringify!(_GDBusObjectSkeletonClass),
42699            "::",
42700            stringify!(padding)
42701        )
42702    );
42703}
42704extern "C" {
42705    pub fn g_dbus_object_skeleton_get_type() -> GType;
42706}
42707extern "C" {
42708    pub fn g_dbus_object_skeleton_new(object_path: *const gchar) -> *mut GDBusObjectSkeleton;
42709}
42710extern "C" {
42711    pub fn g_dbus_object_skeleton_flush(object: *mut GDBusObjectSkeleton);
42712}
42713extern "C" {
42714    pub fn g_dbus_object_skeleton_add_interface(
42715        object: *mut GDBusObjectSkeleton,
42716        interface_: *mut GDBusInterfaceSkeleton,
42717    );
42718}
42719extern "C" {
42720    pub fn g_dbus_object_skeleton_remove_interface(
42721        object: *mut GDBusObjectSkeleton,
42722        interface_: *mut GDBusInterfaceSkeleton,
42723    );
42724}
42725extern "C" {
42726    pub fn g_dbus_object_skeleton_remove_interface_by_name(
42727        object: *mut GDBusObjectSkeleton,
42728        interface_name: *const gchar,
42729    );
42730}
42731extern "C" {
42732    pub fn g_dbus_object_skeleton_set_object_path(
42733        object: *mut GDBusObjectSkeleton,
42734        object_path: *const gchar,
42735    );
42736}
42737#[doc = " GDBusProxyClass:\n @g_properties_changed: Signal class handler for the #GDBusProxy::g-properties-changed signal.\n @g_signal: Signal class handler for the #GDBusProxy::g-signal signal.\n\n Class structure for #GDBusProxy.\n\n Since: 2.26"]
42738pub type GDBusProxyClass = _GDBusProxyClass;
42739#[repr(C)]
42740#[derive(Debug, Copy, Clone)]
42741pub struct _GDBusProxyPrivate {
42742    _unused: [u8; 0],
42743}
42744pub type GDBusProxyPrivate = _GDBusProxyPrivate;
42745#[doc = " GDBusProxy:\n\n The #GDBusProxy structure contains only private data and\n should only be accessed using the provided API.\n\n Since: 2.26"]
42746#[repr(C)]
42747#[derive(Debug, Copy, Clone, PartialEq, Eq)]
42748pub struct _GDBusProxy {
42749    pub parent_instance: GObject,
42750    pub priv_: *mut GDBusProxyPrivate,
42751}
42752#[test]
42753fn bindgen_test_layout__GDBusProxy() {
42754    const UNINIT: ::std::mem::MaybeUninit<_GDBusProxy> = ::std::mem::MaybeUninit::uninit();
42755    let ptr = UNINIT.as_ptr();
42756    assert_eq!(
42757        ::std::mem::size_of::<_GDBusProxy>(),
42758        32usize,
42759        concat!("Size of: ", stringify!(_GDBusProxy))
42760    );
42761    assert_eq!(
42762        ::std::mem::align_of::<_GDBusProxy>(),
42763        8usize,
42764        concat!("Alignment of ", stringify!(_GDBusProxy))
42765    );
42766    assert_eq!(
42767        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
42768        0usize,
42769        concat!(
42770            "Offset of field: ",
42771            stringify!(_GDBusProxy),
42772            "::",
42773            stringify!(parent_instance)
42774        )
42775    );
42776    assert_eq!(
42777        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
42778        24usize,
42779        concat!(
42780            "Offset of field: ",
42781            stringify!(_GDBusProxy),
42782            "::",
42783            stringify!(priv_)
42784        )
42785    );
42786}
42787#[doc = " GDBusProxyClass:\n @g_properties_changed: Signal class handler for the #GDBusProxy::g-properties-changed signal.\n @g_signal: Signal class handler for the #GDBusProxy::g-signal signal.\n\n Class structure for #GDBusProxy.\n\n Since: 2.26"]
42788#[repr(C)]
42789#[derive(Debug, Copy, Clone, PartialEq, Eq)]
42790pub struct _GDBusProxyClass {
42791    pub parent_class: GObjectClass,
42792    pub g_properties_changed: ::std::option::Option<
42793        unsafe extern "C" fn(
42794            proxy: *mut GDBusProxy,
42795            changed_properties: *mut GVariant,
42796            invalidated_properties: *const *const gchar,
42797        ),
42798    >,
42799    pub g_signal: ::std::option::Option<
42800        unsafe extern "C" fn(
42801            proxy: *mut GDBusProxy,
42802            sender_name: *const gchar,
42803            signal_name: *const gchar,
42804            parameters: *mut GVariant,
42805        ),
42806    >,
42807    pub padding: [gpointer; 32usize],
42808}
42809#[test]
42810fn bindgen_test_layout__GDBusProxyClass() {
42811    const UNINIT: ::std::mem::MaybeUninit<_GDBusProxyClass> = ::std::mem::MaybeUninit::uninit();
42812    let ptr = UNINIT.as_ptr();
42813    assert_eq!(
42814        ::std::mem::size_of::<_GDBusProxyClass>(),
42815        408usize,
42816        concat!("Size of: ", stringify!(_GDBusProxyClass))
42817    );
42818    assert_eq!(
42819        ::std::mem::align_of::<_GDBusProxyClass>(),
42820        8usize,
42821        concat!("Alignment of ", stringify!(_GDBusProxyClass))
42822    );
42823    assert_eq!(
42824        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
42825        0usize,
42826        concat!(
42827            "Offset of field: ",
42828            stringify!(_GDBusProxyClass),
42829            "::",
42830            stringify!(parent_class)
42831        )
42832    );
42833    assert_eq!(
42834        unsafe { ::std::ptr::addr_of!((*ptr).g_properties_changed) as usize - ptr as usize },
42835        136usize,
42836        concat!(
42837            "Offset of field: ",
42838            stringify!(_GDBusProxyClass),
42839            "::",
42840            stringify!(g_properties_changed)
42841        )
42842    );
42843    assert_eq!(
42844        unsafe { ::std::ptr::addr_of!((*ptr).g_signal) as usize - ptr as usize },
42845        144usize,
42846        concat!(
42847            "Offset of field: ",
42848            stringify!(_GDBusProxyClass),
42849            "::",
42850            stringify!(g_signal)
42851        )
42852    );
42853    assert_eq!(
42854        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
42855        152usize,
42856        concat!(
42857            "Offset of field: ",
42858            stringify!(_GDBusProxyClass),
42859            "::",
42860            stringify!(padding)
42861        )
42862    );
42863}
42864extern "C" {
42865    pub fn g_dbus_proxy_get_type() -> GType;
42866}
42867extern "C" {
42868    pub fn g_dbus_proxy_new(
42869        connection: *mut GDBusConnection,
42870        flags: GDBusProxyFlags,
42871        info: *mut GDBusInterfaceInfo,
42872        name: *const gchar,
42873        object_path: *const gchar,
42874        interface_name: *const gchar,
42875        cancellable: *mut GCancellable,
42876        callback: GAsyncReadyCallback,
42877        user_data: gpointer,
42878    );
42879}
42880extern "C" {
42881    pub fn g_dbus_proxy_new_finish(
42882        res: *mut GAsyncResult,
42883        error: *mut *mut GError,
42884    ) -> *mut GDBusProxy;
42885}
42886extern "C" {
42887    pub fn g_dbus_proxy_new_sync(
42888        connection: *mut GDBusConnection,
42889        flags: GDBusProxyFlags,
42890        info: *mut GDBusInterfaceInfo,
42891        name: *const gchar,
42892        object_path: *const gchar,
42893        interface_name: *const gchar,
42894        cancellable: *mut GCancellable,
42895        error: *mut *mut GError,
42896    ) -> *mut GDBusProxy;
42897}
42898extern "C" {
42899    pub fn g_dbus_proxy_new_for_bus(
42900        bus_type: GBusType,
42901        flags: GDBusProxyFlags,
42902        info: *mut GDBusInterfaceInfo,
42903        name: *const gchar,
42904        object_path: *const gchar,
42905        interface_name: *const gchar,
42906        cancellable: *mut GCancellable,
42907        callback: GAsyncReadyCallback,
42908        user_data: gpointer,
42909    );
42910}
42911extern "C" {
42912    pub fn g_dbus_proxy_new_for_bus_finish(
42913        res: *mut GAsyncResult,
42914        error: *mut *mut GError,
42915    ) -> *mut GDBusProxy;
42916}
42917extern "C" {
42918    pub fn g_dbus_proxy_new_for_bus_sync(
42919        bus_type: GBusType,
42920        flags: GDBusProxyFlags,
42921        info: *mut GDBusInterfaceInfo,
42922        name: *const gchar,
42923        object_path: *const gchar,
42924        interface_name: *const gchar,
42925        cancellable: *mut GCancellable,
42926        error: *mut *mut GError,
42927    ) -> *mut GDBusProxy;
42928}
42929extern "C" {
42930    pub fn g_dbus_proxy_get_connection(proxy: *mut GDBusProxy) -> *mut GDBusConnection;
42931}
42932extern "C" {
42933    pub fn g_dbus_proxy_get_flags(proxy: *mut GDBusProxy) -> GDBusProxyFlags;
42934}
42935extern "C" {
42936    pub fn g_dbus_proxy_get_name(proxy: *mut GDBusProxy) -> *const gchar;
42937}
42938extern "C" {
42939    pub fn g_dbus_proxy_get_name_owner(proxy: *mut GDBusProxy) -> *mut gchar;
42940}
42941extern "C" {
42942    pub fn g_dbus_proxy_get_object_path(proxy: *mut GDBusProxy) -> *const gchar;
42943}
42944extern "C" {
42945    pub fn g_dbus_proxy_get_interface_name(proxy: *mut GDBusProxy) -> *const gchar;
42946}
42947extern "C" {
42948    pub fn g_dbus_proxy_get_default_timeout(proxy: *mut GDBusProxy) -> gint;
42949}
42950extern "C" {
42951    pub fn g_dbus_proxy_set_default_timeout(proxy: *mut GDBusProxy, timeout_msec: gint);
42952}
42953extern "C" {
42954    pub fn g_dbus_proxy_get_interface_info(proxy: *mut GDBusProxy) -> *mut GDBusInterfaceInfo;
42955}
42956extern "C" {
42957    pub fn g_dbus_proxy_set_interface_info(proxy: *mut GDBusProxy, info: *mut GDBusInterfaceInfo);
42958}
42959extern "C" {
42960    pub fn g_dbus_proxy_get_cached_property(
42961        proxy: *mut GDBusProxy,
42962        property_name: *const gchar,
42963    ) -> *mut GVariant;
42964}
42965extern "C" {
42966    pub fn g_dbus_proxy_set_cached_property(
42967        proxy: *mut GDBusProxy,
42968        property_name: *const gchar,
42969        value: *mut GVariant,
42970    );
42971}
42972extern "C" {
42973    pub fn g_dbus_proxy_get_cached_property_names(proxy: *mut GDBusProxy) -> *mut *mut gchar;
42974}
42975extern "C" {
42976    pub fn g_dbus_proxy_call(
42977        proxy: *mut GDBusProxy,
42978        method_name: *const gchar,
42979        parameters: *mut GVariant,
42980        flags: GDBusCallFlags,
42981        timeout_msec: gint,
42982        cancellable: *mut GCancellable,
42983        callback: GAsyncReadyCallback,
42984        user_data: gpointer,
42985    );
42986}
42987extern "C" {
42988    pub fn g_dbus_proxy_call_finish(
42989        proxy: *mut GDBusProxy,
42990        res: *mut GAsyncResult,
42991        error: *mut *mut GError,
42992    ) -> *mut GVariant;
42993}
42994extern "C" {
42995    pub fn g_dbus_proxy_call_sync(
42996        proxy: *mut GDBusProxy,
42997        method_name: *const gchar,
42998        parameters: *mut GVariant,
42999        flags: GDBusCallFlags,
43000        timeout_msec: gint,
43001        cancellable: *mut GCancellable,
43002        error: *mut *mut GError,
43003    ) -> *mut GVariant;
43004}
43005extern "C" {
43006    pub fn g_dbus_proxy_call_with_unix_fd_list(
43007        proxy: *mut GDBusProxy,
43008        method_name: *const gchar,
43009        parameters: *mut GVariant,
43010        flags: GDBusCallFlags,
43011        timeout_msec: gint,
43012        fd_list: *mut GUnixFDList,
43013        cancellable: *mut GCancellable,
43014        callback: GAsyncReadyCallback,
43015        user_data: gpointer,
43016    );
43017}
43018extern "C" {
43019    pub fn g_dbus_proxy_call_with_unix_fd_list_finish(
43020        proxy: *mut GDBusProxy,
43021        out_fd_list: *mut *mut GUnixFDList,
43022        res: *mut GAsyncResult,
43023        error: *mut *mut GError,
43024    ) -> *mut GVariant;
43025}
43026extern "C" {
43027    pub fn g_dbus_proxy_call_with_unix_fd_list_sync(
43028        proxy: *mut GDBusProxy,
43029        method_name: *const gchar,
43030        parameters: *mut GVariant,
43031        flags: GDBusCallFlags,
43032        timeout_msec: gint,
43033        fd_list: *mut GUnixFDList,
43034        out_fd_list: *mut *mut GUnixFDList,
43035        cancellable: *mut GCancellable,
43036        error: *mut *mut GError,
43037    ) -> *mut GVariant;
43038}
43039extern "C" {
43040    pub fn g_dbus_server_get_type() -> GType;
43041}
43042extern "C" {
43043    pub fn g_dbus_server_new_sync(
43044        address: *const gchar,
43045        flags: GDBusServerFlags,
43046        guid: *const gchar,
43047        observer: *mut GDBusAuthObserver,
43048        cancellable: *mut GCancellable,
43049        error: *mut *mut GError,
43050    ) -> *mut GDBusServer;
43051}
43052extern "C" {
43053    pub fn g_dbus_server_get_client_address(server: *mut GDBusServer) -> *const gchar;
43054}
43055extern "C" {
43056    pub fn g_dbus_server_get_guid(server: *mut GDBusServer) -> *const gchar;
43057}
43058extern "C" {
43059    pub fn g_dbus_server_get_flags(server: *mut GDBusServer) -> GDBusServerFlags;
43060}
43061extern "C" {
43062    pub fn g_dbus_server_start(server: *mut GDBusServer);
43063}
43064extern "C" {
43065    pub fn g_dbus_server_stop(server: *mut GDBusServer);
43066}
43067extern "C" {
43068    pub fn g_dbus_server_is_active(server: *mut GDBusServer) -> gboolean;
43069}
43070extern "C" {
43071    pub fn g_dbus_is_guid(string: *const gchar) -> gboolean;
43072}
43073extern "C" {
43074    pub fn g_dbus_generate_guid() -> *mut gchar;
43075}
43076extern "C" {
43077    pub fn g_dbus_is_name(string: *const gchar) -> gboolean;
43078}
43079extern "C" {
43080    pub fn g_dbus_is_unique_name(string: *const gchar) -> gboolean;
43081}
43082extern "C" {
43083    pub fn g_dbus_is_member_name(string: *const gchar) -> gboolean;
43084}
43085extern "C" {
43086    pub fn g_dbus_is_interface_name(string: *const gchar) -> gboolean;
43087}
43088extern "C" {
43089    pub fn g_dbus_is_error_name(string: *const gchar) -> gboolean;
43090}
43091extern "C" {
43092    pub fn g_dbus_gvariant_to_gvalue(value: *mut GVariant, out_gvalue: *mut GValue);
43093}
43094extern "C" {
43095    pub fn g_dbus_gvalue_to_gvariant(
43096        gvalue: *const GValue,
43097        type_: *const GVariantType,
43098    ) -> *mut GVariant;
43099}
43100extern "C" {
43101    pub fn g_dbus_escape_object_path_bytestring(bytes: *const guint8) -> *mut gchar;
43102}
43103extern "C" {
43104    pub fn g_dbus_escape_object_path(s: *const gchar) -> *mut gchar;
43105}
43106extern "C" {
43107    pub fn g_dbus_unescape_object_path(s: *const gchar) -> *mut guint8;
43108}
43109extern "C" {
43110    pub fn g_debug_controller_get_type() -> GType;
43111}
43112#[repr(C)]
43113#[derive(Debug, Copy, Clone)]
43114pub struct _GDebugController {
43115    _unused: [u8; 0],
43116}
43117pub type GDebugController = _GDebugController;
43118#[doc = " GDebugControllerInterface:\n @g_iface: The parent interface.\n\n The virtual function table for #GDebugController.\n\n Since: 2.72"]
43119pub type GDebugControllerInterface = _GDebugControllerInterface;
43120pub type GDebugController_autoptr = *mut GDebugController;
43121pub type GDebugController_listautoptr = *mut GList;
43122pub type GDebugController_slistautoptr = *mut GSList;
43123pub type GDebugController_queueautoptr = *mut GQueue;
43124#[doc = " GDebugControllerInterface:\n @g_iface: The parent interface.\n\n The virtual function table for #GDebugController.\n\n Since: 2.72"]
43125#[repr(C)]
43126#[derive(Debug, Copy, Clone, PartialEq, Eq)]
43127pub struct _GDebugControllerInterface {
43128    pub g_iface: GTypeInterface,
43129}
43130#[test]
43131fn bindgen_test_layout__GDebugControllerInterface() {
43132    const UNINIT: ::std::mem::MaybeUninit<_GDebugControllerInterface> =
43133        ::std::mem::MaybeUninit::uninit();
43134    let ptr = UNINIT.as_ptr();
43135    assert_eq!(
43136        ::std::mem::size_of::<_GDebugControllerInterface>(),
43137        16usize,
43138        concat!("Size of: ", stringify!(_GDebugControllerInterface))
43139    );
43140    assert_eq!(
43141        ::std::mem::align_of::<_GDebugControllerInterface>(),
43142        8usize,
43143        concat!("Alignment of ", stringify!(_GDebugControllerInterface))
43144    );
43145    assert_eq!(
43146        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
43147        0usize,
43148        concat!(
43149            "Offset of field: ",
43150            stringify!(_GDebugControllerInterface),
43151            "::",
43152            stringify!(g_iface)
43153        )
43154    );
43155}
43156extern "C" {
43157    pub fn g_debug_controller_get_debug_enabled(self_: *mut GDebugController) -> gboolean;
43158}
43159extern "C" {
43160    pub fn g_debug_controller_set_debug_enabled(
43161        self_: *mut GDebugController,
43162        debug_enabled: gboolean,
43163    );
43164}
43165extern "C" {
43166    pub fn g_debug_controller_dbus_get_type() -> GType;
43167}
43168pub type GDebugControllerDBus = _GDebugControllerDBus;
43169#[doc = " GDebugControllerDBusClass:\n @parent_class: The parent class.\n @authorize: Default handler for the #GDebugControllerDBus::authorize signal.\n\n The virtual function table for #GDebugControllerDBus.\n\n Since: 2.72"]
43170pub type GDebugControllerDBusClass = _GDebugControllerDBusClass;
43171#[repr(C)]
43172#[derive(Debug, Copy, Clone, PartialEq, Eq)]
43173pub struct _GDebugControllerDBus {
43174    pub parent_instance: GObject,
43175}
43176#[test]
43177fn bindgen_test_layout__GDebugControllerDBus() {
43178    const UNINIT: ::std::mem::MaybeUninit<_GDebugControllerDBus> =
43179        ::std::mem::MaybeUninit::uninit();
43180    let ptr = UNINIT.as_ptr();
43181    assert_eq!(
43182        ::std::mem::size_of::<_GDebugControllerDBus>(),
43183        24usize,
43184        concat!("Size of: ", stringify!(_GDebugControllerDBus))
43185    );
43186    assert_eq!(
43187        ::std::mem::align_of::<_GDebugControllerDBus>(),
43188        8usize,
43189        concat!("Alignment of ", stringify!(_GDebugControllerDBus))
43190    );
43191    assert_eq!(
43192        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
43193        0usize,
43194        concat!(
43195            "Offset of field: ",
43196            stringify!(_GDebugControllerDBus),
43197            "::",
43198            stringify!(parent_instance)
43199        )
43200    );
43201}
43202pub type GDebugControllerDBus_autoptr = *mut GDebugControllerDBus;
43203pub type GDebugControllerDBus_listautoptr = *mut GList;
43204pub type GDebugControllerDBus_slistautoptr = *mut GSList;
43205pub type GDebugControllerDBus_queueautoptr = *mut GQueue;
43206pub type GDebugControllerDBusClass_autoptr = *mut GDebugControllerDBusClass;
43207pub type GDebugControllerDBusClass_listautoptr = *mut GList;
43208pub type GDebugControllerDBusClass_slistautoptr = *mut GSList;
43209pub type GDebugControllerDBusClass_queueautoptr = *mut GQueue;
43210#[doc = " GDebugControllerDBusClass:\n @parent_class: The parent class.\n @authorize: Default handler for the #GDebugControllerDBus::authorize signal.\n\n The virtual function table for #GDebugControllerDBus.\n\n Since: 2.72"]
43211#[repr(C)]
43212#[derive(Debug, Copy, Clone, PartialEq, Eq)]
43213pub struct _GDebugControllerDBusClass {
43214    pub parent_class: GObjectClass,
43215    pub authorize: ::std::option::Option<
43216        unsafe extern "C" fn(
43217            controller: *mut GDebugControllerDBus,
43218            invocation: *mut GDBusMethodInvocation,
43219        ) -> gboolean,
43220    >,
43221    pub padding: [gpointer; 12usize],
43222}
43223#[test]
43224fn bindgen_test_layout__GDebugControllerDBusClass() {
43225    const UNINIT: ::std::mem::MaybeUninit<_GDebugControllerDBusClass> =
43226        ::std::mem::MaybeUninit::uninit();
43227    let ptr = UNINIT.as_ptr();
43228    assert_eq!(
43229        ::std::mem::size_of::<_GDebugControllerDBusClass>(),
43230        240usize,
43231        concat!("Size of: ", stringify!(_GDebugControllerDBusClass))
43232    );
43233    assert_eq!(
43234        ::std::mem::align_of::<_GDebugControllerDBusClass>(),
43235        8usize,
43236        concat!("Alignment of ", stringify!(_GDebugControllerDBusClass))
43237    );
43238    assert_eq!(
43239        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
43240        0usize,
43241        concat!(
43242            "Offset of field: ",
43243            stringify!(_GDebugControllerDBusClass),
43244            "::",
43245            stringify!(parent_class)
43246        )
43247    );
43248    assert_eq!(
43249        unsafe { ::std::ptr::addr_of!((*ptr).authorize) as usize - ptr as usize },
43250        136usize,
43251        concat!(
43252            "Offset of field: ",
43253            stringify!(_GDebugControllerDBusClass),
43254            "::",
43255            stringify!(authorize)
43256        )
43257    );
43258    assert_eq!(
43259        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
43260        144usize,
43261        concat!(
43262            "Offset of field: ",
43263            stringify!(_GDebugControllerDBusClass),
43264            "::",
43265            stringify!(padding)
43266        )
43267    );
43268}
43269extern "C" {
43270    pub fn g_debug_controller_dbus_new(
43271        connection: *mut GDBusConnection,
43272        cancellable: *mut GCancellable,
43273        error: *mut *mut GError,
43274    ) -> *mut GDebugControllerDBus;
43275}
43276extern "C" {
43277    pub fn g_debug_controller_dbus_stop(self_: *mut GDebugControllerDBus);
43278}
43279#[doc = " GDriveIface:\n @g_iface: The parent interface.\n @changed: Signal emitted when the drive is changed.\n @disconnected: The removed signal that is emitted when the #GDrive have been disconnected. If the recipient is holding references to the object they should release them so the object can be finalized.\n @eject_button: Signal emitted when the physical eject button (if any) of a drive have been pressed.\n @get_name: Returns the name for the given #GDrive.\n @get_icon: Returns a #GIcon for the given #GDrive.\n @has_volumes: Returns %TRUE if the #GDrive has mountable volumes.\n @get_volumes: Returns a list #GList of #GVolume for the #GDrive.\n @is_removable: Returns %TRUE if the #GDrive and/or its media is considered removable by the user. Since 2.50.\n @is_media_removable: Returns %TRUE if the #GDrive supports removal and insertion of media.\n @has_media: Returns %TRUE if the #GDrive has media inserted.\n @is_media_check_automatic: Returns %TRUE if the #GDrive is capable of automatically detecting media changes.\n @can_poll_for_media: Returns %TRUE if the #GDrive is capable of manually polling for media change.\n @can_eject: Returns %TRUE if the #GDrive can eject media.\n @eject: Ejects a #GDrive.\n @eject_finish: Finishes an eject operation.\n @poll_for_media: Poll for media insertion/removal on a #GDrive.\n @poll_for_media_finish: Finishes a media poll operation.\n @get_identifier: Returns the identifier of the given kind, or %NULL if\n    the #GDrive doesn't have one.\n @enumerate_identifiers: Returns an array strings listing the kinds\n    of identifiers which the #GDrive has.\n @get_start_stop_type: Gets a #GDriveStartStopType with details about starting/stopping the drive. Since 2.22.\n @can_stop: Returns %TRUE if a #GDrive can be stopped. Since 2.22.\n @stop: Stops a #GDrive. Since 2.22.\n @stop_finish: Finishes a stop operation. Since 2.22.\n @can_start: Returns %TRUE if a #GDrive can be started. Since 2.22.\n @can_start_degraded: Returns %TRUE if a #GDrive can be started degraded. Since 2.22.\n @start: Starts a #GDrive. Since 2.22.\n @start_finish: Finishes a start operation. Since 2.22.\n @stop_button: Signal emitted when the physical stop button (if any) of a drive have been pressed. Since 2.22.\n @eject_with_operation: Starts ejecting a #GDrive using a #GMountOperation. Since 2.22.\n @eject_with_operation_finish: Finishes an eject operation using a #GMountOperation. Since 2.22.\n @get_sort_key: Gets a key used for sorting #GDrive instances or %NULL if no such key exists. Since 2.32.\n @get_symbolic_icon: Returns a symbolic #GIcon for the given #GDrive. Since 2.34.\n\n Interface for creating #GDrive implementations."]
43280pub type GDriveIface = _GDriveIface;
43281#[repr(C)]
43282#[derive(Debug, Copy, Clone, PartialEq, Eq)]
43283pub struct _GDriveIface {
43284    pub g_iface: GTypeInterface,
43285    pub changed: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive)>,
43286    pub disconnected: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive)>,
43287    pub eject_button: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive)>,
43288    pub get_name: ::std::option::Option<
43289        unsafe extern "C" fn(drive: *mut GDrive) -> *mut ::std::os::raw::c_char,
43290    >,
43291    pub get_icon: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> *mut GIcon>,
43292    pub has_volumes: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> gboolean>,
43293    pub get_volumes: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> *mut GList>,
43294    pub is_media_removable:
43295        ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> gboolean>,
43296    pub has_media: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> gboolean>,
43297    pub is_media_check_automatic:
43298        ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> gboolean>,
43299    pub can_eject: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> gboolean>,
43300    pub can_poll_for_media:
43301        ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> gboolean>,
43302    pub eject: ::std::option::Option<
43303        unsafe extern "C" fn(
43304            drive: *mut GDrive,
43305            flags: GMountUnmountFlags,
43306            cancellable: *mut GCancellable,
43307            callback: GAsyncReadyCallback,
43308            user_data: gpointer,
43309        ),
43310    >,
43311    pub eject_finish: ::std::option::Option<
43312        unsafe extern "C" fn(
43313            drive: *mut GDrive,
43314            result: *mut GAsyncResult,
43315            error: *mut *mut GError,
43316        ) -> gboolean,
43317    >,
43318    pub poll_for_media: ::std::option::Option<
43319        unsafe extern "C" fn(
43320            drive: *mut GDrive,
43321            cancellable: *mut GCancellable,
43322            callback: GAsyncReadyCallback,
43323            user_data: gpointer,
43324        ),
43325    >,
43326    pub poll_for_media_finish: ::std::option::Option<
43327        unsafe extern "C" fn(
43328            drive: *mut GDrive,
43329            result: *mut GAsyncResult,
43330            error: *mut *mut GError,
43331        ) -> gboolean,
43332    >,
43333    pub get_identifier: ::std::option::Option<
43334        unsafe extern "C" fn(
43335            drive: *mut GDrive,
43336            kind: *const ::std::os::raw::c_char,
43337        ) -> *mut ::std::os::raw::c_char,
43338    >,
43339    pub enumerate_identifiers: ::std::option::Option<
43340        unsafe extern "C" fn(drive: *mut GDrive) -> *mut *mut ::std::os::raw::c_char,
43341    >,
43342    pub get_start_stop_type:
43343        ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> GDriveStartStopType>,
43344    pub can_start: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> gboolean>,
43345    pub can_start_degraded:
43346        ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> gboolean>,
43347    pub start: ::std::option::Option<
43348        unsafe extern "C" fn(
43349            drive: *mut GDrive,
43350            flags: GDriveStartFlags,
43351            mount_operation: *mut GMountOperation,
43352            cancellable: *mut GCancellable,
43353            callback: GAsyncReadyCallback,
43354            user_data: gpointer,
43355        ),
43356    >,
43357    pub start_finish: ::std::option::Option<
43358        unsafe extern "C" fn(
43359            drive: *mut GDrive,
43360            result: *mut GAsyncResult,
43361            error: *mut *mut GError,
43362        ) -> gboolean,
43363    >,
43364    pub can_stop: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> gboolean>,
43365    pub stop: ::std::option::Option<
43366        unsafe extern "C" fn(
43367            drive: *mut GDrive,
43368            flags: GMountUnmountFlags,
43369            mount_operation: *mut GMountOperation,
43370            cancellable: *mut GCancellable,
43371            callback: GAsyncReadyCallback,
43372            user_data: gpointer,
43373        ),
43374    >,
43375    pub stop_finish: ::std::option::Option<
43376        unsafe extern "C" fn(
43377            drive: *mut GDrive,
43378            result: *mut GAsyncResult,
43379            error: *mut *mut GError,
43380        ) -> gboolean,
43381    >,
43382    pub stop_button: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive)>,
43383    pub eject_with_operation: ::std::option::Option<
43384        unsafe extern "C" fn(
43385            drive: *mut GDrive,
43386            flags: GMountUnmountFlags,
43387            mount_operation: *mut GMountOperation,
43388            cancellable: *mut GCancellable,
43389            callback: GAsyncReadyCallback,
43390            user_data: gpointer,
43391        ),
43392    >,
43393    pub eject_with_operation_finish: ::std::option::Option<
43394        unsafe extern "C" fn(
43395            drive: *mut GDrive,
43396            result: *mut GAsyncResult,
43397            error: *mut *mut GError,
43398        ) -> gboolean,
43399    >,
43400    pub get_sort_key:
43401        ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> *const gchar>,
43402    pub get_symbolic_icon:
43403        ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> *mut GIcon>,
43404    pub is_removable: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> gboolean>,
43405}
43406#[test]
43407fn bindgen_test_layout__GDriveIface() {
43408    const UNINIT: ::std::mem::MaybeUninit<_GDriveIface> = ::std::mem::MaybeUninit::uninit();
43409    let ptr = UNINIT.as_ptr();
43410    assert_eq!(
43411        ::std::mem::size_of::<_GDriveIface>(),
43412        272usize,
43413        concat!("Size of: ", stringify!(_GDriveIface))
43414    );
43415    assert_eq!(
43416        ::std::mem::align_of::<_GDriveIface>(),
43417        8usize,
43418        concat!("Alignment of ", stringify!(_GDriveIface))
43419    );
43420    assert_eq!(
43421        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
43422        0usize,
43423        concat!(
43424            "Offset of field: ",
43425            stringify!(_GDriveIface),
43426            "::",
43427            stringify!(g_iface)
43428        )
43429    );
43430    assert_eq!(
43431        unsafe { ::std::ptr::addr_of!((*ptr).changed) as usize - ptr as usize },
43432        16usize,
43433        concat!(
43434            "Offset of field: ",
43435            stringify!(_GDriveIface),
43436            "::",
43437            stringify!(changed)
43438        )
43439    );
43440    assert_eq!(
43441        unsafe { ::std::ptr::addr_of!((*ptr).disconnected) as usize - ptr as usize },
43442        24usize,
43443        concat!(
43444            "Offset of field: ",
43445            stringify!(_GDriveIface),
43446            "::",
43447            stringify!(disconnected)
43448        )
43449    );
43450    assert_eq!(
43451        unsafe { ::std::ptr::addr_of!((*ptr).eject_button) as usize - ptr as usize },
43452        32usize,
43453        concat!(
43454            "Offset of field: ",
43455            stringify!(_GDriveIface),
43456            "::",
43457            stringify!(eject_button)
43458        )
43459    );
43460    assert_eq!(
43461        unsafe { ::std::ptr::addr_of!((*ptr).get_name) as usize - ptr as usize },
43462        40usize,
43463        concat!(
43464            "Offset of field: ",
43465            stringify!(_GDriveIface),
43466            "::",
43467            stringify!(get_name)
43468        )
43469    );
43470    assert_eq!(
43471        unsafe { ::std::ptr::addr_of!((*ptr).get_icon) as usize - ptr as usize },
43472        48usize,
43473        concat!(
43474            "Offset of field: ",
43475            stringify!(_GDriveIface),
43476            "::",
43477            stringify!(get_icon)
43478        )
43479    );
43480    assert_eq!(
43481        unsafe { ::std::ptr::addr_of!((*ptr).has_volumes) as usize - ptr as usize },
43482        56usize,
43483        concat!(
43484            "Offset of field: ",
43485            stringify!(_GDriveIface),
43486            "::",
43487            stringify!(has_volumes)
43488        )
43489    );
43490    assert_eq!(
43491        unsafe { ::std::ptr::addr_of!((*ptr).get_volumes) as usize - ptr as usize },
43492        64usize,
43493        concat!(
43494            "Offset of field: ",
43495            stringify!(_GDriveIface),
43496            "::",
43497            stringify!(get_volumes)
43498        )
43499    );
43500    assert_eq!(
43501        unsafe { ::std::ptr::addr_of!((*ptr).is_media_removable) as usize - ptr as usize },
43502        72usize,
43503        concat!(
43504            "Offset of field: ",
43505            stringify!(_GDriveIface),
43506            "::",
43507            stringify!(is_media_removable)
43508        )
43509    );
43510    assert_eq!(
43511        unsafe { ::std::ptr::addr_of!((*ptr).has_media) as usize - ptr as usize },
43512        80usize,
43513        concat!(
43514            "Offset of field: ",
43515            stringify!(_GDriveIface),
43516            "::",
43517            stringify!(has_media)
43518        )
43519    );
43520    assert_eq!(
43521        unsafe { ::std::ptr::addr_of!((*ptr).is_media_check_automatic) as usize - ptr as usize },
43522        88usize,
43523        concat!(
43524            "Offset of field: ",
43525            stringify!(_GDriveIface),
43526            "::",
43527            stringify!(is_media_check_automatic)
43528        )
43529    );
43530    assert_eq!(
43531        unsafe { ::std::ptr::addr_of!((*ptr).can_eject) as usize - ptr as usize },
43532        96usize,
43533        concat!(
43534            "Offset of field: ",
43535            stringify!(_GDriveIface),
43536            "::",
43537            stringify!(can_eject)
43538        )
43539    );
43540    assert_eq!(
43541        unsafe { ::std::ptr::addr_of!((*ptr).can_poll_for_media) as usize - ptr as usize },
43542        104usize,
43543        concat!(
43544            "Offset of field: ",
43545            stringify!(_GDriveIface),
43546            "::",
43547            stringify!(can_poll_for_media)
43548        )
43549    );
43550    assert_eq!(
43551        unsafe { ::std::ptr::addr_of!((*ptr).eject) as usize - ptr as usize },
43552        112usize,
43553        concat!(
43554            "Offset of field: ",
43555            stringify!(_GDriveIface),
43556            "::",
43557            stringify!(eject)
43558        )
43559    );
43560    assert_eq!(
43561        unsafe { ::std::ptr::addr_of!((*ptr).eject_finish) as usize - ptr as usize },
43562        120usize,
43563        concat!(
43564            "Offset of field: ",
43565            stringify!(_GDriveIface),
43566            "::",
43567            stringify!(eject_finish)
43568        )
43569    );
43570    assert_eq!(
43571        unsafe { ::std::ptr::addr_of!((*ptr).poll_for_media) as usize - ptr as usize },
43572        128usize,
43573        concat!(
43574            "Offset of field: ",
43575            stringify!(_GDriveIface),
43576            "::",
43577            stringify!(poll_for_media)
43578        )
43579    );
43580    assert_eq!(
43581        unsafe { ::std::ptr::addr_of!((*ptr).poll_for_media_finish) as usize - ptr as usize },
43582        136usize,
43583        concat!(
43584            "Offset of field: ",
43585            stringify!(_GDriveIface),
43586            "::",
43587            stringify!(poll_for_media_finish)
43588        )
43589    );
43590    assert_eq!(
43591        unsafe { ::std::ptr::addr_of!((*ptr).get_identifier) as usize - ptr as usize },
43592        144usize,
43593        concat!(
43594            "Offset of field: ",
43595            stringify!(_GDriveIface),
43596            "::",
43597            stringify!(get_identifier)
43598        )
43599    );
43600    assert_eq!(
43601        unsafe { ::std::ptr::addr_of!((*ptr).enumerate_identifiers) as usize - ptr as usize },
43602        152usize,
43603        concat!(
43604            "Offset of field: ",
43605            stringify!(_GDriveIface),
43606            "::",
43607            stringify!(enumerate_identifiers)
43608        )
43609    );
43610    assert_eq!(
43611        unsafe { ::std::ptr::addr_of!((*ptr).get_start_stop_type) as usize - ptr as usize },
43612        160usize,
43613        concat!(
43614            "Offset of field: ",
43615            stringify!(_GDriveIface),
43616            "::",
43617            stringify!(get_start_stop_type)
43618        )
43619    );
43620    assert_eq!(
43621        unsafe { ::std::ptr::addr_of!((*ptr).can_start) as usize - ptr as usize },
43622        168usize,
43623        concat!(
43624            "Offset of field: ",
43625            stringify!(_GDriveIface),
43626            "::",
43627            stringify!(can_start)
43628        )
43629    );
43630    assert_eq!(
43631        unsafe { ::std::ptr::addr_of!((*ptr).can_start_degraded) as usize - ptr as usize },
43632        176usize,
43633        concat!(
43634            "Offset of field: ",
43635            stringify!(_GDriveIface),
43636            "::",
43637            stringify!(can_start_degraded)
43638        )
43639    );
43640    assert_eq!(
43641        unsafe { ::std::ptr::addr_of!((*ptr).start) as usize - ptr as usize },
43642        184usize,
43643        concat!(
43644            "Offset of field: ",
43645            stringify!(_GDriveIface),
43646            "::",
43647            stringify!(start)
43648        )
43649    );
43650    assert_eq!(
43651        unsafe { ::std::ptr::addr_of!((*ptr).start_finish) as usize - ptr as usize },
43652        192usize,
43653        concat!(
43654            "Offset of field: ",
43655            stringify!(_GDriveIface),
43656            "::",
43657            stringify!(start_finish)
43658        )
43659    );
43660    assert_eq!(
43661        unsafe { ::std::ptr::addr_of!((*ptr).can_stop) as usize - ptr as usize },
43662        200usize,
43663        concat!(
43664            "Offset of field: ",
43665            stringify!(_GDriveIface),
43666            "::",
43667            stringify!(can_stop)
43668        )
43669    );
43670    assert_eq!(
43671        unsafe { ::std::ptr::addr_of!((*ptr).stop) as usize - ptr as usize },
43672        208usize,
43673        concat!(
43674            "Offset of field: ",
43675            stringify!(_GDriveIface),
43676            "::",
43677            stringify!(stop)
43678        )
43679    );
43680    assert_eq!(
43681        unsafe { ::std::ptr::addr_of!((*ptr).stop_finish) as usize - ptr as usize },
43682        216usize,
43683        concat!(
43684            "Offset of field: ",
43685            stringify!(_GDriveIface),
43686            "::",
43687            stringify!(stop_finish)
43688        )
43689    );
43690    assert_eq!(
43691        unsafe { ::std::ptr::addr_of!((*ptr).stop_button) as usize - ptr as usize },
43692        224usize,
43693        concat!(
43694            "Offset of field: ",
43695            stringify!(_GDriveIface),
43696            "::",
43697            stringify!(stop_button)
43698        )
43699    );
43700    assert_eq!(
43701        unsafe { ::std::ptr::addr_of!((*ptr).eject_with_operation) as usize - ptr as usize },
43702        232usize,
43703        concat!(
43704            "Offset of field: ",
43705            stringify!(_GDriveIface),
43706            "::",
43707            stringify!(eject_with_operation)
43708        )
43709    );
43710    assert_eq!(
43711        unsafe { ::std::ptr::addr_of!((*ptr).eject_with_operation_finish) as usize - ptr as usize },
43712        240usize,
43713        concat!(
43714            "Offset of field: ",
43715            stringify!(_GDriveIface),
43716            "::",
43717            stringify!(eject_with_operation_finish)
43718        )
43719    );
43720    assert_eq!(
43721        unsafe { ::std::ptr::addr_of!((*ptr).get_sort_key) as usize - ptr as usize },
43722        248usize,
43723        concat!(
43724            "Offset of field: ",
43725            stringify!(_GDriveIface),
43726            "::",
43727            stringify!(get_sort_key)
43728        )
43729    );
43730    assert_eq!(
43731        unsafe { ::std::ptr::addr_of!((*ptr).get_symbolic_icon) as usize - ptr as usize },
43732        256usize,
43733        concat!(
43734            "Offset of field: ",
43735            stringify!(_GDriveIface),
43736            "::",
43737            stringify!(get_symbolic_icon)
43738        )
43739    );
43740    assert_eq!(
43741        unsafe { ::std::ptr::addr_of!((*ptr).is_removable) as usize - ptr as usize },
43742        264usize,
43743        concat!(
43744            "Offset of field: ",
43745            stringify!(_GDriveIface),
43746            "::",
43747            stringify!(is_removable)
43748        )
43749    );
43750}
43751extern "C" {
43752    pub fn g_drive_get_type() -> GType;
43753}
43754extern "C" {
43755    pub fn g_drive_get_name(drive: *mut GDrive) -> *mut ::std::os::raw::c_char;
43756}
43757extern "C" {
43758    pub fn g_drive_get_icon(drive: *mut GDrive) -> *mut GIcon;
43759}
43760extern "C" {
43761    pub fn g_drive_get_symbolic_icon(drive: *mut GDrive) -> *mut GIcon;
43762}
43763extern "C" {
43764    pub fn g_drive_has_volumes(drive: *mut GDrive) -> gboolean;
43765}
43766extern "C" {
43767    pub fn g_drive_get_volumes(drive: *mut GDrive) -> *mut GList;
43768}
43769extern "C" {
43770    pub fn g_drive_is_removable(drive: *mut GDrive) -> gboolean;
43771}
43772extern "C" {
43773    pub fn g_drive_is_media_removable(drive: *mut GDrive) -> gboolean;
43774}
43775extern "C" {
43776    pub fn g_drive_has_media(drive: *mut GDrive) -> gboolean;
43777}
43778extern "C" {
43779    pub fn g_drive_is_media_check_automatic(drive: *mut GDrive) -> gboolean;
43780}
43781extern "C" {
43782    pub fn g_drive_can_poll_for_media(drive: *mut GDrive) -> gboolean;
43783}
43784extern "C" {
43785    pub fn g_drive_can_eject(drive: *mut GDrive) -> gboolean;
43786}
43787extern "C" {
43788    pub fn g_drive_eject(
43789        drive: *mut GDrive,
43790        flags: GMountUnmountFlags,
43791        cancellable: *mut GCancellable,
43792        callback: GAsyncReadyCallback,
43793        user_data: gpointer,
43794    );
43795}
43796extern "C" {
43797    pub fn g_drive_eject_finish(
43798        drive: *mut GDrive,
43799        result: *mut GAsyncResult,
43800        error: *mut *mut GError,
43801    ) -> gboolean;
43802}
43803extern "C" {
43804    pub fn g_drive_poll_for_media(
43805        drive: *mut GDrive,
43806        cancellable: *mut GCancellable,
43807        callback: GAsyncReadyCallback,
43808        user_data: gpointer,
43809    );
43810}
43811extern "C" {
43812    pub fn g_drive_poll_for_media_finish(
43813        drive: *mut GDrive,
43814        result: *mut GAsyncResult,
43815        error: *mut *mut GError,
43816    ) -> gboolean;
43817}
43818extern "C" {
43819    pub fn g_drive_get_identifier(
43820        drive: *mut GDrive,
43821        kind: *const ::std::os::raw::c_char,
43822    ) -> *mut ::std::os::raw::c_char;
43823}
43824extern "C" {
43825    pub fn g_drive_enumerate_identifiers(drive: *mut GDrive) -> *mut *mut ::std::os::raw::c_char;
43826}
43827extern "C" {
43828    pub fn g_drive_get_start_stop_type(drive: *mut GDrive) -> GDriveStartStopType;
43829}
43830extern "C" {
43831    pub fn g_drive_can_start(drive: *mut GDrive) -> gboolean;
43832}
43833extern "C" {
43834    pub fn g_drive_can_start_degraded(drive: *mut GDrive) -> gboolean;
43835}
43836extern "C" {
43837    pub fn g_drive_start(
43838        drive: *mut GDrive,
43839        flags: GDriveStartFlags,
43840        mount_operation: *mut GMountOperation,
43841        cancellable: *mut GCancellable,
43842        callback: GAsyncReadyCallback,
43843        user_data: gpointer,
43844    );
43845}
43846extern "C" {
43847    pub fn g_drive_start_finish(
43848        drive: *mut GDrive,
43849        result: *mut GAsyncResult,
43850        error: *mut *mut GError,
43851    ) -> gboolean;
43852}
43853extern "C" {
43854    pub fn g_drive_can_stop(drive: *mut GDrive) -> gboolean;
43855}
43856extern "C" {
43857    pub fn g_drive_stop(
43858        drive: *mut GDrive,
43859        flags: GMountUnmountFlags,
43860        mount_operation: *mut GMountOperation,
43861        cancellable: *mut GCancellable,
43862        callback: GAsyncReadyCallback,
43863        user_data: gpointer,
43864    );
43865}
43866extern "C" {
43867    pub fn g_drive_stop_finish(
43868        drive: *mut GDrive,
43869        result: *mut GAsyncResult,
43870        error: *mut *mut GError,
43871    ) -> gboolean;
43872}
43873extern "C" {
43874    pub fn g_drive_eject_with_operation(
43875        drive: *mut GDrive,
43876        flags: GMountUnmountFlags,
43877        mount_operation: *mut GMountOperation,
43878        cancellable: *mut GCancellable,
43879        callback: GAsyncReadyCallback,
43880        user_data: gpointer,
43881    );
43882}
43883extern "C" {
43884    pub fn g_drive_eject_with_operation_finish(
43885        drive: *mut GDrive,
43886        result: *mut GAsyncResult,
43887        error: *mut *mut GError,
43888    ) -> gboolean;
43889}
43890extern "C" {
43891    pub fn g_drive_get_sort_key(drive: *mut GDrive) -> *const gchar;
43892}
43893#[doc = " GDtlsConnectionInterface:\n @g_iface: The parent interface.\n @accept_certificate: Check whether to accept a certificate.\n @handshake: Perform a handshake operation.\n @handshake_async: Start an asynchronous handshake operation.\n @handshake_finish: Finish an asynchronous handshake operation.\n @shutdown: Shut down one or both directions of the connection.\n @shutdown_async: Start an asynchronous shutdown operation.\n @shutdown_finish: Finish an asynchronous shutdown operation.\n @set_advertised_protocols: Set APLN protocol list (Since: 2.60)\n @get_negotiated_protocol: Get ALPN-negotiated protocol (Since: 2.60)\n @get_binding_data: Retrieve TLS channel binding data (Since: 2.66)\n\n Virtual method table for a #GDtlsConnection implementation.\n\n Since: 2.48"]
43894pub type GDtlsConnectionInterface = _GDtlsConnectionInterface;
43895#[doc = " GDtlsConnectionInterface:\n @g_iface: The parent interface.\n @accept_certificate: Check whether to accept a certificate.\n @handshake: Perform a handshake operation.\n @handshake_async: Start an asynchronous handshake operation.\n @handshake_finish: Finish an asynchronous handshake operation.\n @shutdown: Shut down one or both directions of the connection.\n @shutdown_async: Start an asynchronous shutdown operation.\n @shutdown_finish: Finish an asynchronous shutdown operation.\n @set_advertised_protocols: Set APLN protocol list (Since: 2.60)\n @get_negotiated_protocol: Get ALPN-negotiated protocol (Since: 2.60)\n @get_binding_data: Retrieve TLS channel binding data (Since: 2.66)\n\n Virtual method table for a #GDtlsConnection implementation.\n\n Since: 2.48"]
43896#[repr(C)]
43897#[derive(Debug, Copy, Clone, PartialEq, Eq)]
43898pub struct _GDtlsConnectionInterface {
43899    pub g_iface: GTypeInterface,
43900    pub accept_certificate: ::std::option::Option<
43901        unsafe extern "C" fn(
43902            connection: *mut GDtlsConnection,
43903            peer_cert: *mut GTlsCertificate,
43904            errors: GTlsCertificateFlags,
43905        ) -> gboolean,
43906    >,
43907    pub handshake: ::std::option::Option<
43908        unsafe extern "C" fn(
43909            conn: *mut GDtlsConnection,
43910            cancellable: *mut GCancellable,
43911            error: *mut *mut GError,
43912        ) -> gboolean,
43913    >,
43914    pub handshake_async: ::std::option::Option<
43915        unsafe extern "C" fn(
43916            conn: *mut GDtlsConnection,
43917            io_priority: ::std::os::raw::c_int,
43918            cancellable: *mut GCancellable,
43919            callback: GAsyncReadyCallback,
43920            user_data: gpointer,
43921        ),
43922    >,
43923    pub handshake_finish: ::std::option::Option<
43924        unsafe extern "C" fn(
43925            conn: *mut GDtlsConnection,
43926            result: *mut GAsyncResult,
43927            error: *mut *mut GError,
43928        ) -> gboolean,
43929    >,
43930    pub shutdown: ::std::option::Option<
43931        unsafe extern "C" fn(
43932            conn: *mut GDtlsConnection,
43933            shutdown_read: gboolean,
43934            shutdown_write: gboolean,
43935            cancellable: *mut GCancellable,
43936            error: *mut *mut GError,
43937        ) -> gboolean,
43938    >,
43939    pub shutdown_async: ::std::option::Option<
43940        unsafe extern "C" fn(
43941            conn: *mut GDtlsConnection,
43942            shutdown_read: gboolean,
43943            shutdown_write: gboolean,
43944            io_priority: ::std::os::raw::c_int,
43945            cancellable: *mut GCancellable,
43946            callback: GAsyncReadyCallback,
43947            user_data: gpointer,
43948        ),
43949    >,
43950    pub shutdown_finish: ::std::option::Option<
43951        unsafe extern "C" fn(
43952            conn: *mut GDtlsConnection,
43953            result: *mut GAsyncResult,
43954            error: *mut *mut GError,
43955        ) -> gboolean,
43956    >,
43957    pub set_advertised_protocols: ::std::option::Option<
43958        unsafe extern "C" fn(conn: *mut GDtlsConnection, protocols: *const *const gchar),
43959    >,
43960    pub get_negotiated_protocol:
43961        ::std::option::Option<unsafe extern "C" fn(conn: *mut GDtlsConnection) -> *const gchar>,
43962    pub get_binding_data: ::std::option::Option<
43963        unsafe extern "C" fn(
43964            conn: *mut GDtlsConnection,
43965            type_: GTlsChannelBindingType,
43966            data: *mut GByteArray,
43967            error: *mut *mut GError,
43968        ) -> gboolean,
43969    >,
43970}
43971#[test]
43972fn bindgen_test_layout__GDtlsConnectionInterface() {
43973    const UNINIT: ::std::mem::MaybeUninit<_GDtlsConnectionInterface> =
43974        ::std::mem::MaybeUninit::uninit();
43975    let ptr = UNINIT.as_ptr();
43976    assert_eq!(
43977        ::std::mem::size_of::<_GDtlsConnectionInterface>(),
43978        96usize,
43979        concat!("Size of: ", stringify!(_GDtlsConnectionInterface))
43980    );
43981    assert_eq!(
43982        ::std::mem::align_of::<_GDtlsConnectionInterface>(),
43983        8usize,
43984        concat!("Alignment of ", stringify!(_GDtlsConnectionInterface))
43985    );
43986    assert_eq!(
43987        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
43988        0usize,
43989        concat!(
43990            "Offset of field: ",
43991            stringify!(_GDtlsConnectionInterface),
43992            "::",
43993            stringify!(g_iface)
43994        )
43995    );
43996    assert_eq!(
43997        unsafe { ::std::ptr::addr_of!((*ptr).accept_certificate) as usize - ptr as usize },
43998        16usize,
43999        concat!(
44000            "Offset of field: ",
44001            stringify!(_GDtlsConnectionInterface),
44002            "::",
44003            stringify!(accept_certificate)
44004        )
44005    );
44006    assert_eq!(
44007        unsafe { ::std::ptr::addr_of!((*ptr).handshake) as usize - ptr as usize },
44008        24usize,
44009        concat!(
44010            "Offset of field: ",
44011            stringify!(_GDtlsConnectionInterface),
44012            "::",
44013            stringify!(handshake)
44014        )
44015    );
44016    assert_eq!(
44017        unsafe { ::std::ptr::addr_of!((*ptr).handshake_async) as usize - ptr as usize },
44018        32usize,
44019        concat!(
44020            "Offset of field: ",
44021            stringify!(_GDtlsConnectionInterface),
44022            "::",
44023            stringify!(handshake_async)
44024        )
44025    );
44026    assert_eq!(
44027        unsafe { ::std::ptr::addr_of!((*ptr).handshake_finish) as usize - ptr as usize },
44028        40usize,
44029        concat!(
44030            "Offset of field: ",
44031            stringify!(_GDtlsConnectionInterface),
44032            "::",
44033            stringify!(handshake_finish)
44034        )
44035    );
44036    assert_eq!(
44037        unsafe { ::std::ptr::addr_of!((*ptr).shutdown) as usize - ptr as usize },
44038        48usize,
44039        concat!(
44040            "Offset of field: ",
44041            stringify!(_GDtlsConnectionInterface),
44042            "::",
44043            stringify!(shutdown)
44044        )
44045    );
44046    assert_eq!(
44047        unsafe { ::std::ptr::addr_of!((*ptr).shutdown_async) as usize - ptr as usize },
44048        56usize,
44049        concat!(
44050            "Offset of field: ",
44051            stringify!(_GDtlsConnectionInterface),
44052            "::",
44053            stringify!(shutdown_async)
44054        )
44055    );
44056    assert_eq!(
44057        unsafe { ::std::ptr::addr_of!((*ptr).shutdown_finish) as usize - ptr as usize },
44058        64usize,
44059        concat!(
44060            "Offset of field: ",
44061            stringify!(_GDtlsConnectionInterface),
44062            "::",
44063            stringify!(shutdown_finish)
44064        )
44065    );
44066    assert_eq!(
44067        unsafe { ::std::ptr::addr_of!((*ptr).set_advertised_protocols) as usize - ptr as usize },
44068        72usize,
44069        concat!(
44070            "Offset of field: ",
44071            stringify!(_GDtlsConnectionInterface),
44072            "::",
44073            stringify!(set_advertised_protocols)
44074        )
44075    );
44076    assert_eq!(
44077        unsafe { ::std::ptr::addr_of!((*ptr).get_negotiated_protocol) as usize - ptr as usize },
44078        80usize,
44079        concat!(
44080            "Offset of field: ",
44081            stringify!(_GDtlsConnectionInterface),
44082            "::",
44083            stringify!(get_negotiated_protocol)
44084        )
44085    );
44086    assert_eq!(
44087        unsafe { ::std::ptr::addr_of!((*ptr).get_binding_data) as usize - ptr as usize },
44088        88usize,
44089        concat!(
44090            "Offset of field: ",
44091            stringify!(_GDtlsConnectionInterface),
44092            "::",
44093            stringify!(get_binding_data)
44094        )
44095    );
44096}
44097extern "C" {
44098    pub fn g_dtls_connection_get_type() -> GType;
44099}
44100extern "C" {
44101    pub fn g_dtls_connection_set_database(conn: *mut GDtlsConnection, database: *mut GTlsDatabase);
44102}
44103extern "C" {
44104    pub fn g_dtls_connection_get_database(conn: *mut GDtlsConnection) -> *mut GTlsDatabase;
44105}
44106extern "C" {
44107    pub fn g_dtls_connection_set_certificate(
44108        conn: *mut GDtlsConnection,
44109        certificate: *mut GTlsCertificate,
44110    );
44111}
44112extern "C" {
44113    pub fn g_dtls_connection_get_certificate(conn: *mut GDtlsConnection) -> *mut GTlsCertificate;
44114}
44115extern "C" {
44116    pub fn g_dtls_connection_set_interaction(
44117        conn: *mut GDtlsConnection,
44118        interaction: *mut GTlsInteraction,
44119    );
44120}
44121extern "C" {
44122    pub fn g_dtls_connection_get_interaction(conn: *mut GDtlsConnection) -> *mut GTlsInteraction;
44123}
44124extern "C" {
44125    pub fn g_dtls_connection_get_peer_certificate(
44126        conn: *mut GDtlsConnection,
44127    ) -> *mut GTlsCertificate;
44128}
44129extern "C" {
44130    pub fn g_dtls_connection_get_peer_certificate_errors(
44131        conn: *mut GDtlsConnection,
44132    ) -> GTlsCertificateFlags;
44133}
44134extern "C" {
44135    pub fn g_dtls_connection_set_require_close_notify(
44136        conn: *mut GDtlsConnection,
44137        require_close_notify: gboolean,
44138    );
44139}
44140extern "C" {
44141    pub fn g_dtls_connection_get_require_close_notify(conn: *mut GDtlsConnection) -> gboolean;
44142}
44143extern "C" {
44144    pub fn g_dtls_connection_set_rehandshake_mode(
44145        conn: *mut GDtlsConnection,
44146        mode: GTlsRehandshakeMode,
44147    );
44148}
44149extern "C" {
44150    pub fn g_dtls_connection_get_rehandshake_mode(
44151        conn: *mut GDtlsConnection,
44152    ) -> GTlsRehandshakeMode;
44153}
44154extern "C" {
44155    pub fn g_dtls_connection_handshake(
44156        conn: *mut GDtlsConnection,
44157        cancellable: *mut GCancellable,
44158        error: *mut *mut GError,
44159    ) -> gboolean;
44160}
44161extern "C" {
44162    pub fn g_dtls_connection_handshake_async(
44163        conn: *mut GDtlsConnection,
44164        io_priority: ::std::os::raw::c_int,
44165        cancellable: *mut GCancellable,
44166        callback: GAsyncReadyCallback,
44167        user_data: gpointer,
44168    );
44169}
44170extern "C" {
44171    pub fn g_dtls_connection_handshake_finish(
44172        conn: *mut GDtlsConnection,
44173        result: *mut GAsyncResult,
44174        error: *mut *mut GError,
44175    ) -> gboolean;
44176}
44177extern "C" {
44178    pub fn g_dtls_connection_shutdown(
44179        conn: *mut GDtlsConnection,
44180        shutdown_read: gboolean,
44181        shutdown_write: gboolean,
44182        cancellable: *mut GCancellable,
44183        error: *mut *mut GError,
44184    ) -> gboolean;
44185}
44186extern "C" {
44187    pub fn g_dtls_connection_shutdown_async(
44188        conn: *mut GDtlsConnection,
44189        shutdown_read: gboolean,
44190        shutdown_write: gboolean,
44191        io_priority: ::std::os::raw::c_int,
44192        cancellable: *mut GCancellable,
44193        callback: GAsyncReadyCallback,
44194        user_data: gpointer,
44195    );
44196}
44197extern "C" {
44198    pub fn g_dtls_connection_shutdown_finish(
44199        conn: *mut GDtlsConnection,
44200        result: *mut GAsyncResult,
44201        error: *mut *mut GError,
44202    ) -> gboolean;
44203}
44204extern "C" {
44205    pub fn g_dtls_connection_close(
44206        conn: *mut GDtlsConnection,
44207        cancellable: *mut GCancellable,
44208        error: *mut *mut GError,
44209    ) -> gboolean;
44210}
44211extern "C" {
44212    pub fn g_dtls_connection_close_async(
44213        conn: *mut GDtlsConnection,
44214        io_priority: ::std::os::raw::c_int,
44215        cancellable: *mut GCancellable,
44216        callback: GAsyncReadyCallback,
44217        user_data: gpointer,
44218    );
44219}
44220extern "C" {
44221    pub fn g_dtls_connection_close_finish(
44222        conn: *mut GDtlsConnection,
44223        result: *mut GAsyncResult,
44224        error: *mut *mut GError,
44225    ) -> gboolean;
44226}
44227extern "C" {
44228    pub fn g_dtls_connection_emit_accept_certificate(
44229        conn: *mut GDtlsConnection,
44230        peer_cert: *mut GTlsCertificate,
44231        errors: GTlsCertificateFlags,
44232    ) -> gboolean;
44233}
44234extern "C" {
44235    pub fn g_dtls_connection_set_advertised_protocols(
44236        conn: *mut GDtlsConnection,
44237        protocols: *const *const gchar,
44238    );
44239}
44240extern "C" {
44241    pub fn g_dtls_connection_get_negotiated_protocol(conn: *mut GDtlsConnection) -> *const gchar;
44242}
44243extern "C" {
44244    pub fn g_dtls_connection_get_channel_binding_data(
44245        conn: *mut GDtlsConnection,
44246        type_: GTlsChannelBindingType,
44247        data: *mut GByteArray,
44248        error: *mut *mut GError,
44249    ) -> gboolean;
44250}
44251extern "C" {
44252    pub fn g_dtls_connection_get_protocol_version(
44253        conn: *mut GDtlsConnection,
44254    ) -> GTlsProtocolVersion;
44255}
44256extern "C" {
44257    pub fn g_dtls_connection_get_ciphersuite_name(conn: *mut GDtlsConnection) -> *mut gchar;
44258}
44259#[doc = " GDtlsClientConnectionInterface:\n @g_iface: The parent interface.\n\n vtable for a #GDtlsClientConnection implementation.\n\n Since: 2.48"]
44260pub type GDtlsClientConnectionInterface = _GDtlsClientConnectionInterface;
44261#[doc = " GDtlsClientConnectionInterface:\n @g_iface: The parent interface.\n\n vtable for a #GDtlsClientConnection implementation.\n\n Since: 2.48"]
44262#[repr(C)]
44263#[derive(Debug, Copy, Clone, PartialEq, Eq)]
44264pub struct _GDtlsClientConnectionInterface {
44265    pub g_iface: GTypeInterface,
44266}
44267#[test]
44268fn bindgen_test_layout__GDtlsClientConnectionInterface() {
44269    const UNINIT: ::std::mem::MaybeUninit<_GDtlsClientConnectionInterface> =
44270        ::std::mem::MaybeUninit::uninit();
44271    let ptr = UNINIT.as_ptr();
44272    assert_eq!(
44273        ::std::mem::size_of::<_GDtlsClientConnectionInterface>(),
44274        16usize,
44275        concat!("Size of: ", stringify!(_GDtlsClientConnectionInterface))
44276    );
44277    assert_eq!(
44278        ::std::mem::align_of::<_GDtlsClientConnectionInterface>(),
44279        8usize,
44280        concat!("Alignment of ", stringify!(_GDtlsClientConnectionInterface))
44281    );
44282    assert_eq!(
44283        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
44284        0usize,
44285        concat!(
44286            "Offset of field: ",
44287            stringify!(_GDtlsClientConnectionInterface),
44288            "::",
44289            stringify!(g_iface)
44290        )
44291    );
44292}
44293extern "C" {
44294    pub fn g_dtls_client_connection_get_type() -> GType;
44295}
44296extern "C" {
44297    pub fn g_dtls_client_connection_new(
44298        base_socket: *mut GDatagramBased,
44299        server_identity: *mut GSocketConnectable,
44300        error: *mut *mut GError,
44301    ) -> *mut GDatagramBased;
44302}
44303extern "C" {
44304    pub fn g_dtls_client_connection_get_validation_flags(
44305        conn: *mut GDtlsClientConnection,
44306    ) -> GTlsCertificateFlags;
44307}
44308extern "C" {
44309    pub fn g_dtls_client_connection_set_validation_flags(
44310        conn: *mut GDtlsClientConnection,
44311        flags: GTlsCertificateFlags,
44312    );
44313}
44314extern "C" {
44315    pub fn g_dtls_client_connection_get_server_identity(
44316        conn: *mut GDtlsClientConnection,
44317    ) -> *mut GSocketConnectable;
44318}
44319extern "C" {
44320    pub fn g_dtls_client_connection_set_server_identity(
44321        conn: *mut GDtlsClientConnection,
44322        identity: *mut GSocketConnectable,
44323    );
44324}
44325extern "C" {
44326    pub fn g_dtls_client_connection_get_accepted_cas(
44327        conn: *mut GDtlsClientConnection,
44328    ) -> *mut GList;
44329}
44330#[doc = " GDtlsServerConnection:\n\n DTLS server-side connection. This is the server-side implementation\n of a #GDtlsConnection.\n\n Since: 2.48"]
44331pub type GDtlsServerConnectionInterface = _GDtlsServerConnectionInterface;
44332#[doc = " GDtlsServerConnectionInterface:\n @g_iface: The parent interface.\n\n vtable for a #GDtlsServerConnection implementation.\n\n Since: 2.48"]
44333#[repr(C)]
44334#[derive(Debug, Copy, Clone, PartialEq, Eq)]
44335pub struct _GDtlsServerConnectionInterface {
44336    pub g_iface: GTypeInterface,
44337}
44338#[test]
44339fn bindgen_test_layout__GDtlsServerConnectionInterface() {
44340    const UNINIT: ::std::mem::MaybeUninit<_GDtlsServerConnectionInterface> =
44341        ::std::mem::MaybeUninit::uninit();
44342    let ptr = UNINIT.as_ptr();
44343    assert_eq!(
44344        ::std::mem::size_of::<_GDtlsServerConnectionInterface>(),
44345        16usize,
44346        concat!("Size of: ", stringify!(_GDtlsServerConnectionInterface))
44347    );
44348    assert_eq!(
44349        ::std::mem::align_of::<_GDtlsServerConnectionInterface>(),
44350        8usize,
44351        concat!("Alignment of ", stringify!(_GDtlsServerConnectionInterface))
44352    );
44353    assert_eq!(
44354        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
44355        0usize,
44356        concat!(
44357            "Offset of field: ",
44358            stringify!(_GDtlsServerConnectionInterface),
44359            "::",
44360            stringify!(g_iface)
44361        )
44362    );
44363}
44364extern "C" {
44365    pub fn g_dtls_server_connection_get_type() -> GType;
44366}
44367extern "C" {
44368    pub fn g_dtls_server_connection_new(
44369        base_socket: *mut GDatagramBased,
44370        certificate: *mut GTlsCertificate,
44371        error: *mut *mut GError,
44372    ) -> *mut GDatagramBased;
44373}
44374#[doc = " GIcon:\n\n An abstract type that specifies an icon."]
44375pub type GIconIface = _GIconIface;
44376#[doc = " GIconIface:\n @g_iface: The parent interface.\n @hash: A hash for a given #GIcon.\n @equal: Checks if two #GIcons are equal.\n @to_tokens: Serializes a #GIcon into tokens. The tokens must not\n contain any whitespace. Don't implement if the #GIcon can't be\n serialized (Since 2.20).\n @from_tokens: Constructs a #GIcon from tokens. Set the #GError if\n the tokens are malformed. Don't implement if the #GIcon can't be\n serialized (Since 2.20).\n @serialize: Serializes a #GIcon into a #GVariant. Since: 2.38\n\n GIconIface is used to implement GIcon types for various\n different systems. See #GThemedIcon and #GLoadableIcon for\n examples of how to implement this interface."]
44377#[repr(C)]
44378#[derive(Debug, Copy, Clone, PartialEq, Eq)]
44379pub struct _GIconIface {
44380    pub g_iface: GTypeInterface,
44381    pub hash: ::std::option::Option<unsafe extern "C" fn(icon: *mut GIcon) -> guint>,
44382    pub equal: ::std::option::Option<
44383        unsafe extern "C" fn(icon1: *mut GIcon, icon2: *mut GIcon) -> gboolean,
44384    >,
44385    #[doc = " GIconIface::to_tokens:\n @icon: The #GIcon\n @tokens: (element-type utf8) (out caller-allocates):\n   The array to fill with tokens\n @out_version: (out): version of serialized tokens\n\n Serializes the @icon into string tokens.\n This is can be invoked when g_icon_new_for_string() is called.\n\n Returns: %TRUE if serialization took place, %FALSE otherwise\n\n Since: 2.20"]
44386    pub to_tokens: ::std::option::Option<
44387        unsafe extern "C" fn(
44388            icon: *mut GIcon,
44389            tokens: *mut GPtrArray,
44390            out_version: *mut gint,
44391        ) -> gboolean,
44392    >,
44393    #[doc = " GIconIface::from_tokens:\n @tokens: (array length=num_tokens): An array of tokens\n @num_tokens: The number of tokens in @tokens\n @version: Version of the serialized tokens\n @error: Return location for errors, or %NULL to ignore\n\n Constructs a #GIcon from a list of @tokens.\n\n Returns: (nullable) (transfer full): the #GIcon or %NULL on error\n\n Since: 2.20"]
44394    pub from_tokens: ::std::option::Option<
44395        unsafe extern "C" fn(
44396            tokens: *mut *mut gchar,
44397            num_tokens: gint,
44398            version: gint,
44399            error: *mut *mut GError,
44400        ) -> *mut GIcon,
44401    >,
44402    pub serialize: ::std::option::Option<unsafe extern "C" fn(icon: *mut GIcon) -> *mut GVariant>,
44403}
44404#[test]
44405fn bindgen_test_layout__GIconIface() {
44406    const UNINIT: ::std::mem::MaybeUninit<_GIconIface> = ::std::mem::MaybeUninit::uninit();
44407    let ptr = UNINIT.as_ptr();
44408    assert_eq!(
44409        ::std::mem::size_of::<_GIconIface>(),
44410        56usize,
44411        concat!("Size of: ", stringify!(_GIconIface))
44412    );
44413    assert_eq!(
44414        ::std::mem::align_of::<_GIconIface>(),
44415        8usize,
44416        concat!("Alignment of ", stringify!(_GIconIface))
44417    );
44418    assert_eq!(
44419        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
44420        0usize,
44421        concat!(
44422            "Offset of field: ",
44423            stringify!(_GIconIface),
44424            "::",
44425            stringify!(g_iface)
44426        )
44427    );
44428    assert_eq!(
44429        unsafe { ::std::ptr::addr_of!((*ptr).hash) as usize - ptr as usize },
44430        16usize,
44431        concat!(
44432            "Offset of field: ",
44433            stringify!(_GIconIface),
44434            "::",
44435            stringify!(hash)
44436        )
44437    );
44438    assert_eq!(
44439        unsafe { ::std::ptr::addr_of!((*ptr).equal) as usize - ptr as usize },
44440        24usize,
44441        concat!(
44442            "Offset of field: ",
44443            stringify!(_GIconIface),
44444            "::",
44445            stringify!(equal)
44446        )
44447    );
44448    assert_eq!(
44449        unsafe { ::std::ptr::addr_of!((*ptr).to_tokens) as usize - ptr as usize },
44450        32usize,
44451        concat!(
44452            "Offset of field: ",
44453            stringify!(_GIconIface),
44454            "::",
44455            stringify!(to_tokens)
44456        )
44457    );
44458    assert_eq!(
44459        unsafe { ::std::ptr::addr_of!((*ptr).from_tokens) as usize - ptr as usize },
44460        40usize,
44461        concat!(
44462            "Offset of field: ",
44463            stringify!(_GIconIface),
44464            "::",
44465            stringify!(from_tokens)
44466        )
44467    );
44468    assert_eq!(
44469        unsafe { ::std::ptr::addr_of!((*ptr).serialize) as usize - ptr as usize },
44470        48usize,
44471        concat!(
44472            "Offset of field: ",
44473            stringify!(_GIconIface),
44474            "::",
44475            stringify!(serialize)
44476        )
44477    );
44478}
44479extern "C" {
44480    pub fn g_icon_get_type() -> GType;
44481}
44482extern "C" {
44483    pub fn g_icon_hash(icon: gconstpointer) -> guint;
44484}
44485extern "C" {
44486    pub fn g_icon_equal(icon1: *mut GIcon, icon2: *mut GIcon) -> gboolean;
44487}
44488extern "C" {
44489    pub fn g_icon_to_string(icon: *mut GIcon) -> *mut gchar;
44490}
44491extern "C" {
44492    pub fn g_icon_new_for_string(str_: *const gchar, error: *mut *mut GError) -> *mut GIcon;
44493}
44494extern "C" {
44495    pub fn g_icon_serialize(icon: *mut GIcon) -> *mut GVariant;
44496}
44497extern "C" {
44498    pub fn g_icon_deserialize(value: *mut GVariant) -> *mut GIcon;
44499}
44500#[repr(C)]
44501#[derive(Debug, Copy, Clone)]
44502pub struct _GEmblem {
44503    _unused: [u8; 0],
44504}
44505#[doc = " GEmblem:\n\n An object for Emblems"]
44506pub type GEmblem = _GEmblem;
44507#[repr(C)]
44508#[derive(Debug, Copy, Clone)]
44509pub struct _GEmblemClass {
44510    _unused: [u8; 0],
44511}
44512pub type GEmblemClass = _GEmblemClass;
44513extern "C" {
44514    pub fn g_emblem_get_type() -> GType;
44515}
44516extern "C" {
44517    pub fn g_emblem_new(icon: *mut GIcon) -> *mut GEmblem;
44518}
44519extern "C" {
44520    pub fn g_emblem_new_with_origin(icon: *mut GIcon, origin: GEmblemOrigin) -> *mut GEmblem;
44521}
44522extern "C" {
44523    pub fn g_emblem_get_icon(emblem: *mut GEmblem) -> *mut GIcon;
44524}
44525extern "C" {
44526    pub fn g_emblem_get_origin(emblem: *mut GEmblem) -> GEmblemOrigin;
44527}
44528#[doc = " GEmblemedIcon:\n\n An implementation of #GIcon for icons with emblems."]
44529pub type GEmblemedIcon = _GEmblemedIcon;
44530pub type GEmblemedIconClass = _GEmblemedIconClass;
44531#[repr(C)]
44532#[derive(Debug, Copy, Clone)]
44533pub struct _GEmblemedIconPrivate {
44534    _unused: [u8; 0],
44535}
44536pub type GEmblemedIconPrivate = _GEmblemedIconPrivate;
44537#[repr(C)]
44538#[derive(Debug, Copy, Clone, PartialEq, Eq)]
44539pub struct _GEmblemedIcon {
44540    pub parent_instance: GObject,
44541    pub priv_: *mut GEmblemedIconPrivate,
44542}
44543#[test]
44544fn bindgen_test_layout__GEmblemedIcon() {
44545    const UNINIT: ::std::mem::MaybeUninit<_GEmblemedIcon> = ::std::mem::MaybeUninit::uninit();
44546    let ptr = UNINIT.as_ptr();
44547    assert_eq!(
44548        ::std::mem::size_of::<_GEmblemedIcon>(),
44549        32usize,
44550        concat!("Size of: ", stringify!(_GEmblemedIcon))
44551    );
44552    assert_eq!(
44553        ::std::mem::align_of::<_GEmblemedIcon>(),
44554        8usize,
44555        concat!("Alignment of ", stringify!(_GEmblemedIcon))
44556    );
44557    assert_eq!(
44558        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
44559        0usize,
44560        concat!(
44561            "Offset of field: ",
44562            stringify!(_GEmblemedIcon),
44563            "::",
44564            stringify!(parent_instance)
44565        )
44566    );
44567    assert_eq!(
44568        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
44569        24usize,
44570        concat!(
44571            "Offset of field: ",
44572            stringify!(_GEmblemedIcon),
44573            "::",
44574            stringify!(priv_)
44575        )
44576    );
44577}
44578#[repr(C)]
44579#[derive(Debug, Copy, Clone, PartialEq, Eq)]
44580pub struct _GEmblemedIconClass {
44581    pub parent_class: GObjectClass,
44582}
44583#[test]
44584fn bindgen_test_layout__GEmblemedIconClass() {
44585    const UNINIT: ::std::mem::MaybeUninit<_GEmblemedIconClass> = ::std::mem::MaybeUninit::uninit();
44586    let ptr = UNINIT.as_ptr();
44587    assert_eq!(
44588        ::std::mem::size_of::<_GEmblemedIconClass>(),
44589        136usize,
44590        concat!("Size of: ", stringify!(_GEmblemedIconClass))
44591    );
44592    assert_eq!(
44593        ::std::mem::align_of::<_GEmblemedIconClass>(),
44594        8usize,
44595        concat!("Alignment of ", stringify!(_GEmblemedIconClass))
44596    );
44597    assert_eq!(
44598        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
44599        0usize,
44600        concat!(
44601            "Offset of field: ",
44602            stringify!(_GEmblemedIconClass),
44603            "::",
44604            stringify!(parent_class)
44605        )
44606    );
44607}
44608extern "C" {
44609    pub fn g_emblemed_icon_get_type() -> GType;
44610}
44611extern "C" {
44612    pub fn g_emblemed_icon_new(icon: *mut GIcon, emblem: *mut GEmblem) -> *mut GIcon;
44613}
44614extern "C" {
44615    pub fn g_emblemed_icon_get_icon(emblemed: *mut GEmblemedIcon) -> *mut GIcon;
44616}
44617extern "C" {
44618    pub fn g_emblemed_icon_get_emblems(emblemed: *mut GEmblemedIcon) -> *mut GList;
44619}
44620extern "C" {
44621    pub fn g_emblemed_icon_add_emblem(emblemed: *mut GEmblemedIcon, emblem: *mut GEmblem);
44622}
44623extern "C" {
44624    pub fn g_emblemed_icon_clear_emblems(emblemed: *mut GEmblemedIcon);
44625}
44626#[doc = " GFileIface:\n @g_iface: The parent interface.\n @dup: Duplicates a #GFile.\n @hash: Creates a hash of a #GFile.\n @equal: Checks equality of two given #GFiles.\n @is_native: Checks to see if a file is native to the system.\n @has_uri_scheme: Checks to see if a #GFile has a given URI scheme.\n @get_uri_scheme: Gets the URI scheme for a #GFile.\n @get_basename: Gets the basename for a given #GFile.\n @get_path: Gets the current path within a #GFile.\n @get_uri: Gets a URI for the path within a #GFile.\n @get_parse_name: Gets the parsed name for the #GFile.\n @get_parent: Gets the parent directory for the #GFile.\n @prefix_matches: Checks whether a #GFile contains a specified file.\n @get_relative_path: Gets the path for a #GFile relative to a given path.\n @resolve_relative_path: Resolves a relative path for a #GFile to an absolute path.\n @get_child_for_display_name: Gets the child #GFile for a given display name.\n @enumerate_children: Gets a #GFileEnumerator with the children of a #GFile.\n @enumerate_children_async: Asynchronously gets a #GFileEnumerator with the children of a #GFile.\n @enumerate_children_finish: Finishes asynchronously enumerating the children.\n @query_info: Gets the #GFileInfo for a #GFile.\n @query_info_async: Asynchronously gets the #GFileInfo for a #GFile.\n @query_info_finish: Finishes an asynchronous query info operation.\n @query_filesystem_info: Gets a #GFileInfo for the file system #GFile is on.\n @query_filesystem_info_async: Asynchronously gets a #GFileInfo for the file system #GFile is on.\n @query_filesystem_info_finish: Finishes asynchronously getting the file system info.\n @find_enclosing_mount: Gets a #GMount for the #GFile.\n @find_enclosing_mount_async: Asynchronously gets the #GMount for a #GFile.\n @find_enclosing_mount_finish: Finishes asynchronously getting the volume.\n @set_display_name: Sets the display name for a #GFile.\n @set_display_name_async: Asynchronously sets a #GFile's display name.\n @set_display_name_finish: Finishes asynchronously setting a #GFile's display name.\n @query_settable_attributes: Returns a list of #GFileAttributeInfos that can be set.\n @_query_settable_attributes_async: Asynchronously gets a list of #GFileAttributeInfos that can be set.\n @_query_settable_attributes_finish: Finishes asynchronously querying settable attributes.\n @query_writable_namespaces: Returns a list of #GFileAttributeInfo namespaces that are writable.\n @_query_writable_namespaces_async: Asynchronously gets a list of #GFileAttributeInfo namespaces that are writable.\n @_query_writable_namespaces_finish: Finishes asynchronously querying the writable namespaces.\n @set_attribute: Sets a #GFileAttributeInfo.\n @set_attributes_from_info: Sets a #GFileAttributeInfo with information from a #GFileInfo.\n @set_attributes_async: Asynchronously sets a file's attributes.\n @set_attributes_finish: Finishes setting a file's attributes asynchronously.\n @read_fn: Reads a file asynchronously.\n @read_async: Asynchronously reads a file.\n @read_finish: Finishes asynchronously reading a file.\n @append_to: Writes to the end of a file.\n @append_to_async: Asynchronously writes to the end of a file.\n @append_to_finish: Finishes an asynchronous file append operation.\n @create: Creates a new file.\n @create_async: Asynchronously creates a file.\n @create_finish: Finishes asynchronously creating a file.\n @replace: Replaces the contents of a file.\n @replace_async: Asynchronously replaces the contents of a file.\n @replace_finish: Finishes asynchronously replacing a file.\n @delete_file: Deletes a file.\n @delete_file_async: Asynchronously deletes a file.\n @delete_file_finish: Finishes an asynchronous delete.\n @trash: Sends a #GFile to the Trash location.\n @trash_async: Asynchronously sends a #GFile to the Trash location.\n @trash_finish: Finishes an asynchronous file trashing operation.\n @make_directory: Makes a directory.\n @make_directory_async: Asynchronously makes a directory.\n @make_directory_finish: Finishes making a directory asynchronously.\n @make_symbolic_link: (nullable): Makes a symbolic link. %NULL if symbolic\n    links are unsupported.\n @make_symbolic_link_async: Asynchronously makes a symbolic link\n @make_symbolic_link_finish: Finishes making a symbolic link asynchronously.\n @copy: (nullable): Copies a file. %NULL if copying is unsupported, which will\n     cause `GFile` to use a fallback copy method where it reads from the\n     source and writes to the destination.\n @copy_async: Asynchronously copies a file.\n @copy_finish: Finishes an asynchronous copy operation.\n @move: Moves a file.\n @move_async: Asynchronously moves a file. Since: 2.72\n @move_finish: Finishes an asynchronous move operation. Since: 2.72\n @mount_mountable: Mounts a mountable object.\n @mount_mountable_finish: Finishes a mounting operation.\n @unmount_mountable: Unmounts a mountable object.\n @unmount_mountable_finish: Finishes an unmount operation.\n @eject_mountable: Ejects a mountable.\n @eject_mountable_finish: Finishes an eject operation.\n @mount_enclosing_volume: Mounts a specified location.\n @mount_enclosing_volume_finish: Finishes mounting a specified location.\n @monitor_dir: Creates a #GFileMonitor for the location.\n @monitor_file: Creates a #GFileMonitor for the location.\n @open_readwrite: Open file read/write. Since 2.22.\n @open_readwrite_async: Asynchronously opens file read/write. Since 2.22.\n @open_readwrite_finish: Finishes an asynchronous open read/write. Since 2.22.\n @create_readwrite: Creates file read/write. Since 2.22.\n @create_readwrite_async: Asynchronously creates file read/write. Since 2.22.\n @create_readwrite_finish: Finishes an asynchronous creates read/write. Since 2.22.\n @replace_readwrite: Replaces file read/write. Since 2.22.\n @replace_readwrite_async: Asynchronously replaces file read/write. Since 2.22.\n @replace_readwrite_finish: Finishes an asynchronous replace read/write. Since 2.22.\n @start_mountable: Starts a mountable object. Since 2.22.\n @start_mountable_finish: Finishes a start operation. Since 2.22.\n @stop_mountable: Stops a mountable. Since 2.22.\n @stop_mountable_finish: Finishes a stop operation. Since 2.22.\n @supports_thread_contexts: a boolean that indicates whether the #GFile implementation supports thread-default contexts. Since 2.22.\n @unmount_mountable_with_operation: Unmounts a mountable object using a #GMountOperation. Since 2.22.\n @unmount_mountable_with_operation_finish: Finishes an unmount operation using a #GMountOperation. Since 2.22.\n @eject_mountable_with_operation: Ejects a mountable object using a #GMountOperation. Since 2.22.\n @eject_mountable_with_operation_finish: Finishes an eject operation using a #GMountOperation. Since 2.22.\n @poll_mountable: Polls a mountable object for media changes. Since 2.22.\n @poll_mountable_finish: Finishes a poll operation for media changes. Since 2.22.\n @measure_disk_usage: Recursively measures the disk usage of @file. Since 2.38\n @measure_disk_usage_async: Asynchronously recursively measures the disk usage of @file. Since 2.38\n @measure_disk_usage_finish: Finishes an asynchronous recursive measurement of the disk usage of @file. Since 2.38\n\n An interface for writing VFS file handles."]
44627pub type GFileIface = _GFileIface;
44628#[doc = " GFileIface:\n @g_iface: The parent interface.\n @dup: Duplicates a #GFile.\n @hash: Creates a hash of a #GFile.\n @equal: Checks equality of two given #GFiles.\n @is_native: Checks to see if a file is native to the system.\n @has_uri_scheme: Checks to see if a #GFile has a given URI scheme.\n @get_uri_scheme: Gets the URI scheme for a #GFile.\n @get_basename: Gets the basename for a given #GFile.\n @get_path: Gets the current path within a #GFile.\n @get_uri: Gets a URI for the path within a #GFile.\n @get_parse_name: Gets the parsed name for the #GFile.\n @get_parent: Gets the parent directory for the #GFile.\n @prefix_matches: Checks whether a #GFile contains a specified file.\n @get_relative_path: Gets the path for a #GFile relative to a given path.\n @resolve_relative_path: Resolves a relative path for a #GFile to an absolute path.\n @get_child_for_display_name: Gets the child #GFile for a given display name.\n @enumerate_children: Gets a #GFileEnumerator with the children of a #GFile.\n @enumerate_children_async: Asynchronously gets a #GFileEnumerator with the children of a #GFile.\n @enumerate_children_finish: Finishes asynchronously enumerating the children.\n @query_info: Gets the #GFileInfo for a #GFile.\n @query_info_async: Asynchronously gets the #GFileInfo for a #GFile.\n @query_info_finish: Finishes an asynchronous query info operation.\n @query_filesystem_info: Gets a #GFileInfo for the file system #GFile is on.\n @query_filesystem_info_async: Asynchronously gets a #GFileInfo for the file system #GFile is on.\n @query_filesystem_info_finish: Finishes asynchronously getting the file system info.\n @find_enclosing_mount: Gets a #GMount for the #GFile.\n @find_enclosing_mount_async: Asynchronously gets the #GMount for a #GFile.\n @find_enclosing_mount_finish: Finishes asynchronously getting the volume.\n @set_display_name: Sets the display name for a #GFile.\n @set_display_name_async: Asynchronously sets a #GFile's display name.\n @set_display_name_finish: Finishes asynchronously setting a #GFile's display name.\n @query_settable_attributes: Returns a list of #GFileAttributeInfos that can be set.\n @_query_settable_attributes_async: Asynchronously gets a list of #GFileAttributeInfos that can be set.\n @_query_settable_attributes_finish: Finishes asynchronously querying settable attributes.\n @query_writable_namespaces: Returns a list of #GFileAttributeInfo namespaces that are writable.\n @_query_writable_namespaces_async: Asynchronously gets a list of #GFileAttributeInfo namespaces that are writable.\n @_query_writable_namespaces_finish: Finishes asynchronously querying the writable namespaces.\n @set_attribute: Sets a #GFileAttributeInfo.\n @set_attributes_from_info: Sets a #GFileAttributeInfo with information from a #GFileInfo.\n @set_attributes_async: Asynchronously sets a file's attributes.\n @set_attributes_finish: Finishes setting a file's attributes asynchronously.\n @read_fn: Reads a file asynchronously.\n @read_async: Asynchronously reads a file.\n @read_finish: Finishes asynchronously reading a file.\n @append_to: Writes to the end of a file.\n @append_to_async: Asynchronously writes to the end of a file.\n @append_to_finish: Finishes an asynchronous file append operation.\n @create: Creates a new file.\n @create_async: Asynchronously creates a file.\n @create_finish: Finishes asynchronously creating a file.\n @replace: Replaces the contents of a file.\n @replace_async: Asynchronously replaces the contents of a file.\n @replace_finish: Finishes asynchronously replacing a file.\n @delete_file: Deletes a file.\n @delete_file_async: Asynchronously deletes a file.\n @delete_file_finish: Finishes an asynchronous delete.\n @trash: Sends a #GFile to the Trash location.\n @trash_async: Asynchronously sends a #GFile to the Trash location.\n @trash_finish: Finishes an asynchronous file trashing operation.\n @make_directory: Makes a directory.\n @make_directory_async: Asynchronously makes a directory.\n @make_directory_finish: Finishes making a directory asynchronously.\n @make_symbolic_link: (nullable): Makes a symbolic link. %NULL if symbolic\n    links are unsupported.\n @make_symbolic_link_async: Asynchronously makes a symbolic link\n @make_symbolic_link_finish: Finishes making a symbolic link asynchronously.\n @copy: (nullable): Copies a file. %NULL if copying is unsupported, which will\n     cause `GFile` to use a fallback copy method where it reads from the\n     source and writes to the destination.\n @copy_async: Asynchronously copies a file.\n @copy_finish: Finishes an asynchronous copy operation.\n @move: Moves a file.\n @move_async: Asynchronously moves a file. Since: 2.72\n @move_finish: Finishes an asynchronous move operation. Since: 2.72\n @mount_mountable: Mounts a mountable object.\n @mount_mountable_finish: Finishes a mounting operation.\n @unmount_mountable: Unmounts a mountable object.\n @unmount_mountable_finish: Finishes an unmount operation.\n @eject_mountable: Ejects a mountable.\n @eject_mountable_finish: Finishes an eject operation.\n @mount_enclosing_volume: Mounts a specified location.\n @mount_enclosing_volume_finish: Finishes mounting a specified location.\n @monitor_dir: Creates a #GFileMonitor for the location.\n @monitor_file: Creates a #GFileMonitor for the location.\n @open_readwrite: Open file read/write. Since 2.22.\n @open_readwrite_async: Asynchronously opens file read/write. Since 2.22.\n @open_readwrite_finish: Finishes an asynchronous open read/write. Since 2.22.\n @create_readwrite: Creates file read/write. Since 2.22.\n @create_readwrite_async: Asynchronously creates file read/write. Since 2.22.\n @create_readwrite_finish: Finishes an asynchronous creates read/write. Since 2.22.\n @replace_readwrite: Replaces file read/write. Since 2.22.\n @replace_readwrite_async: Asynchronously replaces file read/write. Since 2.22.\n @replace_readwrite_finish: Finishes an asynchronous replace read/write. Since 2.22.\n @start_mountable: Starts a mountable object. Since 2.22.\n @start_mountable_finish: Finishes a start operation. Since 2.22.\n @stop_mountable: Stops a mountable. Since 2.22.\n @stop_mountable_finish: Finishes a stop operation. Since 2.22.\n @supports_thread_contexts: a boolean that indicates whether the #GFile implementation supports thread-default contexts. Since 2.22.\n @unmount_mountable_with_operation: Unmounts a mountable object using a #GMountOperation. Since 2.22.\n @unmount_mountable_with_operation_finish: Finishes an unmount operation using a #GMountOperation. Since 2.22.\n @eject_mountable_with_operation: Ejects a mountable object using a #GMountOperation. Since 2.22.\n @eject_mountable_with_operation_finish: Finishes an eject operation using a #GMountOperation. Since 2.22.\n @poll_mountable: Polls a mountable object for media changes. Since 2.22.\n @poll_mountable_finish: Finishes a poll operation for media changes. Since 2.22.\n @measure_disk_usage: Recursively measures the disk usage of @file. Since 2.38\n @measure_disk_usage_async: Asynchronously recursively measures the disk usage of @file. Since 2.38\n @measure_disk_usage_finish: Finishes an asynchronous recursive measurement of the disk usage of @file. Since 2.38\n\n An interface for writing VFS file handles."]
44629#[repr(C)]
44630#[derive(Debug, Copy, Clone, PartialEq, Eq)]
44631pub struct _GFileIface {
44632    pub g_iface: GTypeInterface,
44633    pub dup: ::std::option::Option<unsafe extern "C" fn(file: *mut GFile) -> *mut GFile>,
44634    pub hash: ::std::option::Option<unsafe extern "C" fn(file: *mut GFile) -> guint>,
44635    pub equal: ::std::option::Option<
44636        unsafe extern "C" fn(file1: *mut GFile, file2: *mut GFile) -> gboolean,
44637    >,
44638    pub is_native: ::std::option::Option<unsafe extern "C" fn(file: *mut GFile) -> gboolean>,
44639    pub has_uri_scheme: ::std::option::Option<
44640        unsafe extern "C" fn(
44641            file: *mut GFile,
44642            uri_scheme: *const ::std::os::raw::c_char,
44643        ) -> gboolean,
44644    >,
44645    pub get_uri_scheme: ::std::option::Option<
44646        unsafe extern "C" fn(file: *mut GFile) -> *mut ::std::os::raw::c_char,
44647    >,
44648    pub get_basename: ::std::option::Option<
44649        unsafe extern "C" fn(file: *mut GFile) -> *mut ::std::os::raw::c_char,
44650    >,
44651    pub get_path: ::std::option::Option<
44652        unsafe extern "C" fn(file: *mut GFile) -> *mut ::std::os::raw::c_char,
44653    >,
44654    pub get_uri: ::std::option::Option<
44655        unsafe extern "C" fn(file: *mut GFile) -> *mut ::std::os::raw::c_char,
44656    >,
44657    pub get_parse_name: ::std::option::Option<
44658        unsafe extern "C" fn(file: *mut GFile) -> *mut ::std::os::raw::c_char,
44659    >,
44660    pub get_parent: ::std::option::Option<unsafe extern "C" fn(file: *mut GFile) -> *mut GFile>,
44661    pub prefix_matches: ::std::option::Option<
44662        unsafe extern "C" fn(prefix: *mut GFile, file: *mut GFile) -> gboolean,
44663    >,
44664    pub get_relative_path: ::std::option::Option<
44665        unsafe extern "C" fn(
44666            parent: *mut GFile,
44667            descendant: *mut GFile,
44668        ) -> *mut ::std::os::raw::c_char,
44669    >,
44670    pub resolve_relative_path: ::std::option::Option<
44671        unsafe extern "C" fn(
44672            file: *mut GFile,
44673            relative_path: *const ::std::os::raw::c_char,
44674        ) -> *mut GFile,
44675    >,
44676    pub get_child_for_display_name: ::std::option::Option<
44677        unsafe extern "C" fn(
44678            file: *mut GFile,
44679            display_name: *const ::std::os::raw::c_char,
44680            error: *mut *mut GError,
44681        ) -> *mut GFile,
44682    >,
44683    pub enumerate_children: ::std::option::Option<
44684        unsafe extern "C" fn(
44685            file: *mut GFile,
44686            attributes: *const ::std::os::raw::c_char,
44687            flags: GFileQueryInfoFlags,
44688            cancellable: *mut GCancellable,
44689            error: *mut *mut GError,
44690        ) -> *mut GFileEnumerator,
44691    >,
44692    pub enumerate_children_async: ::std::option::Option<
44693        unsafe extern "C" fn(
44694            file: *mut GFile,
44695            attributes: *const ::std::os::raw::c_char,
44696            flags: GFileQueryInfoFlags,
44697            io_priority: ::std::os::raw::c_int,
44698            cancellable: *mut GCancellable,
44699            callback: GAsyncReadyCallback,
44700            user_data: gpointer,
44701        ),
44702    >,
44703    pub enumerate_children_finish: ::std::option::Option<
44704        unsafe extern "C" fn(
44705            file: *mut GFile,
44706            res: *mut GAsyncResult,
44707            error: *mut *mut GError,
44708        ) -> *mut GFileEnumerator,
44709    >,
44710    pub query_info: ::std::option::Option<
44711        unsafe extern "C" fn(
44712            file: *mut GFile,
44713            attributes: *const ::std::os::raw::c_char,
44714            flags: GFileQueryInfoFlags,
44715            cancellable: *mut GCancellable,
44716            error: *mut *mut GError,
44717        ) -> *mut GFileInfo,
44718    >,
44719    pub query_info_async: ::std::option::Option<
44720        unsafe extern "C" fn(
44721            file: *mut GFile,
44722            attributes: *const ::std::os::raw::c_char,
44723            flags: GFileQueryInfoFlags,
44724            io_priority: ::std::os::raw::c_int,
44725            cancellable: *mut GCancellable,
44726            callback: GAsyncReadyCallback,
44727            user_data: gpointer,
44728        ),
44729    >,
44730    pub query_info_finish: ::std::option::Option<
44731        unsafe extern "C" fn(
44732            file: *mut GFile,
44733            res: *mut GAsyncResult,
44734            error: *mut *mut GError,
44735        ) -> *mut GFileInfo,
44736    >,
44737    pub query_filesystem_info: ::std::option::Option<
44738        unsafe extern "C" fn(
44739            file: *mut GFile,
44740            attributes: *const ::std::os::raw::c_char,
44741            cancellable: *mut GCancellable,
44742            error: *mut *mut GError,
44743        ) -> *mut GFileInfo,
44744    >,
44745    pub query_filesystem_info_async: ::std::option::Option<
44746        unsafe extern "C" fn(
44747            file: *mut GFile,
44748            attributes: *const ::std::os::raw::c_char,
44749            io_priority: ::std::os::raw::c_int,
44750            cancellable: *mut GCancellable,
44751            callback: GAsyncReadyCallback,
44752            user_data: gpointer,
44753        ),
44754    >,
44755    pub query_filesystem_info_finish: ::std::option::Option<
44756        unsafe extern "C" fn(
44757            file: *mut GFile,
44758            res: *mut GAsyncResult,
44759            error: *mut *mut GError,
44760        ) -> *mut GFileInfo,
44761    >,
44762    pub find_enclosing_mount: ::std::option::Option<
44763        unsafe extern "C" fn(
44764            file: *mut GFile,
44765            cancellable: *mut GCancellable,
44766            error: *mut *mut GError,
44767        ) -> *mut GMount,
44768    >,
44769    pub find_enclosing_mount_async: ::std::option::Option<
44770        unsafe extern "C" fn(
44771            file: *mut GFile,
44772            io_priority: ::std::os::raw::c_int,
44773            cancellable: *mut GCancellable,
44774            callback: GAsyncReadyCallback,
44775            user_data: gpointer,
44776        ),
44777    >,
44778    pub find_enclosing_mount_finish: ::std::option::Option<
44779        unsafe extern "C" fn(
44780            file: *mut GFile,
44781            res: *mut GAsyncResult,
44782            error: *mut *mut GError,
44783        ) -> *mut GMount,
44784    >,
44785    pub set_display_name: ::std::option::Option<
44786        unsafe extern "C" fn(
44787            file: *mut GFile,
44788            display_name: *const ::std::os::raw::c_char,
44789            cancellable: *mut GCancellable,
44790            error: *mut *mut GError,
44791        ) -> *mut GFile,
44792    >,
44793    pub set_display_name_async: ::std::option::Option<
44794        unsafe extern "C" fn(
44795            file: *mut GFile,
44796            display_name: *const ::std::os::raw::c_char,
44797            io_priority: ::std::os::raw::c_int,
44798            cancellable: *mut GCancellable,
44799            callback: GAsyncReadyCallback,
44800            user_data: gpointer,
44801        ),
44802    >,
44803    pub set_display_name_finish: ::std::option::Option<
44804        unsafe extern "C" fn(
44805            file: *mut GFile,
44806            res: *mut GAsyncResult,
44807            error: *mut *mut GError,
44808        ) -> *mut GFile,
44809    >,
44810    pub query_settable_attributes: ::std::option::Option<
44811        unsafe extern "C" fn(
44812            file: *mut GFile,
44813            cancellable: *mut GCancellable,
44814            error: *mut *mut GError,
44815        ) -> *mut GFileAttributeInfoList,
44816    >,
44817    pub _query_settable_attributes_async: ::std::option::Option<unsafe extern "C" fn()>,
44818    pub _query_settable_attributes_finish: ::std::option::Option<unsafe extern "C" fn()>,
44819    pub query_writable_namespaces: ::std::option::Option<
44820        unsafe extern "C" fn(
44821            file: *mut GFile,
44822            cancellable: *mut GCancellable,
44823            error: *mut *mut GError,
44824        ) -> *mut GFileAttributeInfoList,
44825    >,
44826    pub _query_writable_namespaces_async: ::std::option::Option<unsafe extern "C" fn()>,
44827    pub _query_writable_namespaces_finish: ::std::option::Option<unsafe extern "C" fn()>,
44828    pub set_attribute: ::std::option::Option<
44829        unsafe extern "C" fn(
44830            file: *mut GFile,
44831            attribute: *const ::std::os::raw::c_char,
44832            type_: GFileAttributeType,
44833            value_p: gpointer,
44834            flags: GFileQueryInfoFlags,
44835            cancellable: *mut GCancellable,
44836            error: *mut *mut GError,
44837        ) -> gboolean,
44838    >,
44839    pub set_attributes_from_info: ::std::option::Option<
44840        unsafe extern "C" fn(
44841            file: *mut GFile,
44842            info: *mut GFileInfo,
44843            flags: GFileQueryInfoFlags,
44844            cancellable: *mut GCancellable,
44845            error: *mut *mut GError,
44846        ) -> gboolean,
44847    >,
44848    pub set_attributes_async: ::std::option::Option<
44849        unsafe extern "C" fn(
44850            file: *mut GFile,
44851            info: *mut GFileInfo,
44852            flags: GFileQueryInfoFlags,
44853            io_priority: ::std::os::raw::c_int,
44854            cancellable: *mut GCancellable,
44855            callback: GAsyncReadyCallback,
44856            user_data: gpointer,
44857        ),
44858    >,
44859    pub set_attributes_finish: ::std::option::Option<
44860        unsafe extern "C" fn(
44861            file: *mut GFile,
44862            result: *mut GAsyncResult,
44863            info: *mut *mut GFileInfo,
44864            error: *mut *mut GError,
44865        ) -> gboolean,
44866    >,
44867    pub read_fn: ::std::option::Option<
44868        unsafe extern "C" fn(
44869            file: *mut GFile,
44870            cancellable: *mut GCancellable,
44871            error: *mut *mut GError,
44872        ) -> *mut GFileInputStream,
44873    >,
44874    pub read_async: ::std::option::Option<
44875        unsafe extern "C" fn(
44876            file: *mut GFile,
44877            io_priority: ::std::os::raw::c_int,
44878            cancellable: *mut GCancellable,
44879            callback: GAsyncReadyCallback,
44880            user_data: gpointer,
44881        ),
44882    >,
44883    pub read_finish: ::std::option::Option<
44884        unsafe extern "C" fn(
44885            file: *mut GFile,
44886            res: *mut GAsyncResult,
44887            error: *mut *mut GError,
44888        ) -> *mut GFileInputStream,
44889    >,
44890    pub append_to: ::std::option::Option<
44891        unsafe extern "C" fn(
44892            file: *mut GFile,
44893            flags: GFileCreateFlags,
44894            cancellable: *mut GCancellable,
44895            error: *mut *mut GError,
44896        ) -> *mut GFileOutputStream,
44897    >,
44898    pub append_to_async: ::std::option::Option<
44899        unsafe extern "C" fn(
44900            file: *mut GFile,
44901            flags: GFileCreateFlags,
44902            io_priority: ::std::os::raw::c_int,
44903            cancellable: *mut GCancellable,
44904            callback: GAsyncReadyCallback,
44905            user_data: gpointer,
44906        ),
44907    >,
44908    pub append_to_finish: ::std::option::Option<
44909        unsafe extern "C" fn(
44910            file: *mut GFile,
44911            res: *mut GAsyncResult,
44912            error: *mut *mut GError,
44913        ) -> *mut GFileOutputStream,
44914    >,
44915    pub create: ::std::option::Option<
44916        unsafe extern "C" fn(
44917            file: *mut GFile,
44918            flags: GFileCreateFlags,
44919            cancellable: *mut GCancellable,
44920            error: *mut *mut GError,
44921        ) -> *mut GFileOutputStream,
44922    >,
44923    pub create_async: ::std::option::Option<
44924        unsafe extern "C" fn(
44925            file: *mut GFile,
44926            flags: GFileCreateFlags,
44927            io_priority: ::std::os::raw::c_int,
44928            cancellable: *mut GCancellable,
44929            callback: GAsyncReadyCallback,
44930            user_data: gpointer,
44931        ),
44932    >,
44933    pub create_finish: ::std::option::Option<
44934        unsafe extern "C" fn(
44935            file: *mut GFile,
44936            res: *mut GAsyncResult,
44937            error: *mut *mut GError,
44938        ) -> *mut GFileOutputStream,
44939    >,
44940    pub replace: ::std::option::Option<
44941        unsafe extern "C" fn(
44942            file: *mut GFile,
44943            etag: *const ::std::os::raw::c_char,
44944            make_backup: gboolean,
44945            flags: GFileCreateFlags,
44946            cancellable: *mut GCancellable,
44947            error: *mut *mut GError,
44948        ) -> *mut GFileOutputStream,
44949    >,
44950    pub replace_async: ::std::option::Option<
44951        unsafe extern "C" fn(
44952            file: *mut GFile,
44953            etag: *const ::std::os::raw::c_char,
44954            make_backup: gboolean,
44955            flags: GFileCreateFlags,
44956            io_priority: ::std::os::raw::c_int,
44957            cancellable: *mut GCancellable,
44958            callback: GAsyncReadyCallback,
44959            user_data: gpointer,
44960        ),
44961    >,
44962    pub replace_finish: ::std::option::Option<
44963        unsafe extern "C" fn(
44964            file: *mut GFile,
44965            res: *mut GAsyncResult,
44966            error: *mut *mut GError,
44967        ) -> *mut GFileOutputStream,
44968    >,
44969    pub delete_file: ::std::option::Option<
44970        unsafe extern "C" fn(
44971            file: *mut GFile,
44972            cancellable: *mut GCancellable,
44973            error: *mut *mut GError,
44974        ) -> gboolean,
44975    >,
44976    pub delete_file_async: ::std::option::Option<
44977        unsafe extern "C" fn(
44978            file: *mut GFile,
44979            io_priority: ::std::os::raw::c_int,
44980            cancellable: *mut GCancellable,
44981            callback: GAsyncReadyCallback,
44982            user_data: gpointer,
44983        ),
44984    >,
44985    pub delete_file_finish: ::std::option::Option<
44986        unsafe extern "C" fn(
44987            file: *mut GFile,
44988            result: *mut GAsyncResult,
44989            error: *mut *mut GError,
44990        ) -> gboolean,
44991    >,
44992    pub trash: ::std::option::Option<
44993        unsafe extern "C" fn(
44994            file: *mut GFile,
44995            cancellable: *mut GCancellable,
44996            error: *mut *mut GError,
44997        ) -> gboolean,
44998    >,
44999    pub trash_async: ::std::option::Option<
45000        unsafe extern "C" fn(
45001            file: *mut GFile,
45002            io_priority: ::std::os::raw::c_int,
45003            cancellable: *mut GCancellable,
45004            callback: GAsyncReadyCallback,
45005            user_data: gpointer,
45006        ),
45007    >,
45008    pub trash_finish: ::std::option::Option<
45009        unsafe extern "C" fn(
45010            file: *mut GFile,
45011            result: *mut GAsyncResult,
45012            error: *mut *mut GError,
45013        ) -> gboolean,
45014    >,
45015    pub make_directory: ::std::option::Option<
45016        unsafe extern "C" fn(
45017            file: *mut GFile,
45018            cancellable: *mut GCancellable,
45019            error: *mut *mut GError,
45020        ) -> gboolean,
45021    >,
45022    pub make_directory_async: ::std::option::Option<
45023        unsafe extern "C" fn(
45024            file: *mut GFile,
45025            io_priority: ::std::os::raw::c_int,
45026            cancellable: *mut GCancellable,
45027            callback: GAsyncReadyCallback,
45028            user_data: gpointer,
45029        ),
45030    >,
45031    pub make_directory_finish: ::std::option::Option<
45032        unsafe extern "C" fn(
45033            file: *mut GFile,
45034            result: *mut GAsyncResult,
45035            error: *mut *mut GError,
45036        ) -> gboolean,
45037    >,
45038    pub make_symbolic_link: ::std::option::Option<
45039        unsafe extern "C" fn(
45040            file: *mut GFile,
45041            symlink_value: *const ::std::os::raw::c_char,
45042            cancellable: *mut GCancellable,
45043            error: *mut *mut GError,
45044        ) -> gboolean,
45045    >,
45046    pub make_symbolic_link_async: ::std::option::Option<
45047        unsafe extern "C" fn(
45048            file: *mut GFile,
45049            symlink_value: *const ::std::os::raw::c_char,
45050            io_priority: ::std::os::raw::c_int,
45051            cancellable: *mut GCancellable,
45052            callback: GAsyncReadyCallback,
45053            user_data: gpointer,
45054        ),
45055    >,
45056    pub make_symbolic_link_finish: ::std::option::Option<
45057        unsafe extern "C" fn(
45058            file: *mut GFile,
45059            result: *mut GAsyncResult,
45060            error: *mut *mut GError,
45061        ) -> gboolean,
45062    >,
45063    pub copy: ::std::option::Option<
45064        unsafe extern "C" fn(
45065            source: *mut GFile,
45066            destination: *mut GFile,
45067            flags: GFileCopyFlags,
45068            cancellable: *mut GCancellable,
45069            progress_callback: GFileProgressCallback,
45070            progress_callback_data: gpointer,
45071            error: *mut *mut GError,
45072        ) -> gboolean,
45073    >,
45074    pub copy_async: ::std::option::Option<
45075        unsafe extern "C" fn(
45076            source: *mut GFile,
45077            destination: *mut GFile,
45078            flags: GFileCopyFlags,
45079            io_priority: ::std::os::raw::c_int,
45080            cancellable: *mut GCancellable,
45081            progress_callback: GFileProgressCallback,
45082            progress_callback_data: gpointer,
45083            callback: GAsyncReadyCallback,
45084            user_data: gpointer,
45085        ),
45086    >,
45087    pub copy_finish: ::std::option::Option<
45088        unsafe extern "C" fn(
45089            file: *mut GFile,
45090            res: *mut GAsyncResult,
45091            error: *mut *mut GError,
45092        ) -> gboolean,
45093    >,
45094    pub move_: ::std::option::Option<
45095        unsafe extern "C" fn(
45096            source: *mut GFile,
45097            destination: *mut GFile,
45098            flags: GFileCopyFlags,
45099            cancellable: *mut GCancellable,
45100            progress_callback: GFileProgressCallback,
45101            progress_callback_data: gpointer,
45102            error: *mut *mut GError,
45103        ) -> gboolean,
45104    >,
45105    pub move_async: ::std::option::Option<
45106        unsafe extern "C" fn(
45107            source: *mut GFile,
45108            destination: *mut GFile,
45109            flags: GFileCopyFlags,
45110            io_priority: ::std::os::raw::c_int,
45111            cancellable: *mut GCancellable,
45112            progress_callback: GFileProgressCallback,
45113            progress_callback_data: gpointer,
45114            callback: GAsyncReadyCallback,
45115            user_data: gpointer,
45116        ),
45117    >,
45118    pub move_finish: ::std::option::Option<
45119        unsafe extern "C" fn(
45120            file: *mut GFile,
45121            result: *mut GAsyncResult,
45122            error: *mut *mut GError,
45123        ) -> gboolean,
45124    >,
45125    pub mount_mountable: ::std::option::Option<
45126        unsafe extern "C" fn(
45127            file: *mut GFile,
45128            flags: GMountMountFlags,
45129            mount_operation: *mut GMountOperation,
45130            cancellable: *mut GCancellable,
45131            callback: GAsyncReadyCallback,
45132            user_data: gpointer,
45133        ),
45134    >,
45135    pub mount_mountable_finish: ::std::option::Option<
45136        unsafe extern "C" fn(
45137            file: *mut GFile,
45138            result: *mut GAsyncResult,
45139            error: *mut *mut GError,
45140        ) -> *mut GFile,
45141    >,
45142    pub unmount_mountable: ::std::option::Option<
45143        unsafe extern "C" fn(
45144            file: *mut GFile,
45145            flags: GMountUnmountFlags,
45146            cancellable: *mut GCancellable,
45147            callback: GAsyncReadyCallback,
45148            user_data: gpointer,
45149        ),
45150    >,
45151    pub unmount_mountable_finish: ::std::option::Option<
45152        unsafe extern "C" fn(
45153            file: *mut GFile,
45154            result: *mut GAsyncResult,
45155            error: *mut *mut GError,
45156        ) -> gboolean,
45157    >,
45158    pub eject_mountable: ::std::option::Option<
45159        unsafe extern "C" fn(
45160            file: *mut GFile,
45161            flags: GMountUnmountFlags,
45162            cancellable: *mut GCancellable,
45163            callback: GAsyncReadyCallback,
45164            user_data: gpointer,
45165        ),
45166    >,
45167    pub eject_mountable_finish: ::std::option::Option<
45168        unsafe extern "C" fn(
45169            file: *mut GFile,
45170            result: *mut GAsyncResult,
45171            error: *mut *mut GError,
45172        ) -> gboolean,
45173    >,
45174    pub mount_enclosing_volume: ::std::option::Option<
45175        unsafe extern "C" fn(
45176            location: *mut GFile,
45177            flags: GMountMountFlags,
45178            mount_operation: *mut GMountOperation,
45179            cancellable: *mut GCancellable,
45180            callback: GAsyncReadyCallback,
45181            user_data: gpointer,
45182        ),
45183    >,
45184    pub mount_enclosing_volume_finish: ::std::option::Option<
45185        unsafe extern "C" fn(
45186            location: *mut GFile,
45187            result: *mut GAsyncResult,
45188            error: *mut *mut GError,
45189        ) -> gboolean,
45190    >,
45191    pub monitor_dir: ::std::option::Option<
45192        unsafe extern "C" fn(
45193            file: *mut GFile,
45194            flags: GFileMonitorFlags,
45195            cancellable: *mut GCancellable,
45196            error: *mut *mut GError,
45197        ) -> *mut GFileMonitor,
45198    >,
45199    pub monitor_file: ::std::option::Option<
45200        unsafe extern "C" fn(
45201            file: *mut GFile,
45202            flags: GFileMonitorFlags,
45203            cancellable: *mut GCancellable,
45204            error: *mut *mut GError,
45205        ) -> *mut GFileMonitor,
45206    >,
45207    pub open_readwrite: ::std::option::Option<
45208        unsafe extern "C" fn(
45209            file: *mut GFile,
45210            cancellable: *mut GCancellable,
45211            error: *mut *mut GError,
45212        ) -> *mut GFileIOStream,
45213    >,
45214    pub open_readwrite_async: ::std::option::Option<
45215        unsafe extern "C" fn(
45216            file: *mut GFile,
45217            io_priority: ::std::os::raw::c_int,
45218            cancellable: *mut GCancellable,
45219            callback: GAsyncReadyCallback,
45220            user_data: gpointer,
45221        ),
45222    >,
45223    pub open_readwrite_finish: ::std::option::Option<
45224        unsafe extern "C" fn(
45225            file: *mut GFile,
45226            res: *mut GAsyncResult,
45227            error: *mut *mut GError,
45228        ) -> *mut GFileIOStream,
45229    >,
45230    pub create_readwrite: ::std::option::Option<
45231        unsafe extern "C" fn(
45232            file: *mut GFile,
45233            flags: GFileCreateFlags,
45234            cancellable: *mut GCancellable,
45235            error: *mut *mut GError,
45236        ) -> *mut GFileIOStream,
45237    >,
45238    pub create_readwrite_async: ::std::option::Option<
45239        unsafe extern "C" fn(
45240            file: *mut GFile,
45241            flags: GFileCreateFlags,
45242            io_priority: ::std::os::raw::c_int,
45243            cancellable: *mut GCancellable,
45244            callback: GAsyncReadyCallback,
45245            user_data: gpointer,
45246        ),
45247    >,
45248    pub create_readwrite_finish: ::std::option::Option<
45249        unsafe extern "C" fn(
45250            file: *mut GFile,
45251            res: *mut GAsyncResult,
45252            error: *mut *mut GError,
45253        ) -> *mut GFileIOStream,
45254    >,
45255    pub replace_readwrite: ::std::option::Option<
45256        unsafe extern "C" fn(
45257            file: *mut GFile,
45258            etag: *const ::std::os::raw::c_char,
45259            make_backup: gboolean,
45260            flags: GFileCreateFlags,
45261            cancellable: *mut GCancellable,
45262            error: *mut *mut GError,
45263        ) -> *mut GFileIOStream,
45264    >,
45265    pub replace_readwrite_async: ::std::option::Option<
45266        unsafe extern "C" fn(
45267            file: *mut GFile,
45268            etag: *const ::std::os::raw::c_char,
45269            make_backup: gboolean,
45270            flags: GFileCreateFlags,
45271            io_priority: ::std::os::raw::c_int,
45272            cancellable: *mut GCancellable,
45273            callback: GAsyncReadyCallback,
45274            user_data: gpointer,
45275        ),
45276    >,
45277    pub replace_readwrite_finish: ::std::option::Option<
45278        unsafe extern "C" fn(
45279            file: *mut GFile,
45280            res: *mut GAsyncResult,
45281            error: *mut *mut GError,
45282        ) -> *mut GFileIOStream,
45283    >,
45284    pub start_mountable: ::std::option::Option<
45285        unsafe extern "C" fn(
45286            file: *mut GFile,
45287            flags: GDriveStartFlags,
45288            start_operation: *mut GMountOperation,
45289            cancellable: *mut GCancellable,
45290            callback: GAsyncReadyCallback,
45291            user_data: gpointer,
45292        ),
45293    >,
45294    pub start_mountable_finish: ::std::option::Option<
45295        unsafe extern "C" fn(
45296            file: *mut GFile,
45297            result: *mut GAsyncResult,
45298            error: *mut *mut GError,
45299        ) -> gboolean,
45300    >,
45301    pub stop_mountable: ::std::option::Option<
45302        unsafe extern "C" fn(
45303            file: *mut GFile,
45304            flags: GMountUnmountFlags,
45305            mount_operation: *mut GMountOperation,
45306            cancellable: *mut GCancellable,
45307            callback: GAsyncReadyCallback,
45308            user_data: gpointer,
45309        ),
45310    >,
45311    pub stop_mountable_finish: ::std::option::Option<
45312        unsafe extern "C" fn(
45313            file: *mut GFile,
45314            result: *mut GAsyncResult,
45315            error: *mut *mut GError,
45316        ) -> gboolean,
45317    >,
45318    pub supports_thread_contexts: gboolean,
45319    pub unmount_mountable_with_operation: ::std::option::Option<
45320        unsafe extern "C" fn(
45321            file: *mut GFile,
45322            flags: GMountUnmountFlags,
45323            mount_operation: *mut GMountOperation,
45324            cancellable: *mut GCancellable,
45325            callback: GAsyncReadyCallback,
45326            user_data: gpointer,
45327        ),
45328    >,
45329    pub unmount_mountable_with_operation_finish: ::std::option::Option<
45330        unsafe extern "C" fn(
45331            file: *mut GFile,
45332            result: *mut GAsyncResult,
45333            error: *mut *mut GError,
45334        ) -> gboolean,
45335    >,
45336    pub eject_mountable_with_operation: ::std::option::Option<
45337        unsafe extern "C" fn(
45338            file: *mut GFile,
45339            flags: GMountUnmountFlags,
45340            mount_operation: *mut GMountOperation,
45341            cancellable: *mut GCancellable,
45342            callback: GAsyncReadyCallback,
45343            user_data: gpointer,
45344        ),
45345    >,
45346    pub eject_mountable_with_operation_finish: ::std::option::Option<
45347        unsafe extern "C" fn(
45348            file: *mut GFile,
45349            result: *mut GAsyncResult,
45350            error: *mut *mut GError,
45351        ) -> gboolean,
45352    >,
45353    pub poll_mountable: ::std::option::Option<
45354        unsafe extern "C" fn(
45355            file: *mut GFile,
45356            cancellable: *mut GCancellable,
45357            callback: GAsyncReadyCallback,
45358            user_data: gpointer,
45359        ),
45360    >,
45361    pub poll_mountable_finish: ::std::option::Option<
45362        unsafe extern "C" fn(
45363            file: *mut GFile,
45364            result: *mut GAsyncResult,
45365            error: *mut *mut GError,
45366        ) -> gboolean,
45367    >,
45368    pub measure_disk_usage: ::std::option::Option<
45369        unsafe extern "C" fn(
45370            file: *mut GFile,
45371            flags: GFileMeasureFlags,
45372            cancellable: *mut GCancellable,
45373            progress_callback: GFileMeasureProgressCallback,
45374            progress_data: gpointer,
45375            disk_usage: *mut guint64,
45376            num_dirs: *mut guint64,
45377            num_files: *mut guint64,
45378            error: *mut *mut GError,
45379        ) -> gboolean,
45380    >,
45381    pub measure_disk_usage_async: ::std::option::Option<
45382        unsafe extern "C" fn(
45383            file: *mut GFile,
45384            flags: GFileMeasureFlags,
45385            io_priority: gint,
45386            cancellable: *mut GCancellable,
45387            progress_callback: GFileMeasureProgressCallback,
45388            progress_data: gpointer,
45389            callback: GAsyncReadyCallback,
45390            user_data: gpointer,
45391        ),
45392    >,
45393    pub measure_disk_usage_finish: ::std::option::Option<
45394        unsafe extern "C" fn(
45395            file: *mut GFile,
45396            result: *mut GAsyncResult,
45397            disk_usage: *mut guint64,
45398            num_dirs: *mut guint64,
45399            num_files: *mut guint64,
45400            error: *mut *mut GError,
45401        ) -> gboolean,
45402    >,
45403}
45404#[test]
45405fn bindgen_test_layout__GFileIface() {
45406    const UNINIT: ::std::mem::MaybeUninit<_GFileIface> = ::std::mem::MaybeUninit::uninit();
45407    let ptr = UNINIT.as_ptr();
45408    assert_eq!(
45409        ::std::mem::size_of::<_GFileIface>(),
45410        840usize,
45411        concat!("Size of: ", stringify!(_GFileIface))
45412    );
45413    assert_eq!(
45414        ::std::mem::align_of::<_GFileIface>(),
45415        8usize,
45416        concat!("Alignment of ", stringify!(_GFileIface))
45417    );
45418    assert_eq!(
45419        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
45420        0usize,
45421        concat!(
45422            "Offset of field: ",
45423            stringify!(_GFileIface),
45424            "::",
45425            stringify!(g_iface)
45426        )
45427    );
45428    assert_eq!(
45429        unsafe { ::std::ptr::addr_of!((*ptr).dup) as usize - ptr as usize },
45430        16usize,
45431        concat!(
45432            "Offset of field: ",
45433            stringify!(_GFileIface),
45434            "::",
45435            stringify!(dup)
45436        )
45437    );
45438    assert_eq!(
45439        unsafe { ::std::ptr::addr_of!((*ptr).hash) as usize - ptr as usize },
45440        24usize,
45441        concat!(
45442            "Offset of field: ",
45443            stringify!(_GFileIface),
45444            "::",
45445            stringify!(hash)
45446        )
45447    );
45448    assert_eq!(
45449        unsafe { ::std::ptr::addr_of!((*ptr).equal) as usize - ptr as usize },
45450        32usize,
45451        concat!(
45452            "Offset of field: ",
45453            stringify!(_GFileIface),
45454            "::",
45455            stringify!(equal)
45456        )
45457    );
45458    assert_eq!(
45459        unsafe { ::std::ptr::addr_of!((*ptr).is_native) as usize - ptr as usize },
45460        40usize,
45461        concat!(
45462            "Offset of field: ",
45463            stringify!(_GFileIface),
45464            "::",
45465            stringify!(is_native)
45466        )
45467    );
45468    assert_eq!(
45469        unsafe { ::std::ptr::addr_of!((*ptr).has_uri_scheme) as usize - ptr as usize },
45470        48usize,
45471        concat!(
45472            "Offset of field: ",
45473            stringify!(_GFileIface),
45474            "::",
45475            stringify!(has_uri_scheme)
45476        )
45477    );
45478    assert_eq!(
45479        unsafe { ::std::ptr::addr_of!((*ptr).get_uri_scheme) as usize - ptr as usize },
45480        56usize,
45481        concat!(
45482            "Offset of field: ",
45483            stringify!(_GFileIface),
45484            "::",
45485            stringify!(get_uri_scheme)
45486        )
45487    );
45488    assert_eq!(
45489        unsafe { ::std::ptr::addr_of!((*ptr).get_basename) as usize - ptr as usize },
45490        64usize,
45491        concat!(
45492            "Offset of field: ",
45493            stringify!(_GFileIface),
45494            "::",
45495            stringify!(get_basename)
45496        )
45497    );
45498    assert_eq!(
45499        unsafe { ::std::ptr::addr_of!((*ptr).get_path) as usize - ptr as usize },
45500        72usize,
45501        concat!(
45502            "Offset of field: ",
45503            stringify!(_GFileIface),
45504            "::",
45505            stringify!(get_path)
45506        )
45507    );
45508    assert_eq!(
45509        unsafe { ::std::ptr::addr_of!((*ptr).get_uri) as usize - ptr as usize },
45510        80usize,
45511        concat!(
45512            "Offset of field: ",
45513            stringify!(_GFileIface),
45514            "::",
45515            stringify!(get_uri)
45516        )
45517    );
45518    assert_eq!(
45519        unsafe { ::std::ptr::addr_of!((*ptr).get_parse_name) as usize - ptr as usize },
45520        88usize,
45521        concat!(
45522            "Offset of field: ",
45523            stringify!(_GFileIface),
45524            "::",
45525            stringify!(get_parse_name)
45526        )
45527    );
45528    assert_eq!(
45529        unsafe { ::std::ptr::addr_of!((*ptr).get_parent) as usize - ptr as usize },
45530        96usize,
45531        concat!(
45532            "Offset of field: ",
45533            stringify!(_GFileIface),
45534            "::",
45535            stringify!(get_parent)
45536        )
45537    );
45538    assert_eq!(
45539        unsafe { ::std::ptr::addr_of!((*ptr).prefix_matches) as usize - ptr as usize },
45540        104usize,
45541        concat!(
45542            "Offset of field: ",
45543            stringify!(_GFileIface),
45544            "::",
45545            stringify!(prefix_matches)
45546        )
45547    );
45548    assert_eq!(
45549        unsafe { ::std::ptr::addr_of!((*ptr).get_relative_path) as usize - ptr as usize },
45550        112usize,
45551        concat!(
45552            "Offset of field: ",
45553            stringify!(_GFileIface),
45554            "::",
45555            stringify!(get_relative_path)
45556        )
45557    );
45558    assert_eq!(
45559        unsafe { ::std::ptr::addr_of!((*ptr).resolve_relative_path) as usize - ptr as usize },
45560        120usize,
45561        concat!(
45562            "Offset of field: ",
45563            stringify!(_GFileIface),
45564            "::",
45565            stringify!(resolve_relative_path)
45566        )
45567    );
45568    assert_eq!(
45569        unsafe { ::std::ptr::addr_of!((*ptr).get_child_for_display_name) as usize - ptr as usize },
45570        128usize,
45571        concat!(
45572            "Offset of field: ",
45573            stringify!(_GFileIface),
45574            "::",
45575            stringify!(get_child_for_display_name)
45576        )
45577    );
45578    assert_eq!(
45579        unsafe { ::std::ptr::addr_of!((*ptr).enumerate_children) as usize - ptr as usize },
45580        136usize,
45581        concat!(
45582            "Offset of field: ",
45583            stringify!(_GFileIface),
45584            "::",
45585            stringify!(enumerate_children)
45586        )
45587    );
45588    assert_eq!(
45589        unsafe { ::std::ptr::addr_of!((*ptr).enumerate_children_async) as usize - ptr as usize },
45590        144usize,
45591        concat!(
45592            "Offset of field: ",
45593            stringify!(_GFileIface),
45594            "::",
45595            stringify!(enumerate_children_async)
45596        )
45597    );
45598    assert_eq!(
45599        unsafe { ::std::ptr::addr_of!((*ptr).enumerate_children_finish) as usize - ptr as usize },
45600        152usize,
45601        concat!(
45602            "Offset of field: ",
45603            stringify!(_GFileIface),
45604            "::",
45605            stringify!(enumerate_children_finish)
45606        )
45607    );
45608    assert_eq!(
45609        unsafe { ::std::ptr::addr_of!((*ptr).query_info) as usize - ptr as usize },
45610        160usize,
45611        concat!(
45612            "Offset of field: ",
45613            stringify!(_GFileIface),
45614            "::",
45615            stringify!(query_info)
45616        )
45617    );
45618    assert_eq!(
45619        unsafe { ::std::ptr::addr_of!((*ptr).query_info_async) as usize - ptr as usize },
45620        168usize,
45621        concat!(
45622            "Offset of field: ",
45623            stringify!(_GFileIface),
45624            "::",
45625            stringify!(query_info_async)
45626        )
45627    );
45628    assert_eq!(
45629        unsafe { ::std::ptr::addr_of!((*ptr).query_info_finish) as usize - ptr as usize },
45630        176usize,
45631        concat!(
45632            "Offset of field: ",
45633            stringify!(_GFileIface),
45634            "::",
45635            stringify!(query_info_finish)
45636        )
45637    );
45638    assert_eq!(
45639        unsafe { ::std::ptr::addr_of!((*ptr).query_filesystem_info) as usize - ptr as usize },
45640        184usize,
45641        concat!(
45642            "Offset of field: ",
45643            stringify!(_GFileIface),
45644            "::",
45645            stringify!(query_filesystem_info)
45646        )
45647    );
45648    assert_eq!(
45649        unsafe { ::std::ptr::addr_of!((*ptr).query_filesystem_info_async) as usize - ptr as usize },
45650        192usize,
45651        concat!(
45652            "Offset of field: ",
45653            stringify!(_GFileIface),
45654            "::",
45655            stringify!(query_filesystem_info_async)
45656        )
45657    );
45658    assert_eq!(
45659        unsafe {
45660            ::std::ptr::addr_of!((*ptr).query_filesystem_info_finish) as usize - ptr as usize
45661        },
45662        200usize,
45663        concat!(
45664            "Offset of field: ",
45665            stringify!(_GFileIface),
45666            "::",
45667            stringify!(query_filesystem_info_finish)
45668        )
45669    );
45670    assert_eq!(
45671        unsafe { ::std::ptr::addr_of!((*ptr).find_enclosing_mount) as usize - ptr as usize },
45672        208usize,
45673        concat!(
45674            "Offset of field: ",
45675            stringify!(_GFileIface),
45676            "::",
45677            stringify!(find_enclosing_mount)
45678        )
45679    );
45680    assert_eq!(
45681        unsafe { ::std::ptr::addr_of!((*ptr).find_enclosing_mount_async) as usize - ptr as usize },
45682        216usize,
45683        concat!(
45684            "Offset of field: ",
45685            stringify!(_GFileIface),
45686            "::",
45687            stringify!(find_enclosing_mount_async)
45688        )
45689    );
45690    assert_eq!(
45691        unsafe { ::std::ptr::addr_of!((*ptr).find_enclosing_mount_finish) as usize - ptr as usize },
45692        224usize,
45693        concat!(
45694            "Offset of field: ",
45695            stringify!(_GFileIface),
45696            "::",
45697            stringify!(find_enclosing_mount_finish)
45698        )
45699    );
45700    assert_eq!(
45701        unsafe { ::std::ptr::addr_of!((*ptr).set_display_name) as usize - ptr as usize },
45702        232usize,
45703        concat!(
45704            "Offset of field: ",
45705            stringify!(_GFileIface),
45706            "::",
45707            stringify!(set_display_name)
45708        )
45709    );
45710    assert_eq!(
45711        unsafe { ::std::ptr::addr_of!((*ptr).set_display_name_async) as usize - ptr as usize },
45712        240usize,
45713        concat!(
45714            "Offset of field: ",
45715            stringify!(_GFileIface),
45716            "::",
45717            stringify!(set_display_name_async)
45718        )
45719    );
45720    assert_eq!(
45721        unsafe { ::std::ptr::addr_of!((*ptr).set_display_name_finish) as usize - ptr as usize },
45722        248usize,
45723        concat!(
45724            "Offset of field: ",
45725            stringify!(_GFileIface),
45726            "::",
45727            stringify!(set_display_name_finish)
45728        )
45729    );
45730    assert_eq!(
45731        unsafe { ::std::ptr::addr_of!((*ptr).query_settable_attributes) as usize - ptr as usize },
45732        256usize,
45733        concat!(
45734            "Offset of field: ",
45735            stringify!(_GFileIface),
45736            "::",
45737            stringify!(query_settable_attributes)
45738        )
45739    );
45740    assert_eq!(
45741        unsafe {
45742            ::std::ptr::addr_of!((*ptr)._query_settable_attributes_async) as usize - ptr as usize
45743        },
45744        264usize,
45745        concat!(
45746            "Offset of field: ",
45747            stringify!(_GFileIface),
45748            "::",
45749            stringify!(_query_settable_attributes_async)
45750        )
45751    );
45752    assert_eq!(
45753        unsafe {
45754            ::std::ptr::addr_of!((*ptr)._query_settable_attributes_finish) as usize - ptr as usize
45755        },
45756        272usize,
45757        concat!(
45758            "Offset of field: ",
45759            stringify!(_GFileIface),
45760            "::",
45761            stringify!(_query_settable_attributes_finish)
45762        )
45763    );
45764    assert_eq!(
45765        unsafe { ::std::ptr::addr_of!((*ptr).query_writable_namespaces) as usize - ptr as usize },
45766        280usize,
45767        concat!(
45768            "Offset of field: ",
45769            stringify!(_GFileIface),
45770            "::",
45771            stringify!(query_writable_namespaces)
45772        )
45773    );
45774    assert_eq!(
45775        unsafe {
45776            ::std::ptr::addr_of!((*ptr)._query_writable_namespaces_async) as usize - ptr as usize
45777        },
45778        288usize,
45779        concat!(
45780            "Offset of field: ",
45781            stringify!(_GFileIface),
45782            "::",
45783            stringify!(_query_writable_namespaces_async)
45784        )
45785    );
45786    assert_eq!(
45787        unsafe {
45788            ::std::ptr::addr_of!((*ptr)._query_writable_namespaces_finish) as usize - ptr as usize
45789        },
45790        296usize,
45791        concat!(
45792            "Offset of field: ",
45793            stringify!(_GFileIface),
45794            "::",
45795            stringify!(_query_writable_namespaces_finish)
45796        )
45797    );
45798    assert_eq!(
45799        unsafe { ::std::ptr::addr_of!((*ptr).set_attribute) as usize - ptr as usize },
45800        304usize,
45801        concat!(
45802            "Offset of field: ",
45803            stringify!(_GFileIface),
45804            "::",
45805            stringify!(set_attribute)
45806        )
45807    );
45808    assert_eq!(
45809        unsafe { ::std::ptr::addr_of!((*ptr).set_attributes_from_info) as usize - ptr as usize },
45810        312usize,
45811        concat!(
45812            "Offset of field: ",
45813            stringify!(_GFileIface),
45814            "::",
45815            stringify!(set_attributes_from_info)
45816        )
45817    );
45818    assert_eq!(
45819        unsafe { ::std::ptr::addr_of!((*ptr).set_attributes_async) as usize - ptr as usize },
45820        320usize,
45821        concat!(
45822            "Offset of field: ",
45823            stringify!(_GFileIface),
45824            "::",
45825            stringify!(set_attributes_async)
45826        )
45827    );
45828    assert_eq!(
45829        unsafe { ::std::ptr::addr_of!((*ptr).set_attributes_finish) as usize - ptr as usize },
45830        328usize,
45831        concat!(
45832            "Offset of field: ",
45833            stringify!(_GFileIface),
45834            "::",
45835            stringify!(set_attributes_finish)
45836        )
45837    );
45838    assert_eq!(
45839        unsafe { ::std::ptr::addr_of!((*ptr).read_fn) as usize - ptr as usize },
45840        336usize,
45841        concat!(
45842            "Offset of field: ",
45843            stringify!(_GFileIface),
45844            "::",
45845            stringify!(read_fn)
45846        )
45847    );
45848    assert_eq!(
45849        unsafe { ::std::ptr::addr_of!((*ptr).read_async) as usize - ptr as usize },
45850        344usize,
45851        concat!(
45852            "Offset of field: ",
45853            stringify!(_GFileIface),
45854            "::",
45855            stringify!(read_async)
45856        )
45857    );
45858    assert_eq!(
45859        unsafe { ::std::ptr::addr_of!((*ptr).read_finish) as usize - ptr as usize },
45860        352usize,
45861        concat!(
45862            "Offset of field: ",
45863            stringify!(_GFileIface),
45864            "::",
45865            stringify!(read_finish)
45866        )
45867    );
45868    assert_eq!(
45869        unsafe { ::std::ptr::addr_of!((*ptr).append_to) as usize - ptr as usize },
45870        360usize,
45871        concat!(
45872            "Offset of field: ",
45873            stringify!(_GFileIface),
45874            "::",
45875            stringify!(append_to)
45876        )
45877    );
45878    assert_eq!(
45879        unsafe { ::std::ptr::addr_of!((*ptr).append_to_async) as usize - ptr as usize },
45880        368usize,
45881        concat!(
45882            "Offset of field: ",
45883            stringify!(_GFileIface),
45884            "::",
45885            stringify!(append_to_async)
45886        )
45887    );
45888    assert_eq!(
45889        unsafe { ::std::ptr::addr_of!((*ptr).append_to_finish) as usize - ptr as usize },
45890        376usize,
45891        concat!(
45892            "Offset of field: ",
45893            stringify!(_GFileIface),
45894            "::",
45895            stringify!(append_to_finish)
45896        )
45897    );
45898    assert_eq!(
45899        unsafe { ::std::ptr::addr_of!((*ptr).create) as usize - ptr as usize },
45900        384usize,
45901        concat!(
45902            "Offset of field: ",
45903            stringify!(_GFileIface),
45904            "::",
45905            stringify!(create)
45906        )
45907    );
45908    assert_eq!(
45909        unsafe { ::std::ptr::addr_of!((*ptr).create_async) as usize - ptr as usize },
45910        392usize,
45911        concat!(
45912            "Offset of field: ",
45913            stringify!(_GFileIface),
45914            "::",
45915            stringify!(create_async)
45916        )
45917    );
45918    assert_eq!(
45919        unsafe { ::std::ptr::addr_of!((*ptr).create_finish) as usize - ptr as usize },
45920        400usize,
45921        concat!(
45922            "Offset of field: ",
45923            stringify!(_GFileIface),
45924            "::",
45925            stringify!(create_finish)
45926        )
45927    );
45928    assert_eq!(
45929        unsafe { ::std::ptr::addr_of!((*ptr).replace) as usize - ptr as usize },
45930        408usize,
45931        concat!(
45932            "Offset of field: ",
45933            stringify!(_GFileIface),
45934            "::",
45935            stringify!(replace)
45936        )
45937    );
45938    assert_eq!(
45939        unsafe { ::std::ptr::addr_of!((*ptr).replace_async) as usize - ptr as usize },
45940        416usize,
45941        concat!(
45942            "Offset of field: ",
45943            stringify!(_GFileIface),
45944            "::",
45945            stringify!(replace_async)
45946        )
45947    );
45948    assert_eq!(
45949        unsafe { ::std::ptr::addr_of!((*ptr).replace_finish) as usize - ptr as usize },
45950        424usize,
45951        concat!(
45952            "Offset of field: ",
45953            stringify!(_GFileIface),
45954            "::",
45955            stringify!(replace_finish)
45956        )
45957    );
45958    assert_eq!(
45959        unsafe { ::std::ptr::addr_of!((*ptr).delete_file) as usize - ptr as usize },
45960        432usize,
45961        concat!(
45962            "Offset of field: ",
45963            stringify!(_GFileIface),
45964            "::",
45965            stringify!(delete_file)
45966        )
45967    );
45968    assert_eq!(
45969        unsafe { ::std::ptr::addr_of!((*ptr).delete_file_async) as usize - ptr as usize },
45970        440usize,
45971        concat!(
45972            "Offset of field: ",
45973            stringify!(_GFileIface),
45974            "::",
45975            stringify!(delete_file_async)
45976        )
45977    );
45978    assert_eq!(
45979        unsafe { ::std::ptr::addr_of!((*ptr).delete_file_finish) as usize - ptr as usize },
45980        448usize,
45981        concat!(
45982            "Offset of field: ",
45983            stringify!(_GFileIface),
45984            "::",
45985            stringify!(delete_file_finish)
45986        )
45987    );
45988    assert_eq!(
45989        unsafe { ::std::ptr::addr_of!((*ptr).trash) as usize - ptr as usize },
45990        456usize,
45991        concat!(
45992            "Offset of field: ",
45993            stringify!(_GFileIface),
45994            "::",
45995            stringify!(trash)
45996        )
45997    );
45998    assert_eq!(
45999        unsafe { ::std::ptr::addr_of!((*ptr).trash_async) as usize - ptr as usize },
46000        464usize,
46001        concat!(
46002            "Offset of field: ",
46003            stringify!(_GFileIface),
46004            "::",
46005            stringify!(trash_async)
46006        )
46007    );
46008    assert_eq!(
46009        unsafe { ::std::ptr::addr_of!((*ptr).trash_finish) as usize - ptr as usize },
46010        472usize,
46011        concat!(
46012            "Offset of field: ",
46013            stringify!(_GFileIface),
46014            "::",
46015            stringify!(trash_finish)
46016        )
46017    );
46018    assert_eq!(
46019        unsafe { ::std::ptr::addr_of!((*ptr).make_directory) as usize - ptr as usize },
46020        480usize,
46021        concat!(
46022            "Offset of field: ",
46023            stringify!(_GFileIface),
46024            "::",
46025            stringify!(make_directory)
46026        )
46027    );
46028    assert_eq!(
46029        unsafe { ::std::ptr::addr_of!((*ptr).make_directory_async) as usize - ptr as usize },
46030        488usize,
46031        concat!(
46032            "Offset of field: ",
46033            stringify!(_GFileIface),
46034            "::",
46035            stringify!(make_directory_async)
46036        )
46037    );
46038    assert_eq!(
46039        unsafe { ::std::ptr::addr_of!((*ptr).make_directory_finish) as usize - ptr as usize },
46040        496usize,
46041        concat!(
46042            "Offset of field: ",
46043            stringify!(_GFileIface),
46044            "::",
46045            stringify!(make_directory_finish)
46046        )
46047    );
46048    assert_eq!(
46049        unsafe { ::std::ptr::addr_of!((*ptr).make_symbolic_link) as usize - ptr as usize },
46050        504usize,
46051        concat!(
46052            "Offset of field: ",
46053            stringify!(_GFileIface),
46054            "::",
46055            stringify!(make_symbolic_link)
46056        )
46057    );
46058    assert_eq!(
46059        unsafe { ::std::ptr::addr_of!((*ptr).make_symbolic_link_async) as usize - ptr as usize },
46060        512usize,
46061        concat!(
46062            "Offset of field: ",
46063            stringify!(_GFileIface),
46064            "::",
46065            stringify!(make_symbolic_link_async)
46066        )
46067    );
46068    assert_eq!(
46069        unsafe { ::std::ptr::addr_of!((*ptr).make_symbolic_link_finish) as usize - ptr as usize },
46070        520usize,
46071        concat!(
46072            "Offset of field: ",
46073            stringify!(_GFileIface),
46074            "::",
46075            stringify!(make_symbolic_link_finish)
46076        )
46077    );
46078    assert_eq!(
46079        unsafe { ::std::ptr::addr_of!((*ptr).copy) as usize - ptr as usize },
46080        528usize,
46081        concat!(
46082            "Offset of field: ",
46083            stringify!(_GFileIface),
46084            "::",
46085            stringify!(copy)
46086        )
46087    );
46088    assert_eq!(
46089        unsafe { ::std::ptr::addr_of!((*ptr).copy_async) as usize - ptr as usize },
46090        536usize,
46091        concat!(
46092            "Offset of field: ",
46093            stringify!(_GFileIface),
46094            "::",
46095            stringify!(copy_async)
46096        )
46097    );
46098    assert_eq!(
46099        unsafe { ::std::ptr::addr_of!((*ptr).copy_finish) as usize - ptr as usize },
46100        544usize,
46101        concat!(
46102            "Offset of field: ",
46103            stringify!(_GFileIface),
46104            "::",
46105            stringify!(copy_finish)
46106        )
46107    );
46108    assert_eq!(
46109        unsafe { ::std::ptr::addr_of!((*ptr).move_) as usize - ptr as usize },
46110        552usize,
46111        concat!(
46112            "Offset of field: ",
46113            stringify!(_GFileIface),
46114            "::",
46115            stringify!(move_)
46116        )
46117    );
46118    assert_eq!(
46119        unsafe { ::std::ptr::addr_of!((*ptr).move_async) as usize - ptr as usize },
46120        560usize,
46121        concat!(
46122            "Offset of field: ",
46123            stringify!(_GFileIface),
46124            "::",
46125            stringify!(move_async)
46126        )
46127    );
46128    assert_eq!(
46129        unsafe { ::std::ptr::addr_of!((*ptr).move_finish) as usize - ptr as usize },
46130        568usize,
46131        concat!(
46132            "Offset of field: ",
46133            stringify!(_GFileIface),
46134            "::",
46135            stringify!(move_finish)
46136        )
46137    );
46138    assert_eq!(
46139        unsafe { ::std::ptr::addr_of!((*ptr).mount_mountable) as usize - ptr as usize },
46140        576usize,
46141        concat!(
46142            "Offset of field: ",
46143            stringify!(_GFileIface),
46144            "::",
46145            stringify!(mount_mountable)
46146        )
46147    );
46148    assert_eq!(
46149        unsafe { ::std::ptr::addr_of!((*ptr).mount_mountable_finish) as usize - ptr as usize },
46150        584usize,
46151        concat!(
46152            "Offset of field: ",
46153            stringify!(_GFileIface),
46154            "::",
46155            stringify!(mount_mountable_finish)
46156        )
46157    );
46158    assert_eq!(
46159        unsafe { ::std::ptr::addr_of!((*ptr).unmount_mountable) as usize - ptr as usize },
46160        592usize,
46161        concat!(
46162            "Offset of field: ",
46163            stringify!(_GFileIface),
46164            "::",
46165            stringify!(unmount_mountable)
46166        )
46167    );
46168    assert_eq!(
46169        unsafe { ::std::ptr::addr_of!((*ptr).unmount_mountable_finish) as usize - ptr as usize },
46170        600usize,
46171        concat!(
46172            "Offset of field: ",
46173            stringify!(_GFileIface),
46174            "::",
46175            stringify!(unmount_mountable_finish)
46176        )
46177    );
46178    assert_eq!(
46179        unsafe { ::std::ptr::addr_of!((*ptr).eject_mountable) as usize - ptr as usize },
46180        608usize,
46181        concat!(
46182            "Offset of field: ",
46183            stringify!(_GFileIface),
46184            "::",
46185            stringify!(eject_mountable)
46186        )
46187    );
46188    assert_eq!(
46189        unsafe { ::std::ptr::addr_of!((*ptr).eject_mountable_finish) as usize - ptr as usize },
46190        616usize,
46191        concat!(
46192            "Offset of field: ",
46193            stringify!(_GFileIface),
46194            "::",
46195            stringify!(eject_mountable_finish)
46196        )
46197    );
46198    assert_eq!(
46199        unsafe { ::std::ptr::addr_of!((*ptr).mount_enclosing_volume) as usize - ptr as usize },
46200        624usize,
46201        concat!(
46202            "Offset of field: ",
46203            stringify!(_GFileIface),
46204            "::",
46205            stringify!(mount_enclosing_volume)
46206        )
46207    );
46208    assert_eq!(
46209        unsafe {
46210            ::std::ptr::addr_of!((*ptr).mount_enclosing_volume_finish) as usize - ptr as usize
46211        },
46212        632usize,
46213        concat!(
46214            "Offset of field: ",
46215            stringify!(_GFileIface),
46216            "::",
46217            stringify!(mount_enclosing_volume_finish)
46218        )
46219    );
46220    assert_eq!(
46221        unsafe { ::std::ptr::addr_of!((*ptr).monitor_dir) as usize - ptr as usize },
46222        640usize,
46223        concat!(
46224            "Offset of field: ",
46225            stringify!(_GFileIface),
46226            "::",
46227            stringify!(monitor_dir)
46228        )
46229    );
46230    assert_eq!(
46231        unsafe { ::std::ptr::addr_of!((*ptr).monitor_file) as usize - ptr as usize },
46232        648usize,
46233        concat!(
46234            "Offset of field: ",
46235            stringify!(_GFileIface),
46236            "::",
46237            stringify!(monitor_file)
46238        )
46239    );
46240    assert_eq!(
46241        unsafe { ::std::ptr::addr_of!((*ptr).open_readwrite) as usize - ptr as usize },
46242        656usize,
46243        concat!(
46244            "Offset of field: ",
46245            stringify!(_GFileIface),
46246            "::",
46247            stringify!(open_readwrite)
46248        )
46249    );
46250    assert_eq!(
46251        unsafe { ::std::ptr::addr_of!((*ptr).open_readwrite_async) as usize - ptr as usize },
46252        664usize,
46253        concat!(
46254            "Offset of field: ",
46255            stringify!(_GFileIface),
46256            "::",
46257            stringify!(open_readwrite_async)
46258        )
46259    );
46260    assert_eq!(
46261        unsafe { ::std::ptr::addr_of!((*ptr).open_readwrite_finish) as usize - ptr as usize },
46262        672usize,
46263        concat!(
46264            "Offset of field: ",
46265            stringify!(_GFileIface),
46266            "::",
46267            stringify!(open_readwrite_finish)
46268        )
46269    );
46270    assert_eq!(
46271        unsafe { ::std::ptr::addr_of!((*ptr).create_readwrite) as usize - ptr as usize },
46272        680usize,
46273        concat!(
46274            "Offset of field: ",
46275            stringify!(_GFileIface),
46276            "::",
46277            stringify!(create_readwrite)
46278        )
46279    );
46280    assert_eq!(
46281        unsafe { ::std::ptr::addr_of!((*ptr).create_readwrite_async) as usize - ptr as usize },
46282        688usize,
46283        concat!(
46284            "Offset of field: ",
46285            stringify!(_GFileIface),
46286            "::",
46287            stringify!(create_readwrite_async)
46288        )
46289    );
46290    assert_eq!(
46291        unsafe { ::std::ptr::addr_of!((*ptr).create_readwrite_finish) as usize - ptr as usize },
46292        696usize,
46293        concat!(
46294            "Offset of field: ",
46295            stringify!(_GFileIface),
46296            "::",
46297            stringify!(create_readwrite_finish)
46298        )
46299    );
46300    assert_eq!(
46301        unsafe { ::std::ptr::addr_of!((*ptr).replace_readwrite) as usize - ptr as usize },
46302        704usize,
46303        concat!(
46304            "Offset of field: ",
46305            stringify!(_GFileIface),
46306            "::",
46307            stringify!(replace_readwrite)
46308        )
46309    );
46310    assert_eq!(
46311        unsafe { ::std::ptr::addr_of!((*ptr).replace_readwrite_async) as usize - ptr as usize },
46312        712usize,
46313        concat!(
46314            "Offset of field: ",
46315            stringify!(_GFileIface),
46316            "::",
46317            stringify!(replace_readwrite_async)
46318        )
46319    );
46320    assert_eq!(
46321        unsafe { ::std::ptr::addr_of!((*ptr).replace_readwrite_finish) as usize - ptr as usize },
46322        720usize,
46323        concat!(
46324            "Offset of field: ",
46325            stringify!(_GFileIface),
46326            "::",
46327            stringify!(replace_readwrite_finish)
46328        )
46329    );
46330    assert_eq!(
46331        unsafe { ::std::ptr::addr_of!((*ptr).start_mountable) as usize - ptr as usize },
46332        728usize,
46333        concat!(
46334            "Offset of field: ",
46335            stringify!(_GFileIface),
46336            "::",
46337            stringify!(start_mountable)
46338        )
46339    );
46340    assert_eq!(
46341        unsafe { ::std::ptr::addr_of!((*ptr).start_mountable_finish) as usize - ptr as usize },
46342        736usize,
46343        concat!(
46344            "Offset of field: ",
46345            stringify!(_GFileIface),
46346            "::",
46347            stringify!(start_mountable_finish)
46348        )
46349    );
46350    assert_eq!(
46351        unsafe { ::std::ptr::addr_of!((*ptr).stop_mountable) as usize - ptr as usize },
46352        744usize,
46353        concat!(
46354            "Offset of field: ",
46355            stringify!(_GFileIface),
46356            "::",
46357            stringify!(stop_mountable)
46358        )
46359    );
46360    assert_eq!(
46361        unsafe { ::std::ptr::addr_of!((*ptr).stop_mountable_finish) as usize - ptr as usize },
46362        752usize,
46363        concat!(
46364            "Offset of field: ",
46365            stringify!(_GFileIface),
46366            "::",
46367            stringify!(stop_mountable_finish)
46368        )
46369    );
46370    assert_eq!(
46371        unsafe { ::std::ptr::addr_of!((*ptr).supports_thread_contexts) as usize - ptr as usize },
46372        760usize,
46373        concat!(
46374            "Offset of field: ",
46375            stringify!(_GFileIface),
46376            "::",
46377            stringify!(supports_thread_contexts)
46378        )
46379    );
46380    assert_eq!(
46381        unsafe {
46382            ::std::ptr::addr_of!((*ptr).unmount_mountable_with_operation) as usize - ptr as usize
46383        },
46384        768usize,
46385        concat!(
46386            "Offset of field: ",
46387            stringify!(_GFileIface),
46388            "::",
46389            stringify!(unmount_mountable_with_operation)
46390        )
46391    );
46392    assert_eq!(
46393        unsafe {
46394            ::std::ptr::addr_of!((*ptr).unmount_mountable_with_operation_finish) as usize
46395                - ptr as usize
46396        },
46397        776usize,
46398        concat!(
46399            "Offset of field: ",
46400            stringify!(_GFileIface),
46401            "::",
46402            stringify!(unmount_mountable_with_operation_finish)
46403        )
46404    );
46405    assert_eq!(
46406        unsafe {
46407            ::std::ptr::addr_of!((*ptr).eject_mountable_with_operation) as usize - ptr as usize
46408        },
46409        784usize,
46410        concat!(
46411            "Offset of field: ",
46412            stringify!(_GFileIface),
46413            "::",
46414            stringify!(eject_mountable_with_operation)
46415        )
46416    );
46417    assert_eq!(
46418        unsafe {
46419            ::std::ptr::addr_of!((*ptr).eject_mountable_with_operation_finish) as usize
46420                - ptr as usize
46421        },
46422        792usize,
46423        concat!(
46424            "Offset of field: ",
46425            stringify!(_GFileIface),
46426            "::",
46427            stringify!(eject_mountable_with_operation_finish)
46428        )
46429    );
46430    assert_eq!(
46431        unsafe { ::std::ptr::addr_of!((*ptr).poll_mountable) as usize - ptr as usize },
46432        800usize,
46433        concat!(
46434            "Offset of field: ",
46435            stringify!(_GFileIface),
46436            "::",
46437            stringify!(poll_mountable)
46438        )
46439    );
46440    assert_eq!(
46441        unsafe { ::std::ptr::addr_of!((*ptr).poll_mountable_finish) as usize - ptr as usize },
46442        808usize,
46443        concat!(
46444            "Offset of field: ",
46445            stringify!(_GFileIface),
46446            "::",
46447            stringify!(poll_mountable_finish)
46448        )
46449    );
46450    assert_eq!(
46451        unsafe { ::std::ptr::addr_of!((*ptr).measure_disk_usage) as usize - ptr as usize },
46452        816usize,
46453        concat!(
46454            "Offset of field: ",
46455            stringify!(_GFileIface),
46456            "::",
46457            stringify!(measure_disk_usage)
46458        )
46459    );
46460    assert_eq!(
46461        unsafe { ::std::ptr::addr_of!((*ptr).measure_disk_usage_async) as usize - ptr as usize },
46462        824usize,
46463        concat!(
46464            "Offset of field: ",
46465            stringify!(_GFileIface),
46466            "::",
46467            stringify!(measure_disk_usage_async)
46468        )
46469    );
46470    assert_eq!(
46471        unsafe { ::std::ptr::addr_of!((*ptr).measure_disk_usage_finish) as usize - ptr as usize },
46472        832usize,
46473        concat!(
46474            "Offset of field: ",
46475            stringify!(_GFileIface),
46476            "::",
46477            stringify!(measure_disk_usage_finish)
46478        )
46479    );
46480}
46481extern "C" {
46482    pub fn g_file_get_type() -> GType;
46483}
46484extern "C" {
46485    pub fn g_file_new_for_path(path: *const ::std::os::raw::c_char) -> *mut GFile;
46486}
46487extern "C" {
46488    pub fn g_file_new_for_uri(uri: *const ::std::os::raw::c_char) -> *mut GFile;
46489}
46490extern "C" {
46491    pub fn g_file_new_for_commandline_arg(arg: *const ::std::os::raw::c_char) -> *mut GFile;
46492}
46493extern "C" {
46494    pub fn g_file_new_for_commandline_arg_and_cwd(
46495        arg: *const gchar,
46496        cwd: *const gchar,
46497    ) -> *mut GFile;
46498}
46499extern "C" {
46500    pub fn g_file_new_tmp(
46501        tmpl: *const ::std::os::raw::c_char,
46502        iostream: *mut *mut GFileIOStream,
46503        error: *mut *mut GError,
46504    ) -> *mut GFile;
46505}
46506extern "C" {
46507    pub fn g_file_new_tmp_async(
46508        tmpl: *const ::std::os::raw::c_char,
46509        io_priority: ::std::os::raw::c_int,
46510        cancellable: *mut GCancellable,
46511        callback: GAsyncReadyCallback,
46512        user_data: gpointer,
46513    );
46514}
46515extern "C" {
46516    pub fn g_file_new_tmp_finish(
46517        result: *mut GAsyncResult,
46518        iostream: *mut *mut GFileIOStream,
46519        error: *mut *mut GError,
46520    ) -> *mut GFile;
46521}
46522extern "C" {
46523    pub fn g_file_new_tmp_dir_async(
46524        tmpl: *const ::std::os::raw::c_char,
46525        io_priority: ::std::os::raw::c_int,
46526        cancellable: *mut GCancellable,
46527        callback: GAsyncReadyCallback,
46528        user_data: gpointer,
46529    );
46530}
46531extern "C" {
46532    pub fn g_file_new_tmp_dir_finish(
46533        result: *mut GAsyncResult,
46534        error: *mut *mut GError,
46535    ) -> *mut GFile;
46536}
46537extern "C" {
46538    pub fn g_file_parse_name(parse_name: *const ::std::os::raw::c_char) -> *mut GFile;
46539}
46540extern "C" {
46541    pub fn g_file_new_build_filename(first_element: *const gchar, ...) -> *mut GFile;
46542}
46543extern "C" {
46544    pub fn g_file_new_build_filenamev(args: *const *const gchar) -> *mut GFile;
46545}
46546extern "C" {
46547    pub fn g_file_dup(file: *mut GFile) -> *mut GFile;
46548}
46549extern "C" {
46550    pub fn g_file_hash(file: gconstpointer) -> guint;
46551}
46552extern "C" {
46553    pub fn g_file_equal(file1: *mut GFile, file2: *mut GFile) -> gboolean;
46554}
46555extern "C" {
46556    pub fn g_file_get_basename(file: *mut GFile) -> *mut ::std::os::raw::c_char;
46557}
46558extern "C" {
46559    pub fn g_file_get_path(file: *mut GFile) -> *mut ::std::os::raw::c_char;
46560}
46561extern "C" {
46562    pub fn g_file_peek_path(file: *mut GFile) -> *const ::std::os::raw::c_char;
46563}
46564extern "C" {
46565    pub fn g_file_get_uri(file: *mut GFile) -> *mut ::std::os::raw::c_char;
46566}
46567extern "C" {
46568    pub fn g_file_get_parse_name(file: *mut GFile) -> *mut ::std::os::raw::c_char;
46569}
46570extern "C" {
46571    pub fn g_file_get_parent(file: *mut GFile) -> *mut GFile;
46572}
46573extern "C" {
46574    pub fn g_file_has_parent(file: *mut GFile, parent: *mut GFile) -> gboolean;
46575}
46576extern "C" {
46577    pub fn g_file_get_child(file: *mut GFile, name: *const ::std::os::raw::c_char) -> *mut GFile;
46578}
46579extern "C" {
46580    pub fn g_file_get_child_for_display_name(
46581        file: *mut GFile,
46582        display_name: *const ::std::os::raw::c_char,
46583        error: *mut *mut GError,
46584    ) -> *mut GFile;
46585}
46586extern "C" {
46587    pub fn g_file_has_prefix(file: *mut GFile, prefix: *mut GFile) -> gboolean;
46588}
46589extern "C" {
46590    pub fn g_file_get_relative_path(
46591        parent: *mut GFile,
46592        descendant: *mut GFile,
46593    ) -> *mut ::std::os::raw::c_char;
46594}
46595extern "C" {
46596    pub fn g_file_resolve_relative_path(
46597        file: *mut GFile,
46598        relative_path: *const ::std::os::raw::c_char,
46599    ) -> *mut GFile;
46600}
46601extern "C" {
46602    pub fn g_file_is_native(file: *mut GFile) -> gboolean;
46603}
46604extern "C" {
46605    pub fn g_file_has_uri_scheme(
46606        file: *mut GFile,
46607        uri_scheme: *const ::std::os::raw::c_char,
46608    ) -> gboolean;
46609}
46610extern "C" {
46611    pub fn g_file_get_uri_scheme(file: *mut GFile) -> *mut ::std::os::raw::c_char;
46612}
46613extern "C" {
46614    pub fn g_file_read(
46615        file: *mut GFile,
46616        cancellable: *mut GCancellable,
46617        error: *mut *mut GError,
46618    ) -> *mut GFileInputStream;
46619}
46620extern "C" {
46621    pub fn g_file_read_async(
46622        file: *mut GFile,
46623        io_priority: ::std::os::raw::c_int,
46624        cancellable: *mut GCancellable,
46625        callback: GAsyncReadyCallback,
46626        user_data: gpointer,
46627    );
46628}
46629extern "C" {
46630    pub fn g_file_read_finish(
46631        file: *mut GFile,
46632        res: *mut GAsyncResult,
46633        error: *mut *mut GError,
46634    ) -> *mut GFileInputStream;
46635}
46636extern "C" {
46637    pub fn g_file_append_to(
46638        file: *mut GFile,
46639        flags: GFileCreateFlags,
46640        cancellable: *mut GCancellable,
46641        error: *mut *mut GError,
46642    ) -> *mut GFileOutputStream;
46643}
46644extern "C" {
46645    pub fn g_file_create(
46646        file: *mut GFile,
46647        flags: GFileCreateFlags,
46648        cancellable: *mut GCancellable,
46649        error: *mut *mut GError,
46650    ) -> *mut GFileOutputStream;
46651}
46652extern "C" {
46653    pub fn g_file_replace(
46654        file: *mut GFile,
46655        etag: *const ::std::os::raw::c_char,
46656        make_backup: gboolean,
46657        flags: GFileCreateFlags,
46658        cancellable: *mut GCancellable,
46659        error: *mut *mut GError,
46660    ) -> *mut GFileOutputStream;
46661}
46662extern "C" {
46663    pub fn g_file_append_to_async(
46664        file: *mut GFile,
46665        flags: GFileCreateFlags,
46666        io_priority: ::std::os::raw::c_int,
46667        cancellable: *mut GCancellable,
46668        callback: GAsyncReadyCallback,
46669        user_data: gpointer,
46670    );
46671}
46672extern "C" {
46673    pub fn g_file_append_to_finish(
46674        file: *mut GFile,
46675        res: *mut GAsyncResult,
46676        error: *mut *mut GError,
46677    ) -> *mut GFileOutputStream;
46678}
46679extern "C" {
46680    pub fn g_file_create_async(
46681        file: *mut GFile,
46682        flags: GFileCreateFlags,
46683        io_priority: ::std::os::raw::c_int,
46684        cancellable: *mut GCancellable,
46685        callback: GAsyncReadyCallback,
46686        user_data: gpointer,
46687    );
46688}
46689extern "C" {
46690    pub fn g_file_create_finish(
46691        file: *mut GFile,
46692        res: *mut GAsyncResult,
46693        error: *mut *mut GError,
46694    ) -> *mut GFileOutputStream;
46695}
46696extern "C" {
46697    pub fn g_file_replace_async(
46698        file: *mut GFile,
46699        etag: *const ::std::os::raw::c_char,
46700        make_backup: gboolean,
46701        flags: GFileCreateFlags,
46702        io_priority: ::std::os::raw::c_int,
46703        cancellable: *mut GCancellable,
46704        callback: GAsyncReadyCallback,
46705        user_data: gpointer,
46706    );
46707}
46708extern "C" {
46709    pub fn g_file_replace_finish(
46710        file: *mut GFile,
46711        res: *mut GAsyncResult,
46712        error: *mut *mut GError,
46713    ) -> *mut GFileOutputStream;
46714}
46715extern "C" {
46716    pub fn g_file_open_readwrite(
46717        file: *mut GFile,
46718        cancellable: *mut GCancellable,
46719        error: *mut *mut GError,
46720    ) -> *mut GFileIOStream;
46721}
46722extern "C" {
46723    pub fn g_file_open_readwrite_async(
46724        file: *mut GFile,
46725        io_priority: ::std::os::raw::c_int,
46726        cancellable: *mut GCancellable,
46727        callback: GAsyncReadyCallback,
46728        user_data: gpointer,
46729    );
46730}
46731extern "C" {
46732    pub fn g_file_open_readwrite_finish(
46733        file: *mut GFile,
46734        res: *mut GAsyncResult,
46735        error: *mut *mut GError,
46736    ) -> *mut GFileIOStream;
46737}
46738extern "C" {
46739    pub fn g_file_create_readwrite(
46740        file: *mut GFile,
46741        flags: GFileCreateFlags,
46742        cancellable: *mut GCancellable,
46743        error: *mut *mut GError,
46744    ) -> *mut GFileIOStream;
46745}
46746extern "C" {
46747    pub fn g_file_create_readwrite_async(
46748        file: *mut GFile,
46749        flags: GFileCreateFlags,
46750        io_priority: ::std::os::raw::c_int,
46751        cancellable: *mut GCancellable,
46752        callback: GAsyncReadyCallback,
46753        user_data: gpointer,
46754    );
46755}
46756extern "C" {
46757    pub fn g_file_create_readwrite_finish(
46758        file: *mut GFile,
46759        res: *mut GAsyncResult,
46760        error: *mut *mut GError,
46761    ) -> *mut GFileIOStream;
46762}
46763extern "C" {
46764    pub fn g_file_replace_readwrite(
46765        file: *mut GFile,
46766        etag: *const ::std::os::raw::c_char,
46767        make_backup: gboolean,
46768        flags: GFileCreateFlags,
46769        cancellable: *mut GCancellable,
46770        error: *mut *mut GError,
46771    ) -> *mut GFileIOStream;
46772}
46773extern "C" {
46774    pub fn g_file_replace_readwrite_async(
46775        file: *mut GFile,
46776        etag: *const ::std::os::raw::c_char,
46777        make_backup: gboolean,
46778        flags: GFileCreateFlags,
46779        io_priority: ::std::os::raw::c_int,
46780        cancellable: *mut GCancellable,
46781        callback: GAsyncReadyCallback,
46782        user_data: gpointer,
46783    );
46784}
46785extern "C" {
46786    pub fn g_file_replace_readwrite_finish(
46787        file: *mut GFile,
46788        res: *mut GAsyncResult,
46789        error: *mut *mut GError,
46790    ) -> *mut GFileIOStream;
46791}
46792extern "C" {
46793    pub fn g_file_query_exists(file: *mut GFile, cancellable: *mut GCancellable) -> gboolean;
46794}
46795extern "C" {
46796    pub fn g_file_query_file_type(
46797        file: *mut GFile,
46798        flags: GFileQueryInfoFlags,
46799        cancellable: *mut GCancellable,
46800    ) -> GFileType;
46801}
46802extern "C" {
46803    pub fn g_file_query_info(
46804        file: *mut GFile,
46805        attributes: *const ::std::os::raw::c_char,
46806        flags: GFileQueryInfoFlags,
46807        cancellable: *mut GCancellable,
46808        error: *mut *mut GError,
46809    ) -> *mut GFileInfo;
46810}
46811extern "C" {
46812    pub fn g_file_query_info_async(
46813        file: *mut GFile,
46814        attributes: *const ::std::os::raw::c_char,
46815        flags: GFileQueryInfoFlags,
46816        io_priority: ::std::os::raw::c_int,
46817        cancellable: *mut GCancellable,
46818        callback: GAsyncReadyCallback,
46819        user_data: gpointer,
46820    );
46821}
46822extern "C" {
46823    pub fn g_file_query_info_finish(
46824        file: *mut GFile,
46825        res: *mut GAsyncResult,
46826        error: *mut *mut GError,
46827    ) -> *mut GFileInfo;
46828}
46829extern "C" {
46830    pub fn g_file_query_filesystem_info(
46831        file: *mut GFile,
46832        attributes: *const ::std::os::raw::c_char,
46833        cancellable: *mut GCancellable,
46834        error: *mut *mut GError,
46835    ) -> *mut GFileInfo;
46836}
46837extern "C" {
46838    pub fn g_file_query_filesystem_info_async(
46839        file: *mut GFile,
46840        attributes: *const ::std::os::raw::c_char,
46841        io_priority: ::std::os::raw::c_int,
46842        cancellable: *mut GCancellable,
46843        callback: GAsyncReadyCallback,
46844        user_data: gpointer,
46845    );
46846}
46847extern "C" {
46848    pub fn g_file_query_filesystem_info_finish(
46849        file: *mut GFile,
46850        res: *mut GAsyncResult,
46851        error: *mut *mut GError,
46852    ) -> *mut GFileInfo;
46853}
46854extern "C" {
46855    pub fn g_file_find_enclosing_mount(
46856        file: *mut GFile,
46857        cancellable: *mut GCancellable,
46858        error: *mut *mut GError,
46859    ) -> *mut GMount;
46860}
46861extern "C" {
46862    pub fn g_file_find_enclosing_mount_async(
46863        file: *mut GFile,
46864        io_priority: ::std::os::raw::c_int,
46865        cancellable: *mut GCancellable,
46866        callback: GAsyncReadyCallback,
46867        user_data: gpointer,
46868    );
46869}
46870extern "C" {
46871    pub fn g_file_find_enclosing_mount_finish(
46872        file: *mut GFile,
46873        res: *mut GAsyncResult,
46874        error: *mut *mut GError,
46875    ) -> *mut GMount;
46876}
46877extern "C" {
46878    pub fn g_file_enumerate_children(
46879        file: *mut GFile,
46880        attributes: *const ::std::os::raw::c_char,
46881        flags: GFileQueryInfoFlags,
46882        cancellable: *mut GCancellable,
46883        error: *mut *mut GError,
46884    ) -> *mut GFileEnumerator;
46885}
46886extern "C" {
46887    pub fn g_file_enumerate_children_async(
46888        file: *mut GFile,
46889        attributes: *const ::std::os::raw::c_char,
46890        flags: GFileQueryInfoFlags,
46891        io_priority: ::std::os::raw::c_int,
46892        cancellable: *mut GCancellable,
46893        callback: GAsyncReadyCallback,
46894        user_data: gpointer,
46895    );
46896}
46897extern "C" {
46898    pub fn g_file_enumerate_children_finish(
46899        file: *mut GFile,
46900        res: *mut GAsyncResult,
46901        error: *mut *mut GError,
46902    ) -> *mut GFileEnumerator;
46903}
46904extern "C" {
46905    pub fn g_file_set_display_name(
46906        file: *mut GFile,
46907        display_name: *const ::std::os::raw::c_char,
46908        cancellable: *mut GCancellable,
46909        error: *mut *mut GError,
46910    ) -> *mut GFile;
46911}
46912extern "C" {
46913    pub fn g_file_set_display_name_async(
46914        file: *mut GFile,
46915        display_name: *const ::std::os::raw::c_char,
46916        io_priority: ::std::os::raw::c_int,
46917        cancellable: *mut GCancellable,
46918        callback: GAsyncReadyCallback,
46919        user_data: gpointer,
46920    );
46921}
46922extern "C" {
46923    pub fn g_file_set_display_name_finish(
46924        file: *mut GFile,
46925        res: *mut GAsyncResult,
46926        error: *mut *mut GError,
46927    ) -> *mut GFile;
46928}
46929extern "C" {
46930    pub fn g_file_delete(
46931        file: *mut GFile,
46932        cancellable: *mut GCancellable,
46933        error: *mut *mut GError,
46934    ) -> gboolean;
46935}
46936extern "C" {
46937    pub fn g_file_delete_async(
46938        file: *mut GFile,
46939        io_priority: ::std::os::raw::c_int,
46940        cancellable: *mut GCancellable,
46941        callback: GAsyncReadyCallback,
46942        user_data: gpointer,
46943    );
46944}
46945extern "C" {
46946    pub fn g_file_delete_finish(
46947        file: *mut GFile,
46948        result: *mut GAsyncResult,
46949        error: *mut *mut GError,
46950    ) -> gboolean;
46951}
46952extern "C" {
46953    pub fn g_file_trash(
46954        file: *mut GFile,
46955        cancellable: *mut GCancellable,
46956        error: *mut *mut GError,
46957    ) -> gboolean;
46958}
46959extern "C" {
46960    pub fn g_file_trash_async(
46961        file: *mut GFile,
46962        io_priority: ::std::os::raw::c_int,
46963        cancellable: *mut GCancellable,
46964        callback: GAsyncReadyCallback,
46965        user_data: gpointer,
46966    );
46967}
46968extern "C" {
46969    pub fn g_file_trash_finish(
46970        file: *mut GFile,
46971        result: *mut GAsyncResult,
46972        error: *mut *mut GError,
46973    ) -> gboolean;
46974}
46975extern "C" {
46976    pub fn g_file_copy(
46977        source: *mut GFile,
46978        destination: *mut GFile,
46979        flags: GFileCopyFlags,
46980        cancellable: *mut GCancellable,
46981        progress_callback: GFileProgressCallback,
46982        progress_callback_data: gpointer,
46983        error: *mut *mut GError,
46984    ) -> gboolean;
46985}
46986extern "C" {
46987    pub fn g_file_copy_async(
46988        source: *mut GFile,
46989        destination: *mut GFile,
46990        flags: GFileCopyFlags,
46991        io_priority: ::std::os::raw::c_int,
46992        cancellable: *mut GCancellable,
46993        progress_callback: GFileProgressCallback,
46994        progress_callback_data: gpointer,
46995        callback: GAsyncReadyCallback,
46996        user_data: gpointer,
46997    );
46998}
46999extern "C" {
47000    pub fn g_file_copy_finish(
47001        file: *mut GFile,
47002        res: *mut GAsyncResult,
47003        error: *mut *mut GError,
47004    ) -> gboolean;
47005}
47006extern "C" {
47007    pub fn g_file_move(
47008        source: *mut GFile,
47009        destination: *mut GFile,
47010        flags: GFileCopyFlags,
47011        cancellable: *mut GCancellable,
47012        progress_callback: GFileProgressCallback,
47013        progress_callback_data: gpointer,
47014        error: *mut *mut GError,
47015    ) -> gboolean;
47016}
47017extern "C" {
47018    pub fn g_file_move_async(
47019        source: *mut GFile,
47020        destination: *mut GFile,
47021        flags: GFileCopyFlags,
47022        io_priority: ::std::os::raw::c_int,
47023        cancellable: *mut GCancellable,
47024        progress_callback: GFileProgressCallback,
47025        progress_callback_data: gpointer,
47026        callback: GAsyncReadyCallback,
47027        user_data: gpointer,
47028    );
47029}
47030extern "C" {
47031    pub fn g_file_move_finish(
47032        file: *mut GFile,
47033        result: *mut GAsyncResult,
47034        error: *mut *mut GError,
47035    ) -> gboolean;
47036}
47037extern "C" {
47038    pub fn g_file_make_directory(
47039        file: *mut GFile,
47040        cancellable: *mut GCancellable,
47041        error: *mut *mut GError,
47042    ) -> gboolean;
47043}
47044extern "C" {
47045    pub fn g_file_make_directory_async(
47046        file: *mut GFile,
47047        io_priority: ::std::os::raw::c_int,
47048        cancellable: *mut GCancellable,
47049        callback: GAsyncReadyCallback,
47050        user_data: gpointer,
47051    );
47052}
47053extern "C" {
47054    pub fn g_file_make_directory_finish(
47055        file: *mut GFile,
47056        result: *mut GAsyncResult,
47057        error: *mut *mut GError,
47058    ) -> gboolean;
47059}
47060extern "C" {
47061    pub fn g_file_make_directory_with_parents(
47062        file: *mut GFile,
47063        cancellable: *mut GCancellable,
47064        error: *mut *mut GError,
47065    ) -> gboolean;
47066}
47067extern "C" {
47068    pub fn g_file_make_symbolic_link(
47069        file: *mut GFile,
47070        symlink_value: *const ::std::os::raw::c_char,
47071        cancellable: *mut GCancellable,
47072        error: *mut *mut GError,
47073    ) -> gboolean;
47074}
47075extern "C" {
47076    pub fn g_file_make_symbolic_link_async(
47077        file: *mut GFile,
47078        symlink_value: *const ::std::os::raw::c_char,
47079        io_priority: ::std::os::raw::c_int,
47080        cancellable: *mut GCancellable,
47081        callback: GAsyncReadyCallback,
47082        user_data: gpointer,
47083    );
47084}
47085extern "C" {
47086    pub fn g_file_make_symbolic_link_finish(
47087        file: *mut GFile,
47088        result: *mut GAsyncResult,
47089        error: *mut *mut GError,
47090    ) -> gboolean;
47091}
47092extern "C" {
47093    pub fn g_file_query_settable_attributes(
47094        file: *mut GFile,
47095        cancellable: *mut GCancellable,
47096        error: *mut *mut GError,
47097    ) -> *mut GFileAttributeInfoList;
47098}
47099extern "C" {
47100    pub fn g_file_query_writable_namespaces(
47101        file: *mut GFile,
47102        cancellable: *mut GCancellable,
47103        error: *mut *mut GError,
47104    ) -> *mut GFileAttributeInfoList;
47105}
47106extern "C" {
47107    pub fn g_file_set_attribute(
47108        file: *mut GFile,
47109        attribute: *const ::std::os::raw::c_char,
47110        type_: GFileAttributeType,
47111        value_p: gpointer,
47112        flags: GFileQueryInfoFlags,
47113        cancellable: *mut GCancellable,
47114        error: *mut *mut GError,
47115    ) -> gboolean;
47116}
47117extern "C" {
47118    pub fn g_file_set_attributes_from_info(
47119        file: *mut GFile,
47120        info: *mut GFileInfo,
47121        flags: GFileQueryInfoFlags,
47122        cancellable: *mut GCancellable,
47123        error: *mut *mut GError,
47124    ) -> gboolean;
47125}
47126extern "C" {
47127    pub fn g_file_set_attributes_async(
47128        file: *mut GFile,
47129        info: *mut GFileInfo,
47130        flags: GFileQueryInfoFlags,
47131        io_priority: ::std::os::raw::c_int,
47132        cancellable: *mut GCancellable,
47133        callback: GAsyncReadyCallback,
47134        user_data: gpointer,
47135    );
47136}
47137extern "C" {
47138    pub fn g_file_set_attributes_finish(
47139        file: *mut GFile,
47140        result: *mut GAsyncResult,
47141        info: *mut *mut GFileInfo,
47142        error: *mut *mut GError,
47143    ) -> gboolean;
47144}
47145extern "C" {
47146    pub fn g_file_set_attribute_string(
47147        file: *mut GFile,
47148        attribute: *const ::std::os::raw::c_char,
47149        value: *const ::std::os::raw::c_char,
47150        flags: GFileQueryInfoFlags,
47151        cancellable: *mut GCancellable,
47152        error: *mut *mut GError,
47153    ) -> gboolean;
47154}
47155extern "C" {
47156    pub fn g_file_set_attribute_byte_string(
47157        file: *mut GFile,
47158        attribute: *const ::std::os::raw::c_char,
47159        value: *const ::std::os::raw::c_char,
47160        flags: GFileQueryInfoFlags,
47161        cancellable: *mut GCancellable,
47162        error: *mut *mut GError,
47163    ) -> gboolean;
47164}
47165extern "C" {
47166    pub fn g_file_set_attribute_uint32(
47167        file: *mut GFile,
47168        attribute: *const ::std::os::raw::c_char,
47169        value: guint32,
47170        flags: GFileQueryInfoFlags,
47171        cancellable: *mut GCancellable,
47172        error: *mut *mut GError,
47173    ) -> gboolean;
47174}
47175extern "C" {
47176    pub fn g_file_set_attribute_int32(
47177        file: *mut GFile,
47178        attribute: *const ::std::os::raw::c_char,
47179        value: gint32,
47180        flags: GFileQueryInfoFlags,
47181        cancellable: *mut GCancellable,
47182        error: *mut *mut GError,
47183    ) -> gboolean;
47184}
47185extern "C" {
47186    pub fn g_file_set_attribute_uint64(
47187        file: *mut GFile,
47188        attribute: *const ::std::os::raw::c_char,
47189        value: guint64,
47190        flags: GFileQueryInfoFlags,
47191        cancellable: *mut GCancellable,
47192        error: *mut *mut GError,
47193    ) -> gboolean;
47194}
47195extern "C" {
47196    pub fn g_file_set_attribute_int64(
47197        file: *mut GFile,
47198        attribute: *const ::std::os::raw::c_char,
47199        value: gint64,
47200        flags: GFileQueryInfoFlags,
47201        cancellable: *mut GCancellable,
47202        error: *mut *mut GError,
47203    ) -> gboolean;
47204}
47205extern "C" {
47206    pub fn g_file_mount_enclosing_volume(
47207        location: *mut GFile,
47208        flags: GMountMountFlags,
47209        mount_operation: *mut GMountOperation,
47210        cancellable: *mut GCancellable,
47211        callback: GAsyncReadyCallback,
47212        user_data: gpointer,
47213    );
47214}
47215extern "C" {
47216    pub fn g_file_mount_enclosing_volume_finish(
47217        location: *mut GFile,
47218        result: *mut GAsyncResult,
47219        error: *mut *mut GError,
47220    ) -> gboolean;
47221}
47222extern "C" {
47223    pub fn g_file_mount_mountable(
47224        file: *mut GFile,
47225        flags: GMountMountFlags,
47226        mount_operation: *mut GMountOperation,
47227        cancellable: *mut GCancellable,
47228        callback: GAsyncReadyCallback,
47229        user_data: gpointer,
47230    );
47231}
47232extern "C" {
47233    pub fn g_file_mount_mountable_finish(
47234        file: *mut GFile,
47235        result: *mut GAsyncResult,
47236        error: *mut *mut GError,
47237    ) -> *mut GFile;
47238}
47239extern "C" {
47240    pub fn g_file_unmount_mountable(
47241        file: *mut GFile,
47242        flags: GMountUnmountFlags,
47243        cancellable: *mut GCancellable,
47244        callback: GAsyncReadyCallback,
47245        user_data: gpointer,
47246    );
47247}
47248extern "C" {
47249    pub fn g_file_unmount_mountable_finish(
47250        file: *mut GFile,
47251        result: *mut GAsyncResult,
47252        error: *mut *mut GError,
47253    ) -> gboolean;
47254}
47255extern "C" {
47256    pub fn g_file_unmount_mountable_with_operation(
47257        file: *mut GFile,
47258        flags: GMountUnmountFlags,
47259        mount_operation: *mut GMountOperation,
47260        cancellable: *mut GCancellable,
47261        callback: GAsyncReadyCallback,
47262        user_data: gpointer,
47263    );
47264}
47265extern "C" {
47266    pub fn g_file_unmount_mountable_with_operation_finish(
47267        file: *mut GFile,
47268        result: *mut GAsyncResult,
47269        error: *mut *mut GError,
47270    ) -> gboolean;
47271}
47272extern "C" {
47273    pub fn g_file_eject_mountable(
47274        file: *mut GFile,
47275        flags: GMountUnmountFlags,
47276        cancellable: *mut GCancellable,
47277        callback: GAsyncReadyCallback,
47278        user_data: gpointer,
47279    );
47280}
47281extern "C" {
47282    pub fn g_file_eject_mountable_finish(
47283        file: *mut GFile,
47284        result: *mut GAsyncResult,
47285        error: *mut *mut GError,
47286    ) -> gboolean;
47287}
47288extern "C" {
47289    pub fn g_file_eject_mountable_with_operation(
47290        file: *mut GFile,
47291        flags: GMountUnmountFlags,
47292        mount_operation: *mut GMountOperation,
47293        cancellable: *mut GCancellable,
47294        callback: GAsyncReadyCallback,
47295        user_data: gpointer,
47296    );
47297}
47298extern "C" {
47299    pub fn g_file_eject_mountable_with_operation_finish(
47300        file: *mut GFile,
47301        result: *mut GAsyncResult,
47302        error: *mut *mut GError,
47303    ) -> gboolean;
47304}
47305extern "C" {
47306    pub fn g_file_build_attribute_list_for_copy(
47307        file: *mut GFile,
47308        flags: GFileCopyFlags,
47309        cancellable: *mut GCancellable,
47310        error: *mut *mut GError,
47311    ) -> *mut ::std::os::raw::c_char;
47312}
47313extern "C" {
47314    pub fn g_file_copy_attributes(
47315        source: *mut GFile,
47316        destination: *mut GFile,
47317        flags: GFileCopyFlags,
47318        cancellable: *mut GCancellable,
47319        error: *mut *mut GError,
47320    ) -> gboolean;
47321}
47322extern "C" {
47323    pub fn g_file_monitor_directory(
47324        file: *mut GFile,
47325        flags: GFileMonitorFlags,
47326        cancellable: *mut GCancellable,
47327        error: *mut *mut GError,
47328    ) -> *mut GFileMonitor;
47329}
47330extern "C" {
47331    pub fn g_file_monitor_file(
47332        file: *mut GFile,
47333        flags: GFileMonitorFlags,
47334        cancellable: *mut GCancellable,
47335        error: *mut *mut GError,
47336    ) -> *mut GFileMonitor;
47337}
47338extern "C" {
47339    pub fn g_file_monitor(
47340        file: *mut GFile,
47341        flags: GFileMonitorFlags,
47342        cancellable: *mut GCancellable,
47343        error: *mut *mut GError,
47344    ) -> *mut GFileMonitor;
47345}
47346extern "C" {
47347    pub fn g_file_measure_disk_usage(
47348        file: *mut GFile,
47349        flags: GFileMeasureFlags,
47350        cancellable: *mut GCancellable,
47351        progress_callback: GFileMeasureProgressCallback,
47352        progress_data: gpointer,
47353        disk_usage: *mut guint64,
47354        num_dirs: *mut guint64,
47355        num_files: *mut guint64,
47356        error: *mut *mut GError,
47357    ) -> gboolean;
47358}
47359extern "C" {
47360    pub fn g_file_measure_disk_usage_async(
47361        file: *mut GFile,
47362        flags: GFileMeasureFlags,
47363        io_priority: gint,
47364        cancellable: *mut GCancellable,
47365        progress_callback: GFileMeasureProgressCallback,
47366        progress_data: gpointer,
47367        callback: GAsyncReadyCallback,
47368        user_data: gpointer,
47369    );
47370}
47371extern "C" {
47372    pub fn g_file_measure_disk_usage_finish(
47373        file: *mut GFile,
47374        result: *mut GAsyncResult,
47375        disk_usage: *mut guint64,
47376        num_dirs: *mut guint64,
47377        num_files: *mut guint64,
47378        error: *mut *mut GError,
47379    ) -> gboolean;
47380}
47381extern "C" {
47382    pub fn g_file_start_mountable(
47383        file: *mut GFile,
47384        flags: GDriveStartFlags,
47385        start_operation: *mut GMountOperation,
47386        cancellable: *mut GCancellable,
47387        callback: GAsyncReadyCallback,
47388        user_data: gpointer,
47389    );
47390}
47391extern "C" {
47392    pub fn g_file_start_mountable_finish(
47393        file: *mut GFile,
47394        result: *mut GAsyncResult,
47395        error: *mut *mut GError,
47396    ) -> gboolean;
47397}
47398extern "C" {
47399    pub fn g_file_stop_mountable(
47400        file: *mut GFile,
47401        flags: GMountUnmountFlags,
47402        mount_operation: *mut GMountOperation,
47403        cancellable: *mut GCancellable,
47404        callback: GAsyncReadyCallback,
47405        user_data: gpointer,
47406    );
47407}
47408extern "C" {
47409    pub fn g_file_stop_mountable_finish(
47410        file: *mut GFile,
47411        result: *mut GAsyncResult,
47412        error: *mut *mut GError,
47413    ) -> gboolean;
47414}
47415extern "C" {
47416    pub fn g_file_poll_mountable(
47417        file: *mut GFile,
47418        cancellable: *mut GCancellable,
47419        callback: GAsyncReadyCallback,
47420        user_data: gpointer,
47421    );
47422}
47423extern "C" {
47424    pub fn g_file_poll_mountable_finish(
47425        file: *mut GFile,
47426        result: *mut GAsyncResult,
47427        error: *mut *mut GError,
47428    ) -> gboolean;
47429}
47430extern "C" {
47431    pub fn g_file_query_default_handler(
47432        file: *mut GFile,
47433        cancellable: *mut GCancellable,
47434        error: *mut *mut GError,
47435    ) -> *mut GAppInfo;
47436}
47437extern "C" {
47438    pub fn g_file_query_default_handler_async(
47439        file: *mut GFile,
47440        io_priority: ::std::os::raw::c_int,
47441        cancellable: *mut GCancellable,
47442        callback: GAsyncReadyCallback,
47443        user_data: gpointer,
47444    );
47445}
47446extern "C" {
47447    pub fn g_file_query_default_handler_finish(
47448        file: *mut GFile,
47449        result: *mut GAsyncResult,
47450        error: *mut *mut GError,
47451    ) -> *mut GAppInfo;
47452}
47453extern "C" {
47454    pub fn g_file_load_contents(
47455        file: *mut GFile,
47456        cancellable: *mut GCancellable,
47457        contents: *mut *mut ::std::os::raw::c_char,
47458        length: *mut gsize,
47459        etag_out: *mut *mut ::std::os::raw::c_char,
47460        error: *mut *mut GError,
47461    ) -> gboolean;
47462}
47463extern "C" {
47464    pub fn g_file_load_contents_async(
47465        file: *mut GFile,
47466        cancellable: *mut GCancellable,
47467        callback: GAsyncReadyCallback,
47468        user_data: gpointer,
47469    );
47470}
47471extern "C" {
47472    pub fn g_file_load_contents_finish(
47473        file: *mut GFile,
47474        res: *mut GAsyncResult,
47475        contents: *mut *mut ::std::os::raw::c_char,
47476        length: *mut gsize,
47477        etag_out: *mut *mut ::std::os::raw::c_char,
47478        error: *mut *mut GError,
47479    ) -> gboolean;
47480}
47481extern "C" {
47482    pub fn g_file_load_partial_contents_async(
47483        file: *mut GFile,
47484        cancellable: *mut GCancellable,
47485        read_more_callback: GFileReadMoreCallback,
47486        callback: GAsyncReadyCallback,
47487        user_data: gpointer,
47488    );
47489}
47490extern "C" {
47491    pub fn g_file_load_partial_contents_finish(
47492        file: *mut GFile,
47493        res: *mut GAsyncResult,
47494        contents: *mut *mut ::std::os::raw::c_char,
47495        length: *mut gsize,
47496        etag_out: *mut *mut ::std::os::raw::c_char,
47497        error: *mut *mut GError,
47498    ) -> gboolean;
47499}
47500extern "C" {
47501    pub fn g_file_replace_contents(
47502        file: *mut GFile,
47503        contents: *const ::std::os::raw::c_char,
47504        length: gsize,
47505        etag: *const ::std::os::raw::c_char,
47506        make_backup: gboolean,
47507        flags: GFileCreateFlags,
47508        new_etag: *mut *mut ::std::os::raw::c_char,
47509        cancellable: *mut GCancellable,
47510        error: *mut *mut GError,
47511    ) -> gboolean;
47512}
47513extern "C" {
47514    pub fn g_file_replace_contents_async(
47515        file: *mut GFile,
47516        contents: *const ::std::os::raw::c_char,
47517        length: gsize,
47518        etag: *const ::std::os::raw::c_char,
47519        make_backup: gboolean,
47520        flags: GFileCreateFlags,
47521        cancellable: *mut GCancellable,
47522        callback: GAsyncReadyCallback,
47523        user_data: gpointer,
47524    );
47525}
47526extern "C" {
47527    pub fn g_file_replace_contents_bytes_async(
47528        file: *mut GFile,
47529        contents: *mut GBytes,
47530        etag: *const ::std::os::raw::c_char,
47531        make_backup: gboolean,
47532        flags: GFileCreateFlags,
47533        cancellable: *mut GCancellable,
47534        callback: GAsyncReadyCallback,
47535        user_data: gpointer,
47536    );
47537}
47538extern "C" {
47539    pub fn g_file_replace_contents_finish(
47540        file: *mut GFile,
47541        res: *mut GAsyncResult,
47542        new_etag: *mut *mut ::std::os::raw::c_char,
47543        error: *mut *mut GError,
47544    ) -> gboolean;
47545}
47546extern "C" {
47547    pub fn g_file_supports_thread_contexts(file: *mut GFile) -> gboolean;
47548}
47549extern "C" {
47550    pub fn g_file_load_bytes(
47551        file: *mut GFile,
47552        cancellable: *mut GCancellable,
47553        etag_out: *mut *mut gchar,
47554        error: *mut *mut GError,
47555    ) -> *mut GBytes;
47556}
47557extern "C" {
47558    pub fn g_file_load_bytes_async(
47559        file: *mut GFile,
47560        cancellable: *mut GCancellable,
47561        callback: GAsyncReadyCallback,
47562        user_data: gpointer,
47563    );
47564}
47565extern "C" {
47566    pub fn g_file_load_bytes_finish(
47567        file: *mut GFile,
47568        result: *mut GAsyncResult,
47569        etag_out: *mut *mut gchar,
47570        error: *mut *mut GError,
47571    ) -> *mut GBytes;
47572}
47573#[doc = " GFileAttributeInfo:\n @name: the name of the attribute.\n @type: the #GFileAttributeType type of the attribute.\n @flags: a set of #GFileAttributeInfoFlags.\n\n Information about a specific attribute."]
47574#[repr(C)]
47575#[derive(Debug, Copy, Clone, PartialEq, Eq)]
47576pub struct _GFileAttributeInfo {
47577    pub name: *mut ::std::os::raw::c_char,
47578    pub type_: GFileAttributeType,
47579    pub flags: GFileAttributeInfoFlags,
47580}
47581#[test]
47582fn bindgen_test_layout__GFileAttributeInfo() {
47583    const UNINIT: ::std::mem::MaybeUninit<_GFileAttributeInfo> = ::std::mem::MaybeUninit::uninit();
47584    let ptr = UNINIT.as_ptr();
47585    assert_eq!(
47586        ::std::mem::size_of::<_GFileAttributeInfo>(),
47587        16usize,
47588        concat!("Size of: ", stringify!(_GFileAttributeInfo))
47589    );
47590    assert_eq!(
47591        ::std::mem::align_of::<_GFileAttributeInfo>(),
47592        8usize,
47593        concat!("Alignment of ", stringify!(_GFileAttributeInfo))
47594    );
47595    assert_eq!(
47596        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
47597        0usize,
47598        concat!(
47599            "Offset of field: ",
47600            stringify!(_GFileAttributeInfo),
47601            "::",
47602            stringify!(name)
47603        )
47604    );
47605    assert_eq!(
47606        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
47607        8usize,
47608        concat!(
47609            "Offset of field: ",
47610            stringify!(_GFileAttributeInfo),
47611            "::",
47612            stringify!(type_)
47613        )
47614    );
47615    assert_eq!(
47616        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
47617        12usize,
47618        concat!(
47619            "Offset of field: ",
47620            stringify!(_GFileAttributeInfo),
47621            "::",
47622            stringify!(flags)
47623        )
47624    );
47625}
47626#[doc = " GFileAttributeInfoList:\n @infos: an array of #GFileAttributeInfos.\n @n_infos: the number of values in the array.\n\n Acts as a lightweight registry for possible valid file attributes.\n The registry stores Key-Value pair formats as #GFileAttributeInfos."]
47627#[repr(C)]
47628#[derive(Debug, Copy, Clone, PartialEq, Eq)]
47629pub struct _GFileAttributeInfoList {
47630    pub infos: *mut GFileAttributeInfo,
47631    pub n_infos: ::std::os::raw::c_int,
47632}
47633#[test]
47634fn bindgen_test_layout__GFileAttributeInfoList() {
47635    const UNINIT: ::std::mem::MaybeUninit<_GFileAttributeInfoList> =
47636        ::std::mem::MaybeUninit::uninit();
47637    let ptr = UNINIT.as_ptr();
47638    assert_eq!(
47639        ::std::mem::size_of::<_GFileAttributeInfoList>(),
47640        16usize,
47641        concat!("Size of: ", stringify!(_GFileAttributeInfoList))
47642    );
47643    assert_eq!(
47644        ::std::mem::align_of::<_GFileAttributeInfoList>(),
47645        8usize,
47646        concat!("Alignment of ", stringify!(_GFileAttributeInfoList))
47647    );
47648    assert_eq!(
47649        unsafe { ::std::ptr::addr_of!((*ptr).infos) as usize - ptr as usize },
47650        0usize,
47651        concat!(
47652            "Offset of field: ",
47653            stringify!(_GFileAttributeInfoList),
47654            "::",
47655            stringify!(infos)
47656        )
47657    );
47658    assert_eq!(
47659        unsafe { ::std::ptr::addr_of!((*ptr).n_infos) as usize - ptr as usize },
47660        8usize,
47661        concat!(
47662            "Offset of field: ",
47663            stringify!(_GFileAttributeInfoList),
47664            "::",
47665            stringify!(n_infos)
47666        )
47667    );
47668}
47669extern "C" {
47670    pub fn g_file_attribute_info_list_get_type() -> GType;
47671}
47672extern "C" {
47673    pub fn g_file_attribute_info_list_new() -> *mut GFileAttributeInfoList;
47674}
47675extern "C" {
47676    pub fn g_file_attribute_info_list_ref(
47677        list: *mut GFileAttributeInfoList,
47678    ) -> *mut GFileAttributeInfoList;
47679}
47680extern "C" {
47681    pub fn g_file_attribute_info_list_unref(list: *mut GFileAttributeInfoList);
47682}
47683extern "C" {
47684    pub fn g_file_attribute_info_list_dup(
47685        list: *mut GFileAttributeInfoList,
47686    ) -> *mut GFileAttributeInfoList;
47687}
47688extern "C" {
47689    pub fn g_file_attribute_info_list_lookup(
47690        list: *mut GFileAttributeInfoList,
47691        name: *const ::std::os::raw::c_char,
47692    ) -> *const GFileAttributeInfo;
47693}
47694extern "C" {
47695    pub fn g_file_attribute_info_list_add(
47696        list: *mut GFileAttributeInfoList,
47697        name: *const ::std::os::raw::c_char,
47698        type_: GFileAttributeType,
47699        flags: GFileAttributeInfoFlags,
47700    );
47701}
47702#[doc = " GFileEnumerator:\n\n A per matched file iterator."]
47703pub type GFileEnumeratorClass = _GFileEnumeratorClass;
47704#[repr(C)]
47705#[derive(Debug, Copy, Clone)]
47706pub struct _GFileEnumeratorPrivate {
47707    _unused: [u8; 0],
47708}
47709pub type GFileEnumeratorPrivate = _GFileEnumeratorPrivate;
47710#[repr(C)]
47711#[derive(Debug, Copy, Clone, PartialEq, Eq)]
47712pub struct _GFileEnumerator {
47713    pub parent_instance: GObject,
47714    pub priv_: *mut GFileEnumeratorPrivate,
47715}
47716#[test]
47717fn bindgen_test_layout__GFileEnumerator() {
47718    const UNINIT: ::std::mem::MaybeUninit<_GFileEnumerator> = ::std::mem::MaybeUninit::uninit();
47719    let ptr = UNINIT.as_ptr();
47720    assert_eq!(
47721        ::std::mem::size_of::<_GFileEnumerator>(),
47722        32usize,
47723        concat!("Size of: ", stringify!(_GFileEnumerator))
47724    );
47725    assert_eq!(
47726        ::std::mem::align_of::<_GFileEnumerator>(),
47727        8usize,
47728        concat!("Alignment of ", stringify!(_GFileEnumerator))
47729    );
47730    assert_eq!(
47731        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
47732        0usize,
47733        concat!(
47734            "Offset of field: ",
47735            stringify!(_GFileEnumerator),
47736            "::",
47737            stringify!(parent_instance)
47738        )
47739    );
47740    assert_eq!(
47741        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
47742        24usize,
47743        concat!(
47744            "Offset of field: ",
47745            stringify!(_GFileEnumerator),
47746            "::",
47747            stringify!(priv_)
47748        )
47749    );
47750}
47751#[repr(C)]
47752#[derive(Debug, Copy, Clone, PartialEq, Eq)]
47753pub struct _GFileEnumeratorClass {
47754    pub parent_class: GObjectClass,
47755    pub next_file: ::std::option::Option<
47756        unsafe extern "C" fn(
47757            enumerator: *mut GFileEnumerator,
47758            cancellable: *mut GCancellable,
47759            error: *mut *mut GError,
47760        ) -> *mut GFileInfo,
47761    >,
47762    pub close_fn: ::std::option::Option<
47763        unsafe extern "C" fn(
47764            enumerator: *mut GFileEnumerator,
47765            cancellable: *mut GCancellable,
47766            error: *mut *mut GError,
47767        ) -> gboolean,
47768    >,
47769    pub next_files_async: ::std::option::Option<
47770        unsafe extern "C" fn(
47771            enumerator: *mut GFileEnumerator,
47772            num_files: ::std::os::raw::c_int,
47773            io_priority: ::std::os::raw::c_int,
47774            cancellable: *mut GCancellable,
47775            callback: GAsyncReadyCallback,
47776            user_data: gpointer,
47777        ),
47778    >,
47779    pub next_files_finish: ::std::option::Option<
47780        unsafe extern "C" fn(
47781            enumerator: *mut GFileEnumerator,
47782            result: *mut GAsyncResult,
47783            error: *mut *mut GError,
47784        ) -> *mut GList,
47785    >,
47786    pub close_async: ::std::option::Option<
47787        unsafe extern "C" fn(
47788            enumerator: *mut GFileEnumerator,
47789            io_priority: ::std::os::raw::c_int,
47790            cancellable: *mut GCancellable,
47791            callback: GAsyncReadyCallback,
47792            user_data: gpointer,
47793        ),
47794    >,
47795    pub close_finish: ::std::option::Option<
47796        unsafe extern "C" fn(
47797            enumerator: *mut GFileEnumerator,
47798            result: *mut GAsyncResult,
47799            error: *mut *mut GError,
47800        ) -> gboolean,
47801    >,
47802    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
47803    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
47804    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
47805    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
47806    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
47807    pub _g_reserved6: ::std::option::Option<unsafe extern "C" fn()>,
47808    pub _g_reserved7: ::std::option::Option<unsafe extern "C" fn()>,
47809}
47810#[test]
47811fn bindgen_test_layout__GFileEnumeratorClass() {
47812    const UNINIT: ::std::mem::MaybeUninit<_GFileEnumeratorClass> =
47813        ::std::mem::MaybeUninit::uninit();
47814    let ptr = UNINIT.as_ptr();
47815    assert_eq!(
47816        ::std::mem::size_of::<_GFileEnumeratorClass>(),
47817        240usize,
47818        concat!("Size of: ", stringify!(_GFileEnumeratorClass))
47819    );
47820    assert_eq!(
47821        ::std::mem::align_of::<_GFileEnumeratorClass>(),
47822        8usize,
47823        concat!("Alignment of ", stringify!(_GFileEnumeratorClass))
47824    );
47825    assert_eq!(
47826        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
47827        0usize,
47828        concat!(
47829            "Offset of field: ",
47830            stringify!(_GFileEnumeratorClass),
47831            "::",
47832            stringify!(parent_class)
47833        )
47834    );
47835    assert_eq!(
47836        unsafe { ::std::ptr::addr_of!((*ptr).next_file) as usize - ptr as usize },
47837        136usize,
47838        concat!(
47839            "Offset of field: ",
47840            stringify!(_GFileEnumeratorClass),
47841            "::",
47842            stringify!(next_file)
47843        )
47844    );
47845    assert_eq!(
47846        unsafe { ::std::ptr::addr_of!((*ptr).close_fn) as usize - ptr as usize },
47847        144usize,
47848        concat!(
47849            "Offset of field: ",
47850            stringify!(_GFileEnumeratorClass),
47851            "::",
47852            stringify!(close_fn)
47853        )
47854    );
47855    assert_eq!(
47856        unsafe { ::std::ptr::addr_of!((*ptr).next_files_async) as usize - ptr as usize },
47857        152usize,
47858        concat!(
47859            "Offset of field: ",
47860            stringify!(_GFileEnumeratorClass),
47861            "::",
47862            stringify!(next_files_async)
47863        )
47864    );
47865    assert_eq!(
47866        unsafe { ::std::ptr::addr_of!((*ptr).next_files_finish) as usize - ptr as usize },
47867        160usize,
47868        concat!(
47869            "Offset of field: ",
47870            stringify!(_GFileEnumeratorClass),
47871            "::",
47872            stringify!(next_files_finish)
47873        )
47874    );
47875    assert_eq!(
47876        unsafe { ::std::ptr::addr_of!((*ptr).close_async) as usize - ptr as usize },
47877        168usize,
47878        concat!(
47879            "Offset of field: ",
47880            stringify!(_GFileEnumeratorClass),
47881            "::",
47882            stringify!(close_async)
47883        )
47884    );
47885    assert_eq!(
47886        unsafe { ::std::ptr::addr_of!((*ptr).close_finish) as usize - ptr as usize },
47887        176usize,
47888        concat!(
47889            "Offset of field: ",
47890            stringify!(_GFileEnumeratorClass),
47891            "::",
47892            stringify!(close_finish)
47893        )
47894    );
47895    assert_eq!(
47896        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
47897        184usize,
47898        concat!(
47899            "Offset of field: ",
47900            stringify!(_GFileEnumeratorClass),
47901            "::",
47902            stringify!(_g_reserved1)
47903        )
47904    );
47905    assert_eq!(
47906        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
47907        192usize,
47908        concat!(
47909            "Offset of field: ",
47910            stringify!(_GFileEnumeratorClass),
47911            "::",
47912            stringify!(_g_reserved2)
47913        )
47914    );
47915    assert_eq!(
47916        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
47917        200usize,
47918        concat!(
47919            "Offset of field: ",
47920            stringify!(_GFileEnumeratorClass),
47921            "::",
47922            stringify!(_g_reserved3)
47923        )
47924    );
47925    assert_eq!(
47926        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
47927        208usize,
47928        concat!(
47929            "Offset of field: ",
47930            stringify!(_GFileEnumeratorClass),
47931            "::",
47932            stringify!(_g_reserved4)
47933        )
47934    );
47935    assert_eq!(
47936        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
47937        216usize,
47938        concat!(
47939            "Offset of field: ",
47940            stringify!(_GFileEnumeratorClass),
47941            "::",
47942            stringify!(_g_reserved5)
47943        )
47944    );
47945    assert_eq!(
47946        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved6) as usize - ptr as usize },
47947        224usize,
47948        concat!(
47949            "Offset of field: ",
47950            stringify!(_GFileEnumeratorClass),
47951            "::",
47952            stringify!(_g_reserved6)
47953        )
47954    );
47955    assert_eq!(
47956        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved7) as usize - ptr as usize },
47957        232usize,
47958        concat!(
47959            "Offset of field: ",
47960            stringify!(_GFileEnumeratorClass),
47961            "::",
47962            stringify!(_g_reserved7)
47963        )
47964    );
47965}
47966extern "C" {
47967    pub fn g_file_enumerator_get_type() -> GType;
47968}
47969extern "C" {
47970    pub fn g_file_enumerator_next_file(
47971        enumerator: *mut GFileEnumerator,
47972        cancellable: *mut GCancellable,
47973        error: *mut *mut GError,
47974    ) -> *mut GFileInfo;
47975}
47976extern "C" {
47977    pub fn g_file_enumerator_close(
47978        enumerator: *mut GFileEnumerator,
47979        cancellable: *mut GCancellable,
47980        error: *mut *mut GError,
47981    ) -> gboolean;
47982}
47983extern "C" {
47984    pub fn g_file_enumerator_next_files_async(
47985        enumerator: *mut GFileEnumerator,
47986        num_files: ::std::os::raw::c_int,
47987        io_priority: ::std::os::raw::c_int,
47988        cancellable: *mut GCancellable,
47989        callback: GAsyncReadyCallback,
47990        user_data: gpointer,
47991    );
47992}
47993extern "C" {
47994    pub fn g_file_enumerator_next_files_finish(
47995        enumerator: *mut GFileEnumerator,
47996        result: *mut GAsyncResult,
47997        error: *mut *mut GError,
47998    ) -> *mut GList;
47999}
48000extern "C" {
48001    pub fn g_file_enumerator_close_async(
48002        enumerator: *mut GFileEnumerator,
48003        io_priority: ::std::os::raw::c_int,
48004        cancellable: *mut GCancellable,
48005        callback: GAsyncReadyCallback,
48006        user_data: gpointer,
48007    );
48008}
48009extern "C" {
48010    pub fn g_file_enumerator_close_finish(
48011        enumerator: *mut GFileEnumerator,
48012        result: *mut GAsyncResult,
48013        error: *mut *mut GError,
48014    ) -> gboolean;
48015}
48016extern "C" {
48017    pub fn g_file_enumerator_is_closed(enumerator: *mut GFileEnumerator) -> gboolean;
48018}
48019extern "C" {
48020    pub fn g_file_enumerator_has_pending(enumerator: *mut GFileEnumerator) -> gboolean;
48021}
48022extern "C" {
48023    pub fn g_file_enumerator_set_pending(enumerator: *mut GFileEnumerator, pending: gboolean);
48024}
48025extern "C" {
48026    pub fn g_file_enumerator_get_container(enumerator: *mut GFileEnumerator) -> *mut GFile;
48027}
48028extern "C" {
48029    pub fn g_file_enumerator_get_child(
48030        enumerator: *mut GFileEnumerator,
48031        info: *mut GFileInfo,
48032    ) -> *mut GFile;
48033}
48034extern "C" {
48035    pub fn g_file_enumerator_iterate(
48036        direnum: *mut GFileEnumerator,
48037        out_info: *mut *mut GFileInfo,
48038        out_child: *mut *mut GFile,
48039        cancellable: *mut GCancellable,
48040        error: *mut *mut GError,
48041    ) -> gboolean;
48042}
48043#[repr(C)]
48044#[derive(Debug, Copy, Clone)]
48045pub struct _GFileIconClass {
48046    _unused: [u8; 0],
48047}
48048#[doc = " GFileIcon:\n\n Gets an icon for a #GFile. Implements #GLoadableIcon."]
48049pub type GFileIconClass = _GFileIconClass;
48050extern "C" {
48051    pub fn g_file_icon_get_type() -> GType;
48052}
48053extern "C" {
48054    pub fn g_file_icon_new(file: *mut GFile) -> *mut GIcon;
48055}
48056extern "C" {
48057    pub fn g_file_icon_get_file(icon: *mut GFileIcon) -> *mut GFile;
48058}
48059#[repr(C)]
48060#[derive(Debug, Copy, Clone)]
48061pub struct _GFileInfoClass {
48062    _unused: [u8; 0],
48063}
48064#[doc = " GFileInfo:\n\n Stores information about a file system object referenced by a #GFile."]
48065pub type GFileInfoClass = _GFileInfoClass;
48066extern "C" {
48067    pub fn g_file_info_get_type() -> GType;
48068}
48069extern "C" {
48070    pub fn g_file_info_new() -> *mut GFileInfo;
48071}
48072extern "C" {
48073    pub fn g_file_info_dup(other: *mut GFileInfo) -> *mut GFileInfo;
48074}
48075extern "C" {
48076    pub fn g_file_info_copy_into(src_info: *mut GFileInfo, dest_info: *mut GFileInfo);
48077}
48078extern "C" {
48079    pub fn g_file_info_has_attribute(
48080        info: *mut GFileInfo,
48081        attribute: *const ::std::os::raw::c_char,
48082    ) -> gboolean;
48083}
48084extern "C" {
48085    pub fn g_file_info_has_namespace(
48086        info: *mut GFileInfo,
48087        name_space: *const ::std::os::raw::c_char,
48088    ) -> gboolean;
48089}
48090extern "C" {
48091    pub fn g_file_info_list_attributes(
48092        info: *mut GFileInfo,
48093        name_space: *const ::std::os::raw::c_char,
48094    ) -> *mut *mut ::std::os::raw::c_char;
48095}
48096extern "C" {
48097    pub fn g_file_info_get_attribute_data(
48098        info: *mut GFileInfo,
48099        attribute: *const ::std::os::raw::c_char,
48100        type_: *mut GFileAttributeType,
48101        value_pp: *mut gpointer,
48102        status: *mut GFileAttributeStatus,
48103    ) -> gboolean;
48104}
48105extern "C" {
48106    pub fn g_file_info_get_attribute_type(
48107        info: *mut GFileInfo,
48108        attribute: *const ::std::os::raw::c_char,
48109    ) -> GFileAttributeType;
48110}
48111extern "C" {
48112    pub fn g_file_info_remove_attribute(
48113        info: *mut GFileInfo,
48114        attribute: *const ::std::os::raw::c_char,
48115    );
48116}
48117extern "C" {
48118    pub fn g_file_info_get_attribute_status(
48119        info: *mut GFileInfo,
48120        attribute: *const ::std::os::raw::c_char,
48121    ) -> GFileAttributeStatus;
48122}
48123extern "C" {
48124    pub fn g_file_info_set_attribute_status(
48125        info: *mut GFileInfo,
48126        attribute: *const ::std::os::raw::c_char,
48127        status: GFileAttributeStatus,
48128    ) -> gboolean;
48129}
48130extern "C" {
48131    pub fn g_file_info_get_attribute_as_string(
48132        info: *mut GFileInfo,
48133        attribute: *const ::std::os::raw::c_char,
48134    ) -> *mut ::std::os::raw::c_char;
48135}
48136extern "C" {
48137    pub fn g_file_info_get_attribute_string(
48138        info: *mut GFileInfo,
48139        attribute: *const ::std::os::raw::c_char,
48140    ) -> *const ::std::os::raw::c_char;
48141}
48142extern "C" {
48143    pub fn g_file_info_get_attribute_byte_string(
48144        info: *mut GFileInfo,
48145        attribute: *const ::std::os::raw::c_char,
48146    ) -> *const ::std::os::raw::c_char;
48147}
48148extern "C" {
48149    pub fn g_file_info_get_attribute_boolean(
48150        info: *mut GFileInfo,
48151        attribute: *const ::std::os::raw::c_char,
48152    ) -> gboolean;
48153}
48154extern "C" {
48155    pub fn g_file_info_get_attribute_uint32(
48156        info: *mut GFileInfo,
48157        attribute: *const ::std::os::raw::c_char,
48158    ) -> guint32;
48159}
48160extern "C" {
48161    pub fn g_file_info_get_attribute_int32(
48162        info: *mut GFileInfo,
48163        attribute: *const ::std::os::raw::c_char,
48164    ) -> gint32;
48165}
48166extern "C" {
48167    pub fn g_file_info_get_attribute_uint64(
48168        info: *mut GFileInfo,
48169        attribute: *const ::std::os::raw::c_char,
48170    ) -> guint64;
48171}
48172extern "C" {
48173    pub fn g_file_info_get_attribute_int64(
48174        info: *mut GFileInfo,
48175        attribute: *const ::std::os::raw::c_char,
48176    ) -> gint64;
48177}
48178extern "C" {
48179    pub fn g_file_info_get_attribute_object(
48180        info: *mut GFileInfo,
48181        attribute: *const ::std::os::raw::c_char,
48182    ) -> *mut GObject;
48183}
48184extern "C" {
48185    pub fn g_file_info_get_attribute_stringv(
48186        info: *mut GFileInfo,
48187        attribute: *const ::std::os::raw::c_char,
48188    ) -> *mut *mut ::std::os::raw::c_char;
48189}
48190extern "C" {
48191    pub fn g_file_info_get_attribute_file_path(
48192        info: *mut GFileInfo,
48193        attribute: *const ::std::os::raw::c_char,
48194    ) -> *const ::std::os::raw::c_char;
48195}
48196extern "C" {
48197    pub fn g_file_info_set_attribute(
48198        info: *mut GFileInfo,
48199        attribute: *const ::std::os::raw::c_char,
48200        type_: GFileAttributeType,
48201        value_p: gpointer,
48202    );
48203}
48204extern "C" {
48205    pub fn g_file_info_set_attribute_string(
48206        info: *mut GFileInfo,
48207        attribute: *const ::std::os::raw::c_char,
48208        attr_value: *const ::std::os::raw::c_char,
48209    );
48210}
48211extern "C" {
48212    pub fn g_file_info_set_attribute_byte_string(
48213        info: *mut GFileInfo,
48214        attribute: *const ::std::os::raw::c_char,
48215        attr_value: *const ::std::os::raw::c_char,
48216    );
48217}
48218extern "C" {
48219    pub fn g_file_info_set_attribute_boolean(
48220        info: *mut GFileInfo,
48221        attribute: *const ::std::os::raw::c_char,
48222        attr_value: gboolean,
48223    );
48224}
48225extern "C" {
48226    pub fn g_file_info_set_attribute_uint32(
48227        info: *mut GFileInfo,
48228        attribute: *const ::std::os::raw::c_char,
48229        attr_value: guint32,
48230    );
48231}
48232extern "C" {
48233    pub fn g_file_info_set_attribute_int32(
48234        info: *mut GFileInfo,
48235        attribute: *const ::std::os::raw::c_char,
48236        attr_value: gint32,
48237    );
48238}
48239extern "C" {
48240    pub fn g_file_info_set_attribute_uint64(
48241        info: *mut GFileInfo,
48242        attribute: *const ::std::os::raw::c_char,
48243        attr_value: guint64,
48244    );
48245}
48246extern "C" {
48247    pub fn g_file_info_set_attribute_int64(
48248        info: *mut GFileInfo,
48249        attribute: *const ::std::os::raw::c_char,
48250        attr_value: gint64,
48251    );
48252}
48253extern "C" {
48254    pub fn g_file_info_set_attribute_object(
48255        info: *mut GFileInfo,
48256        attribute: *const ::std::os::raw::c_char,
48257        attr_value: *mut GObject,
48258    );
48259}
48260extern "C" {
48261    pub fn g_file_info_set_attribute_stringv(
48262        info: *mut GFileInfo,
48263        attribute: *const ::std::os::raw::c_char,
48264        attr_value: *mut *mut ::std::os::raw::c_char,
48265    );
48266}
48267extern "C" {
48268    pub fn g_file_info_set_attribute_file_path(
48269        info: *mut GFileInfo,
48270        attribute: *const ::std::os::raw::c_char,
48271        attr_value: *const ::std::os::raw::c_char,
48272    );
48273}
48274extern "C" {
48275    pub fn g_file_info_clear_status(info: *mut GFileInfo);
48276}
48277extern "C" {
48278    pub fn g_file_info_get_deletion_date(info: *mut GFileInfo) -> *mut GDateTime;
48279}
48280extern "C" {
48281    pub fn g_file_info_get_file_type(info: *mut GFileInfo) -> GFileType;
48282}
48283extern "C" {
48284    pub fn g_file_info_get_is_hidden(info: *mut GFileInfo) -> gboolean;
48285}
48286extern "C" {
48287    pub fn g_file_info_get_is_backup(info: *mut GFileInfo) -> gboolean;
48288}
48289extern "C" {
48290    pub fn g_file_info_get_is_symlink(info: *mut GFileInfo) -> gboolean;
48291}
48292extern "C" {
48293    pub fn g_file_info_get_name(info: *mut GFileInfo) -> *const ::std::os::raw::c_char;
48294}
48295extern "C" {
48296    pub fn g_file_info_get_display_name(info: *mut GFileInfo) -> *const ::std::os::raw::c_char;
48297}
48298extern "C" {
48299    pub fn g_file_info_get_edit_name(info: *mut GFileInfo) -> *const ::std::os::raw::c_char;
48300}
48301extern "C" {
48302    pub fn g_file_info_get_icon(info: *mut GFileInfo) -> *mut GIcon;
48303}
48304extern "C" {
48305    pub fn g_file_info_get_symbolic_icon(info: *mut GFileInfo) -> *mut GIcon;
48306}
48307extern "C" {
48308    pub fn g_file_info_get_content_type(info: *mut GFileInfo) -> *const ::std::os::raw::c_char;
48309}
48310extern "C" {
48311    pub fn g_file_info_get_size(info: *mut GFileInfo) -> goffset;
48312}
48313extern "C" {
48314    pub fn g_file_info_get_modification_time(info: *mut GFileInfo, result: *mut GTimeVal);
48315}
48316extern "C" {
48317    pub fn g_file_info_get_modification_date_time(info: *mut GFileInfo) -> *mut GDateTime;
48318}
48319extern "C" {
48320    pub fn g_file_info_get_access_date_time(info: *mut GFileInfo) -> *mut GDateTime;
48321}
48322extern "C" {
48323    pub fn g_file_info_get_creation_date_time(info: *mut GFileInfo) -> *mut GDateTime;
48324}
48325extern "C" {
48326    pub fn g_file_info_get_symlink_target(info: *mut GFileInfo) -> *const ::std::os::raw::c_char;
48327}
48328extern "C" {
48329    pub fn g_file_info_get_etag(info: *mut GFileInfo) -> *const ::std::os::raw::c_char;
48330}
48331extern "C" {
48332    pub fn g_file_info_get_sort_order(info: *mut GFileInfo) -> gint32;
48333}
48334extern "C" {
48335    pub fn g_file_info_set_attribute_mask(info: *mut GFileInfo, mask: *mut GFileAttributeMatcher);
48336}
48337extern "C" {
48338    pub fn g_file_info_unset_attribute_mask(info: *mut GFileInfo);
48339}
48340extern "C" {
48341    pub fn g_file_info_set_file_type(info: *mut GFileInfo, type_: GFileType);
48342}
48343extern "C" {
48344    pub fn g_file_info_set_is_hidden(info: *mut GFileInfo, is_hidden: gboolean);
48345}
48346extern "C" {
48347    pub fn g_file_info_set_is_symlink(info: *mut GFileInfo, is_symlink: gboolean);
48348}
48349extern "C" {
48350    pub fn g_file_info_set_name(info: *mut GFileInfo, name: *const ::std::os::raw::c_char);
48351}
48352extern "C" {
48353    pub fn g_file_info_set_display_name(
48354        info: *mut GFileInfo,
48355        display_name: *const ::std::os::raw::c_char,
48356    );
48357}
48358extern "C" {
48359    pub fn g_file_info_set_edit_name(
48360        info: *mut GFileInfo,
48361        edit_name: *const ::std::os::raw::c_char,
48362    );
48363}
48364extern "C" {
48365    pub fn g_file_info_set_icon(info: *mut GFileInfo, icon: *mut GIcon);
48366}
48367extern "C" {
48368    pub fn g_file_info_set_symbolic_icon(info: *mut GFileInfo, icon: *mut GIcon);
48369}
48370extern "C" {
48371    pub fn g_file_info_set_content_type(
48372        info: *mut GFileInfo,
48373        content_type: *const ::std::os::raw::c_char,
48374    );
48375}
48376extern "C" {
48377    pub fn g_file_info_set_size(info: *mut GFileInfo, size: goffset);
48378}
48379extern "C" {
48380    pub fn g_file_info_set_modification_time(info: *mut GFileInfo, mtime: *mut GTimeVal);
48381}
48382extern "C" {
48383    pub fn g_file_info_set_modification_date_time(info: *mut GFileInfo, mtime: *mut GDateTime);
48384}
48385extern "C" {
48386    pub fn g_file_info_set_access_date_time(info: *mut GFileInfo, atime: *mut GDateTime);
48387}
48388extern "C" {
48389    pub fn g_file_info_set_creation_date_time(info: *mut GFileInfo, creation_time: *mut GDateTime);
48390}
48391extern "C" {
48392    pub fn g_file_info_set_symlink_target(
48393        info: *mut GFileInfo,
48394        symlink_target: *const ::std::os::raw::c_char,
48395    );
48396}
48397extern "C" {
48398    pub fn g_file_info_set_sort_order(info: *mut GFileInfo, sort_order: gint32);
48399}
48400extern "C" {
48401    pub fn g_file_attribute_matcher_get_type() -> GType;
48402}
48403extern "C" {
48404    pub fn g_file_attribute_matcher_new(
48405        attributes: *const ::std::os::raw::c_char,
48406    ) -> *mut GFileAttributeMatcher;
48407}
48408extern "C" {
48409    pub fn g_file_attribute_matcher_ref(
48410        matcher: *mut GFileAttributeMatcher,
48411    ) -> *mut GFileAttributeMatcher;
48412}
48413extern "C" {
48414    pub fn g_file_attribute_matcher_unref(matcher: *mut GFileAttributeMatcher);
48415}
48416extern "C" {
48417    pub fn g_file_attribute_matcher_subtract(
48418        matcher: *mut GFileAttributeMatcher,
48419        subtract: *mut GFileAttributeMatcher,
48420    ) -> *mut GFileAttributeMatcher;
48421}
48422extern "C" {
48423    pub fn g_file_attribute_matcher_matches(
48424        matcher: *mut GFileAttributeMatcher,
48425        attribute: *const ::std::os::raw::c_char,
48426    ) -> gboolean;
48427}
48428extern "C" {
48429    pub fn g_file_attribute_matcher_matches_only(
48430        matcher: *mut GFileAttributeMatcher,
48431        attribute: *const ::std::os::raw::c_char,
48432    ) -> gboolean;
48433}
48434extern "C" {
48435    pub fn g_file_attribute_matcher_enumerate_namespace(
48436        matcher: *mut GFileAttributeMatcher,
48437        ns: *const ::std::os::raw::c_char,
48438    ) -> gboolean;
48439}
48440extern "C" {
48441    pub fn g_file_attribute_matcher_enumerate_next(
48442        matcher: *mut GFileAttributeMatcher,
48443    ) -> *const ::std::os::raw::c_char;
48444}
48445extern "C" {
48446    pub fn g_file_attribute_matcher_to_string(
48447        matcher: *mut GFileAttributeMatcher,
48448    ) -> *mut ::std::os::raw::c_char;
48449}
48450#[doc = " GFileInputStream:\n\n A subclass of GInputStream for opened files. This adds\n a few file-specific operations and seeking.\n\n #GFileInputStream implements #GSeekable."]
48451pub type GFileInputStreamClass = _GFileInputStreamClass;
48452#[repr(C)]
48453#[derive(Debug, Copy, Clone)]
48454pub struct _GFileInputStreamPrivate {
48455    _unused: [u8; 0],
48456}
48457pub type GFileInputStreamPrivate = _GFileInputStreamPrivate;
48458#[repr(C)]
48459#[derive(Debug, Copy, Clone, PartialEq, Eq)]
48460pub struct _GFileInputStream {
48461    pub parent_instance: GInputStream,
48462    pub priv_: *mut GFileInputStreamPrivate,
48463}
48464#[test]
48465fn bindgen_test_layout__GFileInputStream() {
48466    const UNINIT: ::std::mem::MaybeUninit<_GFileInputStream> = ::std::mem::MaybeUninit::uninit();
48467    let ptr = UNINIT.as_ptr();
48468    assert_eq!(
48469        ::std::mem::size_of::<_GFileInputStream>(),
48470        40usize,
48471        concat!("Size of: ", stringify!(_GFileInputStream))
48472    );
48473    assert_eq!(
48474        ::std::mem::align_of::<_GFileInputStream>(),
48475        8usize,
48476        concat!("Alignment of ", stringify!(_GFileInputStream))
48477    );
48478    assert_eq!(
48479        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
48480        0usize,
48481        concat!(
48482            "Offset of field: ",
48483            stringify!(_GFileInputStream),
48484            "::",
48485            stringify!(parent_instance)
48486        )
48487    );
48488    assert_eq!(
48489        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
48490        32usize,
48491        concat!(
48492            "Offset of field: ",
48493            stringify!(_GFileInputStream),
48494            "::",
48495            stringify!(priv_)
48496        )
48497    );
48498}
48499#[repr(C)]
48500#[derive(Debug, Copy, Clone, PartialEq, Eq)]
48501pub struct _GFileInputStreamClass {
48502    pub parent_class: GInputStreamClass,
48503    pub tell: ::std::option::Option<unsafe extern "C" fn(stream: *mut GFileInputStream) -> goffset>,
48504    pub can_seek:
48505        ::std::option::Option<unsafe extern "C" fn(stream: *mut GFileInputStream) -> gboolean>,
48506    pub seek: ::std::option::Option<
48507        unsafe extern "C" fn(
48508            stream: *mut GFileInputStream,
48509            offset: goffset,
48510            type_: GSeekType,
48511            cancellable: *mut GCancellable,
48512            error: *mut *mut GError,
48513        ) -> gboolean,
48514    >,
48515    pub query_info: ::std::option::Option<
48516        unsafe extern "C" fn(
48517            stream: *mut GFileInputStream,
48518            attributes: *const ::std::os::raw::c_char,
48519            cancellable: *mut GCancellable,
48520            error: *mut *mut GError,
48521        ) -> *mut GFileInfo,
48522    >,
48523    pub query_info_async: ::std::option::Option<
48524        unsafe extern "C" fn(
48525            stream: *mut GFileInputStream,
48526            attributes: *const ::std::os::raw::c_char,
48527            io_priority: ::std::os::raw::c_int,
48528            cancellable: *mut GCancellable,
48529            callback: GAsyncReadyCallback,
48530            user_data: gpointer,
48531        ),
48532    >,
48533    pub query_info_finish: ::std::option::Option<
48534        unsafe extern "C" fn(
48535            stream: *mut GFileInputStream,
48536            result: *mut GAsyncResult,
48537            error: *mut *mut GError,
48538        ) -> *mut GFileInfo,
48539    >,
48540    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
48541    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
48542    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
48543    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
48544    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
48545}
48546#[test]
48547fn bindgen_test_layout__GFileInputStreamClass() {
48548    const UNINIT: ::std::mem::MaybeUninit<_GFileInputStreamClass> =
48549        ::std::mem::MaybeUninit::uninit();
48550    let ptr = UNINIT.as_ptr();
48551    assert_eq!(
48552        ::std::mem::size_of::<_GFileInputStreamClass>(),
48553        336usize,
48554        concat!("Size of: ", stringify!(_GFileInputStreamClass))
48555    );
48556    assert_eq!(
48557        ::std::mem::align_of::<_GFileInputStreamClass>(),
48558        8usize,
48559        concat!("Alignment of ", stringify!(_GFileInputStreamClass))
48560    );
48561    assert_eq!(
48562        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
48563        0usize,
48564        concat!(
48565            "Offset of field: ",
48566            stringify!(_GFileInputStreamClass),
48567            "::",
48568            stringify!(parent_class)
48569        )
48570    );
48571    assert_eq!(
48572        unsafe { ::std::ptr::addr_of!((*ptr).tell) as usize - ptr as usize },
48573        248usize,
48574        concat!(
48575            "Offset of field: ",
48576            stringify!(_GFileInputStreamClass),
48577            "::",
48578            stringify!(tell)
48579        )
48580    );
48581    assert_eq!(
48582        unsafe { ::std::ptr::addr_of!((*ptr).can_seek) as usize - ptr as usize },
48583        256usize,
48584        concat!(
48585            "Offset of field: ",
48586            stringify!(_GFileInputStreamClass),
48587            "::",
48588            stringify!(can_seek)
48589        )
48590    );
48591    assert_eq!(
48592        unsafe { ::std::ptr::addr_of!((*ptr).seek) as usize - ptr as usize },
48593        264usize,
48594        concat!(
48595            "Offset of field: ",
48596            stringify!(_GFileInputStreamClass),
48597            "::",
48598            stringify!(seek)
48599        )
48600    );
48601    assert_eq!(
48602        unsafe { ::std::ptr::addr_of!((*ptr).query_info) as usize - ptr as usize },
48603        272usize,
48604        concat!(
48605            "Offset of field: ",
48606            stringify!(_GFileInputStreamClass),
48607            "::",
48608            stringify!(query_info)
48609        )
48610    );
48611    assert_eq!(
48612        unsafe { ::std::ptr::addr_of!((*ptr).query_info_async) as usize - ptr as usize },
48613        280usize,
48614        concat!(
48615            "Offset of field: ",
48616            stringify!(_GFileInputStreamClass),
48617            "::",
48618            stringify!(query_info_async)
48619        )
48620    );
48621    assert_eq!(
48622        unsafe { ::std::ptr::addr_of!((*ptr).query_info_finish) as usize - ptr as usize },
48623        288usize,
48624        concat!(
48625            "Offset of field: ",
48626            stringify!(_GFileInputStreamClass),
48627            "::",
48628            stringify!(query_info_finish)
48629        )
48630    );
48631    assert_eq!(
48632        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
48633        296usize,
48634        concat!(
48635            "Offset of field: ",
48636            stringify!(_GFileInputStreamClass),
48637            "::",
48638            stringify!(_g_reserved1)
48639        )
48640    );
48641    assert_eq!(
48642        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
48643        304usize,
48644        concat!(
48645            "Offset of field: ",
48646            stringify!(_GFileInputStreamClass),
48647            "::",
48648            stringify!(_g_reserved2)
48649        )
48650    );
48651    assert_eq!(
48652        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
48653        312usize,
48654        concat!(
48655            "Offset of field: ",
48656            stringify!(_GFileInputStreamClass),
48657            "::",
48658            stringify!(_g_reserved3)
48659        )
48660    );
48661    assert_eq!(
48662        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
48663        320usize,
48664        concat!(
48665            "Offset of field: ",
48666            stringify!(_GFileInputStreamClass),
48667            "::",
48668            stringify!(_g_reserved4)
48669        )
48670    );
48671    assert_eq!(
48672        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
48673        328usize,
48674        concat!(
48675            "Offset of field: ",
48676            stringify!(_GFileInputStreamClass),
48677            "::",
48678            stringify!(_g_reserved5)
48679        )
48680    );
48681}
48682extern "C" {
48683    pub fn g_file_input_stream_get_type() -> GType;
48684}
48685extern "C" {
48686    pub fn g_file_input_stream_query_info(
48687        stream: *mut GFileInputStream,
48688        attributes: *const ::std::os::raw::c_char,
48689        cancellable: *mut GCancellable,
48690        error: *mut *mut GError,
48691    ) -> *mut GFileInfo;
48692}
48693extern "C" {
48694    pub fn g_file_input_stream_query_info_async(
48695        stream: *mut GFileInputStream,
48696        attributes: *const ::std::os::raw::c_char,
48697        io_priority: ::std::os::raw::c_int,
48698        cancellable: *mut GCancellable,
48699        callback: GAsyncReadyCallback,
48700        user_data: gpointer,
48701    );
48702}
48703extern "C" {
48704    pub fn g_file_input_stream_query_info_finish(
48705        stream: *mut GFileInputStream,
48706        result: *mut GAsyncResult,
48707        error: *mut *mut GError,
48708    ) -> *mut GFileInfo;
48709}
48710extern "C" {
48711    pub fn g_io_error_quark() -> GQuark;
48712}
48713extern "C" {
48714    pub fn g_io_error_from_errno(err_no: gint) -> GIOErrorEnum;
48715}
48716extern "C" {
48717    pub fn g_io_error_from_file_error(file_error: GFileError) -> GIOErrorEnum;
48718}
48719#[repr(C)]
48720#[derive(Debug, Copy, Clone)]
48721pub struct _GIOStreamPrivate {
48722    _unused: [u8; 0],
48723}
48724pub type GIOStreamPrivate = _GIOStreamPrivate;
48725pub type GIOStreamClass = _GIOStreamClass;
48726#[doc = " GIOStream:\n\n Base class for read-write streams."]
48727#[repr(C)]
48728#[derive(Debug, Copy, Clone, PartialEq, Eq)]
48729pub struct _GIOStream {
48730    pub parent_instance: GObject,
48731    pub priv_: *mut GIOStreamPrivate,
48732}
48733#[test]
48734fn bindgen_test_layout__GIOStream() {
48735    const UNINIT: ::std::mem::MaybeUninit<_GIOStream> = ::std::mem::MaybeUninit::uninit();
48736    let ptr = UNINIT.as_ptr();
48737    assert_eq!(
48738        ::std::mem::size_of::<_GIOStream>(),
48739        32usize,
48740        concat!("Size of: ", stringify!(_GIOStream))
48741    );
48742    assert_eq!(
48743        ::std::mem::align_of::<_GIOStream>(),
48744        8usize,
48745        concat!("Alignment of ", stringify!(_GIOStream))
48746    );
48747    assert_eq!(
48748        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
48749        0usize,
48750        concat!(
48751            "Offset of field: ",
48752            stringify!(_GIOStream),
48753            "::",
48754            stringify!(parent_instance)
48755        )
48756    );
48757    assert_eq!(
48758        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
48759        24usize,
48760        concat!(
48761            "Offset of field: ",
48762            stringify!(_GIOStream),
48763            "::",
48764            stringify!(priv_)
48765        )
48766    );
48767}
48768#[repr(C)]
48769#[derive(Debug, Copy, Clone, PartialEq, Eq)]
48770pub struct _GIOStreamClass {
48771    pub parent_class: GObjectClass,
48772    pub get_input_stream:
48773        ::std::option::Option<unsafe extern "C" fn(stream: *mut GIOStream) -> *mut GInputStream>,
48774    pub get_output_stream:
48775        ::std::option::Option<unsafe extern "C" fn(stream: *mut GIOStream) -> *mut GOutputStream>,
48776    pub close_fn: ::std::option::Option<
48777        unsafe extern "C" fn(
48778            stream: *mut GIOStream,
48779            cancellable: *mut GCancellable,
48780            error: *mut *mut GError,
48781        ) -> gboolean,
48782    >,
48783    pub close_async: ::std::option::Option<
48784        unsafe extern "C" fn(
48785            stream: *mut GIOStream,
48786            io_priority: ::std::os::raw::c_int,
48787            cancellable: *mut GCancellable,
48788            callback: GAsyncReadyCallback,
48789            user_data: gpointer,
48790        ),
48791    >,
48792    pub close_finish: ::std::option::Option<
48793        unsafe extern "C" fn(
48794            stream: *mut GIOStream,
48795            result: *mut GAsyncResult,
48796            error: *mut *mut GError,
48797        ) -> gboolean,
48798    >,
48799    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
48800    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
48801    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
48802    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
48803    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
48804    pub _g_reserved6: ::std::option::Option<unsafe extern "C" fn()>,
48805    pub _g_reserved7: ::std::option::Option<unsafe extern "C" fn()>,
48806    pub _g_reserved8: ::std::option::Option<unsafe extern "C" fn()>,
48807    pub _g_reserved9: ::std::option::Option<unsafe extern "C" fn()>,
48808    pub _g_reserved10: ::std::option::Option<unsafe extern "C" fn()>,
48809}
48810#[test]
48811fn bindgen_test_layout__GIOStreamClass() {
48812    const UNINIT: ::std::mem::MaybeUninit<_GIOStreamClass> = ::std::mem::MaybeUninit::uninit();
48813    let ptr = UNINIT.as_ptr();
48814    assert_eq!(
48815        ::std::mem::size_of::<_GIOStreamClass>(),
48816        256usize,
48817        concat!("Size of: ", stringify!(_GIOStreamClass))
48818    );
48819    assert_eq!(
48820        ::std::mem::align_of::<_GIOStreamClass>(),
48821        8usize,
48822        concat!("Alignment of ", stringify!(_GIOStreamClass))
48823    );
48824    assert_eq!(
48825        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
48826        0usize,
48827        concat!(
48828            "Offset of field: ",
48829            stringify!(_GIOStreamClass),
48830            "::",
48831            stringify!(parent_class)
48832        )
48833    );
48834    assert_eq!(
48835        unsafe { ::std::ptr::addr_of!((*ptr).get_input_stream) as usize - ptr as usize },
48836        136usize,
48837        concat!(
48838            "Offset of field: ",
48839            stringify!(_GIOStreamClass),
48840            "::",
48841            stringify!(get_input_stream)
48842        )
48843    );
48844    assert_eq!(
48845        unsafe { ::std::ptr::addr_of!((*ptr).get_output_stream) as usize - ptr as usize },
48846        144usize,
48847        concat!(
48848            "Offset of field: ",
48849            stringify!(_GIOStreamClass),
48850            "::",
48851            stringify!(get_output_stream)
48852        )
48853    );
48854    assert_eq!(
48855        unsafe { ::std::ptr::addr_of!((*ptr).close_fn) as usize - ptr as usize },
48856        152usize,
48857        concat!(
48858            "Offset of field: ",
48859            stringify!(_GIOStreamClass),
48860            "::",
48861            stringify!(close_fn)
48862        )
48863    );
48864    assert_eq!(
48865        unsafe { ::std::ptr::addr_of!((*ptr).close_async) as usize - ptr as usize },
48866        160usize,
48867        concat!(
48868            "Offset of field: ",
48869            stringify!(_GIOStreamClass),
48870            "::",
48871            stringify!(close_async)
48872        )
48873    );
48874    assert_eq!(
48875        unsafe { ::std::ptr::addr_of!((*ptr).close_finish) as usize - ptr as usize },
48876        168usize,
48877        concat!(
48878            "Offset of field: ",
48879            stringify!(_GIOStreamClass),
48880            "::",
48881            stringify!(close_finish)
48882        )
48883    );
48884    assert_eq!(
48885        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
48886        176usize,
48887        concat!(
48888            "Offset of field: ",
48889            stringify!(_GIOStreamClass),
48890            "::",
48891            stringify!(_g_reserved1)
48892        )
48893    );
48894    assert_eq!(
48895        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
48896        184usize,
48897        concat!(
48898            "Offset of field: ",
48899            stringify!(_GIOStreamClass),
48900            "::",
48901            stringify!(_g_reserved2)
48902        )
48903    );
48904    assert_eq!(
48905        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
48906        192usize,
48907        concat!(
48908            "Offset of field: ",
48909            stringify!(_GIOStreamClass),
48910            "::",
48911            stringify!(_g_reserved3)
48912        )
48913    );
48914    assert_eq!(
48915        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
48916        200usize,
48917        concat!(
48918            "Offset of field: ",
48919            stringify!(_GIOStreamClass),
48920            "::",
48921            stringify!(_g_reserved4)
48922        )
48923    );
48924    assert_eq!(
48925        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
48926        208usize,
48927        concat!(
48928            "Offset of field: ",
48929            stringify!(_GIOStreamClass),
48930            "::",
48931            stringify!(_g_reserved5)
48932        )
48933    );
48934    assert_eq!(
48935        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved6) as usize - ptr as usize },
48936        216usize,
48937        concat!(
48938            "Offset of field: ",
48939            stringify!(_GIOStreamClass),
48940            "::",
48941            stringify!(_g_reserved6)
48942        )
48943    );
48944    assert_eq!(
48945        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved7) as usize - ptr as usize },
48946        224usize,
48947        concat!(
48948            "Offset of field: ",
48949            stringify!(_GIOStreamClass),
48950            "::",
48951            stringify!(_g_reserved7)
48952        )
48953    );
48954    assert_eq!(
48955        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved8) as usize - ptr as usize },
48956        232usize,
48957        concat!(
48958            "Offset of field: ",
48959            stringify!(_GIOStreamClass),
48960            "::",
48961            stringify!(_g_reserved8)
48962        )
48963    );
48964    assert_eq!(
48965        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved9) as usize - ptr as usize },
48966        240usize,
48967        concat!(
48968            "Offset of field: ",
48969            stringify!(_GIOStreamClass),
48970            "::",
48971            stringify!(_g_reserved9)
48972        )
48973    );
48974    assert_eq!(
48975        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved10) as usize - ptr as usize },
48976        248usize,
48977        concat!(
48978            "Offset of field: ",
48979            stringify!(_GIOStreamClass),
48980            "::",
48981            stringify!(_g_reserved10)
48982        )
48983    );
48984}
48985extern "C" {
48986    pub fn g_io_stream_get_type() -> GType;
48987}
48988extern "C" {
48989    pub fn g_io_stream_get_input_stream(stream: *mut GIOStream) -> *mut GInputStream;
48990}
48991extern "C" {
48992    pub fn g_io_stream_get_output_stream(stream: *mut GIOStream) -> *mut GOutputStream;
48993}
48994extern "C" {
48995    pub fn g_io_stream_splice_async(
48996        stream1: *mut GIOStream,
48997        stream2: *mut GIOStream,
48998        flags: GIOStreamSpliceFlags,
48999        io_priority: ::std::os::raw::c_int,
49000        cancellable: *mut GCancellable,
49001        callback: GAsyncReadyCallback,
49002        user_data: gpointer,
49003    );
49004}
49005extern "C" {
49006    pub fn g_io_stream_splice_finish(
49007        result: *mut GAsyncResult,
49008        error: *mut *mut GError,
49009    ) -> gboolean;
49010}
49011extern "C" {
49012    pub fn g_io_stream_close(
49013        stream: *mut GIOStream,
49014        cancellable: *mut GCancellable,
49015        error: *mut *mut GError,
49016    ) -> gboolean;
49017}
49018extern "C" {
49019    pub fn g_io_stream_close_async(
49020        stream: *mut GIOStream,
49021        io_priority: ::std::os::raw::c_int,
49022        cancellable: *mut GCancellable,
49023        callback: GAsyncReadyCallback,
49024        user_data: gpointer,
49025    );
49026}
49027extern "C" {
49028    pub fn g_io_stream_close_finish(
49029        stream: *mut GIOStream,
49030        result: *mut GAsyncResult,
49031        error: *mut *mut GError,
49032    ) -> gboolean;
49033}
49034extern "C" {
49035    pub fn g_io_stream_is_closed(stream: *mut GIOStream) -> gboolean;
49036}
49037extern "C" {
49038    pub fn g_io_stream_has_pending(stream: *mut GIOStream) -> gboolean;
49039}
49040extern "C" {
49041    pub fn g_io_stream_set_pending(stream: *mut GIOStream, error: *mut *mut GError) -> gboolean;
49042}
49043extern "C" {
49044    pub fn g_io_stream_clear_pending(stream: *mut GIOStream);
49045}
49046#[doc = " GFileIOStream:\n\n A subclass of GIOStream for opened files. This adds\n a few file-specific operations and seeking and truncating.\n\n #GFileIOStream implements GSeekable."]
49047pub type GFileIOStreamClass = _GFileIOStreamClass;
49048#[repr(C)]
49049#[derive(Debug, Copy, Clone)]
49050pub struct _GFileIOStreamPrivate {
49051    _unused: [u8; 0],
49052}
49053pub type GFileIOStreamPrivate = _GFileIOStreamPrivate;
49054#[repr(C)]
49055#[derive(Debug, Copy, Clone, PartialEq, Eq)]
49056pub struct _GFileIOStream {
49057    pub parent_instance: GIOStream,
49058    pub priv_: *mut GFileIOStreamPrivate,
49059}
49060#[test]
49061fn bindgen_test_layout__GFileIOStream() {
49062    const UNINIT: ::std::mem::MaybeUninit<_GFileIOStream> = ::std::mem::MaybeUninit::uninit();
49063    let ptr = UNINIT.as_ptr();
49064    assert_eq!(
49065        ::std::mem::size_of::<_GFileIOStream>(),
49066        40usize,
49067        concat!("Size of: ", stringify!(_GFileIOStream))
49068    );
49069    assert_eq!(
49070        ::std::mem::align_of::<_GFileIOStream>(),
49071        8usize,
49072        concat!("Alignment of ", stringify!(_GFileIOStream))
49073    );
49074    assert_eq!(
49075        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
49076        0usize,
49077        concat!(
49078            "Offset of field: ",
49079            stringify!(_GFileIOStream),
49080            "::",
49081            stringify!(parent_instance)
49082        )
49083    );
49084    assert_eq!(
49085        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
49086        32usize,
49087        concat!(
49088            "Offset of field: ",
49089            stringify!(_GFileIOStream),
49090            "::",
49091            stringify!(priv_)
49092        )
49093    );
49094}
49095#[repr(C)]
49096#[derive(Debug, Copy, Clone, PartialEq, Eq)]
49097pub struct _GFileIOStreamClass {
49098    pub parent_class: GIOStreamClass,
49099    pub tell: ::std::option::Option<unsafe extern "C" fn(stream: *mut GFileIOStream) -> goffset>,
49100    pub can_seek:
49101        ::std::option::Option<unsafe extern "C" fn(stream: *mut GFileIOStream) -> gboolean>,
49102    pub seek: ::std::option::Option<
49103        unsafe extern "C" fn(
49104            stream: *mut GFileIOStream,
49105            offset: goffset,
49106            type_: GSeekType,
49107            cancellable: *mut GCancellable,
49108            error: *mut *mut GError,
49109        ) -> gboolean,
49110    >,
49111    pub can_truncate:
49112        ::std::option::Option<unsafe extern "C" fn(stream: *mut GFileIOStream) -> gboolean>,
49113    pub truncate_fn: ::std::option::Option<
49114        unsafe extern "C" fn(
49115            stream: *mut GFileIOStream,
49116            size: goffset,
49117            cancellable: *mut GCancellable,
49118            error: *mut *mut GError,
49119        ) -> gboolean,
49120    >,
49121    pub query_info: ::std::option::Option<
49122        unsafe extern "C" fn(
49123            stream: *mut GFileIOStream,
49124            attributes: *const ::std::os::raw::c_char,
49125            cancellable: *mut GCancellable,
49126            error: *mut *mut GError,
49127        ) -> *mut GFileInfo,
49128    >,
49129    pub query_info_async: ::std::option::Option<
49130        unsafe extern "C" fn(
49131            stream: *mut GFileIOStream,
49132            attributes: *const ::std::os::raw::c_char,
49133            io_priority: ::std::os::raw::c_int,
49134            cancellable: *mut GCancellable,
49135            callback: GAsyncReadyCallback,
49136            user_data: gpointer,
49137        ),
49138    >,
49139    pub query_info_finish: ::std::option::Option<
49140        unsafe extern "C" fn(
49141            stream: *mut GFileIOStream,
49142            result: *mut GAsyncResult,
49143            error: *mut *mut GError,
49144        ) -> *mut GFileInfo,
49145    >,
49146    pub get_etag: ::std::option::Option<
49147        unsafe extern "C" fn(stream: *mut GFileIOStream) -> *mut ::std::os::raw::c_char,
49148    >,
49149    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
49150    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
49151    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
49152    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
49153    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
49154}
49155#[test]
49156fn bindgen_test_layout__GFileIOStreamClass() {
49157    const UNINIT: ::std::mem::MaybeUninit<_GFileIOStreamClass> = ::std::mem::MaybeUninit::uninit();
49158    let ptr = UNINIT.as_ptr();
49159    assert_eq!(
49160        ::std::mem::size_of::<_GFileIOStreamClass>(),
49161        368usize,
49162        concat!("Size of: ", stringify!(_GFileIOStreamClass))
49163    );
49164    assert_eq!(
49165        ::std::mem::align_of::<_GFileIOStreamClass>(),
49166        8usize,
49167        concat!("Alignment of ", stringify!(_GFileIOStreamClass))
49168    );
49169    assert_eq!(
49170        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
49171        0usize,
49172        concat!(
49173            "Offset of field: ",
49174            stringify!(_GFileIOStreamClass),
49175            "::",
49176            stringify!(parent_class)
49177        )
49178    );
49179    assert_eq!(
49180        unsafe { ::std::ptr::addr_of!((*ptr).tell) as usize - ptr as usize },
49181        256usize,
49182        concat!(
49183            "Offset of field: ",
49184            stringify!(_GFileIOStreamClass),
49185            "::",
49186            stringify!(tell)
49187        )
49188    );
49189    assert_eq!(
49190        unsafe { ::std::ptr::addr_of!((*ptr).can_seek) as usize - ptr as usize },
49191        264usize,
49192        concat!(
49193            "Offset of field: ",
49194            stringify!(_GFileIOStreamClass),
49195            "::",
49196            stringify!(can_seek)
49197        )
49198    );
49199    assert_eq!(
49200        unsafe { ::std::ptr::addr_of!((*ptr).seek) as usize - ptr as usize },
49201        272usize,
49202        concat!(
49203            "Offset of field: ",
49204            stringify!(_GFileIOStreamClass),
49205            "::",
49206            stringify!(seek)
49207        )
49208    );
49209    assert_eq!(
49210        unsafe { ::std::ptr::addr_of!((*ptr).can_truncate) as usize - ptr as usize },
49211        280usize,
49212        concat!(
49213            "Offset of field: ",
49214            stringify!(_GFileIOStreamClass),
49215            "::",
49216            stringify!(can_truncate)
49217        )
49218    );
49219    assert_eq!(
49220        unsafe { ::std::ptr::addr_of!((*ptr).truncate_fn) as usize - ptr as usize },
49221        288usize,
49222        concat!(
49223            "Offset of field: ",
49224            stringify!(_GFileIOStreamClass),
49225            "::",
49226            stringify!(truncate_fn)
49227        )
49228    );
49229    assert_eq!(
49230        unsafe { ::std::ptr::addr_of!((*ptr).query_info) as usize - ptr as usize },
49231        296usize,
49232        concat!(
49233            "Offset of field: ",
49234            stringify!(_GFileIOStreamClass),
49235            "::",
49236            stringify!(query_info)
49237        )
49238    );
49239    assert_eq!(
49240        unsafe { ::std::ptr::addr_of!((*ptr).query_info_async) as usize - ptr as usize },
49241        304usize,
49242        concat!(
49243            "Offset of field: ",
49244            stringify!(_GFileIOStreamClass),
49245            "::",
49246            stringify!(query_info_async)
49247        )
49248    );
49249    assert_eq!(
49250        unsafe { ::std::ptr::addr_of!((*ptr).query_info_finish) as usize - ptr as usize },
49251        312usize,
49252        concat!(
49253            "Offset of field: ",
49254            stringify!(_GFileIOStreamClass),
49255            "::",
49256            stringify!(query_info_finish)
49257        )
49258    );
49259    assert_eq!(
49260        unsafe { ::std::ptr::addr_of!((*ptr).get_etag) as usize - ptr as usize },
49261        320usize,
49262        concat!(
49263            "Offset of field: ",
49264            stringify!(_GFileIOStreamClass),
49265            "::",
49266            stringify!(get_etag)
49267        )
49268    );
49269    assert_eq!(
49270        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
49271        328usize,
49272        concat!(
49273            "Offset of field: ",
49274            stringify!(_GFileIOStreamClass),
49275            "::",
49276            stringify!(_g_reserved1)
49277        )
49278    );
49279    assert_eq!(
49280        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
49281        336usize,
49282        concat!(
49283            "Offset of field: ",
49284            stringify!(_GFileIOStreamClass),
49285            "::",
49286            stringify!(_g_reserved2)
49287        )
49288    );
49289    assert_eq!(
49290        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
49291        344usize,
49292        concat!(
49293            "Offset of field: ",
49294            stringify!(_GFileIOStreamClass),
49295            "::",
49296            stringify!(_g_reserved3)
49297        )
49298    );
49299    assert_eq!(
49300        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
49301        352usize,
49302        concat!(
49303            "Offset of field: ",
49304            stringify!(_GFileIOStreamClass),
49305            "::",
49306            stringify!(_g_reserved4)
49307        )
49308    );
49309    assert_eq!(
49310        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
49311        360usize,
49312        concat!(
49313            "Offset of field: ",
49314            stringify!(_GFileIOStreamClass),
49315            "::",
49316            stringify!(_g_reserved5)
49317        )
49318    );
49319}
49320extern "C" {
49321    pub fn g_file_io_stream_get_type() -> GType;
49322}
49323extern "C" {
49324    pub fn g_file_io_stream_query_info(
49325        stream: *mut GFileIOStream,
49326        attributes: *const ::std::os::raw::c_char,
49327        cancellable: *mut GCancellable,
49328        error: *mut *mut GError,
49329    ) -> *mut GFileInfo;
49330}
49331extern "C" {
49332    pub fn g_file_io_stream_query_info_async(
49333        stream: *mut GFileIOStream,
49334        attributes: *const ::std::os::raw::c_char,
49335        io_priority: ::std::os::raw::c_int,
49336        cancellable: *mut GCancellable,
49337        callback: GAsyncReadyCallback,
49338        user_data: gpointer,
49339    );
49340}
49341extern "C" {
49342    pub fn g_file_io_stream_query_info_finish(
49343        stream: *mut GFileIOStream,
49344        result: *mut GAsyncResult,
49345        error: *mut *mut GError,
49346    ) -> *mut GFileInfo;
49347}
49348extern "C" {
49349    pub fn g_file_io_stream_get_etag(stream: *mut GFileIOStream) -> *mut ::std::os::raw::c_char;
49350}
49351pub type GFileMonitorClass = _GFileMonitorClass;
49352#[repr(C)]
49353#[derive(Debug, Copy, Clone)]
49354pub struct _GFileMonitorPrivate {
49355    _unused: [u8; 0],
49356}
49357pub type GFileMonitorPrivate = _GFileMonitorPrivate;
49358#[doc = " GFileMonitor:\n\n Watches for changes to a file."]
49359#[repr(C)]
49360#[derive(Debug, Copy, Clone, PartialEq, Eq)]
49361pub struct _GFileMonitor {
49362    pub parent_instance: GObject,
49363    pub priv_: *mut GFileMonitorPrivate,
49364}
49365#[test]
49366fn bindgen_test_layout__GFileMonitor() {
49367    const UNINIT: ::std::mem::MaybeUninit<_GFileMonitor> = ::std::mem::MaybeUninit::uninit();
49368    let ptr = UNINIT.as_ptr();
49369    assert_eq!(
49370        ::std::mem::size_of::<_GFileMonitor>(),
49371        32usize,
49372        concat!("Size of: ", stringify!(_GFileMonitor))
49373    );
49374    assert_eq!(
49375        ::std::mem::align_of::<_GFileMonitor>(),
49376        8usize,
49377        concat!("Alignment of ", stringify!(_GFileMonitor))
49378    );
49379    assert_eq!(
49380        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
49381        0usize,
49382        concat!(
49383            "Offset of field: ",
49384            stringify!(_GFileMonitor),
49385            "::",
49386            stringify!(parent_instance)
49387        )
49388    );
49389    assert_eq!(
49390        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
49391        24usize,
49392        concat!(
49393            "Offset of field: ",
49394            stringify!(_GFileMonitor),
49395            "::",
49396            stringify!(priv_)
49397        )
49398    );
49399}
49400#[repr(C)]
49401#[derive(Debug, Copy, Clone, PartialEq, Eq)]
49402pub struct _GFileMonitorClass {
49403    pub parent_class: GObjectClass,
49404    pub changed: ::std::option::Option<
49405        unsafe extern "C" fn(
49406            monitor: *mut GFileMonitor,
49407            file: *mut GFile,
49408            other_file: *mut GFile,
49409            event_type: GFileMonitorEvent,
49410        ),
49411    >,
49412    pub cancel: ::std::option::Option<unsafe extern "C" fn(monitor: *mut GFileMonitor) -> gboolean>,
49413    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
49414    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
49415    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
49416    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
49417    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
49418}
49419#[test]
49420fn bindgen_test_layout__GFileMonitorClass() {
49421    const UNINIT: ::std::mem::MaybeUninit<_GFileMonitorClass> = ::std::mem::MaybeUninit::uninit();
49422    let ptr = UNINIT.as_ptr();
49423    assert_eq!(
49424        ::std::mem::size_of::<_GFileMonitorClass>(),
49425        192usize,
49426        concat!("Size of: ", stringify!(_GFileMonitorClass))
49427    );
49428    assert_eq!(
49429        ::std::mem::align_of::<_GFileMonitorClass>(),
49430        8usize,
49431        concat!("Alignment of ", stringify!(_GFileMonitorClass))
49432    );
49433    assert_eq!(
49434        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
49435        0usize,
49436        concat!(
49437            "Offset of field: ",
49438            stringify!(_GFileMonitorClass),
49439            "::",
49440            stringify!(parent_class)
49441        )
49442    );
49443    assert_eq!(
49444        unsafe { ::std::ptr::addr_of!((*ptr).changed) as usize - ptr as usize },
49445        136usize,
49446        concat!(
49447            "Offset of field: ",
49448            stringify!(_GFileMonitorClass),
49449            "::",
49450            stringify!(changed)
49451        )
49452    );
49453    assert_eq!(
49454        unsafe { ::std::ptr::addr_of!((*ptr).cancel) as usize - ptr as usize },
49455        144usize,
49456        concat!(
49457            "Offset of field: ",
49458            stringify!(_GFileMonitorClass),
49459            "::",
49460            stringify!(cancel)
49461        )
49462    );
49463    assert_eq!(
49464        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
49465        152usize,
49466        concat!(
49467            "Offset of field: ",
49468            stringify!(_GFileMonitorClass),
49469            "::",
49470            stringify!(_g_reserved1)
49471        )
49472    );
49473    assert_eq!(
49474        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
49475        160usize,
49476        concat!(
49477            "Offset of field: ",
49478            stringify!(_GFileMonitorClass),
49479            "::",
49480            stringify!(_g_reserved2)
49481        )
49482    );
49483    assert_eq!(
49484        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
49485        168usize,
49486        concat!(
49487            "Offset of field: ",
49488            stringify!(_GFileMonitorClass),
49489            "::",
49490            stringify!(_g_reserved3)
49491        )
49492    );
49493    assert_eq!(
49494        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
49495        176usize,
49496        concat!(
49497            "Offset of field: ",
49498            stringify!(_GFileMonitorClass),
49499            "::",
49500            stringify!(_g_reserved4)
49501        )
49502    );
49503    assert_eq!(
49504        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
49505        184usize,
49506        concat!(
49507            "Offset of field: ",
49508            stringify!(_GFileMonitorClass),
49509            "::",
49510            stringify!(_g_reserved5)
49511        )
49512    );
49513}
49514extern "C" {
49515    pub fn g_file_monitor_get_type() -> GType;
49516}
49517extern "C" {
49518    pub fn g_file_monitor_cancel(monitor: *mut GFileMonitor) -> gboolean;
49519}
49520extern "C" {
49521    pub fn g_file_monitor_is_cancelled(monitor: *mut GFileMonitor) -> gboolean;
49522}
49523extern "C" {
49524    pub fn g_file_monitor_set_rate_limit(monitor: *mut GFileMonitor, limit_msecs: gint);
49525}
49526extern "C" {
49527    pub fn g_file_monitor_emit_event(
49528        monitor: *mut GFileMonitor,
49529        child: *mut GFile,
49530        other_file: *mut GFile,
49531        event_type: GFileMonitorEvent,
49532    );
49533}
49534#[doc = " GFilenameCompleter:\n\n Completes filenames based on files that exist within the file system."]
49535pub type GFilenameCompleterClass = _GFilenameCompleterClass;
49536#[repr(C)]
49537#[derive(Debug, Copy, Clone, PartialEq, Eq)]
49538pub struct _GFilenameCompleterClass {
49539    pub parent_class: GObjectClass,
49540    pub got_completion_data:
49541        ::std::option::Option<unsafe extern "C" fn(filename_completer: *mut GFilenameCompleter)>,
49542    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
49543    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
49544    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
49545}
49546#[test]
49547fn bindgen_test_layout__GFilenameCompleterClass() {
49548    const UNINIT: ::std::mem::MaybeUninit<_GFilenameCompleterClass> =
49549        ::std::mem::MaybeUninit::uninit();
49550    let ptr = UNINIT.as_ptr();
49551    assert_eq!(
49552        ::std::mem::size_of::<_GFilenameCompleterClass>(),
49553        168usize,
49554        concat!("Size of: ", stringify!(_GFilenameCompleterClass))
49555    );
49556    assert_eq!(
49557        ::std::mem::align_of::<_GFilenameCompleterClass>(),
49558        8usize,
49559        concat!("Alignment of ", stringify!(_GFilenameCompleterClass))
49560    );
49561    assert_eq!(
49562        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
49563        0usize,
49564        concat!(
49565            "Offset of field: ",
49566            stringify!(_GFilenameCompleterClass),
49567            "::",
49568            stringify!(parent_class)
49569        )
49570    );
49571    assert_eq!(
49572        unsafe { ::std::ptr::addr_of!((*ptr).got_completion_data) as usize - ptr as usize },
49573        136usize,
49574        concat!(
49575            "Offset of field: ",
49576            stringify!(_GFilenameCompleterClass),
49577            "::",
49578            stringify!(got_completion_data)
49579        )
49580    );
49581    assert_eq!(
49582        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
49583        144usize,
49584        concat!(
49585            "Offset of field: ",
49586            stringify!(_GFilenameCompleterClass),
49587            "::",
49588            stringify!(_g_reserved1)
49589        )
49590    );
49591    assert_eq!(
49592        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
49593        152usize,
49594        concat!(
49595            "Offset of field: ",
49596            stringify!(_GFilenameCompleterClass),
49597            "::",
49598            stringify!(_g_reserved2)
49599        )
49600    );
49601    assert_eq!(
49602        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
49603        160usize,
49604        concat!(
49605            "Offset of field: ",
49606            stringify!(_GFilenameCompleterClass),
49607            "::",
49608            stringify!(_g_reserved3)
49609        )
49610    );
49611}
49612extern "C" {
49613    pub fn g_filename_completer_get_type() -> GType;
49614}
49615extern "C" {
49616    pub fn g_filename_completer_new() -> *mut GFilenameCompleter;
49617}
49618extern "C" {
49619    pub fn g_filename_completer_get_completion_suffix(
49620        completer: *mut GFilenameCompleter,
49621        initial_text: *const ::std::os::raw::c_char,
49622    ) -> *mut ::std::os::raw::c_char;
49623}
49624extern "C" {
49625    pub fn g_filename_completer_get_completions(
49626        completer: *mut GFilenameCompleter,
49627        initial_text: *const ::std::os::raw::c_char,
49628    ) -> *mut *mut ::std::os::raw::c_char;
49629}
49630extern "C" {
49631    pub fn g_filename_completer_set_dirs_only(
49632        completer: *mut GFilenameCompleter,
49633        dirs_only: gboolean,
49634    );
49635}
49636#[doc = " GFileOutputStream:\n\n A subclass of GOutputStream for opened files. This adds\n a few file-specific operations and seeking and truncating.\n\n #GFileOutputStream implements GSeekable."]
49637pub type GFileOutputStreamClass = _GFileOutputStreamClass;
49638#[repr(C)]
49639#[derive(Debug, Copy, Clone)]
49640pub struct _GFileOutputStreamPrivate {
49641    _unused: [u8; 0],
49642}
49643pub type GFileOutputStreamPrivate = _GFileOutputStreamPrivate;
49644#[repr(C)]
49645#[derive(Debug, Copy, Clone, PartialEq, Eq)]
49646pub struct _GFileOutputStream {
49647    pub parent_instance: GOutputStream,
49648    pub priv_: *mut GFileOutputStreamPrivate,
49649}
49650#[test]
49651fn bindgen_test_layout__GFileOutputStream() {
49652    const UNINIT: ::std::mem::MaybeUninit<_GFileOutputStream> = ::std::mem::MaybeUninit::uninit();
49653    let ptr = UNINIT.as_ptr();
49654    assert_eq!(
49655        ::std::mem::size_of::<_GFileOutputStream>(),
49656        40usize,
49657        concat!("Size of: ", stringify!(_GFileOutputStream))
49658    );
49659    assert_eq!(
49660        ::std::mem::align_of::<_GFileOutputStream>(),
49661        8usize,
49662        concat!("Alignment of ", stringify!(_GFileOutputStream))
49663    );
49664    assert_eq!(
49665        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
49666        0usize,
49667        concat!(
49668            "Offset of field: ",
49669            stringify!(_GFileOutputStream),
49670            "::",
49671            stringify!(parent_instance)
49672        )
49673    );
49674    assert_eq!(
49675        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
49676        32usize,
49677        concat!(
49678            "Offset of field: ",
49679            stringify!(_GFileOutputStream),
49680            "::",
49681            stringify!(priv_)
49682        )
49683    );
49684}
49685#[repr(C)]
49686#[derive(Debug, Copy, Clone, PartialEq, Eq)]
49687pub struct _GFileOutputStreamClass {
49688    pub parent_class: GOutputStreamClass,
49689    pub tell:
49690        ::std::option::Option<unsafe extern "C" fn(stream: *mut GFileOutputStream) -> goffset>,
49691    pub can_seek:
49692        ::std::option::Option<unsafe extern "C" fn(stream: *mut GFileOutputStream) -> gboolean>,
49693    pub seek: ::std::option::Option<
49694        unsafe extern "C" fn(
49695            stream: *mut GFileOutputStream,
49696            offset: goffset,
49697            type_: GSeekType,
49698            cancellable: *mut GCancellable,
49699            error: *mut *mut GError,
49700        ) -> gboolean,
49701    >,
49702    pub can_truncate:
49703        ::std::option::Option<unsafe extern "C" fn(stream: *mut GFileOutputStream) -> gboolean>,
49704    pub truncate_fn: ::std::option::Option<
49705        unsafe extern "C" fn(
49706            stream: *mut GFileOutputStream,
49707            size: goffset,
49708            cancellable: *mut GCancellable,
49709            error: *mut *mut GError,
49710        ) -> gboolean,
49711    >,
49712    pub query_info: ::std::option::Option<
49713        unsafe extern "C" fn(
49714            stream: *mut GFileOutputStream,
49715            attributes: *const ::std::os::raw::c_char,
49716            cancellable: *mut GCancellable,
49717            error: *mut *mut GError,
49718        ) -> *mut GFileInfo,
49719    >,
49720    pub query_info_async: ::std::option::Option<
49721        unsafe extern "C" fn(
49722            stream: *mut GFileOutputStream,
49723            attributes: *const ::std::os::raw::c_char,
49724            io_priority: ::std::os::raw::c_int,
49725            cancellable: *mut GCancellable,
49726            callback: GAsyncReadyCallback,
49727            user_data: gpointer,
49728        ),
49729    >,
49730    pub query_info_finish: ::std::option::Option<
49731        unsafe extern "C" fn(
49732            stream: *mut GFileOutputStream,
49733            result: *mut GAsyncResult,
49734            error: *mut *mut GError,
49735        ) -> *mut GFileInfo,
49736    >,
49737    pub get_etag: ::std::option::Option<
49738        unsafe extern "C" fn(stream: *mut GFileOutputStream) -> *mut ::std::os::raw::c_char,
49739    >,
49740    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
49741    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
49742    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
49743    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
49744    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
49745}
49746#[test]
49747fn bindgen_test_layout__GFileOutputStreamClass() {
49748    const UNINIT: ::std::mem::MaybeUninit<_GFileOutputStreamClass> =
49749        ::std::mem::MaybeUninit::uninit();
49750    let ptr = UNINIT.as_ptr();
49751    assert_eq!(
49752        ::std::mem::size_of::<_GFileOutputStreamClass>(),
49753        408usize,
49754        concat!("Size of: ", stringify!(_GFileOutputStreamClass))
49755    );
49756    assert_eq!(
49757        ::std::mem::align_of::<_GFileOutputStreamClass>(),
49758        8usize,
49759        concat!("Alignment of ", stringify!(_GFileOutputStreamClass))
49760    );
49761    assert_eq!(
49762        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
49763        0usize,
49764        concat!(
49765            "Offset of field: ",
49766            stringify!(_GFileOutputStreamClass),
49767            "::",
49768            stringify!(parent_class)
49769        )
49770    );
49771    assert_eq!(
49772        unsafe { ::std::ptr::addr_of!((*ptr).tell) as usize - ptr as usize },
49773        296usize,
49774        concat!(
49775            "Offset of field: ",
49776            stringify!(_GFileOutputStreamClass),
49777            "::",
49778            stringify!(tell)
49779        )
49780    );
49781    assert_eq!(
49782        unsafe { ::std::ptr::addr_of!((*ptr).can_seek) as usize - ptr as usize },
49783        304usize,
49784        concat!(
49785            "Offset of field: ",
49786            stringify!(_GFileOutputStreamClass),
49787            "::",
49788            stringify!(can_seek)
49789        )
49790    );
49791    assert_eq!(
49792        unsafe { ::std::ptr::addr_of!((*ptr).seek) as usize - ptr as usize },
49793        312usize,
49794        concat!(
49795            "Offset of field: ",
49796            stringify!(_GFileOutputStreamClass),
49797            "::",
49798            stringify!(seek)
49799        )
49800    );
49801    assert_eq!(
49802        unsafe { ::std::ptr::addr_of!((*ptr).can_truncate) as usize - ptr as usize },
49803        320usize,
49804        concat!(
49805            "Offset of field: ",
49806            stringify!(_GFileOutputStreamClass),
49807            "::",
49808            stringify!(can_truncate)
49809        )
49810    );
49811    assert_eq!(
49812        unsafe { ::std::ptr::addr_of!((*ptr).truncate_fn) as usize - ptr as usize },
49813        328usize,
49814        concat!(
49815            "Offset of field: ",
49816            stringify!(_GFileOutputStreamClass),
49817            "::",
49818            stringify!(truncate_fn)
49819        )
49820    );
49821    assert_eq!(
49822        unsafe { ::std::ptr::addr_of!((*ptr).query_info) as usize - ptr as usize },
49823        336usize,
49824        concat!(
49825            "Offset of field: ",
49826            stringify!(_GFileOutputStreamClass),
49827            "::",
49828            stringify!(query_info)
49829        )
49830    );
49831    assert_eq!(
49832        unsafe { ::std::ptr::addr_of!((*ptr).query_info_async) as usize - ptr as usize },
49833        344usize,
49834        concat!(
49835            "Offset of field: ",
49836            stringify!(_GFileOutputStreamClass),
49837            "::",
49838            stringify!(query_info_async)
49839        )
49840    );
49841    assert_eq!(
49842        unsafe { ::std::ptr::addr_of!((*ptr).query_info_finish) as usize - ptr as usize },
49843        352usize,
49844        concat!(
49845            "Offset of field: ",
49846            stringify!(_GFileOutputStreamClass),
49847            "::",
49848            stringify!(query_info_finish)
49849        )
49850    );
49851    assert_eq!(
49852        unsafe { ::std::ptr::addr_of!((*ptr).get_etag) as usize - ptr as usize },
49853        360usize,
49854        concat!(
49855            "Offset of field: ",
49856            stringify!(_GFileOutputStreamClass),
49857            "::",
49858            stringify!(get_etag)
49859        )
49860    );
49861    assert_eq!(
49862        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
49863        368usize,
49864        concat!(
49865            "Offset of field: ",
49866            stringify!(_GFileOutputStreamClass),
49867            "::",
49868            stringify!(_g_reserved1)
49869        )
49870    );
49871    assert_eq!(
49872        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
49873        376usize,
49874        concat!(
49875            "Offset of field: ",
49876            stringify!(_GFileOutputStreamClass),
49877            "::",
49878            stringify!(_g_reserved2)
49879        )
49880    );
49881    assert_eq!(
49882        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
49883        384usize,
49884        concat!(
49885            "Offset of field: ",
49886            stringify!(_GFileOutputStreamClass),
49887            "::",
49888            stringify!(_g_reserved3)
49889        )
49890    );
49891    assert_eq!(
49892        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
49893        392usize,
49894        concat!(
49895            "Offset of field: ",
49896            stringify!(_GFileOutputStreamClass),
49897            "::",
49898            stringify!(_g_reserved4)
49899        )
49900    );
49901    assert_eq!(
49902        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
49903        400usize,
49904        concat!(
49905            "Offset of field: ",
49906            stringify!(_GFileOutputStreamClass),
49907            "::",
49908            stringify!(_g_reserved5)
49909        )
49910    );
49911}
49912extern "C" {
49913    pub fn g_file_output_stream_get_type() -> GType;
49914}
49915extern "C" {
49916    pub fn g_file_output_stream_query_info(
49917        stream: *mut GFileOutputStream,
49918        attributes: *const ::std::os::raw::c_char,
49919        cancellable: *mut GCancellable,
49920        error: *mut *mut GError,
49921    ) -> *mut GFileInfo;
49922}
49923extern "C" {
49924    pub fn g_file_output_stream_query_info_async(
49925        stream: *mut GFileOutputStream,
49926        attributes: *const ::std::os::raw::c_char,
49927        io_priority: ::std::os::raw::c_int,
49928        cancellable: *mut GCancellable,
49929        callback: GAsyncReadyCallback,
49930        user_data: gpointer,
49931    );
49932}
49933extern "C" {
49934    pub fn g_file_output_stream_query_info_finish(
49935        stream: *mut GFileOutputStream,
49936        result: *mut GAsyncResult,
49937        error: *mut *mut GError,
49938    ) -> *mut GFileInfo;
49939}
49940extern "C" {
49941    pub fn g_file_output_stream_get_etag(
49942        stream: *mut GFileOutputStream,
49943    ) -> *mut ::std::os::raw::c_char;
49944}
49945pub type GInetAddressClass = _GInetAddressClass;
49946#[repr(C)]
49947#[derive(Debug, Copy, Clone)]
49948pub struct _GInetAddressPrivate {
49949    _unused: [u8; 0],
49950}
49951pub type GInetAddressPrivate = _GInetAddressPrivate;
49952#[repr(C)]
49953#[derive(Debug, Copy, Clone, PartialEq, Eq)]
49954pub struct _GInetAddress {
49955    pub parent_instance: GObject,
49956    pub priv_: *mut GInetAddressPrivate,
49957}
49958#[test]
49959fn bindgen_test_layout__GInetAddress() {
49960    const UNINIT: ::std::mem::MaybeUninit<_GInetAddress> = ::std::mem::MaybeUninit::uninit();
49961    let ptr = UNINIT.as_ptr();
49962    assert_eq!(
49963        ::std::mem::size_of::<_GInetAddress>(),
49964        32usize,
49965        concat!("Size of: ", stringify!(_GInetAddress))
49966    );
49967    assert_eq!(
49968        ::std::mem::align_of::<_GInetAddress>(),
49969        8usize,
49970        concat!("Alignment of ", stringify!(_GInetAddress))
49971    );
49972    assert_eq!(
49973        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
49974        0usize,
49975        concat!(
49976            "Offset of field: ",
49977            stringify!(_GInetAddress),
49978            "::",
49979            stringify!(parent_instance)
49980        )
49981    );
49982    assert_eq!(
49983        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
49984        24usize,
49985        concat!(
49986            "Offset of field: ",
49987            stringify!(_GInetAddress),
49988            "::",
49989            stringify!(priv_)
49990        )
49991    );
49992}
49993#[repr(C)]
49994#[derive(Debug, Copy, Clone, PartialEq, Eq)]
49995pub struct _GInetAddressClass {
49996    pub parent_class: GObjectClass,
49997    pub to_string:
49998        ::std::option::Option<unsafe extern "C" fn(address: *mut GInetAddress) -> *mut gchar>,
49999    pub to_bytes:
50000        ::std::option::Option<unsafe extern "C" fn(address: *mut GInetAddress) -> *const guint8>,
50001}
50002#[test]
50003fn bindgen_test_layout__GInetAddressClass() {
50004    const UNINIT: ::std::mem::MaybeUninit<_GInetAddressClass> = ::std::mem::MaybeUninit::uninit();
50005    let ptr = UNINIT.as_ptr();
50006    assert_eq!(
50007        ::std::mem::size_of::<_GInetAddressClass>(),
50008        152usize,
50009        concat!("Size of: ", stringify!(_GInetAddressClass))
50010    );
50011    assert_eq!(
50012        ::std::mem::align_of::<_GInetAddressClass>(),
50013        8usize,
50014        concat!("Alignment of ", stringify!(_GInetAddressClass))
50015    );
50016    assert_eq!(
50017        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
50018        0usize,
50019        concat!(
50020            "Offset of field: ",
50021            stringify!(_GInetAddressClass),
50022            "::",
50023            stringify!(parent_class)
50024        )
50025    );
50026    assert_eq!(
50027        unsafe { ::std::ptr::addr_of!((*ptr).to_string) as usize - ptr as usize },
50028        136usize,
50029        concat!(
50030            "Offset of field: ",
50031            stringify!(_GInetAddressClass),
50032            "::",
50033            stringify!(to_string)
50034        )
50035    );
50036    assert_eq!(
50037        unsafe { ::std::ptr::addr_of!((*ptr).to_bytes) as usize - ptr as usize },
50038        144usize,
50039        concat!(
50040            "Offset of field: ",
50041            stringify!(_GInetAddressClass),
50042            "::",
50043            stringify!(to_bytes)
50044        )
50045    );
50046}
50047extern "C" {
50048    pub fn g_inet_address_get_type() -> GType;
50049}
50050extern "C" {
50051    pub fn g_inet_address_new_from_string(string: *const gchar) -> *mut GInetAddress;
50052}
50053extern "C" {
50054    pub fn g_inet_address_new_from_bytes(
50055        bytes: *const guint8,
50056        family: GSocketFamily,
50057    ) -> *mut GInetAddress;
50058}
50059extern "C" {
50060    pub fn g_inet_address_new_loopback(family: GSocketFamily) -> *mut GInetAddress;
50061}
50062extern "C" {
50063    pub fn g_inet_address_new_any(family: GSocketFamily) -> *mut GInetAddress;
50064}
50065extern "C" {
50066    pub fn g_inet_address_equal(
50067        address: *mut GInetAddress,
50068        other_address: *mut GInetAddress,
50069    ) -> gboolean;
50070}
50071extern "C" {
50072    pub fn g_inet_address_to_string(address: *mut GInetAddress) -> *mut gchar;
50073}
50074extern "C" {
50075    pub fn g_inet_address_to_bytes(address: *mut GInetAddress) -> *const guint8;
50076}
50077extern "C" {
50078    pub fn g_inet_address_get_native_size(address: *mut GInetAddress) -> gsize;
50079}
50080extern "C" {
50081    pub fn g_inet_address_get_family(address: *mut GInetAddress) -> GSocketFamily;
50082}
50083extern "C" {
50084    pub fn g_inet_address_get_is_any(address: *mut GInetAddress) -> gboolean;
50085}
50086extern "C" {
50087    pub fn g_inet_address_get_is_loopback(address: *mut GInetAddress) -> gboolean;
50088}
50089extern "C" {
50090    pub fn g_inet_address_get_is_link_local(address: *mut GInetAddress) -> gboolean;
50091}
50092extern "C" {
50093    pub fn g_inet_address_get_is_site_local(address: *mut GInetAddress) -> gboolean;
50094}
50095extern "C" {
50096    pub fn g_inet_address_get_is_multicast(address: *mut GInetAddress) -> gboolean;
50097}
50098extern "C" {
50099    pub fn g_inet_address_get_is_mc_global(address: *mut GInetAddress) -> gboolean;
50100}
50101extern "C" {
50102    pub fn g_inet_address_get_is_mc_link_local(address: *mut GInetAddress) -> gboolean;
50103}
50104extern "C" {
50105    pub fn g_inet_address_get_is_mc_node_local(address: *mut GInetAddress) -> gboolean;
50106}
50107extern "C" {
50108    pub fn g_inet_address_get_is_mc_org_local(address: *mut GInetAddress) -> gboolean;
50109}
50110extern "C" {
50111    pub fn g_inet_address_get_is_mc_site_local(address: *mut GInetAddress) -> gboolean;
50112}
50113pub type GInetAddressMaskClass = _GInetAddressMaskClass;
50114#[repr(C)]
50115#[derive(Debug, Copy, Clone)]
50116pub struct _GInetAddressMaskPrivate {
50117    _unused: [u8; 0],
50118}
50119pub type GInetAddressMaskPrivate = _GInetAddressMaskPrivate;
50120#[repr(C)]
50121#[derive(Debug, Copy, Clone, PartialEq, Eq)]
50122pub struct _GInetAddressMask {
50123    pub parent_instance: GObject,
50124    pub priv_: *mut GInetAddressMaskPrivate,
50125}
50126#[test]
50127fn bindgen_test_layout__GInetAddressMask() {
50128    const UNINIT: ::std::mem::MaybeUninit<_GInetAddressMask> = ::std::mem::MaybeUninit::uninit();
50129    let ptr = UNINIT.as_ptr();
50130    assert_eq!(
50131        ::std::mem::size_of::<_GInetAddressMask>(),
50132        32usize,
50133        concat!("Size of: ", stringify!(_GInetAddressMask))
50134    );
50135    assert_eq!(
50136        ::std::mem::align_of::<_GInetAddressMask>(),
50137        8usize,
50138        concat!("Alignment of ", stringify!(_GInetAddressMask))
50139    );
50140    assert_eq!(
50141        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
50142        0usize,
50143        concat!(
50144            "Offset of field: ",
50145            stringify!(_GInetAddressMask),
50146            "::",
50147            stringify!(parent_instance)
50148        )
50149    );
50150    assert_eq!(
50151        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
50152        24usize,
50153        concat!(
50154            "Offset of field: ",
50155            stringify!(_GInetAddressMask),
50156            "::",
50157            stringify!(priv_)
50158        )
50159    );
50160}
50161#[repr(C)]
50162#[derive(Debug, Copy, Clone, PartialEq, Eq)]
50163pub struct _GInetAddressMaskClass {
50164    pub parent_class: GObjectClass,
50165}
50166#[test]
50167fn bindgen_test_layout__GInetAddressMaskClass() {
50168    const UNINIT: ::std::mem::MaybeUninit<_GInetAddressMaskClass> =
50169        ::std::mem::MaybeUninit::uninit();
50170    let ptr = UNINIT.as_ptr();
50171    assert_eq!(
50172        ::std::mem::size_of::<_GInetAddressMaskClass>(),
50173        136usize,
50174        concat!("Size of: ", stringify!(_GInetAddressMaskClass))
50175    );
50176    assert_eq!(
50177        ::std::mem::align_of::<_GInetAddressMaskClass>(),
50178        8usize,
50179        concat!("Alignment of ", stringify!(_GInetAddressMaskClass))
50180    );
50181    assert_eq!(
50182        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
50183        0usize,
50184        concat!(
50185            "Offset of field: ",
50186            stringify!(_GInetAddressMaskClass),
50187            "::",
50188            stringify!(parent_class)
50189        )
50190    );
50191}
50192extern "C" {
50193    pub fn g_inet_address_mask_get_type() -> GType;
50194}
50195extern "C" {
50196    pub fn g_inet_address_mask_new(
50197        addr: *mut GInetAddress,
50198        length: guint,
50199        error: *mut *mut GError,
50200    ) -> *mut GInetAddressMask;
50201}
50202extern "C" {
50203    pub fn g_inet_address_mask_new_from_string(
50204        mask_string: *const gchar,
50205        error: *mut *mut GError,
50206    ) -> *mut GInetAddressMask;
50207}
50208extern "C" {
50209    pub fn g_inet_address_mask_to_string(mask: *mut GInetAddressMask) -> *mut gchar;
50210}
50211extern "C" {
50212    pub fn g_inet_address_mask_get_family(mask: *mut GInetAddressMask) -> GSocketFamily;
50213}
50214extern "C" {
50215    pub fn g_inet_address_mask_get_address(mask: *mut GInetAddressMask) -> *mut GInetAddress;
50216}
50217extern "C" {
50218    pub fn g_inet_address_mask_get_length(mask: *mut GInetAddressMask) -> guint;
50219}
50220extern "C" {
50221    pub fn g_inet_address_mask_matches(
50222        mask: *mut GInetAddressMask,
50223        address: *mut GInetAddress,
50224    ) -> gboolean;
50225}
50226extern "C" {
50227    pub fn g_inet_address_mask_equal(
50228        mask: *mut GInetAddressMask,
50229        mask2: *mut GInetAddressMask,
50230    ) -> gboolean;
50231}
50232pub type GSocketAddressClass = _GSocketAddressClass;
50233#[repr(C)]
50234#[derive(Debug, Copy, Clone, PartialEq, Eq)]
50235pub struct _GSocketAddress {
50236    pub parent_instance: GObject,
50237}
50238#[test]
50239fn bindgen_test_layout__GSocketAddress() {
50240    const UNINIT: ::std::mem::MaybeUninit<_GSocketAddress> = ::std::mem::MaybeUninit::uninit();
50241    let ptr = UNINIT.as_ptr();
50242    assert_eq!(
50243        ::std::mem::size_of::<_GSocketAddress>(),
50244        24usize,
50245        concat!("Size of: ", stringify!(_GSocketAddress))
50246    );
50247    assert_eq!(
50248        ::std::mem::align_of::<_GSocketAddress>(),
50249        8usize,
50250        concat!("Alignment of ", stringify!(_GSocketAddress))
50251    );
50252    assert_eq!(
50253        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
50254        0usize,
50255        concat!(
50256            "Offset of field: ",
50257            stringify!(_GSocketAddress),
50258            "::",
50259            stringify!(parent_instance)
50260        )
50261    );
50262}
50263#[repr(C)]
50264#[derive(Debug, Copy, Clone, PartialEq, Eq)]
50265pub struct _GSocketAddressClass {
50266    pub parent_class: GObjectClass,
50267    pub get_family:
50268        ::std::option::Option<unsafe extern "C" fn(address: *mut GSocketAddress) -> GSocketFamily>,
50269    pub get_native_size:
50270        ::std::option::Option<unsafe extern "C" fn(address: *mut GSocketAddress) -> gssize>,
50271    pub to_native: ::std::option::Option<
50272        unsafe extern "C" fn(
50273            address: *mut GSocketAddress,
50274            dest: gpointer,
50275            destlen: gsize,
50276            error: *mut *mut GError,
50277        ) -> gboolean,
50278    >,
50279}
50280#[test]
50281fn bindgen_test_layout__GSocketAddressClass() {
50282    const UNINIT: ::std::mem::MaybeUninit<_GSocketAddressClass> = ::std::mem::MaybeUninit::uninit();
50283    let ptr = UNINIT.as_ptr();
50284    assert_eq!(
50285        ::std::mem::size_of::<_GSocketAddressClass>(),
50286        160usize,
50287        concat!("Size of: ", stringify!(_GSocketAddressClass))
50288    );
50289    assert_eq!(
50290        ::std::mem::align_of::<_GSocketAddressClass>(),
50291        8usize,
50292        concat!("Alignment of ", stringify!(_GSocketAddressClass))
50293    );
50294    assert_eq!(
50295        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
50296        0usize,
50297        concat!(
50298            "Offset of field: ",
50299            stringify!(_GSocketAddressClass),
50300            "::",
50301            stringify!(parent_class)
50302        )
50303    );
50304    assert_eq!(
50305        unsafe { ::std::ptr::addr_of!((*ptr).get_family) as usize - ptr as usize },
50306        136usize,
50307        concat!(
50308            "Offset of field: ",
50309            stringify!(_GSocketAddressClass),
50310            "::",
50311            stringify!(get_family)
50312        )
50313    );
50314    assert_eq!(
50315        unsafe { ::std::ptr::addr_of!((*ptr).get_native_size) as usize - ptr as usize },
50316        144usize,
50317        concat!(
50318            "Offset of field: ",
50319            stringify!(_GSocketAddressClass),
50320            "::",
50321            stringify!(get_native_size)
50322        )
50323    );
50324    assert_eq!(
50325        unsafe { ::std::ptr::addr_of!((*ptr).to_native) as usize - ptr as usize },
50326        152usize,
50327        concat!(
50328            "Offset of field: ",
50329            stringify!(_GSocketAddressClass),
50330            "::",
50331            stringify!(to_native)
50332        )
50333    );
50334}
50335extern "C" {
50336    pub fn g_socket_address_get_type() -> GType;
50337}
50338extern "C" {
50339    pub fn g_socket_address_get_family(address: *mut GSocketAddress) -> GSocketFamily;
50340}
50341extern "C" {
50342    pub fn g_socket_address_new_from_native(native: gpointer, len: gsize) -> *mut GSocketAddress;
50343}
50344extern "C" {
50345    pub fn g_socket_address_to_native(
50346        address: *mut GSocketAddress,
50347        dest: gpointer,
50348        destlen: gsize,
50349        error: *mut *mut GError,
50350    ) -> gboolean;
50351}
50352extern "C" {
50353    pub fn g_socket_address_get_native_size(address: *mut GSocketAddress) -> gssize;
50354}
50355pub type GInetSocketAddressClass = _GInetSocketAddressClass;
50356#[repr(C)]
50357#[derive(Debug, Copy, Clone)]
50358pub struct _GInetSocketAddressPrivate {
50359    _unused: [u8; 0],
50360}
50361pub type GInetSocketAddressPrivate = _GInetSocketAddressPrivate;
50362#[repr(C)]
50363#[derive(Debug, Copy, Clone, PartialEq, Eq)]
50364pub struct _GInetSocketAddress {
50365    pub parent_instance: GSocketAddress,
50366    pub priv_: *mut GInetSocketAddressPrivate,
50367}
50368#[test]
50369fn bindgen_test_layout__GInetSocketAddress() {
50370    const UNINIT: ::std::mem::MaybeUninit<_GInetSocketAddress> = ::std::mem::MaybeUninit::uninit();
50371    let ptr = UNINIT.as_ptr();
50372    assert_eq!(
50373        ::std::mem::size_of::<_GInetSocketAddress>(),
50374        32usize,
50375        concat!("Size of: ", stringify!(_GInetSocketAddress))
50376    );
50377    assert_eq!(
50378        ::std::mem::align_of::<_GInetSocketAddress>(),
50379        8usize,
50380        concat!("Alignment of ", stringify!(_GInetSocketAddress))
50381    );
50382    assert_eq!(
50383        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
50384        0usize,
50385        concat!(
50386            "Offset of field: ",
50387            stringify!(_GInetSocketAddress),
50388            "::",
50389            stringify!(parent_instance)
50390        )
50391    );
50392    assert_eq!(
50393        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
50394        24usize,
50395        concat!(
50396            "Offset of field: ",
50397            stringify!(_GInetSocketAddress),
50398            "::",
50399            stringify!(priv_)
50400        )
50401    );
50402}
50403#[repr(C)]
50404#[derive(Debug, Copy, Clone, PartialEq, Eq)]
50405pub struct _GInetSocketAddressClass {
50406    pub parent_class: GSocketAddressClass,
50407}
50408#[test]
50409fn bindgen_test_layout__GInetSocketAddressClass() {
50410    const UNINIT: ::std::mem::MaybeUninit<_GInetSocketAddressClass> =
50411        ::std::mem::MaybeUninit::uninit();
50412    let ptr = UNINIT.as_ptr();
50413    assert_eq!(
50414        ::std::mem::size_of::<_GInetSocketAddressClass>(),
50415        160usize,
50416        concat!("Size of: ", stringify!(_GInetSocketAddressClass))
50417    );
50418    assert_eq!(
50419        ::std::mem::align_of::<_GInetSocketAddressClass>(),
50420        8usize,
50421        concat!("Alignment of ", stringify!(_GInetSocketAddressClass))
50422    );
50423    assert_eq!(
50424        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
50425        0usize,
50426        concat!(
50427            "Offset of field: ",
50428            stringify!(_GInetSocketAddressClass),
50429            "::",
50430            stringify!(parent_class)
50431        )
50432    );
50433}
50434extern "C" {
50435    pub fn g_inet_socket_address_get_type() -> GType;
50436}
50437extern "C" {
50438    pub fn g_inet_socket_address_new(
50439        address: *mut GInetAddress,
50440        port: guint16,
50441    ) -> *mut GSocketAddress;
50442}
50443extern "C" {
50444    pub fn g_inet_socket_address_new_from_string(
50445        address: *const ::std::os::raw::c_char,
50446        port: guint,
50447    ) -> *mut GSocketAddress;
50448}
50449extern "C" {
50450    pub fn g_inet_socket_address_get_address(address: *mut GInetSocketAddress)
50451        -> *mut GInetAddress;
50452}
50453extern "C" {
50454    pub fn g_inet_socket_address_get_port(address: *mut GInetSocketAddress) -> guint16;
50455}
50456extern "C" {
50457    pub fn g_inet_socket_address_get_flowinfo(address: *mut GInetSocketAddress) -> guint32;
50458}
50459extern "C" {
50460    pub fn g_inet_socket_address_get_scope_id(address: *mut GInetSocketAddress) -> guint32;
50461}
50462extern "C" {
50463    pub fn g_app_info_create_flags_get_type() -> GType;
50464}
50465extern "C" {
50466    pub fn g_converter_flags_get_type() -> GType;
50467}
50468extern "C" {
50469    pub fn g_converter_result_get_type() -> GType;
50470}
50471extern "C" {
50472    pub fn g_data_stream_byte_order_get_type() -> GType;
50473}
50474extern "C" {
50475    pub fn g_data_stream_newline_type_get_type() -> GType;
50476}
50477extern "C" {
50478    pub fn g_file_attribute_type_get_type() -> GType;
50479}
50480extern "C" {
50481    pub fn g_file_attribute_info_flags_get_type() -> GType;
50482}
50483extern "C" {
50484    pub fn g_file_attribute_status_get_type() -> GType;
50485}
50486extern "C" {
50487    pub fn g_file_query_info_flags_get_type() -> GType;
50488}
50489extern "C" {
50490    pub fn g_file_create_flags_get_type() -> GType;
50491}
50492extern "C" {
50493    pub fn g_file_measure_flags_get_type() -> GType;
50494}
50495extern "C" {
50496    pub fn g_mount_mount_flags_get_type() -> GType;
50497}
50498extern "C" {
50499    pub fn g_mount_unmount_flags_get_type() -> GType;
50500}
50501extern "C" {
50502    pub fn g_drive_start_flags_get_type() -> GType;
50503}
50504extern "C" {
50505    pub fn g_drive_start_stop_type_get_type() -> GType;
50506}
50507extern "C" {
50508    pub fn g_file_copy_flags_get_type() -> GType;
50509}
50510extern "C" {
50511    pub fn g_file_monitor_flags_get_type() -> GType;
50512}
50513extern "C" {
50514    pub fn g_file_type_get_type() -> GType;
50515}
50516extern "C" {
50517    pub fn g_filesystem_preview_type_get_type() -> GType;
50518}
50519extern "C" {
50520    pub fn g_file_monitor_event_get_type() -> GType;
50521}
50522extern "C" {
50523    pub fn g_io_error_enum_get_type() -> GType;
50524}
50525extern "C" {
50526    pub fn g_ask_password_flags_get_type() -> GType;
50527}
50528extern "C" {
50529    pub fn g_password_save_get_type() -> GType;
50530}
50531extern "C" {
50532    pub fn g_mount_operation_result_get_type() -> GType;
50533}
50534extern "C" {
50535    pub fn g_output_stream_splice_flags_get_type() -> GType;
50536}
50537extern "C" {
50538    pub fn g_io_stream_splice_flags_get_type() -> GType;
50539}
50540extern "C" {
50541    pub fn g_emblem_origin_get_type() -> GType;
50542}
50543extern "C" {
50544    pub fn g_resolver_error_get_type() -> GType;
50545}
50546extern "C" {
50547    pub fn g_resolver_record_type_get_type() -> GType;
50548}
50549extern "C" {
50550    pub fn g_resource_error_get_type() -> GType;
50551}
50552extern "C" {
50553    pub fn g_resource_flags_get_type() -> GType;
50554}
50555extern "C" {
50556    pub fn g_resource_lookup_flags_get_type() -> GType;
50557}
50558extern "C" {
50559    pub fn g_socket_family_get_type() -> GType;
50560}
50561extern "C" {
50562    pub fn g_socket_type_get_type() -> GType;
50563}
50564extern "C" {
50565    pub fn g_socket_msg_flags_get_type() -> GType;
50566}
50567extern "C" {
50568    pub fn g_socket_protocol_get_type() -> GType;
50569}
50570extern "C" {
50571    pub fn g_zlib_compressor_format_get_type() -> GType;
50572}
50573extern "C" {
50574    pub fn g_unix_socket_address_type_get_type() -> GType;
50575}
50576extern "C" {
50577    pub fn g_bus_type_get_type() -> GType;
50578}
50579extern "C" {
50580    pub fn g_bus_name_owner_flags_get_type() -> GType;
50581}
50582extern "C" {
50583    pub fn g_bus_name_watcher_flags_get_type() -> GType;
50584}
50585extern "C" {
50586    pub fn g_dbus_proxy_flags_get_type() -> GType;
50587}
50588extern "C" {
50589    pub fn g_dbus_error_get_type() -> GType;
50590}
50591extern "C" {
50592    pub fn g_dbus_connection_flags_get_type() -> GType;
50593}
50594extern "C" {
50595    pub fn g_dbus_capability_flags_get_type() -> GType;
50596}
50597extern "C" {
50598    pub fn g_dbus_call_flags_get_type() -> GType;
50599}
50600extern "C" {
50601    pub fn g_dbus_message_type_get_type() -> GType;
50602}
50603extern "C" {
50604    pub fn g_dbus_message_flags_get_type() -> GType;
50605}
50606extern "C" {
50607    pub fn g_dbus_message_header_field_get_type() -> GType;
50608}
50609extern "C" {
50610    pub fn g_dbus_property_info_flags_get_type() -> GType;
50611}
50612extern "C" {
50613    pub fn g_dbus_subtree_flags_get_type() -> GType;
50614}
50615extern "C" {
50616    pub fn g_dbus_server_flags_get_type() -> GType;
50617}
50618extern "C" {
50619    pub fn g_dbus_signal_flags_get_type() -> GType;
50620}
50621extern "C" {
50622    pub fn g_dbus_send_message_flags_get_type() -> GType;
50623}
50624extern "C" {
50625    pub fn g_credentials_type_get_type() -> GType;
50626}
50627extern "C" {
50628    pub fn g_dbus_message_byte_order_get_type() -> GType;
50629}
50630extern "C" {
50631    pub fn g_application_flags_get_type() -> GType;
50632}
50633extern "C" {
50634    pub fn g_tls_error_get_type() -> GType;
50635}
50636extern "C" {
50637    pub fn g_tls_certificate_flags_get_type() -> GType;
50638}
50639extern "C" {
50640    pub fn g_tls_authentication_mode_get_type() -> GType;
50641}
50642extern "C" {
50643    pub fn g_tls_channel_binding_type_get_type() -> GType;
50644}
50645extern "C" {
50646    pub fn g_tls_channel_binding_error_get_type() -> GType;
50647}
50648extern "C" {
50649    pub fn g_tls_rehandshake_mode_get_type() -> GType;
50650}
50651extern "C" {
50652    pub fn g_tls_password_flags_get_type() -> GType;
50653}
50654extern "C" {
50655    pub fn g_tls_interaction_result_get_type() -> GType;
50656}
50657extern "C" {
50658    pub fn g_dbus_interface_skeleton_flags_get_type() -> GType;
50659}
50660extern "C" {
50661    pub fn g_dbus_object_manager_client_flags_get_type() -> GType;
50662}
50663extern "C" {
50664    pub fn g_tls_database_verify_flags_get_type() -> GType;
50665}
50666extern "C" {
50667    pub fn g_tls_database_lookup_flags_get_type() -> GType;
50668}
50669extern "C" {
50670    pub fn g_tls_certificate_request_flags_get_type() -> GType;
50671}
50672extern "C" {
50673    pub fn g_tls_protocol_version_get_type() -> GType;
50674}
50675extern "C" {
50676    pub fn g_io_module_scope_flags_get_type() -> GType;
50677}
50678extern "C" {
50679    pub fn g_socket_client_event_get_type() -> GType;
50680}
50681extern "C" {
50682    pub fn g_socket_listener_event_get_type() -> GType;
50683}
50684extern "C" {
50685    pub fn g_test_dbus_flags_get_type() -> GType;
50686}
50687extern "C" {
50688    pub fn g_subprocess_flags_get_type() -> GType;
50689}
50690extern "C" {
50691    pub fn g_notification_priority_get_type() -> GType;
50692}
50693extern "C" {
50694    pub fn g_network_connectivity_get_type() -> GType;
50695}
50696extern "C" {
50697    pub fn g_pollable_return_get_type() -> GType;
50698}
50699extern "C" {
50700    pub fn g_memory_monitor_warning_level_get_type() -> GType;
50701}
50702extern "C" {
50703    pub fn g_resolver_name_lookup_flags_get_type() -> GType;
50704}
50705extern "C" {
50706    pub fn g_settings_bind_flags_get_type() -> GType;
50707}
50708#[repr(C)]
50709#[derive(Debug, Copy, Clone)]
50710pub struct _GIOModuleScope {
50711    _unused: [u8; 0],
50712}
50713pub type GIOModuleScope = _GIOModuleScope;
50714extern "C" {
50715    pub fn g_io_module_scope_new(flags: GIOModuleScopeFlags) -> *mut GIOModuleScope;
50716}
50717extern "C" {
50718    pub fn g_io_module_scope_free(scope: *mut GIOModuleScope);
50719}
50720extern "C" {
50721    pub fn g_io_module_scope_block(scope: *mut GIOModuleScope, basename: *const gchar);
50722}
50723#[repr(C)]
50724#[derive(Debug, Copy, Clone)]
50725pub struct _GIOModuleClass {
50726    _unused: [u8; 0],
50727}
50728#[doc = " GIOModule:\n\n Opaque module base class for extending GIO."]
50729pub type GIOModuleClass = _GIOModuleClass;
50730extern "C" {
50731    pub fn g_io_module_get_type() -> GType;
50732}
50733extern "C" {
50734    pub fn g_io_module_new(filename: *const gchar) -> *mut GIOModule;
50735}
50736extern "C" {
50737    pub fn g_io_modules_scan_all_in_directory(dirname: *const ::std::os::raw::c_char);
50738}
50739extern "C" {
50740    pub fn g_io_modules_load_all_in_directory(dirname: *const gchar) -> *mut GList;
50741}
50742extern "C" {
50743    pub fn g_io_modules_scan_all_in_directory_with_scope(
50744        dirname: *const gchar,
50745        scope: *mut GIOModuleScope,
50746    );
50747}
50748extern "C" {
50749    pub fn g_io_modules_load_all_in_directory_with_scope(
50750        dirname: *const gchar,
50751        scope: *mut GIOModuleScope,
50752    ) -> *mut GList;
50753}
50754extern "C" {
50755    pub fn g_io_extension_point_register(
50756        name: *const ::std::os::raw::c_char,
50757    ) -> *mut GIOExtensionPoint;
50758}
50759extern "C" {
50760    pub fn g_io_extension_point_lookup(
50761        name: *const ::std::os::raw::c_char,
50762    ) -> *mut GIOExtensionPoint;
50763}
50764extern "C" {
50765    pub fn g_io_extension_point_set_required_type(
50766        extension_point: *mut GIOExtensionPoint,
50767        type_: GType,
50768    );
50769}
50770extern "C" {
50771    pub fn g_io_extension_point_get_required_type(extension_point: *mut GIOExtensionPoint)
50772        -> GType;
50773}
50774extern "C" {
50775    pub fn g_io_extension_point_get_extensions(
50776        extension_point: *mut GIOExtensionPoint,
50777    ) -> *mut GList;
50778}
50779extern "C" {
50780    pub fn g_io_extension_point_get_extension_by_name(
50781        extension_point: *mut GIOExtensionPoint,
50782        name: *const ::std::os::raw::c_char,
50783    ) -> *mut GIOExtension;
50784}
50785extern "C" {
50786    pub fn g_io_extension_point_implement(
50787        extension_point_name: *const ::std::os::raw::c_char,
50788        type_: GType,
50789        extension_name: *const ::std::os::raw::c_char,
50790        priority: gint,
50791    ) -> *mut GIOExtension;
50792}
50793extern "C" {
50794    pub fn g_io_extension_get_type(extension: *mut GIOExtension) -> GType;
50795}
50796extern "C" {
50797    pub fn g_io_extension_get_name(extension: *mut GIOExtension) -> *const ::std::os::raw::c_char;
50798}
50799extern "C" {
50800    pub fn g_io_extension_get_priority(extension: *mut GIOExtension) -> gint;
50801}
50802extern "C" {
50803    pub fn g_io_extension_ref_class(extension: *mut GIOExtension) -> *mut GTypeClass;
50804}
50805extern "C" {
50806    #[doc = " g_io_module_load: (skip)\n @module: a #GIOModule.\n\n Required API for GIO modules to implement.\n\n This function is run after the module has been loaded into GIO,\n to initialize the module. Typically, this function will call\n g_io_extension_point_implement().\n\n Since 2.56, this function should be named `g_io_<modulename>_load`, where\n `modulename` is the plugin’s filename with the `lib` or `libgio` prefix and\n everything after the first dot removed, and with `-` replaced with `_`\n throughout. For example, `libgiognutls-helper.so` becomes `gnutls_helper`.\n Using the new symbol names avoids name clashes when building modules\n statically. The old symbol names continue to be supported, but cannot be used\n for static builds."]
50807    pub fn g_io_module_load(module: *mut GIOModule);
50808}
50809extern "C" {
50810    #[doc = " g_io_module_unload: (skip)\n @module: a #GIOModule.\n\n Required API for GIO modules to implement.\n\n This function is run when the module is being unloaded from GIO,\n to finalize the module.\n\n Since 2.56, this function should be named `g_io_<modulename>_unload`, where\n `modulename` is the plugin’s filename with the `lib` or `libgio` prefix and\n everything after the first dot removed, and with `-` replaced with `_`\n throughout. For example, `libgiognutls-helper.so` becomes `gnutls_helper`.\n Using the new symbol names avoids name clashes when building modules\n statically. The old symbol names continue to be supported, but cannot be used\n for static builds."]
50811    pub fn g_io_module_unload(module: *mut GIOModule);
50812}
50813extern "C" {
50814    #[doc = " g_io_module_query:\n\n Optional API for GIO modules to implement.\n\n Should return a list of all the extension points that may be\n implemented in this module.\n\n This method will not be called in normal use, however it may be\n called when probing existing modules and recording which extension\n points that this model is used for. This means we won't have to\n load and initialize this module unless its needed.\n\n If this function is not implemented by the module the module will\n always be loaded, initialized and then unloaded on application\n startup so that it can register its extension points during init.\n\n Note that a module need not actually implement all the extension\n points that g_io_module_query() returns, since the exact list of\n extension may depend on runtime issues. However all extension\n points actually implemented must be returned by g_io_module_query()\n (if defined).\n\n When installing a module that implements g_io_module_query() you must\n run gio-querymodules in order to build the cache files required for\n lazy loading.\n\n Since 2.56, this function should be named `g_io_<modulename>_query`, where\n `modulename` is the plugin’s filename with the `lib` or `libgio` prefix and\n everything after the first dot removed, and with `-` replaced with `_`\n throughout. For example, `libgiognutls-helper.so` becomes `gnutls_helper`.\n Using the new symbol names avoids name clashes when building modules\n statically. The old symbol names continue to be supported, but cannot be used\n for static builds.\n\n Returns: (transfer full): A %NULL-terminated array of strings,\n     listing the supported extension points of the module. The array\n     must be suitable for freeing with g_strfreev().\n\n Since: 2.24"]
50815    pub fn g_io_module_query() -> *mut *mut ::std::os::raw::c_char;
50816}
50817extern "C" {
50818    pub fn g_io_scheduler_push_job(
50819        job_func: GIOSchedulerJobFunc,
50820        user_data: gpointer,
50821        notify: GDestroyNotify,
50822        io_priority: gint,
50823        cancellable: *mut GCancellable,
50824    );
50825}
50826extern "C" {
50827    pub fn g_io_scheduler_cancel_all_jobs();
50828}
50829extern "C" {
50830    pub fn g_io_scheduler_job_send_to_mainloop(
50831        job: *mut GIOSchedulerJob,
50832        func: GSourceFunc,
50833        user_data: gpointer,
50834        notify: GDestroyNotify,
50835    ) -> gboolean;
50836}
50837extern "C" {
50838    pub fn g_io_scheduler_job_send_to_mainloop_async(
50839        job: *mut GIOSchedulerJob,
50840        func: GSourceFunc,
50841        user_data: gpointer,
50842        notify: GDestroyNotify,
50843    );
50844}
50845extern "C" {
50846    pub fn g_list_model_get_type() -> GType;
50847}
50848#[repr(C)]
50849#[derive(Debug, Copy, Clone)]
50850pub struct _GListModel {
50851    _unused: [u8; 0],
50852}
50853pub type GListModel = _GListModel;
50854pub type GListModelInterface = _GListModelInterface;
50855pub type GListModel_autoptr = *mut GListModel;
50856pub type GListModel_listautoptr = *mut GList;
50857pub type GListModel_slistautoptr = *mut GSList;
50858pub type GListModel_queueautoptr = *mut GQueue;
50859#[repr(C)]
50860#[derive(Debug, Copy, Clone, PartialEq, Eq)]
50861pub struct _GListModelInterface {
50862    pub g_iface: GTypeInterface,
50863    pub get_item_type: ::std::option::Option<unsafe extern "C" fn(list: *mut GListModel) -> GType>,
50864    pub get_n_items: ::std::option::Option<unsafe extern "C" fn(list: *mut GListModel) -> guint>,
50865    pub get_item: ::std::option::Option<
50866        unsafe extern "C" fn(list: *mut GListModel, position: guint) -> gpointer,
50867    >,
50868}
50869#[test]
50870fn bindgen_test_layout__GListModelInterface() {
50871    const UNINIT: ::std::mem::MaybeUninit<_GListModelInterface> = ::std::mem::MaybeUninit::uninit();
50872    let ptr = UNINIT.as_ptr();
50873    assert_eq!(
50874        ::std::mem::size_of::<_GListModelInterface>(),
50875        40usize,
50876        concat!("Size of: ", stringify!(_GListModelInterface))
50877    );
50878    assert_eq!(
50879        ::std::mem::align_of::<_GListModelInterface>(),
50880        8usize,
50881        concat!("Alignment of ", stringify!(_GListModelInterface))
50882    );
50883    assert_eq!(
50884        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
50885        0usize,
50886        concat!(
50887            "Offset of field: ",
50888            stringify!(_GListModelInterface),
50889            "::",
50890            stringify!(g_iface)
50891        )
50892    );
50893    assert_eq!(
50894        unsafe { ::std::ptr::addr_of!((*ptr).get_item_type) as usize - ptr as usize },
50895        16usize,
50896        concat!(
50897            "Offset of field: ",
50898            stringify!(_GListModelInterface),
50899            "::",
50900            stringify!(get_item_type)
50901        )
50902    );
50903    assert_eq!(
50904        unsafe { ::std::ptr::addr_of!((*ptr).get_n_items) as usize - ptr as usize },
50905        24usize,
50906        concat!(
50907            "Offset of field: ",
50908            stringify!(_GListModelInterface),
50909            "::",
50910            stringify!(get_n_items)
50911        )
50912    );
50913    assert_eq!(
50914        unsafe { ::std::ptr::addr_of!((*ptr).get_item) as usize - ptr as usize },
50915        32usize,
50916        concat!(
50917            "Offset of field: ",
50918            stringify!(_GListModelInterface),
50919            "::",
50920            stringify!(get_item)
50921        )
50922    );
50923}
50924extern "C" {
50925    pub fn g_list_model_get_item_type(list: *mut GListModel) -> GType;
50926}
50927extern "C" {
50928    pub fn g_list_model_get_n_items(list: *mut GListModel) -> guint;
50929}
50930extern "C" {
50931    pub fn g_list_model_get_item(list: *mut GListModel, position: guint) -> gpointer;
50932}
50933extern "C" {
50934    pub fn g_list_model_get_object(list: *mut GListModel, position: guint) -> *mut GObject;
50935}
50936extern "C" {
50937    pub fn g_list_model_items_changed(
50938        list: *mut GListModel,
50939        position: guint,
50940        removed: guint,
50941        added: guint,
50942    );
50943}
50944extern "C" {
50945    pub fn g_list_store_get_type() -> GType;
50946}
50947#[repr(C)]
50948#[derive(Debug, Copy, Clone)]
50949pub struct _GListStore {
50950    _unused: [u8; 0],
50951}
50952pub type GListStore = _GListStore;
50953#[repr(C)]
50954#[derive(Debug, Copy, Clone, PartialEq, Eq)]
50955pub struct GListStoreClass {
50956    pub parent_class: GObjectClass,
50957}
50958#[test]
50959fn bindgen_test_layout_GListStoreClass() {
50960    const UNINIT: ::std::mem::MaybeUninit<GListStoreClass> = ::std::mem::MaybeUninit::uninit();
50961    let ptr = UNINIT.as_ptr();
50962    assert_eq!(
50963        ::std::mem::size_of::<GListStoreClass>(),
50964        136usize,
50965        concat!("Size of: ", stringify!(GListStoreClass))
50966    );
50967    assert_eq!(
50968        ::std::mem::align_of::<GListStoreClass>(),
50969        8usize,
50970        concat!("Alignment of ", stringify!(GListStoreClass))
50971    );
50972    assert_eq!(
50973        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
50974        0usize,
50975        concat!(
50976            "Offset of field: ",
50977            stringify!(GListStoreClass),
50978            "::",
50979            stringify!(parent_class)
50980        )
50981    );
50982}
50983pub type GListStore_autoptr = *mut GListStore;
50984pub type GListStore_listautoptr = *mut GList;
50985pub type GListStore_slistautoptr = *mut GSList;
50986pub type GListStore_queueautoptr = *mut GQueue;
50987pub type GListStoreClass_autoptr = *mut GListStoreClass;
50988pub type GListStoreClass_listautoptr = *mut GList;
50989pub type GListStoreClass_slistautoptr = *mut GSList;
50990pub type GListStoreClass_queueautoptr = *mut GQueue;
50991extern "C" {
50992    pub fn g_list_store_new(item_type: GType) -> *mut GListStore;
50993}
50994extern "C" {
50995    pub fn g_list_store_insert(store: *mut GListStore, position: guint, item: gpointer);
50996}
50997extern "C" {
50998    pub fn g_list_store_insert_sorted(
50999        store: *mut GListStore,
51000        item: gpointer,
51001        compare_func: GCompareDataFunc,
51002        user_data: gpointer,
51003    ) -> guint;
51004}
51005extern "C" {
51006    pub fn g_list_store_sort(
51007        store: *mut GListStore,
51008        compare_func: GCompareDataFunc,
51009        user_data: gpointer,
51010    );
51011}
51012extern "C" {
51013    pub fn g_list_store_append(store: *mut GListStore, item: gpointer);
51014}
51015extern "C" {
51016    pub fn g_list_store_remove(store: *mut GListStore, position: guint);
51017}
51018extern "C" {
51019    pub fn g_list_store_remove_all(store: *mut GListStore);
51020}
51021extern "C" {
51022    pub fn g_list_store_splice(
51023        store: *mut GListStore,
51024        position: guint,
51025        n_removals: guint,
51026        additions: *mut gpointer,
51027        n_additions: guint,
51028    );
51029}
51030extern "C" {
51031    pub fn g_list_store_find(
51032        store: *mut GListStore,
51033        item: gpointer,
51034        position: *mut guint,
51035    ) -> gboolean;
51036}
51037extern "C" {
51038    pub fn g_list_store_find_with_equal_func(
51039        store: *mut GListStore,
51040        item: gpointer,
51041        equal_func: GEqualFunc,
51042        position: *mut guint,
51043    ) -> gboolean;
51044}
51045extern "C" {
51046    pub fn g_list_store_find_with_equal_func_full(
51047        store: *mut GListStore,
51048        item: gpointer,
51049        equal_func: GEqualFuncFull,
51050        user_data: gpointer,
51051        position: *mut guint,
51052    ) -> gboolean;
51053}
51054#[doc = " GLoadableIcon:\n\n Generic type for all kinds of icons that can be loaded\n as a stream."]
51055pub type GLoadableIconIface = _GLoadableIconIface;
51056#[doc = " GLoadableIconIface:\n @g_iface: The parent interface.\n @load: Loads an icon.\n @load_async: Loads an icon asynchronously.\n @load_finish: Finishes an asynchronous icon load.\n\n Interface for icons that can be loaded as a stream."]
51057#[repr(C)]
51058#[derive(Debug, Copy, Clone, PartialEq, Eq)]
51059pub struct _GLoadableIconIface {
51060    pub g_iface: GTypeInterface,
51061    pub load: ::std::option::Option<
51062        unsafe extern "C" fn(
51063            icon: *mut GLoadableIcon,
51064            size: ::std::os::raw::c_int,
51065            type_: *mut *mut ::std::os::raw::c_char,
51066            cancellable: *mut GCancellable,
51067            error: *mut *mut GError,
51068        ) -> *mut GInputStream,
51069    >,
51070    pub load_async: ::std::option::Option<
51071        unsafe extern "C" fn(
51072            icon: *mut GLoadableIcon,
51073            size: ::std::os::raw::c_int,
51074            cancellable: *mut GCancellable,
51075            callback: GAsyncReadyCallback,
51076            user_data: gpointer,
51077        ),
51078    >,
51079    pub load_finish: ::std::option::Option<
51080        unsafe extern "C" fn(
51081            icon: *mut GLoadableIcon,
51082            res: *mut GAsyncResult,
51083            type_: *mut *mut ::std::os::raw::c_char,
51084            error: *mut *mut GError,
51085        ) -> *mut GInputStream,
51086    >,
51087}
51088#[test]
51089fn bindgen_test_layout__GLoadableIconIface() {
51090    const UNINIT: ::std::mem::MaybeUninit<_GLoadableIconIface> = ::std::mem::MaybeUninit::uninit();
51091    let ptr = UNINIT.as_ptr();
51092    assert_eq!(
51093        ::std::mem::size_of::<_GLoadableIconIface>(),
51094        40usize,
51095        concat!("Size of: ", stringify!(_GLoadableIconIface))
51096    );
51097    assert_eq!(
51098        ::std::mem::align_of::<_GLoadableIconIface>(),
51099        8usize,
51100        concat!("Alignment of ", stringify!(_GLoadableIconIface))
51101    );
51102    assert_eq!(
51103        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
51104        0usize,
51105        concat!(
51106            "Offset of field: ",
51107            stringify!(_GLoadableIconIface),
51108            "::",
51109            stringify!(g_iface)
51110        )
51111    );
51112    assert_eq!(
51113        unsafe { ::std::ptr::addr_of!((*ptr).load) as usize - ptr as usize },
51114        16usize,
51115        concat!(
51116            "Offset of field: ",
51117            stringify!(_GLoadableIconIface),
51118            "::",
51119            stringify!(load)
51120        )
51121    );
51122    assert_eq!(
51123        unsafe { ::std::ptr::addr_of!((*ptr).load_async) as usize - ptr as usize },
51124        24usize,
51125        concat!(
51126            "Offset of field: ",
51127            stringify!(_GLoadableIconIface),
51128            "::",
51129            stringify!(load_async)
51130        )
51131    );
51132    assert_eq!(
51133        unsafe { ::std::ptr::addr_of!((*ptr).load_finish) as usize - ptr as usize },
51134        32usize,
51135        concat!(
51136            "Offset of field: ",
51137            stringify!(_GLoadableIconIface),
51138            "::",
51139            stringify!(load_finish)
51140        )
51141    );
51142}
51143extern "C" {
51144    pub fn g_loadable_icon_get_type() -> GType;
51145}
51146extern "C" {
51147    pub fn g_loadable_icon_load(
51148        icon: *mut GLoadableIcon,
51149        size: ::std::os::raw::c_int,
51150        type_: *mut *mut ::std::os::raw::c_char,
51151        cancellable: *mut GCancellable,
51152        error: *mut *mut GError,
51153    ) -> *mut GInputStream;
51154}
51155extern "C" {
51156    pub fn g_loadable_icon_load_async(
51157        icon: *mut GLoadableIcon,
51158        size: ::std::os::raw::c_int,
51159        cancellable: *mut GCancellable,
51160        callback: GAsyncReadyCallback,
51161        user_data: gpointer,
51162    );
51163}
51164extern "C" {
51165    pub fn g_loadable_icon_load_finish(
51166        icon: *mut GLoadableIcon,
51167        res: *mut GAsyncResult,
51168        type_: *mut *mut ::std::os::raw::c_char,
51169        error: *mut *mut GError,
51170    ) -> *mut GInputStream;
51171}
51172#[doc = " GMemoryInputStream:\n\n Implements #GInputStream for arbitrary memory chunks."]
51173pub type GMemoryInputStreamClass = _GMemoryInputStreamClass;
51174#[repr(C)]
51175#[derive(Debug, Copy, Clone)]
51176pub struct _GMemoryInputStreamPrivate {
51177    _unused: [u8; 0],
51178}
51179pub type GMemoryInputStreamPrivate = _GMemoryInputStreamPrivate;
51180#[repr(C)]
51181#[derive(Debug, Copy, Clone, PartialEq, Eq)]
51182pub struct _GMemoryInputStream {
51183    pub parent_instance: GInputStream,
51184    pub priv_: *mut GMemoryInputStreamPrivate,
51185}
51186#[test]
51187fn bindgen_test_layout__GMemoryInputStream() {
51188    const UNINIT: ::std::mem::MaybeUninit<_GMemoryInputStream> = ::std::mem::MaybeUninit::uninit();
51189    let ptr = UNINIT.as_ptr();
51190    assert_eq!(
51191        ::std::mem::size_of::<_GMemoryInputStream>(),
51192        40usize,
51193        concat!("Size of: ", stringify!(_GMemoryInputStream))
51194    );
51195    assert_eq!(
51196        ::std::mem::align_of::<_GMemoryInputStream>(),
51197        8usize,
51198        concat!("Alignment of ", stringify!(_GMemoryInputStream))
51199    );
51200    assert_eq!(
51201        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
51202        0usize,
51203        concat!(
51204            "Offset of field: ",
51205            stringify!(_GMemoryInputStream),
51206            "::",
51207            stringify!(parent_instance)
51208        )
51209    );
51210    assert_eq!(
51211        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
51212        32usize,
51213        concat!(
51214            "Offset of field: ",
51215            stringify!(_GMemoryInputStream),
51216            "::",
51217            stringify!(priv_)
51218        )
51219    );
51220}
51221#[repr(C)]
51222#[derive(Debug, Copy, Clone, PartialEq, Eq)]
51223pub struct _GMemoryInputStreamClass {
51224    pub parent_class: GInputStreamClass,
51225    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
51226    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
51227    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
51228    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
51229    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
51230}
51231#[test]
51232fn bindgen_test_layout__GMemoryInputStreamClass() {
51233    const UNINIT: ::std::mem::MaybeUninit<_GMemoryInputStreamClass> =
51234        ::std::mem::MaybeUninit::uninit();
51235    let ptr = UNINIT.as_ptr();
51236    assert_eq!(
51237        ::std::mem::size_of::<_GMemoryInputStreamClass>(),
51238        288usize,
51239        concat!("Size of: ", stringify!(_GMemoryInputStreamClass))
51240    );
51241    assert_eq!(
51242        ::std::mem::align_of::<_GMemoryInputStreamClass>(),
51243        8usize,
51244        concat!("Alignment of ", stringify!(_GMemoryInputStreamClass))
51245    );
51246    assert_eq!(
51247        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
51248        0usize,
51249        concat!(
51250            "Offset of field: ",
51251            stringify!(_GMemoryInputStreamClass),
51252            "::",
51253            stringify!(parent_class)
51254        )
51255    );
51256    assert_eq!(
51257        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
51258        248usize,
51259        concat!(
51260            "Offset of field: ",
51261            stringify!(_GMemoryInputStreamClass),
51262            "::",
51263            stringify!(_g_reserved1)
51264        )
51265    );
51266    assert_eq!(
51267        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
51268        256usize,
51269        concat!(
51270            "Offset of field: ",
51271            stringify!(_GMemoryInputStreamClass),
51272            "::",
51273            stringify!(_g_reserved2)
51274        )
51275    );
51276    assert_eq!(
51277        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
51278        264usize,
51279        concat!(
51280            "Offset of field: ",
51281            stringify!(_GMemoryInputStreamClass),
51282            "::",
51283            stringify!(_g_reserved3)
51284        )
51285    );
51286    assert_eq!(
51287        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
51288        272usize,
51289        concat!(
51290            "Offset of field: ",
51291            stringify!(_GMemoryInputStreamClass),
51292            "::",
51293            stringify!(_g_reserved4)
51294        )
51295    );
51296    assert_eq!(
51297        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
51298        280usize,
51299        concat!(
51300            "Offset of field: ",
51301            stringify!(_GMemoryInputStreamClass),
51302            "::",
51303            stringify!(_g_reserved5)
51304        )
51305    );
51306}
51307extern "C" {
51308    pub fn g_memory_input_stream_get_type() -> GType;
51309}
51310extern "C" {
51311    pub fn g_memory_input_stream_new() -> *mut GInputStream;
51312}
51313extern "C" {
51314    pub fn g_memory_input_stream_new_from_data(
51315        data: *const ::std::os::raw::c_void,
51316        len: gssize,
51317        destroy: GDestroyNotify,
51318    ) -> *mut GInputStream;
51319}
51320extern "C" {
51321    pub fn g_memory_input_stream_new_from_bytes(bytes: *mut GBytes) -> *mut GInputStream;
51322}
51323extern "C" {
51324    pub fn g_memory_input_stream_add_data(
51325        stream: *mut GMemoryInputStream,
51326        data: *const ::std::os::raw::c_void,
51327        len: gssize,
51328        destroy: GDestroyNotify,
51329    );
51330}
51331extern "C" {
51332    pub fn g_memory_input_stream_add_bytes(stream: *mut GMemoryInputStream, bytes: *mut GBytes);
51333}
51334extern "C" {
51335    pub fn g_memory_monitor_get_type() -> GType;
51336}
51337#[repr(C)]
51338#[derive(Debug, Copy, Clone)]
51339pub struct _GMemoryMonitor {
51340    _unused: [u8; 0],
51341}
51342pub type GMemoryMonitor = _GMemoryMonitor;
51343pub type GMemoryMonitorInterface = _GMemoryMonitorInterface;
51344pub type GMemoryMonitor_autoptr = *mut GMemoryMonitor;
51345pub type GMemoryMonitor_listautoptr = *mut GList;
51346pub type GMemoryMonitor_slistautoptr = *mut GSList;
51347pub type GMemoryMonitor_queueautoptr = *mut GQueue;
51348#[repr(C)]
51349#[derive(Debug, Copy, Clone, PartialEq, Eq)]
51350pub struct _GMemoryMonitorInterface {
51351    pub g_iface: GTypeInterface,
51352    pub low_memory_warning: ::std::option::Option<
51353        unsafe extern "C" fn(monitor: *mut GMemoryMonitor, level: GMemoryMonitorWarningLevel),
51354    >,
51355}
51356#[test]
51357fn bindgen_test_layout__GMemoryMonitorInterface() {
51358    const UNINIT: ::std::mem::MaybeUninit<_GMemoryMonitorInterface> =
51359        ::std::mem::MaybeUninit::uninit();
51360    let ptr = UNINIT.as_ptr();
51361    assert_eq!(
51362        ::std::mem::size_of::<_GMemoryMonitorInterface>(),
51363        24usize,
51364        concat!("Size of: ", stringify!(_GMemoryMonitorInterface))
51365    );
51366    assert_eq!(
51367        ::std::mem::align_of::<_GMemoryMonitorInterface>(),
51368        8usize,
51369        concat!("Alignment of ", stringify!(_GMemoryMonitorInterface))
51370    );
51371    assert_eq!(
51372        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
51373        0usize,
51374        concat!(
51375            "Offset of field: ",
51376            stringify!(_GMemoryMonitorInterface),
51377            "::",
51378            stringify!(g_iface)
51379        )
51380    );
51381    assert_eq!(
51382        unsafe { ::std::ptr::addr_of!((*ptr).low_memory_warning) as usize - ptr as usize },
51383        16usize,
51384        concat!(
51385            "Offset of field: ",
51386            stringify!(_GMemoryMonitorInterface),
51387            "::",
51388            stringify!(low_memory_warning)
51389        )
51390    );
51391}
51392extern "C" {
51393    pub fn g_memory_monitor_dup_default() -> *mut GMemoryMonitor;
51394}
51395#[doc = " GMemoryOutputStream:\n\n Implements #GOutputStream for arbitrary memory chunks."]
51396pub type GMemoryOutputStreamClass = _GMemoryOutputStreamClass;
51397#[repr(C)]
51398#[derive(Debug, Copy, Clone)]
51399pub struct _GMemoryOutputStreamPrivate {
51400    _unused: [u8; 0],
51401}
51402pub type GMemoryOutputStreamPrivate = _GMemoryOutputStreamPrivate;
51403#[repr(C)]
51404#[derive(Debug, Copy, Clone, PartialEq, Eq)]
51405pub struct _GMemoryOutputStream {
51406    pub parent_instance: GOutputStream,
51407    pub priv_: *mut GMemoryOutputStreamPrivate,
51408}
51409#[test]
51410fn bindgen_test_layout__GMemoryOutputStream() {
51411    const UNINIT: ::std::mem::MaybeUninit<_GMemoryOutputStream> = ::std::mem::MaybeUninit::uninit();
51412    let ptr = UNINIT.as_ptr();
51413    assert_eq!(
51414        ::std::mem::size_of::<_GMemoryOutputStream>(),
51415        40usize,
51416        concat!("Size of: ", stringify!(_GMemoryOutputStream))
51417    );
51418    assert_eq!(
51419        ::std::mem::align_of::<_GMemoryOutputStream>(),
51420        8usize,
51421        concat!("Alignment of ", stringify!(_GMemoryOutputStream))
51422    );
51423    assert_eq!(
51424        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
51425        0usize,
51426        concat!(
51427            "Offset of field: ",
51428            stringify!(_GMemoryOutputStream),
51429            "::",
51430            stringify!(parent_instance)
51431        )
51432    );
51433    assert_eq!(
51434        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
51435        32usize,
51436        concat!(
51437            "Offset of field: ",
51438            stringify!(_GMemoryOutputStream),
51439            "::",
51440            stringify!(priv_)
51441        )
51442    );
51443}
51444#[repr(C)]
51445#[derive(Debug, Copy, Clone, PartialEq, Eq)]
51446pub struct _GMemoryOutputStreamClass {
51447    pub parent_class: GOutputStreamClass,
51448    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
51449    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
51450    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
51451    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
51452    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
51453}
51454#[test]
51455fn bindgen_test_layout__GMemoryOutputStreamClass() {
51456    const UNINIT: ::std::mem::MaybeUninit<_GMemoryOutputStreamClass> =
51457        ::std::mem::MaybeUninit::uninit();
51458    let ptr = UNINIT.as_ptr();
51459    assert_eq!(
51460        ::std::mem::size_of::<_GMemoryOutputStreamClass>(),
51461        336usize,
51462        concat!("Size of: ", stringify!(_GMemoryOutputStreamClass))
51463    );
51464    assert_eq!(
51465        ::std::mem::align_of::<_GMemoryOutputStreamClass>(),
51466        8usize,
51467        concat!("Alignment of ", stringify!(_GMemoryOutputStreamClass))
51468    );
51469    assert_eq!(
51470        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
51471        0usize,
51472        concat!(
51473            "Offset of field: ",
51474            stringify!(_GMemoryOutputStreamClass),
51475            "::",
51476            stringify!(parent_class)
51477        )
51478    );
51479    assert_eq!(
51480        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
51481        296usize,
51482        concat!(
51483            "Offset of field: ",
51484            stringify!(_GMemoryOutputStreamClass),
51485            "::",
51486            stringify!(_g_reserved1)
51487        )
51488    );
51489    assert_eq!(
51490        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
51491        304usize,
51492        concat!(
51493            "Offset of field: ",
51494            stringify!(_GMemoryOutputStreamClass),
51495            "::",
51496            stringify!(_g_reserved2)
51497        )
51498    );
51499    assert_eq!(
51500        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
51501        312usize,
51502        concat!(
51503            "Offset of field: ",
51504            stringify!(_GMemoryOutputStreamClass),
51505            "::",
51506            stringify!(_g_reserved3)
51507        )
51508    );
51509    assert_eq!(
51510        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
51511        320usize,
51512        concat!(
51513            "Offset of field: ",
51514            stringify!(_GMemoryOutputStreamClass),
51515            "::",
51516            stringify!(_g_reserved4)
51517        )
51518    );
51519    assert_eq!(
51520        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
51521        328usize,
51522        concat!(
51523            "Offset of field: ",
51524            stringify!(_GMemoryOutputStreamClass),
51525            "::",
51526            stringify!(_g_reserved5)
51527        )
51528    );
51529}
51530#[doc = " GReallocFunc:\n @data: memory block to reallocate\n @size: size to reallocate @data to\n\n Changes the size of the memory block pointed to by @data to\n @size bytes.\n\n The function should have the same semantics as realloc().\n\n Returns: a pointer to the reallocated memory"]
51531pub type GReallocFunc =
51532    ::std::option::Option<unsafe extern "C" fn(data: gpointer, size: gsize) -> gpointer>;
51533extern "C" {
51534    pub fn g_memory_output_stream_get_type() -> GType;
51535}
51536extern "C" {
51537    pub fn g_memory_output_stream_new(
51538        data: gpointer,
51539        size: gsize,
51540        realloc_function: GReallocFunc,
51541        destroy_function: GDestroyNotify,
51542    ) -> *mut GOutputStream;
51543}
51544extern "C" {
51545    pub fn g_memory_output_stream_new_resizable() -> *mut GOutputStream;
51546}
51547extern "C" {
51548    pub fn g_memory_output_stream_get_data(ostream: *mut GMemoryOutputStream) -> gpointer;
51549}
51550extern "C" {
51551    pub fn g_memory_output_stream_get_size(ostream: *mut GMemoryOutputStream) -> gsize;
51552}
51553extern "C" {
51554    pub fn g_memory_output_stream_get_data_size(ostream: *mut GMemoryOutputStream) -> gsize;
51555}
51556extern "C" {
51557    pub fn g_memory_output_stream_steal_data(ostream: *mut GMemoryOutputStream) -> gpointer;
51558}
51559extern "C" {
51560    pub fn g_memory_output_stream_steal_as_bytes(ostream: *mut GMemoryOutputStream) -> *mut GBytes;
51561}
51562#[repr(C)]
51563#[derive(Debug, Copy, Clone)]
51564pub struct _GMenuModelPrivate {
51565    _unused: [u8; 0],
51566}
51567pub type GMenuModelPrivate = _GMenuModelPrivate;
51568#[doc = " GMenuModelClass::get_item_attributes:\n @model: the #GMenuModel to query\n @item_index: The #GMenuItem to query\n @attributes: (out) (element-type utf8 GLib.Variant): Attributes on the item\n\n Gets all the attributes associated with the item in the menu model.\n/\n/**\n GMenuModelClass::get_item_links:\n @model: the #GMenuModel to query\n @item_index: The #GMenuItem to query\n @links: (out) (element-type utf8 Gio.MenuModel): Links from the item\n\n Gets all the links associated with the item in the menu model."]
51569pub type GMenuModelClass = _GMenuModelClass;
51570#[repr(C)]
51571#[derive(Debug, Copy, Clone)]
51572pub struct _GMenuAttributeIterPrivate {
51573    _unused: [u8; 0],
51574}
51575pub type GMenuAttributeIterPrivate = _GMenuAttributeIterPrivate;
51576pub type GMenuAttributeIterClass = _GMenuAttributeIterClass;
51577pub type GMenuAttributeIter = _GMenuAttributeIter;
51578#[repr(C)]
51579#[derive(Debug, Copy, Clone)]
51580pub struct _GMenuLinkIterPrivate {
51581    _unused: [u8; 0],
51582}
51583pub type GMenuLinkIterPrivate = _GMenuLinkIterPrivate;
51584pub type GMenuLinkIterClass = _GMenuLinkIterClass;
51585pub type GMenuLinkIter = _GMenuLinkIter;
51586#[repr(C)]
51587#[derive(Debug, Copy, Clone, PartialEq, Eq)]
51588pub struct _GMenuModel {
51589    pub parent_instance: GObject,
51590    pub priv_: *mut GMenuModelPrivate,
51591}
51592#[test]
51593fn bindgen_test_layout__GMenuModel() {
51594    const UNINIT: ::std::mem::MaybeUninit<_GMenuModel> = ::std::mem::MaybeUninit::uninit();
51595    let ptr = UNINIT.as_ptr();
51596    assert_eq!(
51597        ::std::mem::size_of::<_GMenuModel>(),
51598        32usize,
51599        concat!("Size of: ", stringify!(_GMenuModel))
51600    );
51601    assert_eq!(
51602        ::std::mem::align_of::<_GMenuModel>(),
51603        8usize,
51604        concat!("Alignment of ", stringify!(_GMenuModel))
51605    );
51606    assert_eq!(
51607        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
51608        0usize,
51609        concat!(
51610            "Offset of field: ",
51611            stringify!(_GMenuModel),
51612            "::",
51613            stringify!(parent_instance)
51614        )
51615    );
51616    assert_eq!(
51617        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
51618        24usize,
51619        concat!(
51620            "Offset of field: ",
51621            stringify!(_GMenuModel),
51622            "::",
51623            stringify!(priv_)
51624        )
51625    );
51626}
51627#[doc = " GMenuModelClass::get_item_attributes:\n @model: the #GMenuModel to query\n @item_index: The #GMenuItem to query\n @attributes: (out) (element-type utf8 GLib.Variant): Attributes on the item\n\n Gets all the attributes associated with the item in the menu model.\n/\n/**\n GMenuModelClass::get_item_links:\n @model: the #GMenuModel to query\n @item_index: The #GMenuItem to query\n @links: (out) (element-type utf8 Gio.MenuModel): Links from the item\n\n Gets all the links associated with the item in the menu model."]
51628#[repr(C)]
51629#[derive(Debug, Copy, Clone, PartialEq, Eq)]
51630pub struct _GMenuModelClass {
51631    pub parent_class: GObjectClass,
51632    pub is_mutable: ::std::option::Option<unsafe extern "C" fn(model: *mut GMenuModel) -> gboolean>,
51633    pub get_n_items: ::std::option::Option<unsafe extern "C" fn(model: *mut GMenuModel) -> gint>,
51634    pub get_item_attributes: ::std::option::Option<
51635        unsafe extern "C" fn(
51636            model: *mut GMenuModel,
51637            item_index: gint,
51638            attributes: *mut *mut GHashTable,
51639        ),
51640    >,
51641    pub iterate_item_attributes: ::std::option::Option<
51642        unsafe extern "C" fn(model: *mut GMenuModel, item_index: gint) -> *mut GMenuAttributeIter,
51643    >,
51644    pub get_item_attribute_value: ::std::option::Option<
51645        unsafe extern "C" fn(
51646            model: *mut GMenuModel,
51647            item_index: gint,
51648            attribute: *const gchar,
51649            expected_type: *const GVariantType,
51650        ) -> *mut GVariant,
51651    >,
51652    pub get_item_links: ::std::option::Option<
51653        unsafe extern "C" fn(model: *mut GMenuModel, item_index: gint, links: *mut *mut GHashTable),
51654    >,
51655    pub iterate_item_links: ::std::option::Option<
51656        unsafe extern "C" fn(model: *mut GMenuModel, item_index: gint) -> *mut GMenuLinkIter,
51657    >,
51658    pub get_item_link: ::std::option::Option<
51659        unsafe extern "C" fn(
51660            model: *mut GMenuModel,
51661            item_index: gint,
51662            link: *const gchar,
51663        ) -> *mut GMenuModel,
51664    >,
51665}
51666#[test]
51667fn bindgen_test_layout__GMenuModelClass() {
51668    const UNINIT: ::std::mem::MaybeUninit<_GMenuModelClass> = ::std::mem::MaybeUninit::uninit();
51669    let ptr = UNINIT.as_ptr();
51670    assert_eq!(
51671        ::std::mem::size_of::<_GMenuModelClass>(),
51672        200usize,
51673        concat!("Size of: ", stringify!(_GMenuModelClass))
51674    );
51675    assert_eq!(
51676        ::std::mem::align_of::<_GMenuModelClass>(),
51677        8usize,
51678        concat!("Alignment of ", stringify!(_GMenuModelClass))
51679    );
51680    assert_eq!(
51681        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
51682        0usize,
51683        concat!(
51684            "Offset of field: ",
51685            stringify!(_GMenuModelClass),
51686            "::",
51687            stringify!(parent_class)
51688        )
51689    );
51690    assert_eq!(
51691        unsafe { ::std::ptr::addr_of!((*ptr).is_mutable) as usize - ptr as usize },
51692        136usize,
51693        concat!(
51694            "Offset of field: ",
51695            stringify!(_GMenuModelClass),
51696            "::",
51697            stringify!(is_mutable)
51698        )
51699    );
51700    assert_eq!(
51701        unsafe { ::std::ptr::addr_of!((*ptr).get_n_items) as usize - ptr as usize },
51702        144usize,
51703        concat!(
51704            "Offset of field: ",
51705            stringify!(_GMenuModelClass),
51706            "::",
51707            stringify!(get_n_items)
51708        )
51709    );
51710    assert_eq!(
51711        unsafe { ::std::ptr::addr_of!((*ptr).get_item_attributes) as usize - ptr as usize },
51712        152usize,
51713        concat!(
51714            "Offset of field: ",
51715            stringify!(_GMenuModelClass),
51716            "::",
51717            stringify!(get_item_attributes)
51718        )
51719    );
51720    assert_eq!(
51721        unsafe { ::std::ptr::addr_of!((*ptr).iterate_item_attributes) as usize - ptr as usize },
51722        160usize,
51723        concat!(
51724            "Offset of field: ",
51725            stringify!(_GMenuModelClass),
51726            "::",
51727            stringify!(iterate_item_attributes)
51728        )
51729    );
51730    assert_eq!(
51731        unsafe { ::std::ptr::addr_of!((*ptr).get_item_attribute_value) as usize - ptr as usize },
51732        168usize,
51733        concat!(
51734            "Offset of field: ",
51735            stringify!(_GMenuModelClass),
51736            "::",
51737            stringify!(get_item_attribute_value)
51738        )
51739    );
51740    assert_eq!(
51741        unsafe { ::std::ptr::addr_of!((*ptr).get_item_links) as usize - ptr as usize },
51742        176usize,
51743        concat!(
51744            "Offset of field: ",
51745            stringify!(_GMenuModelClass),
51746            "::",
51747            stringify!(get_item_links)
51748        )
51749    );
51750    assert_eq!(
51751        unsafe { ::std::ptr::addr_of!((*ptr).iterate_item_links) as usize - ptr as usize },
51752        184usize,
51753        concat!(
51754            "Offset of field: ",
51755            stringify!(_GMenuModelClass),
51756            "::",
51757            stringify!(iterate_item_links)
51758        )
51759    );
51760    assert_eq!(
51761        unsafe { ::std::ptr::addr_of!((*ptr).get_item_link) as usize - ptr as usize },
51762        192usize,
51763        concat!(
51764            "Offset of field: ",
51765            stringify!(_GMenuModelClass),
51766            "::",
51767            stringify!(get_item_link)
51768        )
51769    );
51770}
51771extern "C" {
51772    pub fn g_menu_model_get_type() -> GType;
51773}
51774extern "C" {
51775    pub fn g_menu_model_is_mutable(model: *mut GMenuModel) -> gboolean;
51776}
51777extern "C" {
51778    pub fn g_menu_model_get_n_items(model: *mut GMenuModel) -> gint;
51779}
51780extern "C" {
51781    pub fn g_menu_model_iterate_item_attributes(
51782        model: *mut GMenuModel,
51783        item_index: gint,
51784    ) -> *mut GMenuAttributeIter;
51785}
51786extern "C" {
51787    pub fn g_menu_model_get_item_attribute_value(
51788        model: *mut GMenuModel,
51789        item_index: gint,
51790        attribute: *const gchar,
51791        expected_type: *const GVariantType,
51792    ) -> *mut GVariant;
51793}
51794extern "C" {
51795    pub fn g_menu_model_get_item_attribute(
51796        model: *mut GMenuModel,
51797        item_index: gint,
51798        attribute: *const gchar,
51799        format_string: *const gchar,
51800        ...
51801    ) -> gboolean;
51802}
51803extern "C" {
51804    pub fn g_menu_model_iterate_item_links(
51805        model: *mut GMenuModel,
51806        item_index: gint,
51807    ) -> *mut GMenuLinkIter;
51808}
51809extern "C" {
51810    pub fn g_menu_model_get_item_link(
51811        model: *mut GMenuModel,
51812        item_index: gint,
51813        link: *const gchar,
51814    ) -> *mut GMenuModel;
51815}
51816extern "C" {
51817    pub fn g_menu_model_items_changed(
51818        model: *mut GMenuModel,
51819        position: gint,
51820        removed: gint,
51821        added: gint,
51822    );
51823}
51824#[repr(C)]
51825#[derive(Debug, Copy, Clone, PartialEq, Eq)]
51826pub struct _GMenuAttributeIter {
51827    pub parent_instance: GObject,
51828    pub priv_: *mut GMenuAttributeIterPrivate,
51829}
51830#[test]
51831fn bindgen_test_layout__GMenuAttributeIter() {
51832    const UNINIT: ::std::mem::MaybeUninit<_GMenuAttributeIter> = ::std::mem::MaybeUninit::uninit();
51833    let ptr = UNINIT.as_ptr();
51834    assert_eq!(
51835        ::std::mem::size_of::<_GMenuAttributeIter>(),
51836        32usize,
51837        concat!("Size of: ", stringify!(_GMenuAttributeIter))
51838    );
51839    assert_eq!(
51840        ::std::mem::align_of::<_GMenuAttributeIter>(),
51841        8usize,
51842        concat!("Alignment of ", stringify!(_GMenuAttributeIter))
51843    );
51844    assert_eq!(
51845        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
51846        0usize,
51847        concat!(
51848            "Offset of field: ",
51849            stringify!(_GMenuAttributeIter),
51850            "::",
51851            stringify!(parent_instance)
51852        )
51853    );
51854    assert_eq!(
51855        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
51856        24usize,
51857        concat!(
51858            "Offset of field: ",
51859            stringify!(_GMenuAttributeIter),
51860            "::",
51861            stringify!(priv_)
51862        )
51863    );
51864}
51865#[repr(C)]
51866#[derive(Debug, Copy, Clone, PartialEq, Eq)]
51867pub struct _GMenuAttributeIterClass {
51868    pub parent_class: GObjectClass,
51869    pub get_next: ::std::option::Option<
51870        unsafe extern "C" fn(
51871            iter: *mut GMenuAttributeIter,
51872            out_name: *mut *const gchar,
51873            value: *mut *mut GVariant,
51874        ) -> gboolean,
51875    >,
51876}
51877#[test]
51878fn bindgen_test_layout__GMenuAttributeIterClass() {
51879    const UNINIT: ::std::mem::MaybeUninit<_GMenuAttributeIterClass> =
51880        ::std::mem::MaybeUninit::uninit();
51881    let ptr = UNINIT.as_ptr();
51882    assert_eq!(
51883        ::std::mem::size_of::<_GMenuAttributeIterClass>(),
51884        144usize,
51885        concat!("Size of: ", stringify!(_GMenuAttributeIterClass))
51886    );
51887    assert_eq!(
51888        ::std::mem::align_of::<_GMenuAttributeIterClass>(),
51889        8usize,
51890        concat!("Alignment of ", stringify!(_GMenuAttributeIterClass))
51891    );
51892    assert_eq!(
51893        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
51894        0usize,
51895        concat!(
51896            "Offset of field: ",
51897            stringify!(_GMenuAttributeIterClass),
51898            "::",
51899            stringify!(parent_class)
51900        )
51901    );
51902    assert_eq!(
51903        unsafe { ::std::ptr::addr_of!((*ptr).get_next) as usize - ptr as usize },
51904        136usize,
51905        concat!(
51906            "Offset of field: ",
51907            stringify!(_GMenuAttributeIterClass),
51908            "::",
51909            stringify!(get_next)
51910        )
51911    );
51912}
51913extern "C" {
51914    pub fn g_menu_attribute_iter_get_type() -> GType;
51915}
51916extern "C" {
51917    pub fn g_menu_attribute_iter_get_next(
51918        iter: *mut GMenuAttributeIter,
51919        out_name: *mut *const gchar,
51920        value: *mut *mut GVariant,
51921    ) -> gboolean;
51922}
51923extern "C" {
51924    pub fn g_menu_attribute_iter_next(iter: *mut GMenuAttributeIter) -> gboolean;
51925}
51926extern "C" {
51927    pub fn g_menu_attribute_iter_get_name(iter: *mut GMenuAttributeIter) -> *const gchar;
51928}
51929extern "C" {
51930    pub fn g_menu_attribute_iter_get_value(iter: *mut GMenuAttributeIter) -> *mut GVariant;
51931}
51932#[repr(C)]
51933#[derive(Debug, Copy, Clone, PartialEq, Eq)]
51934pub struct _GMenuLinkIter {
51935    pub parent_instance: GObject,
51936    pub priv_: *mut GMenuLinkIterPrivate,
51937}
51938#[test]
51939fn bindgen_test_layout__GMenuLinkIter() {
51940    const UNINIT: ::std::mem::MaybeUninit<_GMenuLinkIter> = ::std::mem::MaybeUninit::uninit();
51941    let ptr = UNINIT.as_ptr();
51942    assert_eq!(
51943        ::std::mem::size_of::<_GMenuLinkIter>(),
51944        32usize,
51945        concat!("Size of: ", stringify!(_GMenuLinkIter))
51946    );
51947    assert_eq!(
51948        ::std::mem::align_of::<_GMenuLinkIter>(),
51949        8usize,
51950        concat!("Alignment of ", stringify!(_GMenuLinkIter))
51951    );
51952    assert_eq!(
51953        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
51954        0usize,
51955        concat!(
51956            "Offset of field: ",
51957            stringify!(_GMenuLinkIter),
51958            "::",
51959            stringify!(parent_instance)
51960        )
51961    );
51962    assert_eq!(
51963        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
51964        24usize,
51965        concat!(
51966            "Offset of field: ",
51967            stringify!(_GMenuLinkIter),
51968            "::",
51969            stringify!(priv_)
51970        )
51971    );
51972}
51973#[repr(C)]
51974#[derive(Debug, Copy, Clone, PartialEq, Eq)]
51975pub struct _GMenuLinkIterClass {
51976    pub parent_class: GObjectClass,
51977    pub get_next: ::std::option::Option<
51978        unsafe extern "C" fn(
51979            iter: *mut GMenuLinkIter,
51980            out_link: *mut *const gchar,
51981            value: *mut *mut GMenuModel,
51982        ) -> gboolean,
51983    >,
51984}
51985#[test]
51986fn bindgen_test_layout__GMenuLinkIterClass() {
51987    const UNINIT: ::std::mem::MaybeUninit<_GMenuLinkIterClass> = ::std::mem::MaybeUninit::uninit();
51988    let ptr = UNINIT.as_ptr();
51989    assert_eq!(
51990        ::std::mem::size_of::<_GMenuLinkIterClass>(),
51991        144usize,
51992        concat!("Size of: ", stringify!(_GMenuLinkIterClass))
51993    );
51994    assert_eq!(
51995        ::std::mem::align_of::<_GMenuLinkIterClass>(),
51996        8usize,
51997        concat!("Alignment of ", stringify!(_GMenuLinkIterClass))
51998    );
51999    assert_eq!(
52000        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
52001        0usize,
52002        concat!(
52003            "Offset of field: ",
52004            stringify!(_GMenuLinkIterClass),
52005            "::",
52006            stringify!(parent_class)
52007        )
52008    );
52009    assert_eq!(
52010        unsafe { ::std::ptr::addr_of!((*ptr).get_next) as usize - ptr as usize },
52011        136usize,
52012        concat!(
52013            "Offset of field: ",
52014            stringify!(_GMenuLinkIterClass),
52015            "::",
52016            stringify!(get_next)
52017        )
52018    );
52019}
52020extern "C" {
52021    pub fn g_menu_link_iter_get_type() -> GType;
52022}
52023extern "C" {
52024    pub fn g_menu_link_iter_get_next(
52025        iter: *mut GMenuLinkIter,
52026        out_link: *mut *const gchar,
52027        value: *mut *mut GMenuModel,
52028    ) -> gboolean;
52029}
52030extern "C" {
52031    pub fn g_menu_link_iter_next(iter: *mut GMenuLinkIter) -> gboolean;
52032}
52033extern "C" {
52034    pub fn g_menu_link_iter_get_name(iter: *mut GMenuLinkIter) -> *const gchar;
52035}
52036extern "C" {
52037    pub fn g_menu_link_iter_get_value(iter: *mut GMenuLinkIter) -> *mut GMenuModel;
52038}
52039#[repr(C)]
52040#[derive(Debug, Copy, Clone)]
52041pub struct _GMenuItem {
52042    _unused: [u8; 0],
52043}
52044pub type GMenuItem = _GMenuItem;
52045#[repr(C)]
52046#[derive(Debug, Copy, Clone)]
52047pub struct _GMenu {
52048    _unused: [u8; 0],
52049}
52050pub type GMenu = _GMenu;
52051extern "C" {
52052    pub fn g_menu_get_type() -> GType;
52053}
52054extern "C" {
52055    pub fn g_menu_new() -> *mut GMenu;
52056}
52057extern "C" {
52058    pub fn g_menu_freeze(menu: *mut GMenu);
52059}
52060extern "C" {
52061    pub fn g_menu_insert_item(menu: *mut GMenu, position: gint, item: *mut GMenuItem);
52062}
52063extern "C" {
52064    pub fn g_menu_prepend_item(menu: *mut GMenu, item: *mut GMenuItem);
52065}
52066extern "C" {
52067    pub fn g_menu_append_item(menu: *mut GMenu, item: *mut GMenuItem);
52068}
52069extern "C" {
52070    pub fn g_menu_remove(menu: *mut GMenu, position: gint);
52071}
52072extern "C" {
52073    pub fn g_menu_remove_all(menu: *mut GMenu);
52074}
52075extern "C" {
52076    pub fn g_menu_insert(
52077        menu: *mut GMenu,
52078        position: gint,
52079        label: *const gchar,
52080        detailed_action: *const gchar,
52081    );
52082}
52083extern "C" {
52084    pub fn g_menu_prepend(menu: *mut GMenu, label: *const gchar, detailed_action: *const gchar);
52085}
52086extern "C" {
52087    pub fn g_menu_append(menu: *mut GMenu, label: *const gchar, detailed_action: *const gchar);
52088}
52089extern "C" {
52090    pub fn g_menu_insert_section(
52091        menu: *mut GMenu,
52092        position: gint,
52093        label: *const gchar,
52094        section: *mut GMenuModel,
52095    );
52096}
52097extern "C" {
52098    pub fn g_menu_prepend_section(menu: *mut GMenu, label: *const gchar, section: *mut GMenuModel);
52099}
52100extern "C" {
52101    pub fn g_menu_append_section(menu: *mut GMenu, label: *const gchar, section: *mut GMenuModel);
52102}
52103extern "C" {
52104    pub fn g_menu_insert_submenu(
52105        menu: *mut GMenu,
52106        position: gint,
52107        label: *const gchar,
52108        submenu: *mut GMenuModel,
52109    );
52110}
52111extern "C" {
52112    pub fn g_menu_prepend_submenu(menu: *mut GMenu, label: *const gchar, submenu: *mut GMenuModel);
52113}
52114extern "C" {
52115    pub fn g_menu_append_submenu(menu: *mut GMenu, label: *const gchar, submenu: *mut GMenuModel);
52116}
52117extern "C" {
52118    pub fn g_menu_item_get_type() -> GType;
52119}
52120extern "C" {
52121    pub fn g_menu_item_new(label: *const gchar, detailed_action: *const gchar) -> *mut GMenuItem;
52122}
52123extern "C" {
52124    pub fn g_menu_item_new_from_model(model: *mut GMenuModel, item_index: gint) -> *mut GMenuItem;
52125}
52126extern "C" {
52127    pub fn g_menu_item_new_submenu(label: *const gchar, submenu: *mut GMenuModel)
52128        -> *mut GMenuItem;
52129}
52130extern "C" {
52131    pub fn g_menu_item_new_section(label: *const gchar, section: *mut GMenuModel)
52132        -> *mut GMenuItem;
52133}
52134extern "C" {
52135    pub fn g_menu_item_get_attribute_value(
52136        menu_item: *mut GMenuItem,
52137        attribute: *const gchar,
52138        expected_type: *const GVariantType,
52139    ) -> *mut GVariant;
52140}
52141extern "C" {
52142    pub fn g_menu_item_get_attribute(
52143        menu_item: *mut GMenuItem,
52144        attribute: *const gchar,
52145        format_string: *const gchar,
52146        ...
52147    ) -> gboolean;
52148}
52149extern "C" {
52150    pub fn g_menu_item_get_link(menu_item: *mut GMenuItem, link: *const gchar) -> *mut GMenuModel;
52151}
52152extern "C" {
52153    pub fn g_menu_item_set_attribute_value(
52154        menu_item: *mut GMenuItem,
52155        attribute: *const gchar,
52156        value: *mut GVariant,
52157    );
52158}
52159extern "C" {
52160    pub fn g_menu_item_set_attribute(
52161        menu_item: *mut GMenuItem,
52162        attribute: *const gchar,
52163        format_string: *const gchar,
52164        ...
52165    );
52166}
52167extern "C" {
52168    pub fn g_menu_item_set_link(
52169        menu_item: *mut GMenuItem,
52170        link: *const gchar,
52171        model: *mut GMenuModel,
52172    );
52173}
52174extern "C" {
52175    pub fn g_menu_item_set_label(menu_item: *mut GMenuItem, label: *const gchar);
52176}
52177extern "C" {
52178    pub fn g_menu_item_set_submenu(menu_item: *mut GMenuItem, submenu: *mut GMenuModel);
52179}
52180extern "C" {
52181    pub fn g_menu_item_set_section(menu_item: *mut GMenuItem, section: *mut GMenuModel);
52182}
52183extern "C" {
52184    pub fn g_menu_item_set_action_and_target_value(
52185        menu_item: *mut GMenuItem,
52186        action: *const gchar,
52187        target_value: *mut GVariant,
52188    );
52189}
52190extern "C" {
52191    pub fn g_menu_item_set_action_and_target(
52192        menu_item: *mut GMenuItem,
52193        action: *const gchar,
52194        format_string: *const gchar,
52195        ...
52196    );
52197}
52198extern "C" {
52199    pub fn g_menu_item_set_detailed_action(
52200        menu_item: *mut GMenuItem,
52201        detailed_action: *const gchar,
52202    );
52203}
52204extern "C" {
52205    pub fn g_menu_item_set_icon(menu_item: *mut GMenuItem, icon: *mut GIcon);
52206}
52207extern "C" {
52208    pub fn g_dbus_connection_export_menu_model(
52209        connection: *mut GDBusConnection,
52210        object_path: *const gchar,
52211        menu: *mut GMenuModel,
52212        error: *mut *mut GError,
52213    ) -> guint;
52214}
52215extern "C" {
52216    pub fn g_dbus_connection_unexport_menu_model(
52217        connection: *mut GDBusConnection,
52218        export_id: guint,
52219    );
52220}
52221#[doc = " GMountIface:\n @g_iface: The parent interface.\n @changed: Changed signal that is emitted when the mount's state has changed.\n @unmounted: The unmounted signal that is emitted when the #GMount have been unmounted. If the recipient is holding references to the object they should release them so the object can be finalized.\n @pre_unmount: The ::pre-unmount signal that is emitted when the #GMount will soon be emitted. If the recipient is somehow holding the mount open by keeping an open file on it it should close the file.\n @get_root: Gets a #GFile to the root directory of the #GMount.\n @get_name: Gets a string containing the name of the #GMount.\n @get_icon: Gets a #GIcon for the #GMount.\n @get_uuid: Gets the UUID for the #GMount. The reference is typically based on the file system UUID for the mount in question and should be considered an opaque string. Returns %NULL if there is no UUID available.\n @get_volume: Gets a #GVolume the mount is located on. Returns %NULL if the #GMount is not associated with a #GVolume.\n @get_drive: Gets a #GDrive the volume of the mount is located on. Returns %NULL if the #GMount is not associated with a #GDrive or a #GVolume. This is convenience method for getting the #GVolume and using that to get the #GDrive.\n @can_unmount: Checks if a #GMount can be unmounted.\n @can_eject: Checks if a #GMount can be ejected.\n @unmount: Starts unmounting a #GMount.\n @unmount_finish: Finishes an unmounting operation.\n @eject: Starts ejecting a #GMount.\n @eject_finish: Finishes an eject operation.\n @remount: Starts remounting a #GMount.\n @remount_finish: Finishes a remounting operation.\n @guess_content_type: Starts guessing the type of the content of a #GMount.\n     See g_mount_guess_content_type() for more information on content\n     type guessing. This operation was added in 2.18.\n @guess_content_type_finish: Finishes a content type guessing operation. Added in 2.18.\n @guess_content_type_sync: Synchronous variant of @guess_content_type. Added in 2.18\n @unmount_with_operation: Starts unmounting a #GMount using a #GMountOperation. Since 2.22.\n @unmount_with_operation_finish: Finishes an unmounting operation using a #GMountOperation. Since 2.22.\n @eject_with_operation: Starts ejecting a #GMount using a #GMountOperation. Since 2.22.\n @eject_with_operation_finish: Finishes an eject operation using a #GMountOperation. Since 2.22.\n @get_default_location: Gets a #GFile indication a start location that can be use as the entry point for this mount. Since 2.24.\n @get_sort_key: Gets a key used for sorting #GMount instance or %NULL if no such key exists. Since 2.32.\n @get_symbolic_icon: Gets a symbolic #GIcon for the #GMount. Since 2.34.\n\n Interface for implementing operations for mounts."]
52222pub type GMountIface = _GMountIface;
52223#[doc = " GMountIface:\n @g_iface: The parent interface.\n @changed: Changed signal that is emitted when the mount's state has changed.\n @unmounted: The unmounted signal that is emitted when the #GMount have been unmounted. If the recipient is holding references to the object they should release them so the object can be finalized.\n @pre_unmount: The ::pre-unmount signal that is emitted when the #GMount will soon be emitted. If the recipient is somehow holding the mount open by keeping an open file on it it should close the file.\n @get_root: Gets a #GFile to the root directory of the #GMount.\n @get_name: Gets a string containing the name of the #GMount.\n @get_icon: Gets a #GIcon for the #GMount.\n @get_uuid: Gets the UUID for the #GMount. The reference is typically based on the file system UUID for the mount in question and should be considered an opaque string. Returns %NULL if there is no UUID available.\n @get_volume: Gets a #GVolume the mount is located on. Returns %NULL if the #GMount is not associated with a #GVolume.\n @get_drive: Gets a #GDrive the volume of the mount is located on. Returns %NULL if the #GMount is not associated with a #GDrive or a #GVolume. This is convenience method for getting the #GVolume and using that to get the #GDrive.\n @can_unmount: Checks if a #GMount can be unmounted.\n @can_eject: Checks if a #GMount can be ejected.\n @unmount: Starts unmounting a #GMount.\n @unmount_finish: Finishes an unmounting operation.\n @eject: Starts ejecting a #GMount.\n @eject_finish: Finishes an eject operation.\n @remount: Starts remounting a #GMount.\n @remount_finish: Finishes a remounting operation.\n @guess_content_type: Starts guessing the type of the content of a #GMount.\n     See g_mount_guess_content_type() for more information on content\n     type guessing. This operation was added in 2.18.\n @guess_content_type_finish: Finishes a content type guessing operation. Added in 2.18.\n @guess_content_type_sync: Synchronous variant of @guess_content_type. Added in 2.18\n @unmount_with_operation: Starts unmounting a #GMount using a #GMountOperation. Since 2.22.\n @unmount_with_operation_finish: Finishes an unmounting operation using a #GMountOperation. Since 2.22.\n @eject_with_operation: Starts ejecting a #GMount using a #GMountOperation. Since 2.22.\n @eject_with_operation_finish: Finishes an eject operation using a #GMountOperation. Since 2.22.\n @get_default_location: Gets a #GFile indication a start location that can be use as the entry point for this mount. Since 2.24.\n @get_sort_key: Gets a key used for sorting #GMount instance or %NULL if no such key exists. Since 2.32.\n @get_symbolic_icon: Gets a symbolic #GIcon for the #GMount. Since 2.34.\n\n Interface for implementing operations for mounts."]
52224#[repr(C)]
52225#[derive(Debug, Copy, Clone, PartialEq, Eq)]
52226pub struct _GMountIface {
52227    pub g_iface: GTypeInterface,
52228    pub changed: ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount)>,
52229    pub unmounted: ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount)>,
52230    pub get_root: ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount) -> *mut GFile>,
52231    pub get_name: ::std::option::Option<
52232        unsafe extern "C" fn(mount: *mut GMount) -> *mut ::std::os::raw::c_char,
52233    >,
52234    pub get_icon: ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount) -> *mut GIcon>,
52235    pub get_uuid: ::std::option::Option<
52236        unsafe extern "C" fn(mount: *mut GMount) -> *mut ::std::os::raw::c_char,
52237    >,
52238    pub get_volume: ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount) -> *mut GVolume>,
52239    pub get_drive: ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount) -> *mut GDrive>,
52240    pub can_unmount: ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount) -> gboolean>,
52241    pub can_eject: ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount) -> gboolean>,
52242    pub unmount: ::std::option::Option<
52243        unsafe extern "C" fn(
52244            mount: *mut GMount,
52245            flags: GMountUnmountFlags,
52246            cancellable: *mut GCancellable,
52247            callback: GAsyncReadyCallback,
52248            user_data: gpointer,
52249        ),
52250    >,
52251    pub unmount_finish: ::std::option::Option<
52252        unsafe extern "C" fn(
52253            mount: *mut GMount,
52254            result: *mut GAsyncResult,
52255            error: *mut *mut GError,
52256        ) -> gboolean,
52257    >,
52258    pub eject: ::std::option::Option<
52259        unsafe extern "C" fn(
52260            mount: *mut GMount,
52261            flags: GMountUnmountFlags,
52262            cancellable: *mut GCancellable,
52263            callback: GAsyncReadyCallback,
52264            user_data: gpointer,
52265        ),
52266    >,
52267    pub eject_finish: ::std::option::Option<
52268        unsafe extern "C" fn(
52269            mount: *mut GMount,
52270            result: *mut GAsyncResult,
52271            error: *mut *mut GError,
52272        ) -> gboolean,
52273    >,
52274    pub remount: ::std::option::Option<
52275        unsafe extern "C" fn(
52276            mount: *mut GMount,
52277            flags: GMountMountFlags,
52278            mount_operation: *mut GMountOperation,
52279            cancellable: *mut GCancellable,
52280            callback: GAsyncReadyCallback,
52281            user_data: gpointer,
52282        ),
52283    >,
52284    pub remount_finish: ::std::option::Option<
52285        unsafe extern "C" fn(
52286            mount: *mut GMount,
52287            result: *mut GAsyncResult,
52288            error: *mut *mut GError,
52289        ) -> gboolean,
52290    >,
52291    pub guess_content_type: ::std::option::Option<
52292        unsafe extern "C" fn(
52293            mount: *mut GMount,
52294            force_rescan: gboolean,
52295            cancellable: *mut GCancellable,
52296            callback: GAsyncReadyCallback,
52297            user_data: gpointer,
52298        ),
52299    >,
52300    pub guess_content_type_finish: ::std::option::Option<
52301        unsafe extern "C" fn(
52302            mount: *mut GMount,
52303            result: *mut GAsyncResult,
52304            error: *mut *mut GError,
52305        ) -> *mut *mut gchar,
52306    >,
52307    pub guess_content_type_sync: ::std::option::Option<
52308        unsafe extern "C" fn(
52309            mount: *mut GMount,
52310            force_rescan: gboolean,
52311            cancellable: *mut GCancellable,
52312            error: *mut *mut GError,
52313        ) -> *mut *mut gchar,
52314    >,
52315    pub pre_unmount: ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount)>,
52316    pub unmount_with_operation: ::std::option::Option<
52317        unsafe extern "C" fn(
52318            mount: *mut GMount,
52319            flags: GMountUnmountFlags,
52320            mount_operation: *mut GMountOperation,
52321            cancellable: *mut GCancellable,
52322            callback: GAsyncReadyCallback,
52323            user_data: gpointer,
52324        ),
52325    >,
52326    pub unmount_with_operation_finish: ::std::option::Option<
52327        unsafe extern "C" fn(
52328            mount: *mut GMount,
52329            result: *mut GAsyncResult,
52330            error: *mut *mut GError,
52331        ) -> gboolean,
52332    >,
52333    pub eject_with_operation: ::std::option::Option<
52334        unsafe extern "C" fn(
52335            mount: *mut GMount,
52336            flags: GMountUnmountFlags,
52337            mount_operation: *mut GMountOperation,
52338            cancellable: *mut GCancellable,
52339            callback: GAsyncReadyCallback,
52340            user_data: gpointer,
52341        ),
52342    >,
52343    pub eject_with_operation_finish: ::std::option::Option<
52344        unsafe extern "C" fn(
52345            mount: *mut GMount,
52346            result: *mut GAsyncResult,
52347            error: *mut *mut GError,
52348        ) -> gboolean,
52349    >,
52350    pub get_default_location:
52351        ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount) -> *mut GFile>,
52352    pub get_sort_key:
52353        ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount) -> *const gchar>,
52354    pub get_symbolic_icon:
52355        ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount) -> *mut GIcon>,
52356}
52357#[test]
52358fn bindgen_test_layout__GMountIface() {
52359    const UNINIT: ::std::mem::MaybeUninit<_GMountIface> = ::std::mem::MaybeUninit::uninit();
52360    let ptr = UNINIT.as_ptr();
52361    assert_eq!(
52362        ::std::mem::size_of::<_GMountIface>(),
52363        232usize,
52364        concat!("Size of: ", stringify!(_GMountIface))
52365    );
52366    assert_eq!(
52367        ::std::mem::align_of::<_GMountIface>(),
52368        8usize,
52369        concat!("Alignment of ", stringify!(_GMountIface))
52370    );
52371    assert_eq!(
52372        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
52373        0usize,
52374        concat!(
52375            "Offset of field: ",
52376            stringify!(_GMountIface),
52377            "::",
52378            stringify!(g_iface)
52379        )
52380    );
52381    assert_eq!(
52382        unsafe { ::std::ptr::addr_of!((*ptr).changed) as usize - ptr as usize },
52383        16usize,
52384        concat!(
52385            "Offset of field: ",
52386            stringify!(_GMountIface),
52387            "::",
52388            stringify!(changed)
52389        )
52390    );
52391    assert_eq!(
52392        unsafe { ::std::ptr::addr_of!((*ptr).unmounted) as usize - ptr as usize },
52393        24usize,
52394        concat!(
52395            "Offset of field: ",
52396            stringify!(_GMountIface),
52397            "::",
52398            stringify!(unmounted)
52399        )
52400    );
52401    assert_eq!(
52402        unsafe { ::std::ptr::addr_of!((*ptr).get_root) as usize - ptr as usize },
52403        32usize,
52404        concat!(
52405            "Offset of field: ",
52406            stringify!(_GMountIface),
52407            "::",
52408            stringify!(get_root)
52409        )
52410    );
52411    assert_eq!(
52412        unsafe { ::std::ptr::addr_of!((*ptr).get_name) as usize - ptr as usize },
52413        40usize,
52414        concat!(
52415            "Offset of field: ",
52416            stringify!(_GMountIface),
52417            "::",
52418            stringify!(get_name)
52419        )
52420    );
52421    assert_eq!(
52422        unsafe { ::std::ptr::addr_of!((*ptr).get_icon) as usize - ptr as usize },
52423        48usize,
52424        concat!(
52425            "Offset of field: ",
52426            stringify!(_GMountIface),
52427            "::",
52428            stringify!(get_icon)
52429        )
52430    );
52431    assert_eq!(
52432        unsafe { ::std::ptr::addr_of!((*ptr).get_uuid) as usize - ptr as usize },
52433        56usize,
52434        concat!(
52435            "Offset of field: ",
52436            stringify!(_GMountIface),
52437            "::",
52438            stringify!(get_uuid)
52439        )
52440    );
52441    assert_eq!(
52442        unsafe { ::std::ptr::addr_of!((*ptr).get_volume) as usize - ptr as usize },
52443        64usize,
52444        concat!(
52445            "Offset of field: ",
52446            stringify!(_GMountIface),
52447            "::",
52448            stringify!(get_volume)
52449        )
52450    );
52451    assert_eq!(
52452        unsafe { ::std::ptr::addr_of!((*ptr).get_drive) as usize - ptr as usize },
52453        72usize,
52454        concat!(
52455            "Offset of field: ",
52456            stringify!(_GMountIface),
52457            "::",
52458            stringify!(get_drive)
52459        )
52460    );
52461    assert_eq!(
52462        unsafe { ::std::ptr::addr_of!((*ptr).can_unmount) as usize - ptr as usize },
52463        80usize,
52464        concat!(
52465            "Offset of field: ",
52466            stringify!(_GMountIface),
52467            "::",
52468            stringify!(can_unmount)
52469        )
52470    );
52471    assert_eq!(
52472        unsafe { ::std::ptr::addr_of!((*ptr).can_eject) as usize - ptr as usize },
52473        88usize,
52474        concat!(
52475            "Offset of field: ",
52476            stringify!(_GMountIface),
52477            "::",
52478            stringify!(can_eject)
52479        )
52480    );
52481    assert_eq!(
52482        unsafe { ::std::ptr::addr_of!((*ptr).unmount) as usize - ptr as usize },
52483        96usize,
52484        concat!(
52485            "Offset of field: ",
52486            stringify!(_GMountIface),
52487            "::",
52488            stringify!(unmount)
52489        )
52490    );
52491    assert_eq!(
52492        unsafe { ::std::ptr::addr_of!((*ptr).unmount_finish) as usize - ptr as usize },
52493        104usize,
52494        concat!(
52495            "Offset of field: ",
52496            stringify!(_GMountIface),
52497            "::",
52498            stringify!(unmount_finish)
52499        )
52500    );
52501    assert_eq!(
52502        unsafe { ::std::ptr::addr_of!((*ptr).eject) as usize - ptr as usize },
52503        112usize,
52504        concat!(
52505            "Offset of field: ",
52506            stringify!(_GMountIface),
52507            "::",
52508            stringify!(eject)
52509        )
52510    );
52511    assert_eq!(
52512        unsafe { ::std::ptr::addr_of!((*ptr).eject_finish) as usize - ptr as usize },
52513        120usize,
52514        concat!(
52515            "Offset of field: ",
52516            stringify!(_GMountIface),
52517            "::",
52518            stringify!(eject_finish)
52519        )
52520    );
52521    assert_eq!(
52522        unsafe { ::std::ptr::addr_of!((*ptr).remount) as usize - ptr as usize },
52523        128usize,
52524        concat!(
52525            "Offset of field: ",
52526            stringify!(_GMountIface),
52527            "::",
52528            stringify!(remount)
52529        )
52530    );
52531    assert_eq!(
52532        unsafe { ::std::ptr::addr_of!((*ptr).remount_finish) as usize - ptr as usize },
52533        136usize,
52534        concat!(
52535            "Offset of field: ",
52536            stringify!(_GMountIface),
52537            "::",
52538            stringify!(remount_finish)
52539        )
52540    );
52541    assert_eq!(
52542        unsafe { ::std::ptr::addr_of!((*ptr).guess_content_type) as usize - ptr as usize },
52543        144usize,
52544        concat!(
52545            "Offset of field: ",
52546            stringify!(_GMountIface),
52547            "::",
52548            stringify!(guess_content_type)
52549        )
52550    );
52551    assert_eq!(
52552        unsafe { ::std::ptr::addr_of!((*ptr).guess_content_type_finish) as usize - ptr as usize },
52553        152usize,
52554        concat!(
52555            "Offset of field: ",
52556            stringify!(_GMountIface),
52557            "::",
52558            stringify!(guess_content_type_finish)
52559        )
52560    );
52561    assert_eq!(
52562        unsafe { ::std::ptr::addr_of!((*ptr).guess_content_type_sync) as usize - ptr as usize },
52563        160usize,
52564        concat!(
52565            "Offset of field: ",
52566            stringify!(_GMountIface),
52567            "::",
52568            stringify!(guess_content_type_sync)
52569        )
52570    );
52571    assert_eq!(
52572        unsafe { ::std::ptr::addr_of!((*ptr).pre_unmount) as usize - ptr as usize },
52573        168usize,
52574        concat!(
52575            "Offset of field: ",
52576            stringify!(_GMountIface),
52577            "::",
52578            stringify!(pre_unmount)
52579        )
52580    );
52581    assert_eq!(
52582        unsafe { ::std::ptr::addr_of!((*ptr).unmount_with_operation) as usize - ptr as usize },
52583        176usize,
52584        concat!(
52585            "Offset of field: ",
52586            stringify!(_GMountIface),
52587            "::",
52588            stringify!(unmount_with_operation)
52589        )
52590    );
52591    assert_eq!(
52592        unsafe {
52593            ::std::ptr::addr_of!((*ptr).unmount_with_operation_finish) as usize - ptr as usize
52594        },
52595        184usize,
52596        concat!(
52597            "Offset of field: ",
52598            stringify!(_GMountIface),
52599            "::",
52600            stringify!(unmount_with_operation_finish)
52601        )
52602    );
52603    assert_eq!(
52604        unsafe { ::std::ptr::addr_of!((*ptr).eject_with_operation) as usize - ptr as usize },
52605        192usize,
52606        concat!(
52607            "Offset of field: ",
52608            stringify!(_GMountIface),
52609            "::",
52610            stringify!(eject_with_operation)
52611        )
52612    );
52613    assert_eq!(
52614        unsafe { ::std::ptr::addr_of!((*ptr).eject_with_operation_finish) as usize - ptr as usize },
52615        200usize,
52616        concat!(
52617            "Offset of field: ",
52618            stringify!(_GMountIface),
52619            "::",
52620            stringify!(eject_with_operation_finish)
52621        )
52622    );
52623    assert_eq!(
52624        unsafe { ::std::ptr::addr_of!((*ptr).get_default_location) as usize - ptr as usize },
52625        208usize,
52626        concat!(
52627            "Offset of field: ",
52628            stringify!(_GMountIface),
52629            "::",
52630            stringify!(get_default_location)
52631        )
52632    );
52633    assert_eq!(
52634        unsafe { ::std::ptr::addr_of!((*ptr).get_sort_key) as usize - ptr as usize },
52635        216usize,
52636        concat!(
52637            "Offset of field: ",
52638            stringify!(_GMountIface),
52639            "::",
52640            stringify!(get_sort_key)
52641        )
52642    );
52643    assert_eq!(
52644        unsafe { ::std::ptr::addr_of!((*ptr).get_symbolic_icon) as usize - ptr as usize },
52645        224usize,
52646        concat!(
52647            "Offset of field: ",
52648            stringify!(_GMountIface),
52649            "::",
52650            stringify!(get_symbolic_icon)
52651        )
52652    );
52653}
52654extern "C" {
52655    pub fn g_mount_get_type() -> GType;
52656}
52657extern "C" {
52658    pub fn g_mount_get_root(mount: *mut GMount) -> *mut GFile;
52659}
52660extern "C" {
52661    pub fn g_mount_get_default_location(mount: *mut GMount) -> *mut GFile;
52662}
52663extern "C" {
52664    pub fn g_mount_get_name(mount: *mut GMount) -> *mut ::std::os::raw::c_char;
52665}
52666extern "C" {
52667    pub fn g_mount_get_icon(mount: *mut GMount) -> *mut GIcon;
52668}
52669extern "C" {
52670    pub fn g_mount_get_symbolic_icon(mount: *mut GMount) -> *mut GIcon;
52671}
52672extern "C" {
52673    pub fn g_mount_get_uuid(mount: *mut GMount) -> *mut ::std::os::raw::c_char;
52674}
52675extern "C" {
52676    pub fn g_mount_get_volume(mount: *mut GMount) -> *mut GVolume;
52677}
52678extern "C" {
52679    pub fn g_mount_get_drive(mount: *mut GMount) -> *mut GDrive;
52680}
52681extern "C" {
52682    pub fn g_mount_can_unmount(mount: *mut GMount) -> gboolean;
52683}
52684extern "C" {
52685    pub fn g_mount_can_eject(mount: *mut GMount) -> gboolean;
52686}
52687extern "C" {
52688    pub fn g_mount_unmount(
52689        mount: *mut GMount,
52690        flags: GMountUnmountFlags,
52691        cancellable: *mut GCancellable,
52692        callback: GAsyncReadyCallback,
52693        user_data: gpointer,
52694    );
52695}
52696extern "C" {
52697    pub fn g_mount_unmount_finish(
52698        mount: *mut GMount,
52699        result: *mut GAsyncResult,
52700        error: *mut *mut GError,
52701    ) -> gboolean;
52702}
52703extern "C" {
52704    pub fn g_mount_eject(
52705        mount: *mut GMount,
52706        flags: GMountUnmountFlags,
52707        cancellable: *mut GCancellable,
52708        callback: GAsyncReadyCallback,
52709        user_data: gpointer,
52710    );
52711}
52712extern "C" {
52713    pub fn g_mount_eject_finish(
52714        mount: *mut GMount,
52715        result: *mut GAsyncResult,
52716        error: *mut *mut GError,
52717    ) -> gboolean;
52718}
52719extern "C" {
52720    pub fn g_mount_remount(
52721        mount: *mut GMount,
52722        flags: GMountMountFlags,
52723        mount_operation: *mut GMountOperation,
52724        cancellable: *mut GCancellable,
52725        callback: GAsyncReadyCallback,
52726        user_data: gpointer,
52727    );
52728}
52729extern "C" {
52730    pub fn g_mount_remount_finish(
52731        mount: *mut GMount,
52732        result: *mut GAsyncResult,
52733        error: *mut *mut GError,
52734    ) -> gboolean;
52735}
52736extern "C" {
52737    pub fn g_mount_guess_content_type(
52738        mount: *mut GMount,
52739        force_rescan: gboolean,
52740        cancellable: *mut GCancellable,
52741        callback: GAsyncReadyCallback,
52742        user_data: gpointer,
52743    );
52744}
52745extern "C" {
52746    pub fn g_mount_guess_content_type_finish(
52747        mount: *mut GMount,
52748        result: *mut GAsyncResult,
52749        error: *mut *mut GError,
52750    ) -> *mut *mut gchar;
52751}
52752extern "C" {
52753    pub fn g_mount_guess_content_type_sync(
52754        mount: *mut GMount,
52755        force_rescan: gboolean,
52756        cancellable: *mut GCancellable,
52757        error: *mut *mut GError,
52758    ) -> *mut *mut gchar;
52759}
52760extern "C" {
52761    pub fn g_mount_is_shadowed(mount: *mut GMount) -> gboolean;
52762}
52763extern "C" {
52764    pub fn g_mount_shadow(mount: *mut GMount);
52765}
52766extern "C" {
52767    pub fn g_mount_unshadow(mount: *mut GMount);
52768}
52769extern "C" {
52770    pub fn g_mount_unmount_with_operation(
52771        mount: *mut GMount,
52772        flags: GMountUnmountFlags,
52773        mount_operation: *mut GMountOperation,
52774        cancellable: *mut GCancellable,
52775        callback: GAsyncReadyCallback,
52776        user_data: gpointer,
52777    );
52778}
52779extern "C" {
52780    pub fn g_mount_unmount_with_operation_finish(
52781        mount: *mut GMount,
52782        result: *mut GAsyncResult,
52783        error: *mut *mut GError,
52784    ) -> gboolean;
52785}
52786extern "C" {
52787    pub fn g_mount_eject_with_operation(
52788        mount: *mut GMount,
52789        flags: GMountUnmountFlags,
52790        mount_operation: *mut GMountOperation,
52791        cancellable: *mut GCancellable,
52792        callback: GAsyncReadyCallback,
52793        user_data: gpointer,
52794    );
52795}
52796extern "C" {
52797    pub fn g_mount_eject_with_operation_finish(
52798        mount: *mut GMount,
52799        result: *mut GAsyncResult,
52800        error: *mut *mut GError,
52801    ) -> gboolean;
52802}
52803extern "C" {
52804    pub fn g_mount_get_sort_key(mount: *mut GMount) -> *const gchar;
52805}
52806#[doc = " GMountOperation:\n\n Class for providing authentication methods for mounting operations,\n such as mounting a file locally, or authenticating with a server."]
52807pub type GMountOperationClass = _GMountOperationClass;
52808#[repr(C)]
52809#[derive(Debug, Copy, Clone)]
52810pub struct _GMountOperationPrivate {
52811    _unused: [u8; 0],
52812}
52813pub type GMountOperationPrivate = _GMountOperationPrivate;
52814#[repr(C)]
52815#[derive(Debug, Copy, Clone, PartialEq, Eq)]
52816pub struct _GMountOperation {
52817    pub parent_instance: GObject,
52818    pub priv_: *mut GMountOperationPrivate,
52819}
52820#[test]
52821fn bindgen_test_layout__GMountOperation() {
52822    const UNINIT: ::std::mem::MaybeUninit<_GMountOperation> = ::std::mem::MaybeUninit::uninit();
52823    let ptr = UNINIT.as_ptr();
52824    assert_eq!(
52825        ::std::mem::size_of::<_GMountOperation>(),
52826        32usize,
52827        concat!("Size of: ", stringify!(_GMountOperation))
52828    );
52829    assert_eq!(
52830        ::std::mem::align_of::<_GMountOperation>(),
52831        8usize,
52832        concat!("Alignment of ", stringify!(_GMountOperation))
52833    );
52834    assert_eq!(
52835        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
52836        0usize,
52837        concat!(
52838            "Offset of field: ",
52839            stringify!(_GMountOperation),
52840            "::",
52841            stringify!(parent_instance)
52842        )
52843    );
52844    assert_eq!(
52845        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
52846        24usize,
52847        concat!(
52848            "Offset of field: ",
52849            stringify!(_GMountOperation),
52850            "::",
52851            stringify!(priv_)
52852        )
52853    );
52854}
52855#[repr(C)]
52856#[derive(Debug, Copy, Clone, PartialEq, Eq)]
52857pub struct _GMountOperationClass {
52858    pub parent_class: GObjectClass,
52859    pub ask_password: ::std::option::Option<
52860        unsafe extern "C" fn(
52861            op: *mut GMountOperation,
52862            message: *const ::std::os::raw::c_char,
52863            default_user: *const ::std::os::raw::c_char,
52864            default_domain: *const ::std::os::raw::c_char,
52865            flags: GAskPasswordFlags,
52866        ),
52867    >,
52868    #[doc = " GMountOperationClass::ask_question:\n @op: a #GMountOperation\n @message: string containing a message to display to the user\n @choices: (array zero-terminated=1) (element-type utf8): an array of\n    strings for each possible choice\n\n Virtual implementation of #GMountOperation::ask-question."]
52869    pub ask_question: ::std::option::Option<
52870        unsafe extern "C" fn(
52871            op: *mut GMountOperation,
52872            message: *const ::std::os::raw::c_char,
52873            choices: *mut *const ::std::os::raw::c_char,
52874        ),
52875    >,
52876    pub reply: ::std::option::Option<
52877        unsafe extern "C" fn(op: *mut GMountOperation, result: GMountOperationResult),
52878    >,
52879    pub aborted: ::std::option::Option<unsafe extern "C" fn(op: *mut GMountOperation)>,
52880    #[doc = " GMountOperationClass::show_processes:\n @op: a #GMountOperation\n @message: string containing a message to display to the user\n @processes: (element-type GPid): an array of #GPid for processes blocking\n    the operation\n @choices: (array zero-terminated=1) (element-type utf8): an array of\n    strings for each possible choice\n\n Virtual implementation of #GMountOperation::show-processes.\n\n Since: 2.22"]
52881    pub show_processes: ::std::option::Option<
52882        unsafe extern "C" fn(
52883            op: *mut GMountOperation,
52884            message: *const gchar,
52885            processes: *mut GArray,
52886            choices: *mut *const gchar,
52887        ),
52888    >,
52889    pub show_unmount_progress: ::std::option::Option<
52890        unsafe extern "C" fn(
52891            op: *mut GMountOperation,
52892            message: *const gchar,
52893            time_left: gint64,
52894            bytes_left: gint64,
52895        ),
52896    >,
52897    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
52898    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
52899    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
52900    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
52901    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
52902    pub _g_reserved6: ::std::option::Option<unsafe extern "C" fn()>,
52903    pub _g_reserved7: ::std::option::Option<unsafe extern "C" fn()>,
52904    pub _g_reserved8: ::std::option::Option<unsafe extern "C" fn()>,
52905    pub _g_reserved9: ::std::option::Option<unsafe extern "C" fn()>,
52906}
52907#[test]
52908fn bindgen_test_layout__GMountOperationClass() {
52909    const UNINIT: ::std::mem::MaybeUninit<_GMountOperationClass> =
52910        ::std::mem::MaybeUninit::uninit();
52911    let ptr = UNINIT.as_ptr();
52912    assert_eq!(
52913        ::std::mem::size_of::<_GMountOperationClass>(),
52914        256usize,
52915        concat!("Size of: ", stringify!(_GMountOperationClass))
52916    );
52917    assert_eq!(
52918        ::std::mem::align_of::<_GMountOperationClass>(),
52919        8usize,
52920        concat!("Alignment of ", stringify!(_GMountOperationClass))
52921    );
52922    assert_eq!(
52923        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
52924        0usize,
52925        concat!(
52926            "Offset of field: ",
52927            stringify!(_GMountOperationClass),
52928            "::",
52929            stringify!(parent_class)
52930        )
52931    );
52932    assert_eq!(
52933        unsafe { ::std::ptr::addr_of!((*ptr).ask_password) as usize - ptr as usize },
52934        136usize,
52935        concat!(
52936            "Offset of field: ",
52937            stringify!(_GMountOperationClass),
52938            "::",
52939            stringify!(ask_password)
52940        )
52941    );
52942    assert_eq!(
52943        unsafe { ::std::ptr::addr_of!((*ptr).ask_question) as usize - ptr as usize },
52944        144usize,
52945        concat!(
52946            "Offset of field: ",
52947            stringify!(_GMountOperationClass),
52948            "::",
52949            stringify!(ask_question)
52950        )
52951    );
52952    assert_eq!(
52953        unsafe { ::std::ptr::addr_of!((*ptr).reply) as usize - ptr as usize },
52954        152usize,
52955        concat!(
52956            "Offset of field: ",
52957            stringify!(_GMountOperationClass),
52958            "::",
52959            stringify!(reply)
52960        )
52961    );
52962    assert_eq!(
52963        unsafe { ::std::ptr::addr_of!((*ptr).aborted) as usize - ptr as usize },
52964        160usize,
52965        concat!(
52966            "Offset of field: ",
52967            stringify!(_GMountOperationClass),
52968            "::",
52969            stringify!(aborted)
52970        )
52971    );
52972    assert_eq!(
52973        unsafe { ::std::ptr::addr_of!((*ptr).show_processes) as usize - ptr as usize },
52974        168usize,
52975        concat!(
52976            "Offset of field: ",
52977            stringify!(_GMountOperationClass),
52978            "::",
52979            stringify!(show_processes)
52980        )
52981    );
52982    assert_eq!(
52983        unsafe { ::std::ptr::addr_of!((*ptr).show_unmount_progress) as usize - ptr as usize },
52984        176usize,
52985        concat!(
52986            "Offset of field: ",
52987            stringify!(_GMountOperationClass),
52988            "::",
52989            stringify!(show_unmount_progress)
52990        )
52991    );
52992    assert_eq!(
52993        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
52994        184usize,
52995        concat!(
52996            "Offset of field: ",
52997            stringify!(_GMountOperationClass),
52998            "::",
52999            stringify!(_g_reserved1)
53000        )
53001    );
53002    assert_eq!(
53003        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
53004        192usize,
53005        concat!(
53006            "Offset of field: ",
53007            stringify!(_GMountOperationClass),
53008            "::",
53009            stringify!(_g_reserved2)
53010        )
53011    );
53012    assert_eq!(
53013        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
53014        200usize,
53015        concat!(
53016            "Offset of field: ",
53017            stringify!(_GMountOperationClass),
53018            "::",
53019            stringify!(_g_reserved3)
53020        )
53021    );
53022    assert_eq!(
53023        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
53024        208usize,
53025        concat!(
53026            "Offset of field: ",
53027            stringify!(_GMountOperationClass),
53028            "::",
53029            stringify!(_g_reserved4)
53030        )
53031    );
53032    assert_eq!(
53033        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
53034        216usize,
53035        concat!(
53036            "Offset of field: ",
53037            stringify!(_GMountOperationClass),
53038            "::",
53039            stringify!(_g_reserved5)
53040        )
53041    );
53042    assert_eq!(
53043        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved6) as usize - ptr as usize },
53044        224usize,
53045        concat!(
53046            "Offset of field: ",
53047            stringify!(_GMountOperationClass),
53048            "::",
53049            stringify!(_g_reserved6)
53050        )
53051    );
53052    assert_eq!(
53053        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved7) as usize - ptr as usize },
53054        232usize,
53055        concat!(
53056            "Offset of field: ",
53057            stringify!(_GMountOperationClass),
53058            "::",
53059            stringify!(_g_reserved7)
53060        )
53061    );
53062    assert_eq!(
53063        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved8) as usize - ptr as usize },
53064        240usize,
53065        concat!(
53066            "Offset of field: ",
53067            stringify!(_GMountOperationClass),
53068            "::",
53069            stringify!(_g_reserved8)
53070        )
53071    );
53072    assert_eq!(
53073        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved9) as usize - ptr as usize },
53074        248usize,
53075        concat!(
53076            "Offset of field: ",
53077            stringify!(_GMountOperationClass),
53078            "::",
53079            stringify!(_g_reserved9)
53080        )
53081    );
53082}
53083extern "C" {
53084    pub fn g_mount_operation_get_type() -> GType;
53085}
53086extern "C" {
53087    pub fn g_mount_operation_new() -> *mut GMountOperation;
53088}
53089extern "C" {
53090    pub fn g_mount_operation_get_username(
53091        op: *mut GMountOperation,
53092    ) -> *const ::std::os::raw::c_char;
53093}
53094extern "C" {
53095    pub fn g_mount_operation_set_username(
53096        op: *mut GMountOperation,
53097        username: *const ::std::os::raw::c_char,
53098    );
53099}
53100extern "C" {
53101    pub fn g_mount_operation_get_password(
53102        op: *mut GMountOperation,
53103    ) -> *const ::std::os::raw::c_char;
53104}
53105extern "C" {
53106    pub fn g_mount_operation_set_password(
53107        op: *mut GMountOperation,
53108        password: *const ::std::os::raw::c_char,
53109    );
53110}
53111extern "C" {
53112    pub fn g_mount_operation_get_anonymous(op: *mut GMountOperation) -> gboolean;
53113}
53114extern "C" {
53115    pub fn g_mount_operation_set_anonymous(op: *mut GMountOperation, anonymous: gboolean);
53116}
53117extern "C" {
53118    pub fn g_mount_operation_get_domain(op: *mut GMountOperation) -> *const ::std::os::raw::c_char;
53119}
53120extern "C" {
53121    pub fn g_mount_operation_set_domain(
53122        op: *mut GMountOperation,
53123        domain: *const ::std::os::raw::c_char,
53124    );
53125}
53126extern "C" {
53127    pub fn g_mount_operation_get_password_save(op: *mut GMountOperation) -> GPasswordSave;
53128}
53129extern "C" {
53130    pub fn g_mount_operation_set_password_save(op: *mut GMountOperation, save: GPasswordSave);
53131}
53132extern "C" {
53133    pub fn g_mount_operation_get_choice(op: *mut GMountOperation) -> ::std::os::raw::c_int;
53134}
53135extern "C" {
53136    pub fn g_mount_operation_set_choice(op: *mut GMountOperation, choice: ::std::os::raw::c_int);
53137}
53138extern "C" {
53139    pub fn g_mount_operation_reply(op: *mut GMountOperation, result: GMountOperationResult);
53140}
53141extern "C" {
53142    pub fn g_mount_operation_get_is_tcrypt_hidden_volume(op: *mut GMountOperation) -> gboolean;
53143}
53144extern "C" {
53145    pub fn g_mount_operation_set_is_tcrypt_hidden_volume(
53146        op: *mut GMountOperation,
53147        hidden_volume: gboolean,
53148    );
53149}
53150extern "C" {
53151    pub fn g_mount_operation_get_is_tcrypt_system_volume(op: *mut GMountOperation) -> gboolean;
53152}
53153extern "C" {
53154    pub fn g_mount_operation_set_is_tcrypt_system_volume(
53155        op: *mut GMountOperation,
53156        system_volume: gboolean,
53157    );
53158}
53159extern "C" {
53160    pub fn g_mount_operation_get_pim(op: *mut GMountOperation) -> guint;
53161}
53162extern "C" {
53163    pub fn g_mount_operation_set_pim(op: *mut GMountOperation, pim: guint);
53164}
53165pub type GNativeSocketAddressClass = _GNativeSocketAddressClass;
53166#[repr(C)]
53167#[derive(Debug, Copy, Clone)]
53168pub struct _GNativeSocketAddressPrivate {
53169    _unused: [u8; 0],
53170}
53171pub type GNativeSocketAddressPrivate = _GNativeSocketAddressPrivate;
53172#[repr(C)]
53173#[derive(Debug, Copy, Clone, PartialEq, Eq)]
53174pub struct _GNativeSocketAddress {
53175    pub parent_instance: GSocketAddress,
53176    pub priv_: *mut GNativeSocketAddressPrivate,
53177}
53178#[test]
53179fn bindgen_test_layout__GNativeSocketAddress() {
53180    const UNINIT: ::std::mem::MaybeUninit<_GNativeSocketAddress> =
53181        ::std::mem::MaybeUninit::uninit();
53182    let ptr = UNINIT.as_ptr();
53183    assert_eq!(
53184        ::std::mem::size_of::<_GNativeSocketAddress>(),
53185        32usize,
53186        concat!("Size of: ", stringify!(_GNativeSocketAddress))
53187    );
53188    assert_eq!(
53189        ::std::mem::align_of::<_GNativeSocketAddress>(),
53190        8usize,
53191        concat!("Alignment of ", stringify!(_GNativeSocketAddress))
53192    );
53193    assert_eq!(
53194        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
53195        0usize,
53196        concat!(
53197            "Offset of field: ",
53198            stringify!(_GNativeSocketAddress),
53199            "::",
53200            stringify!(parent_instance)
53201        )
53202    );
53203    assert_eq!(
53204        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
53205        24usize,
53206        concat!(
53207            "Offset of field: ",
53208            stringify!(_GNativeSocketAddress),
53209            "::",
53210            stringify!(priv_)
53211        )
53212    );
53213}
53214#[repr(C)]
53215#[derive(Debug, Copy, Clone, PartialEq, Eq)]
53216pub struct _GNativeSocketAddressClass {
53217    pub parent_class: GSocketAddressClass,
53218}
53219#[test]
53220fn bindgen_test_layout__GNativeSocketAddressClass() {
53221    const UNINIT: ::std::mem::MaybeUninit<_GNativeSocketAddressClass> =
53222        ::std::mem::MaybeUninit::uninit();
53223    let ptr = UNINIT.as_ptr();
53224    assert_eq!(
53225        ::std::mem::size_of::<_GNativeSocketAddressClass>(),
53226        160usize,
53227        concat!("Size of: ", stringify!(_GNativeSocketAddressClass))
53228    );
53229    assert_eq!(
53230        ::std::mem::align_of::<_GNativeSocketAddressClass>(),
53231        8usize,
53232        concat!("Alignment of ", stringify!(_GNativeSocketAddressClass))
53233    );
53234    assert_eq!(
53235        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
53236        0usize,
53237        concat!(
53238            "Offset of field: ",
53239            stringify!(_GNativeSocketAddressClass),
53240            "::",
53241            stringify!(parent_class)
53242        )
53243    );
53244}
53245extern "C" {
53246    pub fn g_native_socket_address_get_type() -> GType;
53247}
53248extern "C" {
53249    pub fn g_native_socket_address_new(native: gpointer, len: gsize) -> *mut GSocketAddress;
53250}
53251#[doc = " GVolumeMonitor:\n\n A Volume Monitor that watches for volume events."]
53252pub type GVolumeMonitorClass = _GVolumeMonitorClass;
53253#[repr(C)]
53254#[derive(Debug, Copy, Clone, PartialEq, Eq)]
53255pub struct _GVolumeMonitor {
53256    pub parent_instance: GObject,
53257    pub priv_: gpointer,
53258}
53259#[test]
53260fn bindgen_test_layout__GVolumeMonitor() {
53261    const UNINIT: ::std::mem::MaybeUninit<_GVolumeMonitor> = ::std::mem::MaybeUninit::uninit();
53262    let ptr = UNINIT.as_ptr();
53263    assert_eq!(
53264        ::std::mem::size_of::<_GVolumeMonitor>(),
53265        32usize,
53266        concat!("Size of: ", stringify!(_GVolumeMonitor))
53267    );
53268    assert_eq!(
53269        ::std::mem::align_of::<_GVolumeMonitor>(),
53270        8usize,
53271        concat!("Alignment of ", stringify!(_GVolumeMonitor))
53272    );
53273    assert_eq!(
53274        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
53275        0usize,
53276        concat!(
53277            "Offset of field: ",
53278            stringify!(_GVolumeMonitor),
53279            "::",
53280            stringify!(parent_instance)
53281        )
53282    );
53283    assert_eq!(
53284        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
53285        24usize,
53286        concat!(
53287            "Offset of field: ",
53288            stringify!(_GVolumeMonitor),
53289            "::",
53290            stringify!(priv_)
53291        )
53292    );
53293}
53294#[repr(C)]
53295#[derive(Debug, Copy, Clone, PartialEq, Eq)]
53296pub struct _GVolumeMonitorClass {
53297    pub parent_class: GObjectClass,
53298    pub volume_added: ::std::option::Option<
53299        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, volume: *mut GVolume),
53300    >,
53301    pub volume_removed: ::std::option::Option<
53302        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, volume: *mut GVolume),
53303    >,
53304    pub volume_changed: ::std::option::Option<
53305        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, volume: *mut GVolume),
53306    >,
53307    pub mount_added: ::std::option::Option<
53308        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, mount: *mut GMount),
53309    >,
53310    pub mount_removed: ::std::option::Option<
53311        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, mount: *mut GMount),
53312    >,
53313    pub mount_pre_unmount: ::std::option::Option<
53314        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, mount: *mut GMount),
53315    >,
53316    pub mount_changed: ::std::option::Option<
53317        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, mount: *mut GMount),
53318    >,
53319    pub drive_connected: ::std::option::Option<
53320        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, drive: *mut GDrive),
53321    >,
53322    pub drive_disconnected: ::std::option::Option<
53323        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, drive: *mut GDrive),
53324    >,
53325    pub drive_changed: ::std::option::Option<
53326        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, drive: *mut GDrive),
53327    >,
53328    pub is_supported: ::std::option::Option<unsafe extern "C" fn() -> gboolean>,
53329    pub get_connected_drives: ::std::option::Option<
53330        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor) -> *mut GList,
53331    >,
53332    pub get_volumes: ::std::option::Option<
53333        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor) -> *mut GList,
53334    >,
53335    pub get_mounts: ::std::option::Option<
53336        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor) -> *mut GList,
53337    >,
53338    pub get_volume_for_uuid: ::std::option::Option<
53339        unsafe extern "C" fn(
53340            volume_monitor: *mut GVolumeMonitor,
53341            uuid: *const ::std::os::raw::c_char,
53342        ) -> *mut GVolume,
53343    >,
53344    pub get_mount_for_uuid: ::std::option::Option<
53345        unsafe extern "C" fn(
53346            volume_monitor: *mut GVolumeMonitor,
53347            uuid: *const ::std::os::raw::c_char,
53348        ) -> *mut GMount,
53349    >,
53350    pub adopt_orphan_mount: ::std::option::Option<
53351        unsafe extern "C" fn(
53352            mount: *mut GMount,
53353            volume_monitor: *mut GVolumeMonitor,
53354        ) -> *mut GVolume,
53355    >,
53356    pub drive_eject_button: ::std::option::Option<
53357        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, drive: *mut GDrive),
53358    >,
53359    pub drive_stop_button: ::std::option::Option<
53360        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, drive: *mut GDrive),
53361    >,
53362    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
53363    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
53364    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
53365    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
53366    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
53367    pub _g_reserved6: ::std::option::Option<unsafe extern "C" fn()>,
53368}
53369#[test]
53370fn bindgen_test_layout__GVolumeMonitorClass() {
53371    const UNINIT: ::std::mem::MaybeUninit<_GVolumeMonitorClass> = ::std::mem::MaybeUninit::uninit();
53372    let ptr = UNINIT.as_ptr();
53373    assert_eq!(
53374        ::std::mem::size_of::<_GVolumeMonitorClass>(),
53375        336usize,
53376        concat!("Size of: ", stringify!(_GVolumeMonitorClass))
53377    );
53378    assert_eq!(
53379        ::std::mem::align_of::<_GVolumeMonitorClass>(),
53380        8usize,
53381        concat!("Alignment of ", stringify!(_GVolumeMonitorClass))
53382    );
53383    assert_eq!(
53384        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
53385        0usize,
53386        concat!(
53387            "Offset of field: ",
53388            stringify!(_GVolumeMonitorClass),
53389            "::",
53390            stringify!(parent_class)
53391        )
53392    );
53393    assert_eq!(
53394        unsafe { ::std::ptr::addr_of!((*ptr).volume_added) as usize - ptr as usize },
53395        136usize,
53396        concat!(
53397            "Offset of field: ",
53398            stringify!(_GVolumeMonitorClass),
53399            "::",
53400            stringify!(volume_added)
53401        )
53402    );
53403    assert_eq!(
53404        unsafe { ::std::ptr::addr_of!((*ptr).volume_removed) as usize - ptr as usize },
53405        144usize,
53406        concat!(
53407            "Offset of field: ",
53408            stringify!(_GVolumeMonitorClass),
53409            "::",
53410            stringify!(volume_removed)
53411        )
53412    );
53413    assert_eq!(
53414        unsafe { ::std::ptr::addr_of!((*ptr).volume_changed) as usize - ptr as usize },
53415        152usize,
53416        concat!(
53417            "Offset of field: ",
53418            stringify!(_GVolumeMonitorClass),
53419            "::",
53420            stringify!(volume_changed)
53421        )
53422    );
53423    assert_eq!(
53424        unsafe { ::std::ptr::addr_of!((*ptr).mount_added) as usize - ptr as usize },
53425        160usize,
53426        concat!(
53427            "Offset of field: ",
53428            stringify!(_GVolumeMonitorClass),
53429            "::",
53430            stringify!(mount_added)
53431        )
53432    );
53433    assert_eq!(
53434        unsafe { ::std::ptr::addr_of!((*ptr).mount_removed) as usize - ptr as usize },
53435        168usize,
53436        concat!(
53437            "Offset of field: ",
53438            stringify!(_GVolumeMonitorClass),
53439            "::",
53440            stringify!(mount_removed)
53441        )
53442    );
53443    assert_eq!(
53444        unsafe { ::std::ptr::addr_of!((*ptr).mount_pre_unmount) as usize - ptr as usize },
53445        176usize,
53446        concat!(
53447            "Offset of field: ",
53448            stringify!(_GVolumeMonitorClass),
53449            "::",
53450            stringify!(mount_pre_unmount)
53451        )
53452    );
53453    assert_eq!(
53454        unsafe { ::std::ptr::addr_of!((*ptr).mount_changed) as usize - ptr as usize },
53455        184usize,
53456        concat!(
53457            "Offset of field: ",
53458            stringify!(_GVolumeMonitorClass),
53459            "::",
53460            stringify!(mount_changed)
53461        )
53462    );
53463    assert_eq!(
53464        unsafe { ::std::ptr::addr_of!((*ptr).drive_connected) as usize - ptr as usize },
53465        192usize,
53466        concat!(
53467            "Offset of field: ",
53468            stringify!(_GVolumeMonitorClass),
53469            "::",
53470            stringify!(drive_connected)
53471        )
53472    );
53473    assert_eq!(
53474        unsafe { ::std::ptr::addr_of!((*ptr).drive_disconnected) as usize - ptr as usize },
53475        200usize,
53476        concat!(
53477            "Offset of field: ",
53478            stringify!(_GVolumeMonitorClass),
53479            "::",
53480            stringify!(drive_disconnected)
53481        )
53482    );
53483    assert_eq!(
53484        unsafe { ::std::ptr::addr_of!((*ptr).drive_changed) as usize - ptr as usize },
53485        208usize,
53486        concat!(
53487            "Offset of field: ",
53488            stringify!(_GVolumeMonitorClass),
53489            "::",
53490            stringify!(drive_changed)
53491        )
53492    );
53493    assert_eq!(
53494        unsafe { ::std::ptr::addr_of!((*ptr).is_supported) as usize - ptr as usize },
53495        216usize,
53496        concat!(
53497            "Offset of field: ",
53498            stringify!(_GVolumeMonitorClass),
53499            "::",
53500            stringify!(is_supported)
53501        )
53502    );
53503    assert_eq!(
53504        unsafe { ::std::ptr::addr_of!((*ptr).get_connected_drives) as usize - ptr as usize },
53505        224usize,
53506        concat!(
53507            "Offset of field: ",
53508            stringify!(_GVolumeMonitorClass),
53509            "::",
53510            stringify!(get_connected_drives)
53511        )
53512    );
53513    assert_eq!(
53514        unsafe { ::std::ptr::addr_of!((*ptr).get_volumes) as usize - ptr as usize },
53515        232usize,
53516        concat!(
53517            "Offset of field: ",
53518            stringify!(_GVolumeMonitorClass),
53519            "::",
53520            stringify!(get_volumes)
53521        )
53522    );
53523    assert_eq!(
53524        unsafe { ::std::ptr::addr_of!((*ptr).get_mounts) as usize - ptr as usize },
53525        240usize,
53526        concat!(
53527            "Offset of field: ",
53528            stringify!(_GVolumeMonitorClass),
53529            "::",
53530            stringify!(get_mounts)
53531        )
53532    );
53533    assert_eq!(
53534        unsafe { ::std::ptr::addr_of!((*ptr).get_volume_for_uuid) as usize - ptr as usize },
53535        248usize,
53536        concat!(
53537            "Offset of field: ",
53538            stringify!(_GVolumeMonitorClass),
53539            "::",
53540            stringify!(get_volume_for_uuid)
53541        )
53542    );
53543    assert_eq!(
53544        unsafe { ::std::ptr::addr_of!((*ptr).get_mount_for_uuid) as usize - ptr as usize },
53545        256usize,
53546        concat!(
53547            "Offset of field: ",
53548            stringify!(_GVolumeMonitorClass),
53549            "::",
53550            stringify!(get_mount_for_uuid)
53551        )
53552    );
53553    assert_eq!(
53554        unsafe { ::std::ptr::addr_of!((*ptr).adopt_orphan_mount) as usize - ptr as usize },
53555        264usize,
53556        concat!(
53557            "Offset of field: ",
53558            stringify!(_GVolumeMonitorClass),
53559            "::",
53560            stringify!(adopt_orphan_mount)
53561        )
53562    );
53563    assert_eq!(
53564        unsafe { ::std::ptr::addr_of!((*ptr).drive_eject_button) as usize - ptr as usize },
53565        272usize,
53566        concat!(
53567            "Offset of field: ",
53568            stringify!(_GVolumeMonitorClass),
53569            "::",
53570            stringify!(drive_eject_button)
53571        )
53572    );
53573    assert_eq!(
53574        unsafe { ::std::ptr::addr_of!((*ptr).drive_stop_button) as usize - ptr as usize },
53575        280usize,
53576        concat!(
53577            "Offset of field: ",
53578            stringify!(_GVolumeMonitorClass),
53579            "::",
53580            stringify!(drive_stop_button)
53581        )
53582    );
53583    assert_eq!(
53584        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
53585        288usize,
53586        concat!(
53587            "Offset of field: ",
53588            stringify!(_GVolumeMonitorClass),
53589            "::",
53590            stringify!(_g_reserved1)
53591        )
53592    );
53593    assert_eq!(
53594        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
53595        296usize,
53596        concat!(
53597            "Offset of field: ",
53598            stringify!(_GVolumeMonitorClass),
53599            "::",
53600            stringify!(_g_reserved2)
53601        )
53602    );
53603    assert_eq!(
53604        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
53605        304usize,
53606        concat!(
53607            "Offset of field: ",
53608            stringify!(_GVolumeMonitorClass),
53609            "::",
53610            stringify!(_g_reserved3)
53611        )
53612    );
53613    assert_eq!(
53614        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
53615        312usize,
53616        concat!(
53617            "Offset of field: ",
53618            stringify!(_GVolumeMonitorClass),
53619            "::",
53620            stringify!(_g_reserved4)
53621        )
53622    );
53623    assert_eq!(
53624        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
53625        320usize,
53626        concat!(
53627            "Offset of field: ",
53628            stringify!(_GVolumeMonitorClass),
53629            "::",
53630            stringify!(_g_reserved5)
53631        )
53632    );
53633    assert_eq!(
53634        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved6) as usize - ptr as usize },
53635        328usize,
53636        concat!(
53637            "Offset of field: ",
53638            stringify!(_GVolumeMonitorClass),
53639            "::",
53640            stringify!(_g_reserved6)
53641        )
53642    );
53643}
53644extern "C" {
53645    pub fn g_volume_monitor_get_type() -> GType;
53646}
53647extern "C" {
53648    pub fn g_volume_monitor_get() -> *mut GVolumeMonitor;
53649}
53650extern "C" {
53651    pub fn g_volume_monitor_get_connected_drives(volume_monitor: *mut GVolumeMonitor)
53652        -> *mut GList;
53653}
53654extern "C" {
53655    pub fn g_volume_monitor_get_volumes(volume_monitor: *mut GVolumeMonitor) -> *mut GList;
53656}
53657extern "C" {
53658    pub fn g_volume_monitor_get_mounts(volume_monitor: *mut GVolumeMonitor) -> *mut GList;
53659}
53660extern "C" {
53661    pub fn g_volume_monitor_get_volume_for_uuid(
53662        volume_monitor: *mut GVolumeMonitor,
53663        uuid: *const ::std::os::raw::c_char,
53664    ) -> *mut GVolume;
53665}
53666extern "C" {
53667    pub fn g_volume_monitor_get_mount_for_uuid(
53668        volume_monitor: *mut GVolumeMonitor,
53669        uuid: *const ::std::os::raw::c_char,
53670    ) -> *mut GMount;
53671}
53672extern "C" {
53673    pub fn g_volume_monitor_adopt_orphan_mount(mount: *mut GMount) -> *mut GVolume;
53674}
53675pub type GNativeVolumeMonitor = _GNativeVolumeMonitor;
53676pub type GNativeVolumeMonitorClass = _GNativeVolumeMonitorClass;
53677#[repr(C)]
53678#[derive(Debug, Copy, Clone, PartialEq, Eq)]
53679pub struct _GNativeVolumeMonitor {
53680    pub parent_instance: GVolumeMonitor,
53681}
53682#[test]
53683fn bindgen_test_layout__GNativeVolumeMonitor() {
53684    const UNINIT: ::std::mem::MaybeUninit<_GNativeVolumeMonitor> =
53685        ::std::mem::MaybeUninit::uninit();
53686    let ptr = UNINIT.as_ptr();
53687    assert_eq!(
53688        ::std::mem::size_of::<_GNativeVolumeMonitor>(),
53689        32usize,
53690        concat!("Size of: ", stringify!(_GNativeVolumeMonitor))
53691    );
53692    assert_eq!(
53693        ::std::mem::align_of::<_GNativeVolumeMonitor>(),
53694        8usize,
53695        concat!("Alignment of ", stringify!(_GNativeVolumeMonitor))
53696    );
53697    assert_eq!(
53698        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
53699        0usize,
53700        concat!(
53701            "Offset of field: ",
53702            stringify!(_GNativeVolumeMonitor),
53703            "::",
53704            stringify!(parent_instance)
53705        )
53706    );
53707}
53708#[repr(C)]
53709#[derive(Debug, Copy, Clone, PartialEq, Eq)]
53710pub struct _GNativeVolumeMonitorClass {
53711    pub parent_class: GVolumeMonitorClass,
53712    pub get_mount_for_mount_path: ::std::option::Option<
53713        unsafe extern "C" fn(
53714            mount_path: *const ::std::os::raw::c_char,
53715            cancellable: *mut GCancellable,
53716        ) -> *mut GMount,
53717    >,
53718}
53719#[test]
53720fn bindgen_test_layout__GNativeVolumeMonitorClass() {
53721    const UNINIT: ::std::mem::MaybeUninit<_GNativeVolumeMonitorClass> =
53722        ::std::mem::MaybeUninit::uninit();
53723    let ptr = UNINIT.as_ptr();
53724    assert_eq!(
53725        ::std::mem::size_of::<_GNativeVolumeMonitorClass>(),
53726        344usize,
53727        concat!("Size of: ", stringify!(_GNativeVolumeMonitorClass))
53728    );
53729    assert_eq!(
53730        ::std::mem::align_of::<_GNativeVolumeMonitorClass>(),
53731        8usize,
53732        concat!("Alignment of ", stringify!(_GNativeVolumeMonitorClass))
53733    );
53734    assert_eq!(
53735        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
53736        0usize,
53737        concat!(
53738            "Offset of field: ",
53739            stringify!(_GNativeVolumeMonitorClass),
53740            "::",
53741            stringify!(parent_class)
53742        )
53743    );
53744    assert_eq!(
53745        unsafe { ::std::ptr::addr_of!((*ptr).get_mount_for_mount_path) as usize - ptr as usize },
53746        336usize,
53747        concat!(
53748            "Offset of field: ",
53749            stringify!(_GNativeVolumeMonitorClass),
53750            "::",
53751            stringify!(get_mount_for_mount_path)
53752        )
53753    );
53754}
53755extern "C" {
53756    pub fn g_native_volume_monitor_get_type() -> GType;
53757}
53758pub type GNetworkAddressClass = _GNetworkAddressClass;
53759#[repr(C)]
53760#[derive(Debug, Copy, Clone)]
53761pub struct _GNetworkAddressPrivate {
53762    _unused: [u8; 0],
53763}
53764pub type GNetworkAddressPrivate = _GNetworkAddressPrivate;
53765#[repr(C)]
53766#[derive(Debug, Copy, Clone, PartialEq, Eq)]
53767pub struct _GNetworkAddress {
53768    pub parent_instance: GObject,
53769    pub priv_: *mut GNetworkAddressPrivate,
53770}
53771#[test]
53772fn bindgen_test_layout__GNetworkAddress() {
53773    const UNINIT: ::std::mem::MaybeUninit<_GNetworkAddress> = ::std::mem::MaybeUninit::uninit();
53774    let ptr = UNINIT.as_ptr();
53775    assert_eq!(
53776        ::std::mem::size_of::<_GNetworkAddress>(),
53777        32usize,
53778        concat!("Size of: ", stringify!(_GNetworkAddress))
53779    );
53780    assert_eq!(
53781        ::std::mem::align_of::<_GNetworkAddress>(),
53782        8usize,
53783        concat!("Alignment of ", stringify!(_GNetworkAddress))
53784    );
53785    assert_eq!(
53786        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
53787        0usize,
53788        concat!(
53789            "Offset of field: ",
53790            stringify!(_GNetworkAddress),
53791            "::",
53792            stringify!(parent_instance)
53793        )
53794    );
53795    assert_eq!(
53796        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
53797        24usize,
53798        concat!(
53799            "Offset of field: ",
53800            stringify!(_GNetworkAddress),
53801            "::",
53802            stringify!(priv_)
53803        )
53804    );
53805}
53806#[repr(C)]
53807#[derive(Debug, Copy, Clone, PartialEq, Eq)]
53808pub struct _GNetworkAddressClass {
53809    pub parent_class: GObjectClass,
53810}
53811#[test]
53812fn bindgen_test_layout__GNetworkAddressClass() {
53813    const UNINIT: ::std::mem::MaybeUninit<_GNetworkAddressClass> =
53814        ::std::mem::MaybeUninit::uninit();
53815    let ptr = UNINIT.as_ptr();
53816    assert_eq!(
53817        ::std::mem::size_of::<_GNetworkAddressClass>(),
53818        136usize,
53819        concat!("Size of: ", stringify!(_GNetworkAddressClass))
53820    );
53821    assert_eq!(
53822        ::std::mem::align_of::<_GNetworkAddressClass>(),
53823        8usize,
53824        concat!("Alignment of ", stringify!(_GNetworkAddressClass))
53825    );
53826    assert_eq!(
53827        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
53828        0usize,
53829        concat!(
53830            "Offset of field: ",
53831            stringify!(_GNetworkAddressClass),
53832            "::",
53833            stringify!(parent_class)
53834        )
53835    );
53836}
53837extern "C" {
53838    pub fn g_network_address_get_type() -> GType;
53839}
53840extern "C" {
53841    pub fn g_network_address_new(hostname: *const gchar, port: guint16) -> *mut GSocketConnectable;
53842}
53843extern "C" {
53844    pub fn g_network_address_new_loopback(port: guint16) -> *mut GSocketConnectable;
53845}
53846extern "C" {
53847    pub fn g_network_address_parse(
53848        host_and_port: *const gchar,
53849        default_port: guint16,
53850        error: *mut *mut GError,
53851    ) -> *mut GSocketConnectable;
53852}
53853extern "C" {
53854    pub fn g_network_address_parse_uri(
53855        uri: *const gchar,
53856        default_port: guint16,
53857        error: *mut *mut GError,
53858    ) -> *mut GSocketConnectable;
53859}
53860extern "C" {
53861    pub fn g_network_address_get_hostname(addr: *mut GNetworkAddress) -> *const gchar;
53862}
53863extern "C" {
53864    pub fn g_network_address_get_port(addr: *mut GNetworkAddress) -> guint16;
53865}
53866extern "C" {
53867    pub fn g_network_address_get_scheme(addr: *mut GNetworkAddress) -> *const gchar;
53868}
53869pub type GNetworkMonitorInterface = _GNetworkMonitorInterface;
53870#[repr(C)]
53871#[derive(Debug, Copy, Clone, PartialEq, Eq)]
53872pub struct _GNetworkMonitorInterface {
53873    pub g_iface: GTypeInterface,
53874    pub network_changed: ::std::option::Option<
53875        unsafe extern "C" fn(monitor: *mut GNetworkMonitor, network_available: gboolean),
53876    >,
53877    pub can_reach: ::std::option::Option<
53878        unsafe extern "C" fn(
53879            monitor: *mut GNetworkMonitor,
53880            connectable: *mut GSocketConnectable,
53881            cancellable: *mut GCancellable,
53882            error: *mut *mut GError,
53883        ) -> gboolean,
53884    >,
53885    pub can_reach_async: ::std::option::Option<
53886        unsafe extern "C" fn(
53887            monitor: *mut GNetworkMonitor,
53888            connectable: *mut GSocketConnectable,
53889            cancellable: *mut GCancellable,
53890            callback: GAsyncReadyCallback,
53891            user_data: gpointer,
53892        ),
53893    >,
53894    pub can_reach_finish: ::std::option::Option<
53895        unsafe extern "C" fn(
53896            monitor: *mut GNetworkMonitor,
53897            result: *mut GAsyncResult,
53898            error: *mut *mut GError,
53899        ) -> gboolean,
53900    >,
53901}
53902#[test]
53903fn bindgen_test_layout__GNetworkMonitorInterface() {
53904    const UNINIT: ::std::mem::MaybeUninit<_GNetworkMonitorInterface> =
53905        ::std::mem::MaybeUninit::uninit();
53906    let ptr = UNINIT.as_ptr();
53907    assert_eq!(
53908        ::std::mem::size_of::<_GNetworkMonitorInterface>(),
53909        48usize,
53910        concat!("Size of: ", stringify!(_GNetworkMonitorInterface))
53911    );
53912    assert_eq!(
53913        ::std::mem::align_of::<_GNetworkMonitorInterface>(),
53914        8usize,
53915        concat!("Alignment of ", stringify!(_GNetworkMonitorInterface))
53916    );
53917    assert_eq!(
53918        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
53919        0usize,
53920        concat!(
53921            "Offset of field: ",
53922            stringify!(_GNetworkMonitorInterface),
53923            "::",
53924            stringify!(g_iface)
53925        )
53926    );
53927    assert_eq!(
53928        unsafe { ::std::ptr::addr_of!((*ptr).network_changed) as usize - ptr as usize },
53929        16usize,
53930        concat!(
53931            "Offset of field: ",
53932            stringify!(_GNetworkMonitorInterface),
53933            "::",
53934            stringify!(network_changed)
53935        )
53936    );
53937    assert_eq!(
53938        unsafe { ::std::ptr::addr_of!((*ptr).can_reach) as usize - ptr as usize },
53939        24usize,
53940        concat!(
53941            "Offset of field: ",
53942            stringify!(_GNetworkMonitorInterface),
53943            "::",
53944            stringify!(can_reach)
53945        )
53946    );
53947    assert_eq!(
53948        unsafe { ::std::ptr::addr_of!((*ptr).can_reach_async) as usize - ptr as usize },
53949        32usize,
53950        concat!(
53951            "Offset of field: ",
53952            stringify!(_GNetworkMonitorInterface),
53953            "::",
53954            stringify!(can_reach_async)
53955        )
53956    );
53957    assert_eq!(
53958        unsafe { ::std::ptr::addr_of!((*ptr).can_reach_finish) as usize - ptr as usize },
53959        40usize,
53960        concat!(
53961            "Offset of field: ",
53962            stringify!(_GNetworkMonitorInterface),
53963            "::",
53964            stringify!(can_reach_finish)
53965        )
53966    );
53967}
53968extern "C" {
53969    pub fn g_network_monitor_get_type() -> GType;
53970}
53971extern "C" {
53972    pub fn g_network_monitor_get_default() -> *mut GNetworkMonitor;
53973}
53974extern "C" {
53975    pub fn g_network_monitor_get_network_available(monitor: *mut GNetworkMonitor) -> gboolean;
53976}
53977extern "C" {
53978    pub fn g_network_monitor_get_network_metered(monitor: *mut GNetworkMonitor) -> gboolean;
53979}
53980extern "C" {
53981    pub fn g_network_monitor_get_connectivity(
53982        monitor: *mut GNetworkMonitor,
53983    ) -> GNetworkConnectivity;
53984}
53985extern "C" {
53986    pub fn g_network_monitor_can_reach(
53987        monitor: *mut GNetworkMonitor,
53988        connectable: *mut GSocketConnectable,
53989        cancellable: *mut GCancellable,
53990        error: *mut *mut GError,
53991    ) -> gboolean;
53992}
53993extern "C" {
53994    pub fn g_network_monitor_can_reach_async(
53995        monitor: *mut GNetworkMonitor,
53996        connectable: *mut GSocketConnectable,
53997        cancellable: *mut GCancellable,
53998        callback: GAsyncReadyCallback,
53999        user_data: gpointer,
54000    );
54001}
54002extern "C" {
54003    pub fn g_network_monitor_can_reach_finish(
54004        monitor: *mut GNetworkMonitor,
54005        result: *mut GAsyncResult,
54006        error: *mut *mut GError,
54007    ) -> gboolean;
54008}
54009pub type GNetworkServiceClass = _GNetworkServiceClass;
54010#[repr(C)]
54011#[derive(Debug, Copy, Clone)]
54012pub struct _GNetworkServicePrivate {
54013    _unused: [u8; 0],
54014}
54015pub type GNetworkServicePrivate = _GNetworkServicePrivate;
54016#[repr(C)]
54017#[derive(Debug, Copy, Clone, PartialEq, Eq)]
54018pub struct _GNetworkService {
54019    pub parent_instance: GObject,
54020    pub priv_: *mut GNetworkServicePrivate,
54021}
54022#[test]
54023fn bindgen_test_layout__GNetworkService() {
54024    const UNINIT: ::std::mem::MaybeUninit<_GNetworkService> = ::std::mem::MaybeUninit::uninit();
54025    let ptr = UNINIT.as_ptr();
54026    assert_eq!(
54027        ::std::mem::size_of::<_GNetworkService>(),
54028        32usize,
54029        concat!("Size of: ", stringify!(_GNetworkService))
54030    );
54031    assert_eq!(
54032        ::std::mem::align_of::<_GNetworkService>(),
54033        8usize,
54034        concat!("Alignment of ", stringify!(_GNetworkService))
54035    );
54036    assert_eq!(
54037        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
54038        0usize,
54039        concat!(
54040            "Offset of field: ",
54041            stringify!(_GNetworkService),
54042            "::",
54043            stringify!(parent_instance)
54044        )
54045    );
54046    assert_eq!(
54047        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
54048        24usize,
54049        concat!(
54050            "Offset of field: ",
54051            stringify!(_GNetworkService),
54052            "::",
54053            stringify!(priv_)
54054        )
54055    );
54056}
54057#[repr(C)]
54058#[derive(Debug, Copy, Clone, PartialEq, Eq)]
54059pub struct _GNetworkServiceClass {
54060    pub parent_class: GObjectClass,
54061}
54062#[test]
54063fn bindgen_test_layout__GNetworkServiceClass() {
54064    const UNINIT: ::std::mem::MaybeUninit<_GNetworkServiceClass> =
54065        ::std::mem::MaybeUninit::uninit();
54066    let ptr = UNINIT.as_ptr();
54067    assert_eq!(
54068        ::std::mem::size_of::<_GNetworkServiceClass>(),
54069        136usize,
54070        concat!("Size of: ", stringify!(_GNetworkServiceClass))
54071    );
54072    assert_eq!(
54073        ::std::mem::align_of::<_GNetworkServiceClass>(),
54074        8usize,
54075        concat!("Alignment of ", stringify!(_GNetworkServiceClass))
54076    );
54077    assert_eq!(
54078        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
54079        0usize,
54080        concat!(
54081            "Offset of field: ",
54082            stringify!(_GNetworkServiceClass),
54083            "::",
54084            stringify!(parent_class)
54085        )
54086    );
54087}
54088extern "C" {
54089    pub fn g_network_service_get_type() -> GType;
54090}
54091extern "C" {
54092    pub fn g_network_service_new(
54093        service: *const gchar,
54094        protocol: *const gchar,
54095        domain: *const gchar,
54096    ) -> *mut GSocketConnectable;
54097}
54098extern "C" {
54099    pub fn g_network_service_get_service(srv: *mut GNetworkService) -> *const gchar;
54100}
54101extern "C" {
54102    pub fn g_network_service_get_protocol(srv: *mut GNetworkService) -> *const gchar;
54103}
54104extern "C" {
54105    pub fn g_network_service_get_domain(srv: *mut GNetworkService) -> *const gchar;
54106}
54107extern "C" {
54108    pub fn g_network_service_get_scheme(srv: *mut GNetworkService) -> *const gchar;
54109}
54110extern "C" {
54111    pub fn g_network_service_set_scheme(srv: *mut GNetworkService, scheme: *const gchar);
54112}
54113extern "C" {
54114    pub fn g_notification_get_type() -> GType;
54115}
54116extern "C" {
54117    pub fn g_notification_new(title: *const gchar) -> *mut GNotification;
54118}
54119extern "C" {
54120    pub fn g_notification_set_title(notification: *mut GNotification, title: *const gchar);
54121}
54122extern "C" {
54123    pub fn g_notification_set_body(notification: *mut GNotification, body: *const gchar);
54124}
54125extern "C" {
54126    pub fn g_notification_set_icon(notification: *mut GNotification, icon: *mut GIcon);
54127}
54128extern "C" {
54129    pub fn g_notification_set_urgent(notification: *mut GNotification, urgent: gboolean);
54130}
54131extern "C" {
54132    pub fn g_notification_set_priority(
54133        notification: *mut GNotification,
54134        priority: GNotificationPriority,
54135    );
54136}
54137extern "C" {
54138    pub fn g_notification_set_category(notification: *mut GNotification, category: *const gchar);
54139}
54140extern "C" {
54141    pub fn g_notification_add_button(
54142        notification: *mut GNotification,
54143        label: *const gchar,
54144        detailed_action: *const gchar,
54145    );
54146}
54147extern "C" {
54148    pub fn g_notification_add_button_with_target(
54149        notification: *mut GNotification,
54150        label: *const gchar,
54151        action: *const gchar,
54152        target_format: *const gchar,
54153        ...
54154    );
54155}
54156extern "C" {
54157    pub fn g_notification_add_button_with_target_value(
54158        notification: *mut GNotification,
54159        label: *const gchar,
54160        action: *const gchar,
54161        target: *mut GVariant,
54162    );
54163}
54164extern "C" {
54165    pub fn g_notification_set_default_action(
54166        notification: *mut GNotification,
54167        detailed_action: *const gchar,
54168    );
54169}
54170extern "C" {
54171    pub fn g_notification_set_default_action_and_target(
54172        notification: *mut GNotification,
54173        action: *const gchar,
54174        target_format: *const gchar,
54175        ...
54176    );
54177}
54178extern "C" {
54179    pub fn g_notification_set_default_action_and_target_value(
54180        notification: *mut GNotification,
54181        action: *const gchar,
54182        target: *mut GVariant,
54183    );
54184}
54185#[repr(C)]
54186#[derive(Debug, Copy, Clone)]
54187pub struct _GPermissionPrivate {
54188    _unused: [u8; 0],
54189}
54190pub type GPermissionPrivate = _GPermissionPrivate;
54191pub type GPermissionClass = _GPermissionClass;
54192#[repr(C)]
54193#[derive(Debug, Copy, Clone, PartialEq, Eq)]
54194pub struct _GPermission {
54195    pub parent_instance: GObject,
54196    pub priv_: *mut GPermissionPrivate,
54197}
54198#[test]
54199fn bindgen_test_layout__GPermission() {
54200    const UNINIT: ::std::mem::MaybeUninit<_GPermission> = ::std::mem::MaybeUninit::uninit();
54201    let ptr = UNINIT.as_ptr();
54202    assert_eq!(
54203        ::std::mem::size_of::<_GPermission>(),
54204        32usize,
54205        concat!("Size of: ", stringify!(_GPermission))
54206    );
54207    assert_eq!(
54208        ::std::mem::align_of::<_GPermission>(),
54209        8usize,
54210        concat!("Alignment of ", stringify!(_GPermission))
54211    );
54212    assert_eq!(
54213        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
54214        0usize,
54215        concat!(
54216            "Offset of field: ",
54217            stringify!(_GPermission),
54218            "::",
54219            stringify!(parent_instance)
54220        )
54221    );
54222    assert_eq!(
54223        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
54224        24usize,
54225        concat!(
54226            "Offset of field: ",
54227            stringify!(_GPermission),
54228            "::",
54229            stringify!(priv_)
54230        )
54231    );
54232}
54233#[repr(C)]
54234#[derive(Debug, Copy, Clone, PartialEq, Eq)]
54235pub struct _GPermissionClass {
54236    pub parent_class: GObjectClass,
54237    pub acquire: ::std::option::Option<
54238        unsafe extern "C" fn(
54239            permission: *mut GPermission,
54240            cancellable: *mut GCancellable,
54241            error: *mut *mut GError,
54242        ) -> gboolean,
54243    >,
54244    pub acquire_async: ::std::option::Option<
54245        unsafe extern "C" fn(
54246            permission: *mut GPermission,
54247            cancellable: *mut GCancellable,
54248            callback: GAsyncReadyCallback,
54249            user_data: gpointer,
54250        ),
54251    >,
54252    pub acquire_finish: ::std::option::Option<
54253        unsafe extern "C" fn(
54254            permission: *mut GPermission,
54255            result: *mut GAsyncResult,
54256            error: *mut *mut GError,
54257        ) -> gboolean,
54258    >,
54259    pub release: ::std::option::Option<
54260        unsafe extern "C" fn(
54261            permission: *mut GPermission,
54262            cancellable: *mut GCancellable,
54263            error: *mut *mut GError,
54264        ) -> gboolean,
54265    >,
54266    pub release_async: ::std::option::Option<
54267        unsafe extern "C" fn(
54268            permission: *mut GPermission,
54269            cancellable: *mut GCancellable,
54270            callback: GAsyncReadyCallback,
54271            user_data: gpointer,
54272        ),
54273    >,
54274    pub release_finish: ::std::option::Option<
54275        unsafe extern "C" fn(
54276            permission: *mut GPermission,
54277            result: *mut GAsyncResult,
54278            error: *mut *mut GError,
54279        ) -> gboolean,
54280    >,
54281    pub reserved: [gpointer; 16usize],
54282}
54283#[test]
54284fn bindgen_test_layout__GPermissionClass() {
54285    const UNINIT: ::std::mem::MaybeUninit<_GPermissionClass> = ::std::mem::MaybeUninit::uninit();
54286    let ptr = UNINIT.as_ptr();
54287    assert_eq!(
54288        ::std::mem::size_of::<_GPermissionClass>(),
54289        312usize,
54290        concat!("Size of: ", stringify!(_GPermissionClass))
54291    );
54292    assert_eq!(
54293        ::std::mem::align_of::<_GPermissionClass>(),
54294        8usize,
54295        concat!("Alignment of ", stringify!(_GPermissionClass))
54296    );
54297    assert_eq!(
54298        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
54299        0usize,
54300        concat!(
54301            "Offset of field: ",
54302            stringify!(_GPermissionClass),
54303            "::",
54304            stringify!(parent_class)
54305        )
54306    );
54307    assert_eq!(
54308        unsafe { ::std::ptr::addr_of!((*ptr).acquire) as usize - ptr as usize },
54309        136usize,
54310        concat!(
54311            "Offset of field: ",
54312            stringify!(_GPermissionClass),
54313            "::",
54314            stringify!(acquire)
54315        )
54316    );
54317    assert_eq!(
54318        unsafe { ::std::ptr::addr_of!((*ptr).acquire_async) as usize - ptr as usize },
54319        144usize,
54320        concat!(
54321            "Offset of field: ",
54322            stringify!(_GPermissionClass),
54323            "::",
54324            stringify!(acquire_async)
54325        )
54326    );
54327    assert_eq!(
54328        unsafe { ::std::ptr::addr_of!((*ptr).acquire_finish) as usize - ptr as usize },
54329        152usize,
54330        concat!(
54331            "Offset of field: ",
54332            stringify!(_GPermissionClass),
54333            "::",
54334            stringify!(acquire_finish)
54335        )
54336    );
54337    assert_eq!(
54338        unsafe { ::std::ptr::addr_of!((*ptr).release) as usize - ptr as usize },
54339        160usize,
54340        concat!(
54341            "Offset of field: ",
54342            stringify!(_GPermissionClass),
54343            "::",
54344            stringify!(release)
54345        )
54346    );
54347    assert_eq!(
54348        unsafe { ::std::ptr::addr_of!((*ptr).release_async) as usize - ptr as usize },
54349        168usize,
54350        concat!(
54351            "Offset of field: ",
54352            stringify!(_GPermissionClass),
54353            "::",
54354            stringify!(release_async)
54355        )
54356    );
54357    assert_eq!(
54358        unsafe { ::std::ptr::addr_of!((*ptr).release_finish) as usize - ptr as usize },
54359        176usize,
54360        concat!(
54361            "Offset of field: ",
54362            stringify!(_GPermissionClass),
54363            "::",
54364            stringify!(release_finish)
54365        )
54366    );
54367    assert_eq!(
54368        unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
54369        184usize,
54370        concat!(
54371            "Offset of field: ",
54372            stringify!(_GPermissionClass),
54373            "::",
54374            stringify!(reserved)
54375        )
54376    );
54377}
54378extern "C" {
54379    pub fn g_permission_get_type() -> GType;
54380}
54381extern "C" {
54382    pub fn g_permission_acquire(
54383        permission: *mut GPermission,
54384        cancellable: *mut GCancellable,
54385        error: *mut *mut GError,
54386    ) -> gboolean;
54387}
54388extern "C" {
54389    pub fn g_permission_acquire_async(
54390        permission: *mut GPermission,
54391        cancellable: *mut GCancellable,
54392        callback: GAsyncReadyCallback,
54393        user_data: gpointer,
54394    );
54395}
54396extern "C" {
54397    pub fn g_permission_acquire_finish(
54398        permission: *mut GPermission,
54399        result: *mut GAsyncResult,
54400        error: *mut *mut GError,
54401    ) -> gboolean;
54402}
54403extern "C" {
54404    pub fn g_permission_release(
54405        permission: *mut GPermission,
54406        cancellable: *mut GCancellable,
54407        error: *mut *mut GError,
54408    ) -> gboolean;
54409}
54410extern "C" {
54411    pub fn g_permission_release_async(
54412        permission: *mut GPermission,
54413        cancellable: *mut GCancellable,
54414        callback: GAsyncReadyCallback,
54415        user_data: gpointer,
54416    );
54417}
54418extern "C" {
54419    pub fn g_permission_release_finish(
54420        permission: *mut GPermission,
54421        result: *mut GAsyncResult,
54422        error: *mut *mut GError,
54423    ) -> gboolean;
54424}
54425extern "C" {
54426    pub fn g_permission_get_allowed(permission: *mut GPermission) -> gboolean;
54427}
54428extern "C" {
54429    pub fn g_permission_get_can_acquire(permission: *mut GPermission) -> gboolean;
54430}
54431extern "C" {
54432    pub fn g_permission_get_can_release(permission: *mut GPermission) -> gboolean;
54433}
54434extern "C" {
54435    pub fn g_permission_impl_update(
54436        permission: *mut GPermission,
54437        allowed: gboolean,
54438        can_acquire: gboolean,
54439        can_release: gboolean,
54440    );
54441}
54442#[doc = " GPollableInputStream:\n\n An interface for a #GInputStream that can be polled for readability.\n\n Since: 2.28"]
54443pub type GPollableInputStreamInterface = _GPollableInputStreamInterface;
54444#[doc = " GPollableInputStreamInterface:\n @g_iface: The parent interface.\n @can_poll: Checks if the #GPollableInputStream instance is actually pollable\n @is_readable: Checks if the stream is readable\n @create_source: Creates a #GSource to poll the stream\n @read_nonblocking: Does a non-blocking read or returns\n   %G_IO_ERROR_WOULD_BLOCK\n\n The interface for pollable input streams.\n\n The default implementation of @can_poll always returns %TRUE.\n\n The default implementation of @read_nonblocking calls\n g_pollable_input_stream_is_readable(), and then calls\n g_input_stream_read() if it returns %TRUE. This means you only need\n to override it if it is possible that your @is_readable\n implementation may return %TRUE when the stream is not actually\n readable.\n\n Since: 2.28"]
54445#[repr(C)]
54446#[derive(Debug, Copy, Clone, PartialEq, Eq)]
54447pub struct _GPollableInputStreamInterface {
54448    pub g_iface: GTypeInterface,
54449    pub can_poll:
54450        ::std::option::Option<unsafe extern "C" fn(stream: *mut GPollableInputStream) -> gboolean>,
54451    pub is_readable:
54452        ::std::option::Option<unsafe extern "C" fn(stream: *mut GPollableInputStream) -> gboolean>,
54453    pub create_source: ::std::option::Option<
54454        unsafe extern "C" fn(
54455            stream: *mut GPollableInputStream,
54456            cancellable: *mut GCancellable,
54457        ) -> *mut GSource,
54458    >,
54459    pub read_nonblocking: ::std::option::Option<
54460        unsafe extern "C" fn(
54461            stream: *mut GPollableInputStream,
54462            buffer: *mut ::std::os::raw::c_void,
54463            count: gsize,
54464            error: *mut *mut GError,
54465        ) -> gssize,
54466    >,
54467}
54468#[test]
54469fn bindgen_test_layout__GPollableInputStreamInterface() {
54470    const UNINIT: ::std::mem::MaybeUninit<_GPollableInputStreamInterface> =
54471        ::std::mem::MaybeUninit::uninit();
54472    let ptr = UNINIT.as_ptr();
54473    assert_eq!(
54474        ::std::mem::size_of::<_GPollableInputStreamInterface>(),
54475        48usize,
54476        concat!("Size of: ", stringify!(_GPollableInputStreamInterface))
54477    );
54478    assert_eq!(
54479        ::std::mem::align_of::<_GPollableInputStreamInterface>(),
54480        8usize,
54481        concat!("Alignment of ", stringify!(_GPollableInputStreamInterface))
54482    );
54483    assert_eq!(
54484        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
54485        0usize,
54486        concat!(
54487            "Offset of field: ",
54488            stringify!(_GPollableInputStreamInterface),
54489            "::",
54490            stringify!(g_iface)
54491        )
54492    );
54493    assert_eq!(
54494        unsafe { ::std::ptr::addr_of!((*ptr).can_poll) as usize - ptr as usize },
54495        16usize,
54496        concat!(
54497            "Offset of field: ",
54498            stringify!(_GPollableInputStreamInterface),
54499            "::",
54500            stringify!(can_poll)
54501        )
54502    );
54503    assert_eq!(
54504        unsafe { ::std::ptr::addr_of!((*ptr).is_readable) as usize - ptr as usize },
54505        24usize,
54506        concat!(
54507            "Offset of field: ",
54508            stringify!(_GPollableInputStreamInterface),
54509            "::",
54510            stringify!(is_readable)
54511        )
54512    );
54513    assert_eq!(
54514        unsafe { ::std::ptr::addr_of!((*ptr).create_source) as usize - ptr as usize },
54515        32usize,
54516        concat!(
54517            "Offset of field: ",
54518            stringify!(_GPollableInputStreamInterface),
54519            "::",
54520            stringify!(create_source)
54521        )
54522    );
54523    assert_eq!(
54524        unsafe { ::std::ptr::addr_of!((*ptr).read_nonblocking) as usize - ptr as usize },
54525        40usize,
54526        concat!(
54527            "Offset of field: ",
54528            stringify!(_GPollableInputStreamInterface),
54529            "::",
54530            stringify!(read_nonblocking)
54531        )
54532    );
54533}
54534extern "C" {
54535    pub fn g_pollable_input_stream_get_type() -> GType;
54536}
54537extern "C" {
54538    pub fn g_pollable_input_stream_can_poll(stream: *mut GPollableInputStream) -> gboolean;
54539}
54540extern "C" {
54541    pub fn g_pollable_input_stream_is_readable(stream: *mut GPollableInputStream) -> gboolean;
54542}
54543extern "C" {
54544    pub fn g_pollable_input_stream_create_source(
54545        stream: *mut GPollableInputStream,
54546        cancellable: *mut GCancellable,
54547    ) -> *mut GSource;
54548}
54549extern "C" {
54550    pub fn g_pollable_input_stream_read_nonblocking(
54551        stream: *mut GPollableInputStream,
54552        buffer: *mut ::std::os::raw::c_void,
54553        count: gsize,
54554        cancellable: *mut GCancellable,
54555        error: *mut *mut GError,
54556    ) -> gssize;
54557}
54558#[doc = " GPollableOutputStream:\n\n An interface for a #GOutputStream that can be polled for writeability.\n\n Since: 2.28"]
54559pub type GPollableOutputStreamInterface = _GPollableOutputStreamInterface;
54560#[doc = " GPollableOutputStreamInterface:\n @g_iface: The parent interface.\n @can_poll: Checks if the #GPollableOutputStream instance is actually pollable\n @is_writable: Checks if the stream is writable\n @create_source: Creates a #GSource to poll the stream\n @write_nonblocking: Does a non-blocking write or returns\n   %G_IO_ERROR_WOULD_BLOCK\n @writev_nonblocking: Does a vectored non-blocking write, or returns\n   %G_POLLABLE_RETURN_WOULD_BLOCK\n\n The interface for pollable output streams.\n\n The default implementation of @can_poll always returns %TRUE.\n\n The default implementation of @write_nonblocking calls\n g_pollable_output_stream_is_writable(), and then calls\n g_output_stream_write() if it returns %TRUE. This means you only\n need to override it if it is possible that your @is_writable\n implementation may return %TRUE when the stream is not actually\n writable.\n\n The default implementation of @writev_nonblocking calls\n g_pollable_output_stream_write_nonblocking() for each vector, and converts\n its return value and error (if set) to a #GPollableReturn. You should\n override this where possible to avoid having to allocate a #GError to return\n %G_IO_ERROR_WOULD_BLOCK.\n\n Since: 2.28"]
54561#[repr(C)]
54562#[derive(Debug, Copy, Clone, PartialEq, Eq)]
54563pub struct _GPollableOutputStreamInterface {
54564    pub g_iface: GTypeInterface,
54565    pub can_poll:
54566        ::std::option::Option<unsafe extern "C" fn(stream: *mut GPollableOutputStream) -> gboolean>,
54567    pub is_writable:
54568        ::std::option::Option<unsafe extern "C" fn(stream: *mut GPollableOutputStream) -> gboolean>,
54569    pub create_source: ::std::option::Option<
54570        unsafe extern "C" fn(
54571            stream: *mut GPollableOutputStream,
54572            cancellable: *mut GCancellable,
54573        ) -> *mut GSource,
54574    >,
54575    pub write_nonblocking: ::std::option::Option<
54576        unsafe extern "C" fn(
54577            stream: *mut GPollableOutputStream,
54578            buffer: *const ::std::os::raw::c_void,
54579            count: gsize,
54580            error: *mut *mut GError,
54581        ) -> gssize,
54582    >,
54583    pub writev_nonblocking: ::std::option::Option<
54584        unsafe extern "C" fn(
54585            stream: *mut GPollableOutputStream,
54586            vectors: *const GOutputVector,
54587            n_vectors: gsize,
54588            bytes_written: *mut gsize,
54589            error: *mut *mut GError,
54590        ) -> GPollableReturn,
54591    >,
54592}
54593#[test]
54594fn bindgen_test_layout__GPollableOutputStreamInterface() {
54595    const UNINIT: ::std::mem::MaybeUninit<_GPollableOutputStreamInterface> =
54596        ::std::mem::MaybeUninit::uninit();
54597    let ptr = UNINIT.as_ptr();
54598    assert_eq!(
54599        ::std::mem::size_of::<_GPollableOutputStreamInterface>(),
54600        56usize,
54601        concat!("Size of: ", stringify!(_GPollableOutputStreamInterface))
54602    );
54603    assert_eq!(
54604        ::std::mem::align_of::<_GPollableOutputStreamInterface>(),
54605        8usize,
54606        concat!("Alignment of ", stringify!(_GPollableOutputStreamInterface))
54607    );
54608    assert_eq!(
54609        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
54610        0usize,
54611        concat!(
54612            "Offset of field: ",
54613            stringify!(_GPollableOutputStreamInterface),
54614            "::",
54615            stringify!(g_iface)
54616        )
54617    );
54618    assert_eq!(
54619        unsafe { ::std::ptr::addr_of!((*ptr).can_poll) as usize - ptr as usize },
54620        16usize,
54621        concat!(
54622            "Offset of field: ",
54623            stringify!(_GPollableOutputStreamInterface),
54624            "::",
54625            stringify!(can_poll)
54626        )
54627    );
54628    assert_eq!(
54629        unsafe { ::std::ptr::addr_of!((*ptr).is_writable) as usize - ptr as usize },
54630        24usize,
54631        concat!(
54632            "Offset of field: ",
54633            stringify!(_GPollableOutputStreamInterface),
54634            "::",
54635            stringify!(is_writable)
54636        )
54637    );
54638    assert_eq!(
54639        unsafe { ::std::ptr::addr_of!((*ptr).create_source) as usize - ptr as usize },
54640        32usize,
54641        concat!(
54642            "Offset of field: ",
54643            stringify!(_GPollableOutputStreamInterface),
54644            "::",
54645            stringify!(create_source)
54646        )
54647    );
54648    assert_eq!(
54649        unsafe { ::std::ptr::addr_of!((*ptr).write_nonblocking) as usize - ptr as usize },
54650        40usize,
54651        concat!(
54652            "Offset of field: ",
54653            stringify!(_GPollableOutputStreamInterface),
54654            "::",
54655            stringify!(write_nonblocking)
54656        )
54657    );
54658    assert_eq!(
54659        unsafe { ::std::ptr::addr_of!((*ptr).writev_nonblocking) as usize - ptr as usize },
54660        48usize,
54661        concat!(
54662            "Offset of field: ",
54663            stringify!(_GPollableOutputStreamInterface),
54664            "::",
54665            stringify!(writev_nonblocking)
54666        )
54667    );
54668}
54669extern "C" {
54670    pub fn g_pollable_output_stream_get_type() -> GType;
54671}
54672extern "C" {
54673    pub fn g_pollable_output_stream_can_poll(stream: *mut GPollableOutputStream) -> gboolean;
54674}
54675extern "C" {
54676    pub fn g_pollable_output_stream_is_writable(stream: *mut GPollableOutputStream) -> gboolean;
54677}
54678extern "C" {
54679    pub fn g_pollable_output_stream_create_source(
54680        stream: *mut GPollableOutputStream,
54681        cancellable: *mut GCancellable,
54682    ) -> *mut GSource;
54683}
54684extern "C" {
54685    pub fn g_pollable_output_stream_write_nonblocking(
54686        stream: *mut GPollableOutputStream,
54687        buffer: *const ::std::os::raw::c_void,
54688        count: gsize,
54689        cancellable: *mut GCancellable,
54690        error: *mut *mut GError,
54691    ) -> gssize;
54692}
54693extern "C" {
54694    pub fn g_pollable_output_stream_writev_nonblocking(
54695        stream: *mut GPollableOutputStream,
54696        vectors: *const GOutputVector,
54697        n_vectors: gsize,
54698        bytes_written: *mut gsize,
54699        cancellable: *mut GCancellable,
54700        error: *mut *mut GError,
54701    ) -> GPollableReturn;
54702}
54703extern "C" {
54704    pub fn g_pollable_source_new(pollable_stream: *mut GObject) -> *mut GSource;
54705}
54706extern "C" {
54707    pub fn g_pollable_source_new_full(
54708        pollable_stream: gpointer,
54709        child_source: *mut GSource,
54710        cancellable: *mut GCancellable,
54711    ) -> *mut GSource;
54712}
54713extern "C" {
54714    pub fn g_pollable_stream_read(
54715        stream: *mut GInputStream,
54716        buffer: *mut ::std::os::raw::c_void,
54717        count: gsize,
54718        blocking: gboolean,
54719        cancellable: *mut GCancellable,
54720        error: *mut *mut GError,
54721    ) -> gssize;
54722}
54723extern "C" {
54724    pub fn g_pollable_stream_write(
54725        stream: *mut GOutputStream,
54726        buffer: *const ::std::os::raw::c_void,
54727        count: gsize,
54728        blocking: gboolean,
54729        cancellable: *mut GCancellable,
54730        error: *mut *mut GError,
54731    ) -> gssize;
54732}
54733extern "C" {
54734    pub fn g_pollable_stream_write_all(
54735        stream: *mut GOutputStream,
54736        buffer: *const ::std::os::raw::c_void,
54737        count: gsize,
54738        blocking: gboolean,
54739        bytes_written: *mut gsize,
54740        cancellable: *mut GCancellable,
54741        error: *mut *mut GError,
54742    ) -> gboolean;
54743}
54744extern "C" {
54745    pub fn g_power_profile_monitor_get_type() -> GType;
54746}
54747#[repr(C)]
54748#[derive(Debug, Copy, Clone)]
54749pub struct _GPowerProfileMonitor {
54750    _unused: [u8; 0],
54751}
54752pub type GPowerProfileMonitor = _GPowerProfileMonitor;
54753pub type GPowerProfileMonitorInterface = _GPowerProfileMonitorInterface;
54754pub type GPowerProfileMonitor_autoptr = *mut GPowerProfileMonitor;
54755pub type GPowerProfileMonitor_listautoptr = *mut GList;
54756pub type GPowerProfileMonitor_slistautoptr = *mut GSList;
54757pub type GPowerProfileMonitor_queueautoptr = *mut GQueue;
54758#[repr(C)]
54759#[derive(Debug, Copy, Clone, PartialEq, Eq)]
54760pub struct _GPowerProfileMonitorInterface {
54761    pub g_iface: GTypeInterface,
54762}
54763#[test]
54764fn bindgen_test_layout__GPowerProfileMonitorInterface() {
54765    const UNINIT: ::std::mem::MaybeUninit<_GPowerProfileMonitorInterface> =
54766        ::std::mem::MaybeUninit::uninit();
54767    let ptr = UNINIT.as_ptr();
54768    assert_eq!(
54769        ::std::mem::size_of::<_GPowerProfileMonitorInterface>(),
54770        16usize,
54771        concat!("Size of: ", stringify!(_GPowerProfileMonitorInterface))
54772    );
54773    assert_eq!(
54774        ::std::mem::align_of::<_GPowerProfileMonitorInterface>(),
54775        8usize,
54776        concat!("Alignment of ", stringify!(_GPowerProfileMonitorInterface))
54777    );
54778    assert_eq!(
54779        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
54780        0usize,
54781        concat!(
54782            "Offset of field: ",
54783            stringify!(_GPowerProfileMonitorInterface),
54784            "::",
54785            stringify!(g_iface)
54786        )
54787    );
54788}
54789extern "C" {
54790    pub fn g_power_profile_monitor_dup_default() -> *mut GPowerProfileMonitor;
54791}
54792extern "C" {
54793    pub fn g_power_profile_monitor_get_power_saver_enabled(
54794        monitor: *mut GPowerProfileMonitor,
54795    ) -> gboolean;
54796}
54797extern "C" {
54798    pub fn g_property_action_get_type() -> GType;
54799}
54800extern "C" {
54801    pub fn g_property_action_new(
54802        name: *const gchar,
54803        object: gpointer,
54804        property_name: *const gchar,
54805    ) -> *mut GPropertyAction;
54806}
54807#[doc = " GProxy:\n\n Interface that handles proxy connection and payload.\n\n Since: 2.26"]
54808pub type GProxyInterface = _GProxyInterface;
54809#[doc = " GProxyInterface:\n @g_iface: The parent interface.\n @connect: Connect to proxy server and wrap (if required) the #connection\n           to handle payload.\n @connect_async: Same as connect() but asynchronous.\n @connect_finish: Returns the result of connect_async()\n @supports_hostname: Returns whether the proxy supports hostname lookups.\n\n Provides an interface for handling proxy connection and payload.\n\n Since: 2.26"]
54810#[repr(C)]
54811#[derive(Debug, Copy, Clone, PartialEq, Eq)]
54812pub struct _GProxyInterface {
54813    pub g_iface: GTypeInterface,
54814    pub connect: ::std::option::Option<
54815        unsafe extern "C" fn(
54816            proxy: *mut GProxy,
54817            connection: *mut GIOStream,
54818            proxy_address: *mut GProxyAddress,
54819            cancellable: *mut GCancellable,
54820            error: *mut *mut GError,
54821        ) -> *mut GIOStream,
54822    >,
54823    pub connect_async: ::std::option::Option<
54824        unsafe extern "C" fn(
54825            proxy: *mut GProxy,
54826            connection: *mut GIOStream,
54827            proxy_address: *mut GProxyAddress,
54828            cancellable: *mut GCancellable,
54829            callback: GAsyncReadyCallback,
54830            user_data: gpointer,
54831        ),
54832    >,
54833    pub connect_finish: ::std::option::Option<
54834        unsafe extern "C" fn(
54835            proxy: *mut GProxy,
54836            result: *mut GAsyncResult,
54837            error: *mut *mut GError,
54838        ) -> *mut GIOStream,
54839    >,
54840    pub supports_hostname:
54841        ::std::option::Option<unsafe extern "C" fn(proxy: *mut GProxy) -> gboolean>,
54842}
54843#[test]
54844fn bindgen_test_layout__GProxyInterface() {
54845    const UNINIT: ::std::mem::MaybeUninit<_GProxyInterface> = ::std::mem::MaybeUninit::uninit();
54846    let ptr = UNINIT.as_ptr();
54847    assert_eq!(
54848        ::std::mem::size_of::<_GProxyInterface>(),
54849        48usize,
54850        concat!("Size of: ", stringify!(_GProxyInterface))
54851    );
54852    assert_eq!(
54853        ::std::mem::align_of::<_GProxyInterface>(),
54854        8usize,
54855        concat!("Alignment of ", stringify!(_GProxyInterface))
54856    );
54857    assert_eq!(
54858        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
54859        0usize,
54860        concat!(
54861            "Offset of field: ",
54862            stringify!(_GProxyInterface),
54863            "::",
54864            stringify!(g_iface)
54865        )
54866    );
54867    assert_eq!(
54868        unsafe { ::std::ptr::addr_of!((*ptr).connect) as usize - ptr as usize },
54869        16usize,
54870        concat!(
54871            "Offset of field: ",
54872            stringify!(_GProxyInterface),
54873            "::",
54874            stringify!(connect)
54875        )
54876    );
54877    assert_eq!(
54878        unsafe { ::std::ptr::addr_of!((*ptr).connect_async) as usize - ptr as usize },
54879        24usize,
54880        concat!(
54881            "Offset of field: ",
54882            stringify!(_GProxyInterface),
54883            "::",
54884            stringify!(connect_async)
54885        )
54886    );
54887    assert_eq!(
54888        unsafe { ::std::ptr::addr_of!((*ptr).connect_finish) as usize - ptr as usize },
54889        32usize,
54890        concat!(
54891            "Offset of field: ",
54892            stringify!(_GProxyInterface),
54893            "::",
54894            stringify!(connect_finish)
54895        )
54896    );
54897    assert_eq!(
54898        unsafe { ::std::ptr::addr_of!((*ptr).supports_hostname) as usize - ptr as usize },
54899        40usize,
54900        concat!(
54901            "Offset of field: ",
54902            stringify!(_GProxyInterface),
54903            "::",
54904            stringify!(supports_hostname)
54905        )
54906    );
54907}
54908extern "C" {
54909    pub fn g_proxy_get_type() -> GType;
54910}
54911extern "C" {
54912    pub fn g_proxy_get_default_for_protocol(protocol: *const gchar) -> *mut GProxy;
54913}
54914extern "C" {
54915    pub fn g_proxy_connect(
54916        proxy: *mut GProxy,
54917        connection: *mut GIOStream,
54918        proxy_address: *mut GProxyAddress,
54919        cancellable: *mut GCancellable,
54920        error: *mut *mut GError,
54921    ) -> *mut GIOStream;
54922}
54923extern "C" {
54924    pub fn g_proxy_connect_async(
54925        proxy: *mut GProxy,
54926        connection: *mut GIOStream,
54927        proxy_address: *mut GProxyAddress,
54928        cancellable: *mut GCancellable,
54929        callback: GAsyncReadyCallback,
54930        user_data: gpointer,
54931    );
54932}
54933extern "C" {
54934    pub fn g_proxy_connect_finish(
54935        proxy: *mut GProxy,
54936        result: *mut GAsyncResult,
54937        error: *mut *mut GError,
54938    ) -> *mut GIOStream;
54939}
54940extern "C" {
54941    pub fn g_proxy_supports_hostname(proxy: *mut GProxy) -> gboolean;
54942}
54943pub type GProxyAddressClass = _GProxyAddressClass;
54944#[repr(C)]
54945#[derive(Debug, Copy, Clone)]
54946pub struct _GProxyAddressPrivate {
54947    _unused: [u8; 0],
54948}
54949pub type GProxyAddressPrivate = _GProxyAddressPrivate;
54950#[repr(C)]
54951#[derive(Debug, Copy, Clone, PartialEq, Eq)]
54952pub struct _GProxyAddress {
54953    pub parent_instance: GInetSocketAddress,
54954    pub priv_: *mut GProxyAddressPrivate,
54955}
54956#[test]
54957fn bindgen_test_layout__GProxyAddress() {
54958    const UNINIT: ::std::mem::MaybeUninit<_GProxyAddress> = ::std::mem::MaybeUninit::uninit();
54959    let ptr = UNINIT.as_ptr();
54960    assert_eq!(
54961        ::std::mem::size_of::<_GProxyAddress>(),
54962        40usize,
54963        concat!("Size of: ", stringify!(_GProxyAddress))
54964    );
54965    assert_eq!(
54966        ::std::mem::align_of::<_GProxyAddress>(),
54967        8usize,
54968        concat!("Alignment of ", stringify!(_GProxyAddress))
54969    );
54970    assert_eq!(
54971        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
54972        0usize,
54973        concat!(
54974            "Offset of field: ",
54975            stringify!(_GProxyAddress),
54976            "::",
54977            stringify!(parent_instance)
54978        )
54979    );
54980    assert_eq!(
54981        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
54982        32usize,
54983        concat!(
54984            "Offset of field: ",
54985            stringify!(_GProxyAddress),
54986            "::",
54987            stringify!(priv_)
54988        )
54989    );
54990}
54991#[repr(C)]
54992#[derive(Debug, Copy, Clone, PartialEq, Eq)]
54993pub struct _GProxyAddressClass {
54994    pub parent_class: GInetSocketAddressClass,
54995}
54996#[test]
54997fn bindgen_test_layout__GProxyAddressClass() {
54998    const UNINIT: ::std::mem::MaybeUninit<_GProxyAddressClass> = ::std::mem::MaybeUninit::uninit();
54999    let ptr = UNINIT.as_ptr();
55000    assert_eq!(
55001        ::std::mem::size_of::<_GProxyAddressClass>(),
55002        160usize,
55003        concat!("Size of: ", stringify!(_GProxyAddressClass))
55004    );
55005    assert_eq!(
55006        ::std::mem::align_of::<_GProxyAddressClass>(),
55007        8usize,
55008        concat!("Alignment of ", stringify!(_GProxyAddressClass))
55009    );
55010    assert_eq!(
55011        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
55012        0usize,
55013        concat!(
55014            "Offset of field: ",
55015            stringify!(_GProxyAddressClass),
55016            "::",
55017            stringify!(parent_class)
55018        )
55019    );
55020}
55021extern "C" {
55022    pub fn g_proxy_address_get_type() -> GType;
55023}
55024extern "C" {
55025    pub fn g_proxy_address_new(
55026        inetaddr: *mut GInetAddress,
55027        port: guint16,
55028        protocol: *const gchar,
55029        dest_hostname: *const gchar,
55030        dest_port: guint16,
55031        username: *const gchar,
55032        password: *const gchar,
55033    ) -> *mut GSocketAddress;
55034}
55035extern "C" {
55036    pub fn g_proxy_address_get_protocol(proxy: *mut GProxyAddress) -> *const gchar;
55037}
55038extern "C" {
55039    pub fn g_proxy_address_get_destination_protocol(proxy: *mut GProxyAddress) -> *const gchar;
55040}
55041extern "C" {
55042    pub fn g_proxy_address_get_destination_hostname(proxy: *mut GProxyAddress) -> *const gchar;
55043}
55044extern "C" {
55045    pub fn g_proxy_address_get_destination_port(proxy: *mut GProxyAddress) -> guint16;
55046}
55047extern "C" {
55048    pub fn g_proxy_address_get_username(proxy: *mut GProxyAddress) -> *const gchar;
55049}
55050extern "C" {
55051    pub fn g_proxy_address_get_password(proxy: *mut GProxyAddress) -> *const gchar;
55052}
55053extern "C" {
55054    pub fn g_proxy_address_get_uri(proxy: *mut GProxyAddress) -> *const gchar;
55055}
55056#[doc = " GSocketAddressEnumerator:\n\n Enumerator type for objects that contain or generate\n #GSocketAddress instances."]
55057pub type GSocketAddressEnumeratorClass = _GSocketAddressEnumeratorClass;
55058#[repr(C)]
55059#[derive(Debug, Copy, Clone, PartialEq, Eq)]
55060pub struct _GSocketAddressEnumerator {
55061    pub parent_instance: GObject,
55062}
55063#[test]
55064fn bindgen_test_layout__GSocketAddressEnumerator() {
55065    const UNINIT: ::std::mem::MaybeUninit<_GSocketAddressEnumerator> =
55066        ::std::mem::MaybeUninit::uninit();
55067    let ptr = UNINIT.as_ptr();
55068    assert_eq!(
55069        ::std::mem::size_of::<_GSocketAddressEnumerator>(),
55070        24usize,
55071        concat!("Size of: ", stringify!(_GSocketAddressEnumerator))
55072    );
55073    assert_eq!(
55074        ::std::mem::align_of::<_GSocketAddressEnumerator>(),
55075        8usize,
55076        concat!("Alignment of ", stringify!(_GSocketAddressEnumerator))
55077    );
55078    assert_eq!(
55079        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
55080        0usize,
55081        concat!(
55082            "Offset of field: ",
55083            stringify!(_GSocketAddressEnumerator),
55084            "::",
55085            stringify!(parent_instance)
55086        )
55087    );
55088}
55089#[doc = " GSocketAddressEnumeratorClass:\n @next: Virtual method for g_socket_address_enumerator_next().\n @next_async: Virtual method for g_socket_address_enumerator_next_async().\n @next_finish: Virtual method for g_socket_address_enumerator_next_finish().\n\n Class structure for #GSocketAddressEnumerator."]
55090#[repr(C)]
55091#[derive(Debug, Copy, Clone, PartialEq, Eq)]
55092pub struct _GSocketAddressEnumeratorClass {
55093    pub parent_class: GObjectClass,
55094    pub next: ::std::option::Option<
55095        unsafe extern "C" fn(
55096            enumerator: *mut GSocketAddressEnumerator,
55097            cancellable: *mut GCancellable,
55098            error: *mut *mut GError,
55099        ) -> *mut GSocketAddress,
55100    >,
55101    pub next_async: ::std::option::Option<
55102        unsafe extern "C" fn(
55103            enumerator: *mut GSocketAddressEnumerator,
55104            cancellable: *mut GCancellable,
55105            callback: GAsyncReadyCallback,
55106            user_data: gpointer,
55107        ),
55108    >,
55109    pub next_finish: ::std::option::Option<
55110        unsafe extern "C" fn(
55111            enumerator: *mut GSocketAddressEnumerator,
55112            result: *mut GAsyncResult,
55113            error: *mut *mut GError,
55114        ) -> *mut GSocketAddress,
55115    >,
55116}
55117#[test]
55118fn bindgen_test_layout__GSocketAddressEnumeratorClass() {
55119    const UNINIT: ::std::mem::MaybeUninit<_GSocketAddressEnumeratorClass> =
55120        ::std::mem::MaybeUninit::uninit();
55121    let ptr = UNINIT.as_ptr();
55122    assert_eq!(
55123        ::std::mem::size_of::<_GSocketAddressEnumeratorClass>(),
55124        160usize,
55125        concat!("Size of: ", stringify!(_GSocketAddressEnumeratorClass))
55126    );
55127    assert_eq!(
55128        ::std::mem::align_of::<_GSocketAddressEnumeratorClass>(),
55129        8usize,
55130        concat!("Alignment of ", stringify!(_GSocketAddressEnumeratorClass))
55131    );
55132    assert_eq!(
55133        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
55134        0usize,
55135        concat!(
55136            "Offset of field: ",
55137            stringify!(_GSocketAddressEnumeratorClass),
55138            "::",
55139            stringify!(parent_class)
55140        )
55141    );
55142    assert_eq!(
55143        unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
55144        136usize,
55145        concat!(
55146            "Offset of field: ",
55147            stringify!(_GSocketAddressEnumeratorClass),
55148            "::",
55149            stringify!(next)
55150        )
55151    );
55152    assert_eq!(
55153        unsafe { ::std::ptr::addr_of!((*ptr).next_async) as usize - ptr as usize },
55154        144usize,
55155        concat!(
55156            "Offset of field: ",
55157            stringify!(_GSocketAddressEnumeratorClass),
55158            "::",
55159            stringify!(next_async)
55160        )
55161    );
55162    assert_eq!(
55163        unsafe { ::std::ptr::addr_of!((*ptr).next_finish) as usize - ptr as usize },
55164        152usize,
55165        concat!(
55166            "Offset of field: ",
55167            stringify!(_GSocketAddressEnumeratorClass),
55168            "::",
55169            stringify!(next_finish)
55170        )
55171    );
55172}
55173extern "C" {
55174    pub fn g_socket_address_enumerator_get_type() -> GType;
55175}
55176extern "C" {
55177    pub fn g_socket_address_enumerator_next(
55178        enumerator: *mut GSocketAddressEnumerator,
55179        cancellable: *mut GCancellable,
55180        error: *mut *mut GError,
55181    ) -> *mut GSocketAddress;
55182}
55183extern "C" {
55184    pub fn g_socket_address_enumerator_next_async(
55185        enumerator: *mut GSocketAddressEnumerator,
55186        cancellable: *mut GCancellable,
55187        callback: GAsyncReadyCallback,
55188        user_data: gpointer,
55189    );
55190}
55191extern "C" {
55192    pub fn g_socket_address_enumerator_next_finish(
55193        enumerator: *mut GSocketAddressEnumerator,
55194        result: *mut GAsyncResult,
55195        error: *mut *mut GError,
55196    ) -> *mut GSocketAddress;
55197}
55198#[doc = " GProxyAddressEnumerator:\n\n A subclass of #GSocketAddressEnumerator that takes another address\n enumerator and wraps each of its results in a #GProxyAddress as\n directed by the default #GProxyResolver."]
55199pub type GProxyAddressEnumeratorClass = _GProxyAddressEnumeratorClass;
55200#[repr(C)]
55201#[derive(Debug, Copy, Clone)]
55202pub struct _GProxyAddressEnumeratorPrivate {
55203    _unused: [u8; 0],
55204}
55205pub type GProxyAddressEnumeratorPrivate = _GProxyAddressEnumeratorPrivate;
55206#[repr(C)]
55207#[derive(Debug, Copy, Clone, PartialEq, Eq)]
55208pub struct _GProxyAddressEnumerator {
55209    pub parent_instance: GSocketAddressEnumerator,
55210    pub priv_: *mut GProxyAddressEnumeratorPrivate,
55211}
55212#[test]
55213fn bindgen_test_layout__GProxyAddressEnumerator() {
55214    const UNINIT: ::std::mem::MaybeUninit<_GProxyAddressEnumerator> =
55215        ::std::mem::MaybeUninit::uninit();
55216    let ptr = UNINIT.as_ptr();
55217    assert_eq!(
55218        ::std::mem::size_of::<_GProxyAddressEnumerator>(),
55219        32usize,
55220        concat!("Size of: ", stringify!(_GProxyAddressEnumerator))
55221    );
55222    assert_eq!(
55223        ::std::mem::align_of::<_GProxyAddressEnumerator>(),
55224        8usize,
55225        concat!("Alignment of ", stringify!(_GProxyAddressEnumerator))
55226    );
55227    assert_eq!(
55228        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
55229        0usize,
55230        concat!(
55231            "Offset of field: ",
55232            stringify!(_GProxyAddressEnumerator),
55233            "::",
55234            stringify!(parent_instance)
55235        )
55236    );
55237    assert_eq!(
55238        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
55239        24usize,
55240        concat!(
55241            "Offset of field: ",
55242            stringify!(_GProxyAddressEnumerator),
55243            "::",
55244            stringify!(priv_)
55245        )
55246    );
55247}
55248#[doc = " GProxyAddressEnumeratorClass:\n\n Class structure for #GProxyAddressEnumerator."]
55249#[repr(C)]
55250#[derive(Debug, Copy, Clone, PartialEq, Eq)]
55251pub struct _GProxyAddressEnumeratorClass {
55252    pub parent_class: GSocketAddressEnumeratorClass,
55253    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
55254    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
55255    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
55256    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
55257    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
55258    pub _g_reserved6: ::std::option::Option<unsafe extern "C" fn()>,
55259    pub _g_reserved7: ::std::option::Option<unsafe extern "C" fn()>,
55260}
55261#[test]
55262fn bindgen_test_layout__GProxyAddressEnumeratorClass() {
55263    const UNINIT: ::std::mem::MaybeUninit<_GProxyAddressEnumeratorClass> =
55264        ::std::mem::MaybeUninit::uninit();
55265    let ptr = UNINIT.as_ptr();
55266    assert_eq!(
55267        ::std::mem::size_of::<_GProxyAddressEnumeratorClass>(),
55268        216usize,
55269        concat!("Size of: ", stringify!(_GProxyAddressEnumeratorClass))
55270    );
55271    assert_eq!(
55272        ::std::mem::align_of::<_GProxyAddressEnumeratorClass>(),
55273        8usize,
55274        concat!("Alignment of ", stringify!(_GProxyAddressEnumeratorClass))
55275    );
55276    assert_eq!(
55277        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
55278        0usize,
55279        concat!(
55280            "Offset of field: ",
55281            stringify!(_GProxyAddressEnumeratorClass),
55282            "::",
55283            stringify!(parent_class)
55284        )
55285    );
55286    assert_eq!(
55287        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
55288        160usize,
55289        concat!(
55290            "Offset of field: ",
55291            stringify!(_GProxyAddressEnumeratorClass),
55292            "::",
55293            stringify!(_g_reserved1)
55294        )
55295    );
55296    assert_eq!(
55297        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
55298        168usize,
55299        concat!(
55300            "Offset of field: ",
55301            stringify!(_GProxyAddressEnumeratorClass),
55302            "::",
55303            stringify!(_g_reserved2)
55304        )
55305    );
55306    assert_eq!(
55307        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
55308        176usize,
55309        concat!(
55310            "Offset of field: ",
55311            stringify!(_GProxyAddressEnumeratorClass),
55312            "::",
55313            stringify!(_g_reserved3)
55314        )
55315    );
55316    assert_eq!(
55317        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
55318        184usize,
55319        concat!(
55320            "Offset of field: ",
55321            stringify!(_GProxyAddressEnumeratorClass),
55322            "::",
55323            stringify!(_g_reserved4)
55324        )
55325    );
55326    assert_eq!(
55327        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
55328        192usize,
55329        concat!(
55330            "Offset of field: ",
55331            stringify!(_GProxyAddressEnumeratorClass),
55332            "::",
55333            stringify!(_g_reserved5)
55334        )
55335    );
55336    assert_eq!(
55337        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved6) as usize - ptr as usize },
55338        200usize,
55339        concat!(
55340            "Offset of field: ",
55341            stringify!(_GProxyAddressEnumeratorClass),
55342            "::",
55343            stringify!(_g_reserved6)
55344        )
55345    );
55346    assert_eq!(
55347        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved7) as usize - ptr as usize },
55348        208usize,
55349        concat!(
55350            "Offset of field: ",
55351            stringify!(_GProxyAddressEnumeratorClass),
55352            "::",
55353            stringify!(_g_reserved7)
55354        )
55355    );
55356}
55357extern "C" {
55358    pub fn g_proxy_address_enumerator_get_type() -> GType;
55359}
55360pub type GProxyResolverInterface = _GProxyResolverInterface;
55361#[repr(C)]
55362#[derive(Debug, Copy, Clone, PartialEq, Eq)]
55363pub struct _GProxyResolverInterface {
55364    pub g_iface: GTypeInterface,
55365    pub is_supported:
55366        ::std::option::Option<unsafe extern "C" fn(resolver: *mut GProxyResolver) -> gboolean>,
55367    pub lookup: ::std::option::Option<
55368        unsafe extern "C" fn(
55369            resolver: *mut GProxyResolver,
55370            uri: *const gchar,
55371            cancellable: *mut GCancellable,
55372            error: *mut *mut GError,
55373        ) -> *mut *mut gchar,
55374    >,
55375    pub lookup_async: ::std::option::Option<
55376        unsafe extern "C" fn(
55377            resolver: *mut GProxyResolver,
55378            uri: *const gchar,
55379            cancellable: *mut GCancellable,
55380            callback: GAsyncReadyCallback,
55381            user_data: gpointer,
55382        ),
55383    >,
55384    pub lookup_finish: ::std::option::Option<
55385        unsafe extern "C" fn(
55386            resolver: *mut GProxyResolver,
55387            result: *mut GAsyncResult,
55388            error: *mut *mut GError,
55389        ) -> *mut *mut gchar,
55390    >,
55391}
55392#[test]
55393fn bindgen_test_layout__GProxyResolverInterface() {
55394    const UNINIT: ::std::mem::MaybeUninit<_GProxyResolverInterface> =
55395        ::std::mem::MaybeUninit::uninit();
55396    let ptr = UNINIT.as_ptr();
55397    assert_eq!(
55398        ::std::mem::size_of::<_GProxyResolverInterface>(),
55399        48usize,
55400        concat!("Size of: ", stringify!(_GProxyResolverInterface))
55401    );
55402    assert_eq!(
55403        ::std::mem::align_of::<_GProxyResolverInterface>(),
55404        8usize,
55405        concat!("Alignment of ", stringify!(_GProxyResolverInterface))
55406    );
55407    assert_eq!(
55408        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
55409        0usize,
55410        concat!(
55411            "Offset of field: ",
55412            stringify!(_GProxyResolverInterface),
55413            "::",
55414            stringify!(g_iface)
55415        )
55416    );
55417    assert_eq!(
55418        unsafe { ::std::ptr::addr_of!((*ptr).is_supported) as usize - ptr as usize },
55419        16usize,
55420        concat!(
55421            "Offset of field: ",
55422            stringify!(_GProxyResolverInterface),
55423            "::",
55424            stringify!(is_supported)
55425        )
55426    );
55427    assert_eq!(
55428        unsafe { ::std::ptr::addr_of!((*ptr).lookup) as usize - ptr as usize },
55429        24usize,
55430        concat!(
55431            "Offset of field: ",
55432            stringify!(_GProxyResolverInterface),
55433            "::",
55434            stringify!(lookup)
55435        )
55436    );
55437    assert_eq!(
55438        unsafe { ::std::ptr::addr_of!((*ptr).lookup_async) as usize - ptr as usize },
55439        32usize,
55440        concat!(
55441            "Offset of field: ",
55442            stringify!(_GProxyResolverInterface),
55443            "::",
55444            stringify!(lookup_async)
55445        )
55446    );
55447    assert_eq!(
55448        unsafe { ::std::ptr::addr_of!((*ptr).lookup_finish) as usize - ptr as usize },
55449        40usize,
55450        concat!(
55451            "Offset of field: ",
55452            stringify!(_GProxyResolverInterface),
55453            "::",
55454            stringify!(lookup_finish)
55455        )
55456    );
55457}
55458extern "C" {
55459    pub fn g_proxy_resolver_get_type() -> GType;
55460}
55461extern "C" {
55462    pub fn g_proxy_resolver_get_default() -> *mut GProxyResolver;
55463}
55464extern "C" {
55465    pub fn g_proxy_resolver_is_supported(resolver: *mut GProxyResolver) -> gboolean;
55466}
55467extern "C" {
55468    pub fn g_proxy_resolver_lookup(
55469        resolver: *mut GProxyResolver,
55470        uri: *const gchar,
55471        cancellable: *mut GCancellable,
55472        error: *mut *mut GError,
55473    ) -> *mut *mut gchar;
55474}
55475extern "C" {
55476    pub fn g_proxy_resolver_lookup_async(
55477        resolver: *mut GProxyResolver,
55478        uri: *const gchar,
55479        cancellable: *mut GCancellable,
55480        callback: GAsyncReadyCallback,
55481        user_data: gpointer,
55482    );
55483}
55484extern "C" {
55485    pub fn g_proxy_resolver_lookup_finish(
55486        resolver: *mut GProxyResolver,
55487        result: *mut GAsyncResult,
55488        error: *mut *mut GError,
55489    ) -> *mut *mut gchar;
55490}
55491pub type GRemoteActionGroupInterface = _GRemoteActionGroupInterface;
55492#[repr(C)]
55493#[derive(Debug, Copy, Clone, PartialEq, Eq)]
55494pub struct _GRemoteActionGroupInterface {
55495    pub g_iface: GTypeInterface,
55496    pub activate_action_full: ::std::option::Option<
55497        unsafe extern "C" fn(
55498            remote: *mut GRemoteActionGroup,
55499            action_name: *const gchar,
55500            parameter: *mut GVariant,
55501            platform_data: *mut GVariant,
55502        ),
55503    >,
55504    pub change_action_state_full: ::std::option::Option<
55505        unsafe extern "C" fn(
55506            remote: *mut GRemoteActionGroup,
55507            action_name: *const gchar,
55508            value: *mut GVariant,
55509            platform_data: *mut GVariant,
55510        ),
55511    >,
55512}
55513#[test]
55514fn bindgen_test_layout__GRemoteActionGroupInterface() {
55515    const UNINIT: ::std::mem::MaybeUninit<_GRemoteActionGroupInterface> =
55516        ::std::mem::MaybeUninit::uninit();
55517    let ptr = UNINIT.as_ptr();
55518    assert_eq!(
55519        ::std::mem::size_of::<_GRemoteActionGroupInterface>(),
55520        32usize,
55521        concat!("Size of: ", stringify!(_GRemoteActionGroupInterface))
55522    );
55523    assert_eq!(
55524        ::std::mem::align_of::<_GRemoteActionGroupInterface>(),
55525        8usize,
55526        concat!("Alignment of ", stringify!(_GRemoteActionGroupInterface))
55527    );
55528    assert_eq!(
55529        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
55530        0usize,
55531        concat!(
55532            "Offset of field: ",
55533            stringify!(_GRemoteActionGroupInterface),
55534            "::",
55535            stringify!(g_iface)
55536        )
55537    );
55538    assert_eq!(
55539        unsafe { ::std::ptr::addr_of!((*ptr).activate_action_full) as usize - ptr as usize },
55540        16usize,
55541        concat!(
55542            "Offset of field: ",
55543            stringify!(_GRemoteActionGroupInterface),
55544            "::",
55545            stringify!(activate_action_full)
55546        )
55547    );
55548    assert_eq!(
55549        unsafe { ::std::ptr::addr_of!((*ptr).change_action_state_full) as usize - ptr as usize },
55550        24usize,
55551        concat!(
55552            "Offset of field: ",
55553            stringify!(_GRemoteActionGroupInterface),
55554            "::",
55555            stringify!(change_action_state_full)
55556        )
55557    );
55558}
55559extern "C" {
55560    pub fn g_remote_action_group_get_type() -> GType;
55561}
55562extern "C" {
55563    pub fn g_remote_action_group_activate_action_full(
55564        remote: *mut GRemoteActionGroup,
55565        action_name: *const gchar,
55566        parameter: *mut GVariant,
55567        platform_data: *mut GVariant,
55568    );
55569}
55570extern "C" {
55571    pub fn g_remote_action_group_change_action_state_full(
55572        remote: *mut GRemoteActionGroup,
55573        action_name: *const gchar,
55574        value: *mut GVariant,
55575        platform_data: *mut GVariant,
55576    );
55577}
55578#[repr(C)]
55579#[derive(Debug, Copy, Clone)]
55580pub struct _GResolverPrivate {
55581    _unused: [u8; 0],
55582}
55583pub type GResolverPrivate = _GResolverPrivate;
55584pub type GResolverClass = _GResolverClass;
55585#[repr(C)]
55586#[derive(Debug, Copy, Clone, PartialEq, Eq)]
55587pub struct _GResolver {
55588    pub parent_instance: GObject,
55589    pub priv_: *mut GResolverPrivate,
55590}
55591#[test]
55592fn bindgen_test_layout__GResolver() {
55593    const UNINIT: ::std::mem::MaybeUninit<_GResolver> = ::std::mem::MaybeUninit::uninit();
55594    let ptr = UNINIT.as_ptr();
55595    assert_eq!(
55596        ::std::mem::size_of::<_GResolver>(),
55597        32usize,
55598        concat!("Size of: ", stringify!(_GResolver))
55599    );
55600    assert_eq!(
55601        ::std::mem::align_of::<_GResolver>(),
55602        8usize,
55603        concat!("Alignment of ", stringify!(_GResolver))
55604    );
55605    assert_eq!(
55606        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
55607        0usize,
55608        concat!(
55609            "Offset of field: ",
55610            stringify!(_GResolver),
55611            "::",
55612            stringify!(parent_instance)
55613        )
55614    );
55615    assert_eq!(
55616        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
55617        24usize,
55618        concat!(
55619            "Offset of field: ",
55620            stringify!(_GResolver),
55621            "::",
55622            stringify!(priv_)
55623        )
55624    );
55625}
55626pub const GResolverNameLookupFlags_G_RESOLVER_NAME_LOOKUP_FLAGS_DEFAULT: GResolverNameLookupFlags =
55627    0;
55628pub const GResolverNameLookupFlags_G_RESOLVER_NAME_LOOKUP_FLAGS_IPV4_ONLY:
55629    GResolverNameLookupFlags = 1;
55630pub const GResolverNameLookupFlags_G_RESOLVER_NAME_LOOKUP_FLAGS_IPV6_ONLY:
55631    GResolverNameLookupFlags = 2;
55632#[doc = " GResolverNameLookupFlags:\n @G_RESOLVER_NAME_LOOKUP_FLAGS_DEFAULT: default behavior (same as g_resolver_lookup_by_name())\n @G_RESOLVER_NAME_LOOKUP_FLAGS_IPV4_ONLY: only resolve ipv4 addresses\n @G_RESOLVER_NAME_LOOKUP_FLAGS_IPV6_ONLY: only resolve ipv6 addresses\n\n Flags to modify lookup behavior.\n\n Since: 2.60"]
55633pub type GResolverNameLookupFlags = ::std::os::raw::c_uint;
55634#[repr(C)]
55635#[derive(Debug, Copy, Clone, PartialEq, Eq)]
55636pub struct _GResolverClass {
55637    pub parent_class: GObjectClass,
55638    pub reload: ::std::option::Option<unsafe extern "C" fn(resolver: *mut GResolver)>,
55639    pub lookup_by_name: ::std::option::Option<
55640        unsafe extern "C" fn(
55641            resolver: *mut GResolver,
55642            hostname: *const gchar,
55643            cancellable: *mut GCancellable,
55644            error: *mut *mut GError,
55645        ) -> *mut GList,
55646    >,
55647    pub lookup_by_name_async: ::std::option::Option<
55648        unsafe extern "C" fn(
55649            resolver: *mut GResolver,
55650            hostname: *const gchar,
55651            cancellable: *mut GCancellable,
55652            callback: GAsyncReadyCallback,
55653            user_data: gpointer,
55654        ),
55655    >,
55656    pub lookup_by_name_finish: ::std::option::Option<
55657        unsafe extern "C" fn(
55658            resolver: *mut GResolver,
55659            result: *mut GAsyncResult,
55660            error: *mut *mut GError,
55661        ) -> *mut GList,
55662    >,
55663    pub lookup_by_address: ::std::option::Option<
55664        unsafe extern "C" fn(
55665            resolver: *mut GResolver,
55666            address: *mut GInetAddress,
55667            cancellable: *mut GCancellable,
55668            error: *mut *mut GError,
55669        ) -> *mut gchar,
55670    >,
55671    pub lookup_by_address_async: ::std::option::Option<
55672        unsafe extern "C" fn(
55673            resolver: *mut GResolver,
55674            address: *mut GInetAddress,
55675            cancellable: *mut GCancellable,
55676            callback: GAsyncReadyCallback,
55677            user_data: gpointer,
55678        ),
55679    >,
55680    pub lookup_by_address_finish: ::std::option::Option<
55681        unsafe extern "C" fn(
55682            resolver: *mut GResolver,
55683            result: *mut GAsyncResult,
55684            error: *mut *mut GError,
55685        ) -> *mut gchar,
55686    >,
55687    pub lookup_service: ::std::option::Option<
55688        unsafe extern "C" fn(
55689            resolver: *mut GResolver,
55690            rrname: *const gchar,
55691            cancellable: *mut GCancellable,
55692            error: *mut *mut GError,
55693        ) -> *mut GList,
55694    >,
55695    pub lookup_service_async: ::std::option::Option<
55696        unsafe extern "C" fn(
55697            resolver: *mut GResolver,
55698            rrname: *const gchar,
55699            cancellable: *mut GCancellable,
55700            callback: GAsyncReadyCallback,
55701            user_data: gpointer,
55702        ),
55703    >,
55704    pub lookup_service_finish: ::std::option::Option<
55705        unsafe extern "C" fn(
55706            resolver: *mut GResolver,
55707            result: *mut GAsyncResult,
55708            error: *mut *mut GError,
55709        ) -> *mut GList,
55710    >,
55711    pub lookup_records: ::std::option::Option<
55712        unsafe extern "C" fn(
55713            resolver: *mut GResolver,
55714            rrname: *const gchar,
55715            record_type: GResolverRecordType,
55716            cancellable: *mut GCancellable,
55717            error: *mut *mut GError,
55718        ) -> *mut GList,
55719    >,
55720    pub lookup_records_async: ::std::option::Option<
55721        unsafe extern "C" fn(
55722            resolver: *mut GResolver,
55723            rrname: *const gchar,
55724            record_type: GResolverRecordType,
55725            cancellable: *mut GCancellable,
55726            callback: GAsyncReadyCallback,
55727            user_data: gpointer,
55728        ),
55729    >,
55730    pub lookup_records_finish: ::std::option::Option<
55731        unsafe extern "C" fn(
55732            resolver: *mut GResolver,
55733            result: *mut GAsyncResult,
55734            error: *mut *mut GError,
55735        ) -> *mut GList,
55736    >,
55737    #[doc = " GResolverClass::lookup_by_name_with_flags_async:\n @resolver: a #GResolver\n @hostname: the hostname to resolve\n @flags: extra #GResolverNameLookupFlags to modify the lookup\n @cancellable: (nullable): a #GCancellable\n @callback: (scope async): a #GAsyncReadyCallback to call when completed\n @user_data: data to pass to @callback\n\n Asynchronous version of GResolverClass::lookup_by_name_with_flags\n\n GResolverClass::lookup_by_name_with_flags_finish will be called to get\n the result.\n\n Since: 2.60"]
55738    pub lookup_by_name_with_flags_async: ::std::option::Option<
55739        unsafe extern "C" fn(
55740            resolver: *mut GResolver,
55741            hostname: *const gchar,
55742            flags: GResolverNameLookupFlags,
55743            cancellable: *mut GCancellable,
55744            callback: GAsyncReadyCallback,
55745            user_data: gpointer,
55746        ),
55747    >,
55748    #[doc = " GResolverClass::lookup_by_name_with_flags_finish:\n @resolver: a #GResolver\n @result: a #GAsyncResult\n @error: (nullable): a pointer to a %NULL #GError\n\n Gets the result from GResolverClass::lookup_by_name_with_flags_async\n\n Returns: (element-type GInetAddress) (transfer full): List of #GInetAddress.\n Since: 2.60"]
55749    pub lookup_by_name_with_flags_finish: ::std::option::Option<
55750        unsafe extern "C" fn(
55751            resolver: *mut GResolver,
55752            result: *mut GAsyncResult,
55753            error: *mut *mut GError,
55754        ) -> *mut GList,
55755    >,
55756    #[doc = " GResolverClass::lookup_by_name_with_flags:\n @resolver: a #GResolver\n @hostname: the hostname to resolve\n @flags: extra #GResolverNameLookupFlags to modify the lookup\n @cancellable: (nullable): a #GCancellable\n @error: (nullable): a pointer to a %NULL #GError\n\n This is identical to GResolverClass::lookup_by_name except it takes\n @flags which modifies the behavior of the lookup. See #GResolverNameLookupFlags\n for more details.\n\n Returns: (element-type GInetAddress) (transfer full): List of #GInetAddress.\n Since: 2.60"]
55757    pub lookup_by_name_with_flags: ::std::option::Option<
55758        unsafe extern "C" fn(
55759            resolver: *mut GResolver,
55760            hostname: *const gchar,
55761            flags: GResolverNameLookupFlags,
55762            cancellable: *mut GCancellable,
55763            error: *mut *mut GError,
55764        ) -> *mut GList,
55765    >,
55766}
55767#[test]
55768fn bindgen_test_layout__GResolverClass() {
55769    const UNINIT: ::std::mem::MaybeUninit<_GResolverClass> = ::std::mem::MaybeUninit::uninit();
55770    let ptr = UNINIT.as_ptr();
55771    assert_eq!(
55772        ::std::mem::size_of::<_GResolverClass>(),
55773        264usize,
55774        concat!("Size of: ", stringify!(_GResolverClass))
55775    );
55776    assert_eq!(
55777        ::std::mem::align_of::<_GResolverClass>(),
55778        8usize,
55779        concat!("Alignment of ", stringify!(_GResolverClass))
55780    );
55781    assert_eq!(
55782        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
55783        0usize,
55784        concat!(
55785            "Offset of field: ",
55786            stringify!(_GResolverClass),
55787            "::",
55788            stringify!(parent_class)
55789        )
55790    );
55791    assert_eq!(
55792        unsafe { ::std::ptr::addr_of!((*ptr).reload) as usize - ptr as usize },
55793        136usize,
55794        concat!(
55795            "Offset of field: ",
55796            stringify!(_GResolverClass),
55797            "::",
55798            stringify!(reload)
55799        )
55800    );
55801    assert_eq!(
55802        unsafe { ::std::ptr::addr_of!((*ptr).lookup_by_name) as usize - ptr as usize },
55803        144usize,
55804        concat!(
55805            "Offset of field: ",
55806            stringify!(_GResolverClass),
55807            "::",
55808            stringify!(lookup_by_name)
55809        )
55810    );
55811    assert_eq!(
55812        unsafe { ::std::ptr::addr_of!((*ptr).lookup_by_name_async) as usize - ptr as usize },
55813        152usize,
55814        concat!(
55815            "Offset of field: ",
55816            stringify!(_GResolverClass),
55817            "::",
55818            stringify!(lookup_by_name_async)
55819        )
55820    );
55821    assert_eq!(
55822        unsafe { ::std::ptr::addr_of!((*ptr).lookup_by_name_finish) as usize - ptr as usize },
55823        160usize,
55824        concat!(
55825            "Offset of field: ",
55826            stringify!(_GResolverClass),
55827            "::",
55828            stringify!(lookup_by_name_finish)
55829        )
55830    );
55831    assert_eq!(
55832        unsafe { ::std::ptr::addr_of!((*ptr).lookup_by_address) as usize - ptr as usize },
55833        168usize,
55834        concat!(
55835            "Offset of field: ",
55836            stringify!(_GResolverClass),
55837            "::",
55838            stringify!(lookup_by_address)
55839        )
55840    );
55841    assert_eq!(
55842        unsafe { ::std::ptr::addr_of!((*ptr).lookup_by_address_async) as usize - ptr as usize },
55843        176usize,
55844        concat!(
55845            "Offset of field: ",
55846            stringify!(_GResolverClass),
55847            "::",
55848            stringify!(lookup_by_address_async)
55849        )
55850    );
55851    assert_eq!(
55852        unsafe { ::std::ptr::addr_of!((*ptr).lookup_by_address_finish) as usize - ptr as usize },
55853        184usize,
55854        concat!(
55855            "Offset of field: ",
55856            stringify!(_GResolverClass),
55857            "::",
55858            stringify!(lookup_by_address_finish)
55859        )
55860    );
55861    assert_eq!(
55862        unsafe { ::std::ptr::addr_of!((*ptr).lookup_service) as usize - ptr as usize },
55863        192usize,
55864        concat!(
55865            "Offset of field: ",
55866            stringify!(_GResolverClass),
55867            "::",
55868            stringify!(lookup_service)
55869        )
55870    );
55871    assert_eq!(
55872        unsafe { ::std::ptr::addr_of!((*ptr).lookup_service_async) as usize - ptr as usize },
55873        200usize,
55874        concat!(
55875            "Offset of field: ",
55876            stringify!(_GResolverClass),
55877            "::",
55878            stringify!(lookup_service_async)
55879        )
55880    );
55881    assert_eq!(
55882        unsafe { ::std::ptr::addr_of!((*ptr).lookup_service_finish) as usize - ptr as usize },
55883        208usize,
55884        concat!(
55885            "Offset of field: ",
55886            stringify!(_GResolverClass),
55887            "::",
55888            stringify!(lookup_service_finish)
55889        )
55890    );
55891    assert_eq!(
55892        unsafe { ::std::ptr::addr_of!((*ptr).lookup_records) as usize - ptr as usize },
55893        216usize,
55894        concat!(
55895            "Offset of field: ",
55896            stringify!(_GResolverClass),
55897            "::",
55898            stringify!(lookup_records)
55899        )
55900    );
55901    assert_eq!(
55902        unsafe { ::std::ptr::addr_of!((*ptr).lookup_records_async) as usize - ptr as usize },
55903        224usize,
55904        concat!(
55905            "Offset of field: ",
55906            stringify!(_GResolverClass),
55907            "::",
55908            stringify!(lookup_records_async)
55909        )
55910    );
55911    assert_eq!(
55912        unsafe { ::std::ptr::addr_of!((*ptr).lookup_records_finish) as usize - ptr as usize },
55913        232usize,
55914        concat!(
55915            "Offset of field: ",
55916            stringify!(_GResolverClass),
55917            "::",
55918            stringify!(lookup_records_finish)
55919        )
55920    );
55921    assert_eq!(
55922        unsafe {
55923            ::std::ptr::addr_of!((*ptr).lookup_by_name_with_flags_async) as usize - ptr as usize
55924        },
55925        240usize,
55926        concat!(
55927            "Offset of field: ",
55928            stringify!(_GResolverClass),
55929            "::",
55930            stringify!(lookup_by_name_with_flags_async)
55931        )
55932    );
55933    assert_eq!(
55934        unsafe {
55935            ::std::ptr::addr_of!((*ptr).lookup_by_name_with_flags_finish) as usize - ptr as usize
55936        },
55937        248usize,
55938        concat!(
55939            "Offset of field: ",
55940            stringify!(_GResolverClass),
55941            "::",
55942            stringify!(lookup_by_name_with_flags_finish)
55943        )
55944    );
55945    assert_eq!(
55946        unsafe { ::std::ptr::addr_of!((*ptr).lookup_by_name_with_flags) as usize - ptr as usize },
55947        256usize,
55948        concat!(
55949            "Offset of field: ",
55950            stringify!(_GResolverClass),
55951            "::",
55952            stringify!(lookup_by_name_with_flags)
55953        )
55954    );
55955}
55956extern "C" {
55957    pub fn g_resolver_get_type() -> GType;
55958}
55959extern "C" {
55960    pub fn g_resolver_get_default() -> *mut GResolver;
55961}
55962extern "C" {
55963    pub fn g_resolver_set_default(resolver: *mut GResolver);
55964}
55965extern "C" {
55966    pub fn g_resolver_lookup_by_name(
55967        resolver: *mut GResolver,
55968        hostname: *const gchar,
55969        cancellable: *mut GCancellable,
55970        error: *mut *mut GError,
55971    ) -> *mut GList;
55972}
55973extern "C" {
55974    pub fn g_resolver_lookup_by_name_async(
55975        resolver: *mut GResolver,
55976        hostname: *const gchar,
55977        cancellable: *mut GCancellable,
55978        callback: GAsyncReadyCallback,
55979        user_data: gpointer,
55980    );
55981}
55982extern "C" {
55983    pub fn g_resolver_lookup_by_name_finish(
55984        resolver: *mut GResolver,
55985        result: *mut GAsyncResult,
55986        error: *mut *mut GError,
55987    ) -> *mut GList;
55988}
55989extern "C" {
55990    pub fn g_resolver_lookup_by_name_with_flags_async(
55991        resolver: *mut GResolver,
55992        hostname: *const gchar,
55993        flags: GResolverNameLookupFlags,
55994        cancellable: *mut GCancellable,
55995        callback: GAsyncReadyCallback,
55996        user_data: gpointer,
55997    );
55998}
55999extern "C" {
56000    pub fn g_resolver_lookup_by_name_with_flags_finish(
56001        resolver: *mut GResolver,
56002        result: *mut GAsyncResult,
56003        error: *mut *mut GError,
56004    ) -> *mut GList;
56005}
56006extern "C" {
56007    pub fn g_resolver_lookup_by_name_with_flags(
56008        resolver: *mut GResolver,
56009        hostname: *const gchar,
56010        flags: GResolverNameLookupFlags,
56011        cancellable: *mut GCancellable,
56012        error: *mut *mut GError,
56013    ) -> *mut GList;
56014}
56015extern "C" {
56016    pub fn g_resolver_free_addresses(addresses: *mut GList);
56017}
56018extern "C" {
56019    pub fn g_resolver_lookup_by_address(
56020        resolver: *mut GResolver,
56021        address: *mut GInetAddress,
56022        cancellable: *mut GCancellable,
56023        error: *mut *mut GError,
56024    ) -> *mut gchar;
56025}
56026extern "C" {
56027    pub fn g_resolver_lookup_by_address_async(
56028        resolver: *mut GResolver,
56029        address: *mut GInetAddress,
56030        cancellable: *mut GCancellable,
56031        callback: GAsyncReadyCallback,
56032        user_data: gpointer,
56033    );
56034}
56035extern "C" {
56036    pub fn g_resolver_lookup_by_address_finish(
56037        resolver: *mut GResolver,
56038        result: *mut GAsyncResult,
56039        error: *mut *mut GError,
56040    ) -> *mut gchar;
56041}
56042extern "C" {
56043    pub fn g_resolver_lookup_service(
56044        resolver: *mut GResolver,
56045        service: *const gchar,
56046        protocol: *const gchar,
56047        domain: *const gchar,
56048        cancellable: *mut GCancellable,
56049        error: *mut *mut GError,
56050    ) -> *mut GList;
56051}
56052extern "C" {
56053    pub fn g_resolver_lookup_service_async(
56054        resolver: *mut GResolver,
56055        service: *const gchar,
56056        protocol: *const gchar,
56057        domain: *const gchar,
56058        cancellable: *mut GCancellable,
56059        callback: GAsyncReadyCallback,
56060        user_data: gpointer,
56061    );
56062}
56063extern "C" {
56064    pub fn g_resolver_lookup_service_finish(
56065        resolver: *mut GResolver,
56066        result: *mut GAsyncResult,
56067        error: *mut *mut GError,
56068    ) -> *mut GList;
56069}
56070extern "C" {
56071    pub fn g_resolver_lookup_records(
56072        resolver: *mut GResolver,
56073        rrname: *const gchar,
56074        record_type: GResolverRecordType,
56075        cancellable: *mut GCancellable,
56076        error: *mut *mut GError,
56077    ) -> *mut GList;
56078}
56079extern "C" {
56080    pub fn g_resolver_lookup_records_async(
56081        resolver: *mut GResolver,
56082        rrname: *const gchar,
56083        record_type: GResolverRecordType,
56084        cancellable: *mut GCancellable,
56085        callback: GAsyncReadyCallback,
56086        user_data: gpointer,
56087    );
56088}
56089extern "C" {
56090    pub fn g_resolver_lookup_records_finish(
56091        resolver: *mut GResolver,
56092        result: *mut GAsyncResult,
56093        error: *mut *mut GError,
56094    ) -> *mut GList;
56095}
56096extern "C" {
56097    pub fn g_resolver_free_targets(targets: *mut GList);
56098}
56099extern "C" {
56100    pub fn g_resolver_get_timeout(resolver: *mut GResolver) -> ::std::os::raw::c_uint;
56101}
56102extern "C" {
56103    pub fn g_resolver_set_timeout(resolver: *mut GResolver, timeout_ms: ::std::os::raw::c_uint);
56104}
56105extern "C" {
56106    pub fn g_resolver_error_quark() -> GQuark;
56107}
56108extern "C" {
56109    pub fn g_resource_error_quark() -> GQuark;
56110}
56111pub type GStaticResource = _GStaticResource;
56112#[repr(C)]
56113#[derive(Debug, Copy, Clone, PartialEq, Eq)]
56114pub struct _GStaticResource {
56115    pub data: *const guint8,
56116    pub data_len: gsize,
56117    pub resource: *mut GResource,
56118    pub next: *mut GStaticResource,
56119    pub padding: gpointer,
56120}
56121#[test]
56122fn bindgen_test_layout__GStaticResource() {
56123    const UNINIT: ::std::mem::MaybeUninit<_GStaticResource> = ::std::mem::MaybeUninit::uninit();
56124    let ptr = UNINIT.as_ptr();
56125    assert_eq!(
56126        ::std::mem::size_of::<_GStaticResource>(),
56127        40usize,
56128        concat!("Size of: ", stringify!(_GStaticResource))
56129    );
56130    assert_eq!(
56131        ::std::mem::align_of::<_GStaticResource>(),
56132        8usize,
56133        concat!("Alignment of ", stringify!(_GStaticResource))
56134    );
56135    assert_eq!(
56136        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
56137        0usize,
56138        concat!(
56139            "Offset of field: ",
56140            stringify!(_GStaticResource),
56141            "::",
56142            stringify!(data)
56143        )
56144    );
56145    assert_eq!(
56146        unsafe { ::std::ptr::addr_of!((*ptr).data_len) as usize - ptr as usize },
56147        8usize,
56148        concat!(
56149            "Offset of field: ",
56150            stringify!(_GStaticResource),
56151            "::",
56152            stringify!(data_len)
56153        )
56154    );
56155    assert_eq!(
56156        unsafe { ::std::ptr::addr_of!((*ptr).resource) as usize - ptr as usize },
56157        16usize,
56158        concat!(
56159            "Offset of field: ",
56160            stringify!(_GStaticResource),
56161            "::",
56162            stringify!(resource)
56163        )
56164    );
56165    assert_eq!(
56166        unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
56167        24usize,
56168        concat!(
56169            "Offset of field: ",
56170            stringify!(_GStaticResource),
56171            "::",
56172            stringify!(next)
56173        )
56174    );
56175    assert_eq!(
56176        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
56177        32usize,
56178        concat!(
56179            "Offset of field: ",
56180            stringify!(_GStaticResource),
56181            "::",
56182            stringify!(padding)
56183        )
56184    );
56185}
56186extern "C" {
56187    pub fn g_resource_get_type() -> GType;
56188}
56189extern "C" {
56190    pub fn g_resource_new_from_data(data: *mut GBytes, error: *mut *mut GError) -> *mut GResource;
56191}
56192extern "C" {
56193    pub fn g_resource_ref(resource: *mut GResource) -> *mut GResource;
56194}
56195extern "C" {
56196    pub fn g_resource_unref(resource: *mut GResource);
56197}
56198extern "C" {
56199    pub fn g_resource_load(filename: *const gchar, error: *mut *mut GError) -> *mut GResource;
56200}
56201extern "C" {
56202    pub fn g_resource_open_stream(
56203        resource: *mut GResource,
56204        path: *const ::std::os::raw::c_char,
56205        lookup_flags: GResourceLookupFlags,
56206        error: *mut *mut GError,
56207    ) -> *mut GInputStream;
56208}
56209extern "C" {
56210    pub fn g_resource_lookup_data(
56211        resource: *mut GResource,
56212        path: *const ::std::os::raw::c_char,
56213        lookup_flags: GResourceLookupFlags,
56214        error: *mut *mut GError,
56215    ) -> *mut GBytes;
56216}
56217extern "C" {
56218    pub fn g_resource_enumerate_children(
56219        resource: *mut GResource,
56220        path: *const ::std::os::raw::c_char,
56221        lookup_flags: GResourceLookupFlags,
56222        error: *mut *mut GError,
56223    ) -> *mut *mut ::std::os::raw::c_char;
56224}
56225extern "C" {
56226    pub fn g_resource_get_info(
56227        resource: *mut GResource,
56228        path: *const ::std::os::raw::c_char,
56229        lookup_flags: GResourceLookupFlags,
56230        size: *mut gsize,
56231        flags: *mut guint32,
56232        error: *mut *mut GError,
56233    ) -> gboolean;
56234}
56235extern "C" {
56236    pub fn g_resources_register(resource: *mut GResource);
56237}
56238extern "C" {
56239    pub fn g_resources_unregister(resource: *mut GResource);
56240}
56241extern "C" {
56242    pub fn g_resources_open_stream(
56243        path: *const ::std::os::raw::c_char,
56244        lookup_flags: GResourceLookupFlags,
56245        error: *mut *mut GError,
56246    ) -> *mut GInputStream;
56247}
56248extern "C" {
56249    pub fn g_resources_lookup_data(
56250        path: *const ::std::os::raw::c_char,
56251        lookup_flags: GResourceLookupFlags,
56252        error: *mut *mut GError,
56253    ) -> *mut GBytes;
56254}
56255extern "C" {
56256    pub fn g_resources_enumerate_children(
56257        path: *const ::std::os::raw::c_char,
56258        lookup_flags: GResourceLookupFlags,
56259        error: *mut *mut GError,
56260    ) -> *mut *mut ::std::os::raw::c_char;
56261}
56262extern "C" {
56263    pub fn g_resources_get_info(
56264        path: *const ::std::os::raw::c_char,
56265        lookup_flags: GResourceLookupFlags,
56266        size: *mut gsize,
56267        flags: *mut guint32,
56268        error: *mut *mut GError,
56269    ) -> gboolean;
56270}
56271extern "C" {
56272    pub fn g_static_resource_init(static_resource: *mut GStaticResource);
56273}
56274extern "C" {
56275    pub fn g_static_resource_fini(static_resource: *mut GStaticResource);
56276}
56277extern "C" {
56278    pub fn g_static_resource_get_resource(static_resource: *mut GStaticResource) -> *mut GResource;
56279}
56280#[doc = " GSeekable:\n\n Seek object for streaming operations."]
56281pub type GSeekableIface = _GSeekableIface;
56282#[doc = " GSeekableIface:\n @g_iface: The parent interface.\n @tell: Tells the current location within a stream.\n @can_seek: Checks if seeking is supported by the stream.\n @seek: Seeks to a location within a stream.\n @can_truncate: Checks if truncation is supported by the stream.\n @truncate_fn: Truncates a stream.\n\n Provides an interface for implementing seekable functionality on I/O Streams."]
56283#[repr(C)]
56284#[derive(Debug, Copy, Clone, PartialEq, Eq)]
56285pub struct _GSeekableIface {
56286    pub g_iface: GTypeInterface,
56287    pub tell: ::std::option::Option<unsafe extern "C" fn(seekable: *mut GSeekable) -> goffset>,
56288    pub can_seek: ::std::option::Option<unsafe extern "C" fn(seekable: *mut GSeekable) -> gboolean>,
56289    pub seek: ::std::option::Option<
56290        unsafe extern "C" fn(
56291            seekable: *mut GSeekable,
56292            offset: goffset,
56293            type_: GSeekType,
56294            cancellable: *mut GCancellable,
56295            error: *mut *mut GError,
56296        ) -> gboolean,
56297    >,
56298    pub can_truncate:
56299        ::std::option::Option<unsafe extern "C" fn(seekable: *mut GSeekable) -> gboolean>,
56300    pub truncate_fn: ::std::option::Option<
56301        unsafe extern "C" fn(
56302            seekable: *mut GSeekable,
56303            offset: goffset,
56304            cancellable: *mut GCancellable,
56305            error: *mut *mut GError,
56306        ) -> gboolean,
56307    >,
56308}
56309#[test]
56310fn bindgen_test_layout__GSeekableIface() {
56311    const UNINIT: ::std::mem::MaybeUninit<_GSeekableIface> = ::std::mem::MaybeUninit::uninit();
56312    let ptr = UNINIT.as_ptr();
56313    assert_eq!(
56314        ::std::mem::size_of::<_GSeekableIface>(),
56315        56usize,
56316        concat!("Size of: ", stringify!(_GSeekableIface))
56317    );
56318    assert_eq!(
56319        ::std::mem::align_of::<_GSeekableIface>(),
56320        8usize,
56321        concat!("Alignment of ", stringify!(_GSeekableIface))
56322    );
56323    assert_eq!(
56324        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
56325        0usize,
56326        concat!(
56327            "Offset of field: ",
56328            stringify!(_GSeekableIface),
56329            "::",
56330            stringify!(g_iface)
56331        )
56332    );
56333    assert_eq!(
56334        unsafe { ::std::ptr::addr_of!((*ptr).tell) as usize - ptr as usize },
56335        16usize,
56336        concat!(
56337            "Offset of field: ",
56338            stringify!(_GSeekableIface),
56339            "::",
56340            stringify!(tell)
56341        )
56342    );
56343    assert_eq!(
56344        unsafe { ::std::ptr::addr_of!((*ptr).can_seek) as usize - ptr as usize },
56345        24usize,
56346        concat!(
56347            "Offset of field: ",
56348            stringify!(_GSeekableIface),
56349            "::",
56350            stringify!(can_seek)
56351        )
56352    );
56353    assert_eq!(
56354        unsafe { ::std::ptr::addr_of!((*ptr).seek) as usize - ptr as usize },
56355        32usize,
56356        concat!(
56357            "Offset of field: ",
56358            stringify!(_GSeekableIface),
56359            "::",
56360            stringify!(seek)
56361        )
56362    );
56363    assert_eq!(
56364        unsafe { ::std::ptr::addr_of!((*ptr).can_truncate) as usize - ptr as usize },
56365        40usize,
56366        concat!(
56367            "Offset of field: ",
56368            stringify!(_GSeekableIface),
56369            "::",
56370            stringify!(can_truncate)
56371        )
56372    );
56373    assert_eq!(
56374        unsafe { ::std::ptr::addr_of!((*ptr).truncate_fn) as usize - ptr as usize },
56375        48usize,
56376        concat!(
56377            "Offset of field: ",
56378            stringify!(_GSeekableIface),
56379            "::",
56380            stringify!(truncate_fn)
56381        )
56382    );
56383}
56384extern "C" {
56385    pub fn g_seekable_get_type() -> GType;
56386}
56387extern "C" {
56388    pub fn g_seekable_tell(seekable: *mut GSeekable) -> goffset;
56389}
56390extern "C" {
56391    pub fn g_seekable_can_seek(seekable: *mut GSeekable) -> gboolean;
56392}
56393extern "C" {
56394    pub fn g_seekable_seek(
56395        seekable: *mut GSeekable,
56396        offset: goffset,
56397        type_: GSeekType,
56398        cancellable: *mut GCancellable,
56399        error: *mut *mut GError,
56400    ) -> gboolean;
56401}
56402extern "C" {
56403    pub fn g_seekable_can_truncate(seekable: *mut GSeekable) -> gboolean;
56404}
56405extern "C" {
56406    pub fn g_seekable_truncate(
56407        seekable: *mut GSeekable,
56408        offset: goffset,
56409        cancellable: *mut GCancellable,
56410        error: *mut *mut GError,
56411    ) -> gboolean;
56412}
56413#[repr(C)]
56414#[derive(Debug, Copy, Clone)]
56415pub struct _GSettingsSchemaSource {
56416    _unused: [u8; 0],
56417}
56418pub type GSettingsSchemaSource = _GSettingsSchemaSource;
56419#[repr(C)]
56420#[derive(Debug, Copy, Clone)]
56421pub struct _GSettingsSchema {
56422    _unused: [u8; 0],
56423}
56424pub type GSettingsSchema = _GSettingsSchema;
56425#[repr(C)]
56426#[derive(Debug, Copy, Clone)]
56427pub struct _GSettingsSchemaKey {
56428    _unused: [u8; 0],
56429}
56430pub type GSettingsSchemaKey = _GSettingsSchemaKey;
56431extern "C" {
56432    pub fn g_settings_schema_source_get_type() -> GType;
56433}
56434extern "C" {
56435    pub fn g_settings_schema_source_get_default() -> *mut GSettingsSchemaSource;
56436}
56437extern "C" {
56438    pub fn g_settings_schema_source_ref(
56439        source: *mut GSettingsSchemaSource,
56440    ) -> *mut GSettingsSchemaSource;
56441}
56442extern "C" {
56443    pub fn g_settings_schema_source_unref(source: *mut GSettingsSchemaSource);
56444}
56445extern "C" {
56446    pub fn g_settings_schema_source_new_from_directory(
56447        directory: *const gchar,
56448        parent: *mut GSettingsSchemaSource,
56449        trusted: gboolean,
56450        error: *mut *mut GError,
56451    ) -> *mut GSettingsSchemaSource;
56452}
56453extern "C" {
56454    pub fn g_settings_schema_source_lookup(
56455        source: *mut GSettingsSchemaSource,
56456        schema_id: *const gchar,
56457        recursive: gboolean,
56458    ) -> *mut GSettingsSchema;
56459}
56460extern "C" {
56461    pub fn g_settings_schema_source_list_schemas(
56462        source: *mut GSettingsSchemaSource,
56463        recursive: gboolean,
56464        non_relocatable: *mut *mut *mut gchar,
56465        relocatable: *mut *mut *mut gchar,
56466    );
56467}
56468extern "C" {
56469    pub fn g_settings_schema_get_type() -> GType;
56470}
56471extern "C" {
56472    pub fn g_settings_schema_ref(schema: *mut GSettingsSchema) -> *mut GSettingsSchema;
56473}
56474extern "C" {
56475    pub fn g_settings_schema_unref(schema: *mut GSettingsSchema);
56476}
56477extern "C" {
56478    pub fn g_settings_schema_get_id(schema: *mut GSettingsSchema) -> *const gchar;
56479}
56480extern "C" {
56481    pub fn g_settings_schema_get_path(schema: *mut GSettingsSchema) -> *const gchar;
56482}
56483extern "C" {
56484    pub fn g_settings_schema_get_key(
56485        schema: *mut GSettingsSchema,
56486        name: *const gchar,
56487    ) -> *mut GSettingsSchemaKey;
56488}
56489extern "C" {
56490    pub fn g_settings_schema_has_key(schema: *mut GSettingsSchema, name: *const gchar) -> gboolean;
56491}
56492extern "C" {
56493    pub fn g_settings_schema_list_keys(schema: *mut GSettingsSchema) -> *mut *mut gchar;
56494}
56495extern "C" {
56496    pub fn g_settings_schema_list_children(schema: *mut GSettingsSchema) -> *mut *mut gchar;
56497}
56498extern "C" {
56499    pub fn g_settings_schema_key_get_type() -> GType;
56500}
56501extern "C" {
56502    pub fn g_settings_schema_key_ref(key: *mut GSettingsSchemaKey) -> *mut GSettingsSchemaKey;
56503}
56504extern "C" {
56505    pub fn g_settings_schema_key_unref(key: *mut GSettingsSchemaKey);
56506}
56507extern "C" {
56508    pub fn g_settings_schema_key_get_value_type(
56509        key: *mut GSettingsSchemaKey,
56510    ) -> *const GVariantType;
56511}
56512extern "C" {
56513    pub fn g_settings_schema_key_get_default_value(key: *mut GSettingsSchemaKey) -> *mut GVariant;
56514}
56515extern "C" {
56516    pub fn g_settings_schema_key_get_range(key: *mut GSettingsSchemaKey) -> *mut GVariant;
56517}
56518extern "C" {
56519    pub fn g_settings_schema_key_range_check(
56520        key: *mut GSettingsSchemaKey,
56521        value: *mut GVariant,
56522    ) -> gboolean;
56523}
56524extern "C" {
56525    pub fn g_settings_schema_key_get_name(key: *mut GSettingsSchemaKey) -> *const gchar;
56526}
56527extern "C" {
56528    pub fn g_settings_schema_key_get_summary(key: *mut GSettingsSchemaKey) -> *const gchar;
56529}
56530extern "C" {
56531    pub fn g_settings_schema_key_get_description(key: *mut GSettingsSchemaKey) -> *const gchar;
56532}
56533#[repr(C)]
56534#[derive(Debug, Copy, Clone)]
56535pub struct _GSettingsPrivate {
56536    _unused: [u8; 0],
56537}
56538pub type GSettingsPrivate = _GSettingsPrivate;
56539pub type GSettingsClass = _GSettingsClass;
56540#[repr(C)]
56541#[derive(Debug, Copy, Clone, PartialEq, Eq)]
56542pub struct _GSettingsClass {
56543    pub parent_class: GObjectClass,
56544    pub writable_changed:
56545        ::std::option::Option<unsafe extern "C" fn(settings: *mut GSettings, key: *const gchar)>,
56546    pub changed:
56547        ::std::option::Option<unsafe extern "C" fn(settings: *mut GSettings, key: *const gchar)>,
56548    pub writable_change_event: ::std::option::Option<
56549        unsafe extern "C" fn(settings: *mut GSettings, key: GQuark) -> gboolean,
56550    >,
56551    pub change_event: ::std::option::Option<
56552        unsafe extern "C" fn(
56553            settings: *mut GSettings,
56554            keys: *const GQuark,
56555            n_keys: gint,
56556        ) -> gboolean,
56557    >,
56558    pub padding: [gpointer; 20usize],
56559}
56560#[test]
56561fn bindgen_test_layout__GSettingsClass() {
56562    const UNINIT: ::std::mem::MaybeUninit<_GSettingsClass> = ::std::mem::MaybeUninit::uninit();
56563    let ptr = UNINIT.as_ptr();
56564    assert_eq!(
56565        ::std::mem::size_of::<_GSettingsClass>(),
56566        328usize,
56567        concat!("Size of: ", stringify!(_GSettingsClass))
56568    );
56569    assert_eq!(
56570        ::std::mem::align_of::<_GSettingsClass>(),
56571        8usize,
56572        concat!("Alignment of ", stringify!(_GSettingsClass))
56573    );
56574    assert_eq!(
56575        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
56576        0usize,
56577        concat!(
56578            "Offset of field: ",
56579            stringify!(_GSettingsClass),
56580            "::",
56581            stringify!(parent_class)
56582        )
56583    );
56584    assert_eq!(
56585        unsafe { ::std::ptr::addr_of!((*ptr).writable_changed) as usize - ptr as usize },
56586        136usize,
56587        concat!(
56588            "Offset of field: ",
56589            stringify!(_GSettingsClass),
56590            "::",
56591            stringify!(writable_changed)
56592        )
56593    );
56594    assert_eq!(
56595        unsafe { ::std::ptr::addr_of!((*ptr).changed) as usize - ptr as usize },
56596        144usize,
56597        concat!(
56598            "Offset of field: ",
56599            stringify!(_GSettingsClass),
56600            "::",
56601            stringify!(changed)
56602        )
56603    );
56604    assert_eq!(
56605        unsafe { ::std::ptr::addr_of!((*ptr).writable_change_event) as usize - ptr as usize },
56606        152usize,
56607        concat!(
56608            "Offset of field: ",
56609            stringify!(_GSettingsClass),
56610            "::",
56611            stringify!(writable_change_event)
56612        )
56613    );
56614    assert_eq!(
56615        unsafe { ::std::ptr::addr_of!((*ptr).change_event) as usize - ptr as usize },
56616        160usize,
56617        concat!(
56618            "Offset of field: ",
56619            stringify!(_GSettingsClass),
56620            "::",
56621            stringify!(change_event)
56622        )
56623    );
56624    assert_eq!(
56625        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
56626        168usize,
56627        concat!(
56628            "Offset of field: ",
56629            stringify!(_GSettingsClass),
56630            "::",
56631            stringify!(padding)
56632        )
56633    );
56634}
56635#[repr(C)]
56636#[derive(Debug, Copy, Clone, PartialEq, Eq)]
56637pub struct _GSettings {
56638    pub parent_instance: GObject,
56639    pub priv_: *mut GSettingsPrivate,
56640}
56641#[test]
56642fn bindgen_test_layout__GSettings() {
56643    const UNINIT: ::std::mem::MaybeUninit<_GSettings> = ::std::mem::MaybeUninit::uninit();
56644    let ptr = UNINIT.as_ptr();
56645    assert_eq!(
56646        ::std::mem::size_of::<_GSettings>(),
56647        32usize,
56648        concat!("Size of: ", stringify!(_GSettings))
56649    );
56650    assert_eq!(
56651        ::std::mem::align_of::<_GSettings>(),
56652        8usize,
56653        concat!("Alignment of ", stringify!(_GSettings))
56654    );
56655    assert_eq!(
56656        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
56657        0usize,
56658        concat!(
56659            "Offset of field: ",
56660            stringify!(_GSettings),
56661            "::",
56662            stringify!(parent_instance)
56663        )
56664    );
56665    assert_eq!(
56666        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
56667        24usize,
56668        concat!(
56669            "Offset of field: ",
56670            stringify!(_GSettings),
56671            "::",
56672            stringify!(priv_)
56673        )
56674    );
56675}
56676extern "C" {
56677    pub fn g_settings_get_type() -> GType;
56678}
56679extern "C" {
56680    pub fn g_settings_list_schemas() -> *const *const gchar;
56681}
56682extern "C" {
56683    pub fn g_settings_list_relocatable_schemas() -> *const *const gchar;
56684}
56685extern "C" {
56686    pub fn g_settings_new(schema_id: *const gchar) -> *mut GSettings;
56687}
56688extern "C" {
56689    pub fn g_settings_new_with_path(schema_id: *const gchar, path: *const gchar) -> *mut GSettings;
56690}
56691extern "C" {
56692    pub fn g_settings_new_with_backend(
56693        schema_id: *const gchar,
56694        backend: *mut GSettingsBackend,
56695    ) -> *mut GSettings;
56696}
56697extern "C" {
56698    pub fn g_settings_new_with_backend_and_path(
56699        schema_id: *const gchar,
56700        backend: *mut GSettingsBackend,
56701        path: *const gchar,
56702    ) -> *mut GSettings;
56703}
56704extern "C" {
56705    pub fn g_settings_new_full(
56706        schema: *mut GSettingsSchema,
56707        backend: *mut GSettingsBackend,
56708        path: *const gchar,
56709    ) -> *mut GSettings;
56710}
56711extern "C" {
56712    pub fn g_settings_list_children(settings: *mut GSettings) -> *mut *mut gchar;
56713}
56714extern "C" {
56715    pub fn g_settings_list_keys(settings: *mut GSettings) -> *mut *mut gchar;
56716}
56717extern "C" {
56718    pub fn g_settings_get_range(settings: *mut GSettings, key: *const gchar) -> *mut GVariant;
56719}
56720extern "C" {
56721    pub fn g_settings_range_check(
56722        settings: *mut GSettings,
56723        key: *const gchar,
56724        value: *mut GVariant,
56725    ) -> gboolean;
56726}
56727extern "C" {
56728    pub fn g_settings_set_value(
56729        settings: *mut GSettings,
56730        key: *const gchar,
56731        value: *mut GVariant,
56732    ) -> gboolean;
56733}
56734extern "C" {
56735    pub fn g_settings_get_value(settings: *mut GSettings, key: *const gchar) -> *mut GVariant;
56736}
56737extern "C" {
56738    pub fn g_settings_get_user_value(settings: *mut GSettings, key: *const gchar) -> *mut GVariant;
56739}
56740extern "C" {
56741    pub fn g_settings_get_default_value(
56742        settings: *mut GSettings,
56743        key: *const gchar,
56744    ) -> *mut GVariant;
56745}
56746extern "C" {
56747    pub fn g_settings_set(
56748        settings: *mut GSettings,
56749        key: *const gchar,
56750        format: *const gchar,
56751        ...
56752    ) -> gboolean;
56753}
56754extern "C" {
56755    pub fn g_settings_get(settings: *mut GSettings, key: *const gchar, format: *const gchar, ...);
56756}
56757extern "C" {
56758    pub fn g_settings_reset(settings: *mut GSettings, key: *const gchar);
56759}
56760extern "C" {
56761    pub fn g_settings_get_int(settings: *mut GSettings, key: *const gchar) -> gint;
56762}
56763extern "C" {
56764    pub fn g_settings_set_int(settings: *mut GSettings, key: *const gchar, value: gint)
56765        -> gboolean;
56766}
56767extern "C" {
56768    pub fn g_settings_get_int64(settings: *mut GSettings, key: *const gchar) -> gint64;
56769}
56770extern "C" {
56771    pub fn g_settings_set_int64(
56772        settings: *mut GSettings,
56773        key: *const gchar,
56774        value: gint64,
56775    ) -> gboolean;
56776}
56777extern "C" {
56778    pub fn g_settings_get_uint(settings: *mut GSettings, key: *const gchar) -> guint;
56779}
56780extern "C" {
56781    pub fn g_settings_set_uint(
56782        settings: *mut GSettings,
56783        key: *const gchar,
56784        value: guint,
56785    ) -> gboolean;
56786}
56787extern "C" {
56788    pub fn g_settings_get_uint64(settings: *mut GSettings, key: *const gchar) -> guint64;
56789}
56790extern "C" {
56791    pub fn g_settings_set_uint64(
56792        settings: *mut GSettings,
56793        key: *const gchar,
56794        value: guint64,
56795    ) -> gboolean;
56796}
56797extern "C" {
56798    pub fn g_settings_get_string(settings: *mut GSettings, key: *const gchar) -> *mut gchar;
56799}
56800extern "C" {
56801    pub fn g_settings_set_string(
56802        settings: *mut GSettings,
56803        key: *const gchar,
56804        value: *const gchar,
56805    ) -> gboolean;
56806}
56807extern "C" {
56808    pub fn g_settings_get_boolean(settings: *mut GSettings, key: *const gchar) -> gboolean;
56809}
56810extern "C" {
56811    pub fn g_settings_set_boolean(
56812        settings: *mut GSettings,
56813        key: *const gchar,
56814        value: gboolean,
56815    ) -> gboolean;
56816}
56817extern "C" {
56818    pub fn g_settings_get_double(settings: *mut GSettings, key: *const gchar) -> gdouble;
56819}
56820extern "C" {
56821    pub fn g_settings_set_double(
56822        settings: *mut GSettings,
56823        key: *const gchar,
56824        value: gdouble,
56825    ) -> gboolean;
56826}
56827extern "C" {
56828    pub fn g_settings_get_strv(settings: *mut GSettings, key: *const gchar) -> *mut *mut gchar;
56829}
56830extern "C" {
56831    pub fn g_settings_set_strv(
56832        settings: *mut GSettings,
56833        key: *const gchar,
56834        value: *const *const gchar,
56835    ) -> gboolean;
56836}
56837extern "C" {
56838    pub fn g_settings_get_enum(settings: *mut GSettings, key: *const gchar) -> gint;
56839}
56840extern "C" {
56841    pub fn g_settings_set_enum(
56842        settings: *mut GSettings,
56843        key: *const gchar,
56844        value: gint,
56845    ) -> gboolean;
56846}
56847extern "C" {
56848    pub fn g_settings_get_flags(settings: *mut GSettings, key: *const gchar) -> guint;
56849}
56850extern "C" {
56851    pub fn g_settings_set_flags(
56852        settings: *mut GSettings,
56853        key: *const gchar,
56854        value: guint,
56855    ) -> gboolean;
56856}
56857extern "C" {
56858    pub fn g_settings_get_child(settings: *mut GSettings, name: *const gchar) -> *mut GSettings;
56859}
56860extern "C" {
56861    pub fn g_settings_is_writable(settings: *mut GSettings, name: *const gchar) -> gboolean;
56862}
56863extern "C" {
56864    pub fn g_settings_delay(settings: *mut GSettings);
56865}
56866extern "C" {
56867    pub fn g_settings_apply(settings: *mut GSettings);
56868}
56869extern "C" {
56870    pub fn g_settings_revert(settings: *mut GSettings);
56871}
56872extern "C" {
56873    pub fn g_settings_get_has_unapplied(settings: *mut GSettings) -> gboolean;
56874}
56875extern "C" {
56876    pub fn g_settings_sync();
56877}
56878#[doc = " GSettingsBindSetMapping:\n @value: a #GValue containing the property value to map\n @expected_type: the #GVariantType to create\n @user_data: user data that was specified when the binding was created\n\n The type for the function that is used to convert an object property\n value to a #GVariant for storing it in #GSettings.\n\n Returns: a new #GVariant holding the data from @value,\n     or %NULL in case of an error"]
56879pub type GSettingsBindSetMapping = ::std::option::Option<
56880    unsafe extern "C" fn(
56881        value: *const GValue,
56882        expected_type: *const GVariantType,
56883        user_data: gpointer,
56884    ) -> *mut GVariant,
56885>;
56886#[doc = " GSettingsBindGetMapping:\n @value: return location for the property value\n @variant: the #GVariant\n @user_data: user data that was specified when the binding was created\n\n The type for the function that is used to convert from #GSettings to\n an object property. The @value is already initialized to hold values\n of the appropriate type.\n\n Returns: %TRUE if the conversion succeeded, %FALSE in case of an error"]
56887pub type GSettingsBindGetMapping = ::std::option::Option<
56888    unsafe extern "C" fn(
56889        value: *mut GValue,
56890        variant: *mut GVariant,
56891        user_data: gpointer,
56892    ) -> gboolean,
56893>;
56894#[doc = " GSettingsGetMapping:\n @value: the #GVariant to map, or %NULL\n @result: (out): the result of the mapping\n @user_data: (closure): the user data that was passed to\n g_settings_get_mapped()\n\n The type of the function that is used to convert from a value stored\n in a #GSettings to a value that is useful to the application.\n\n If the value is successfully mapped, the result should be stored at\n @result and %TRUE returned.  If mapping fails (for example, if @value\n is not in the right format) then %FALSE should be returned.\n\n If @value is %NULL then it means that the mapping function is being\n given a \"last chance\" to successfully return a valid value.  %TRUE\n must be returned in this case.\n\n Returns: %TRUE if the conversion succeeded, %FALSE in case of an error"]
56895pub type GSettingsGetMapping = ::std::option::Option<
56896    unsafe extern "C" fn(
56897        value: *mut GVariant,
56898        result: *mut gpointer,
56899        user_data: gpointer,
56900    ) -> gboolean,
56901>;
56902pub const GSettingsBindFlags_G_SETTINGS_BIND_DEFAULT: GSettingsBindFlags = 0;
56903pub const GSettingsBindFlags_G_SETTINGS_BIND_GET: GSettingsBindFlags = 1;
56904pub const GSettingsBindFlags_G_SETTINGS_BIND_SET: GSettingsBindFlags = 2;
56905pub const GSettingsBindFlags_G_SETTINGS_BIND_NO_SENSITIVITY: GSettingsBindFlags = 4;
56906pub const GSettingsBindFlags_G_SETTINGS_BIND_GET_NO_CHANGES: GSettingsBindFlags = 8;
56907pub const GSettingsBindFlags_G_SETTINGS_BIND_INVERT_BOOLEAN: GSettingsBindFlags = 16;
56908#[doc = " GSettingsBindFlags:\n @G_SETTINGS_BIND_DEFAULT: Equivalent to `G_SETTINGS_BIND_GET|G_SETTINGS_BIND_SET`\n @G_SETTINGS_BIND_GET: Update the #GObject property when the setting changes.\n     It is an error to use this flag if the property is not writable.\n @G_SETTINGS_BIND_SET: Update the setting when the #GObject property changes.\n     It is an error to use this flag if the property is not readable.\n @G_SETTINGS_BIND_NO_SENSITIVITY: Do not try to bind a \"sensitivity\" property to the writability of the setting\n @G_SETTINGS_BIND_GET_NO_CHANGES: When set in addition to %G_SETTINGS_BIND_GET, set the #GObject property\n     value initially from the setting, but do not listen for changes of the setting\n @G_SETTINGS_BIND_INVERT_BOOLEAN: When passed to g_settings_bind(), uses a pair of mapping functions that invert\n     the boolean value when mapping between the setting and the property.  The setting and property must both\n     be booleans.  You cannot pass this flag to g_settings_bind_with_mapping().\n\n Flags used when creating a binding. These flags determine in which\n direction the binding works. The default is to synchronize in both\n directions."]
56909pub type GSettingsBindFlags = ::std::os::raw::c_uint;
56910extern "C" {
56911    pub fn g_settings_bind(
56912        settings: *mut GSettings,
56913        key: *const gchar,
56914        object: gpointer,
56915        property: *const gchar,
56916        flags: GSettingsBindFlags,
56917    );
56918}
56919extern "C" {
56920    pub fn g_settings_bind_with_mapping(
56921        settings: *mut GSettings,
56922        key: *const gchar,
56923        object: gpointer,
56924        property: *const gchar,
56925        flags: GSettingsBindFlags,
56926        get_mapping: GSettingsBindGetMapping,
56927        set_mapping: GSettingsBindSetMapping,
56928        user_data: gpointer,
56929        destroy: GDestroyNotify,
56930    );
56931}
56932extern "C" {
56933    pub fn g_settings_bind_writable(
56934        settings: *mut GSettings,
56935        key: *const gchar,
56936        object: gpointer,
56937        property: *const gchar,
56938        inverted: gboolean,
56939    );
56940}
56941extern "C" {
56942    pub fn g_settings_unbind(object: gpointer, property: *const gchar);
56943}
56944extern "C" {
56945    pub fn g_settings_create_action(settings: *mut GSettings, key: *const gchar) -> *mut GAction;
56946}
56947extern "C" {
56948    pub fn g_settings_get_mapped(
56949        settings: *mut GSettings,
56950        key: *const gchar,
56951        mapping: GSettingsGetMapping,
56952        user_data: gpointer,
56953    ) -> gpointer;
56954}
56955extern "C" {
56956    pub fn g_simple_action_get_type() -> GType;
56957}
56958extern "C" {
56959    pub fn g_simple_action_new(
56960        name: *const gchar,
56961        parameter_type: *const GVariantType,
56962    ) -> *mut GSimpleAction;
56963}
56964extern "C" {
56965    pub fn g_simple_action_new_stateful(
56966        name: *const gchar,
56967        parameter_type: *const GVariantType,
56968        state: *mut GVariant,
56969    ) -> *mut GSimpleAction;
56970}
56971extern "C" {
56972    pub fn g_simple_action_set_enabled(simple: *mut GSimpleAction, enabled: gboolean);
56973}
56974extern "C" {
56975    pub fn g_simple_action_set_state(simple: *mut GSimpleAction, value: *mut GVariant);
56976}
56977extern "C" {
56978    pub fn g_simple_action_set_state_hint(simple: *mut GSimpleAction, state_hint: *mut GVariant);
56979}
56980#[repr(C)]
56981#[derive(Debug, Copy, Clone)]
56982pub struct _GSimpleActionGroupPrivate {
56983    _unused: [u8; 0],
56984}
56985pub type GSimpleActionGroupPrivate = _GSimpleActionGroupPrivate;
56986pub type GSimpleActionGroupClass = _GSimpleActionGroupClass;
56987#[doc = " GSimpleActionGroup:\n\n The #GSimpleActionGroup structure contains private data and should only be accessed using the provided API.\n\n Since: 2.28"]
56988#[repr(C)]
56989#[derive(Debug, Copy, Clone, PartialEq, Eq)]
56990pub struct _GSimpleActionGroup {
56991    pub parent_instance: GObject,
56992    pub priv_: *mut GSimpleActionGroupPrivate,
56993}
56994#[test]
56995fn bindgen_test_layout__GSimpleActionGroup() {
56996    const UNINIT: ::std::mem::MaybeUninit<_GSimpleActionGroup> = ::std::mem::MaybeUninit::uninit();
56997    let ptr = UNINIT.as_ptr();
56998    assert_eq!(
56999        ::std::mem::size_of::<_GSimpleActionGroup>(),
57000        32usize,
57001        concat!("Size of: ", stringify!(_GSimpleActionGroup))
57002    );
57003    assert_eq!(
57004        ::std::mem::align_of::<_GSimpleActionGroup>(),
57005        8usize,
57006        concat!("Alignment of ", stringify!(_GSimpleActionGroup))
57007    );
57008    assert_eq!(
57009        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
57010        0usize,
57011        concat!(
57012            "Offset of field: ",
57013            stringify!(_GSimpleActionGroup),
57014            "::",
57015            stringify!(parent_instance)
57016        )
57017    );
57018    assert_eq!(
57019        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
57020        24usize,
57021        concat!(
57022            "Offset of field: ",
57023            stringify!(_GSimpleActionGroup),
57024            "::",
57025            stringify!(priv_)
57026        )
57027    );
57028}
57029#[repr(C)]
57030#[derive(Debug, Copy, Clone, PartialEq, Eq)]
57031pub struct _GSimpleActionGroupClass {
57032    pub parent_class: GObjectClass,
57033    pub padding: [gpointer; 12usize],
57034}
57035#[test]
57036fn bindgen_test_layout__GSimpleActionGroupClass() {
57037    const UNINIT: ::std::mem::MaybeUninit<_GSimpleActionGroupClass> =
57038        ::std::mem::MaybeUninit::uninit();
57039    let ptr = UNINIT.as_ptr();
57040    assert_eq!(
57041        ::std::mem::size_of::<_GSimpleActionGroupClass>(),
57042        232usize,
57043        concat!("Size of: ", stringify!(_GSimpleActionGroupClass))
57044    );
57045    assert_eq!(
57046        ::std::mem::align_of::<_GSimpleActionGroupClass>(),
57047        8usize,
57048        concat!("Alignment of ", stringify!(_GSimpleActionGroupClass))
57049    );
57050    assert_eq!(
57051        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
57052        0usize,
57053        concat!(
57054            "Offset of field: ",
57055            stringify!(_GSimpleActionGroupClass),
57056            "::",
57057            stringify!(parent_class)
57058        )
57059    );
57060    assert_eq!(
57061        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
57062        136usize,
57063        concat!(
57064            "Offset of field: ",
57065            stringify!(_GSimpleActionGroupClass),
57066            "::",
57067            stringify!(padding)
57068        )
57069    );
57070}
57071extern "C" {
57072    pub fn g_simple_action_group_get_type() -> GType;
57073}
57074extern "C" {
57075    pub fn g_simple_action_group_new() -> *mut GSimpleActionGroup;
57076}
57077extern "C" {
57078    pub fn g_simple_action_group_lookup(
57079        simple: *mut GSimpleActionGroup,
57080        action_name: *const gchar,
57081    ) -> *mut GAction;
57082}
57083extern "C" {
57084    pub fn g_simple_action_group_insert(simple: *mut GSimpleActionGroup, action: *mut GAction);
57085}
57086extern "C" {
57087    pub fn g_simple_action_group_remove(simple: *mut GSimpleActionGroup, action_name: *const gchar);
57088}
57089extern "C" {
57090    pub fn g_simple_action_group_add_entries(
57091        simple: *mut GSimpleActionGroup,
57092        entries: *const GActionEntry,
57093        n_entries: gint,
57094        user_data: gpointer,
57095    );
57096}
57097#[repr(C)]
57098#[derive(Debug, Copy, Clone)]
57099pub struct _GSimpleAsyncResultClass {
57100    _unused: [u8; 0],
57101}
57102#[doc = " GSimpleAsyncResult:\n\n A simple implementation of #GAsyncResult."]
57103pub type GSimpleAsyncResultClass = _GSimpleAsyncResultClass;
57104extern "C" {
57105    pub fn g_simple_async_result_get_type() -> GType;
57106}
57107extern "C" {
57108    pub fn g_simple_async_result_new(
57109        source_object: *mut GObject,
57110        callback: GAsyncReadyCallback,
57111        user_data: gpointer,
57112        source_tag: gpointer,
57113    ) -> *mut GSimpleAsyncResult;
57114}
57115extern "C" {
57116    pub fn g_simple_async_result_new_error(
57117        source_object: *mut GObject,
57118        callback: GAsyncReadyCallback,
57119        user_data: gpointer,
57120        domain: GQuark,
57121        code: gint,
57122        format: *const ::std::os::raw::c_char,
57123        ...
57124    ) -> *mut GSimpleAsyncResult;
57125}
57126extern "C" {
57127    pub fn g_simple_async_result_new_from_error(
57128        source_object: *mut GObject,
57129        callback: GAsyncReadyCallback,
57130        user_data: gpointer,
57131        error: *const GError,
57132    ) -> *mut GSimpleAsyncResult;
57133}
57134extern "C" {
57135    pub fn g_simple_async_result_new_take_error(
57136        source_object: *mut GObject,
57137        callback: GAsyncReadyCallback,
57138        user_data: gpointer,
57139        error: *mut GError,
57140    ) -> *mut GSimpleAsyncResult;
57141}
57142extern "C" {
57143    pub fn g_simple_async_result_set_op_res_gpointer(
57144        simple: *mut GSimpleAsyncResult,
57145        op_res: gpointer,
57146        destroy_op_res: GDestroyNotify,
57147    );
57148}
57149extern "C" {
57150    pub fn g_simple_async_result_get_op_res_gpointer(simple: *mut GSimpleAsyncResult) -> gpointer;
57151}
57152extern "C" {
57153    pub fn g_simple_async_result_set_op_res_gssize(simple: *mut GSimpleAsyncResult, op_res: gssize);
57154}
57155extern "C" {
57156    pub fn g_simple_async_result_get_op_res_gssize(simple: *mut GSimpleAsyncResult) -> gssize;
57157}
57158extern "C" {
57159    pub fn g_simple_async_result_set_op_res_gboolean(
57160        simple: *mut GSimpleAsyncResult,
57161        op_res: gboolean,
57162    );
57163}
57164extern "C" {
57165    pub fn g_simple_async_result_get_op_res_gboolean(simple: *mut GSimpleAsyncResult) -> gboolean;
57166}
57167extern "C" {
57168    pub fn g_simple_async_result_set_check_cancellable(
57169        simple: *mut GSimpleAsyncResult,
57170        check_cancellable: *mut GCancellable,
57171    );
57172}
57173extern "C" {
57174    pub fn g_simple_async_result_get_source_tag(simple: *mut GSimpleAsyncResult) -> gpointer;
57175}
57176extern "C" {
57177    pub fn g_simple_async_result_set_handle_cancellation(
57178        simple: *mut GSimpleAsyncResult,
57179        handle_cancellation: gboolean,
57180    );
57181}
57182extern "C" {
57183    pub fn g_simple_async_result_complete(simple: *mut GSimpleAsyncResult);
57184}
57185extern "C" {
57186    pub fn g_simple_async_result_complete_in_idle(simple: *mut GSimpleAsyncResult);
57187}
57188extern "C" {
57189    pub fn g_simple_async_result_run_in_thread(
57190        simple: *mut GSimpleAsyncResult,
57191        func: GSimpleAsyncThreadFunc,
57192        io_priority: ::std::os::raw::c_int,
57193        cancellable: *mut GCancellable,
57194    );
57195}
57196extern "C" {
57197    pub fn g_simple_async_result_set_from_error(
57198        simple: *mut GSimpleAsyncResult,
57199        error: *const GError,
57200    );
57201}
57202extern "C" {
57203    pub fn g_simple_async_result_take_error(simple: *mut GSimpleAsyncResult, error: *mut GError);
57204}
57205extern "C" {
57206    pub fn g_simple_async_result_propagate_error(
57207        simple: *mut GSimpleAsyncResult,
57208        dest: *mut *mut GError,
57209    ) -> gboolean;
57210}
57211extern "C" {
57212    pub fn g_simple_async_result_set_error(
57213        simple: *mut GSimpleAsyncResult,
57214        domain: GQuark,
57215        code: gint,
57216        format: *const ::std::os::raw::c_char,
57217        ...
57218    );
57219}
57220extern "C" {
57221    pub fn g_simple_async_result_set_error_va(
57222        simple: *mut GSimpleAsyncResult,
57223        domain: GQuark,
57224        code: gint,
57225        format: *const ::std::os::raw::c_char,
57226        args: va_list,
57227    );
57228}
57229extern "C" {
57230    pub fn g_simple_async_result_is_valid(
57231        result: *mut GAsyncResult,
57232        source: *mut GObject,
57233        source_tag: gpointer,
57234    ) -> gboolean;
57235}
57236extern "C" {
57237    pub fn g_simple_async_report_error_in_idle(
57238        object: *mut GObject,
57239        callback: GAsyncReadyCallback,
57240        user_data: gpointer,
57241        domain: GQuark,
57242        code: gint,
57243        format: *const ::std::os::raw::c_char,
57244        ...
57245    );
57246}
57247extern "C" {
57248    pub fn g_simple_async_report_gerror_in_idle(
57249        object: *mut GObject,
57250        callback: GAsyncReadyCallback,
57251        user_data: gpointer,
57252        error: *const GError,
57253    );
57254}
57255extern "C" {
57256    pub fn g_simple_async_report_take_gerror_in_idle(
57257        object: *mut GObject,
57258        callback: GAsyncReadyCallback,
57259        user_data: gpointer,
57260        error: *mut GError,
57261    );
57262}
57263extern "C" {
57264    pub fn g_simple_io_stream_get_type() -> GType;
57265}
57266extern "C" {
57267    pub fn g_simple_io_stream_new(
57268        input_stream: *mut GInputStream,
57269        output_stream: *mut GOutputStream,
57270    ) -> *mut GIOStream;
57271}
57272extern "C" {
57273    pub fn g_simple_permission_get_type() -> GType;
57274}
57275extern "C" {
57276    pub fn g_simple_permission_new(allowed: gboolean) -> *mut GPermission;
57277}
57278#[doc = " GSimpleProxyResolver:\n\n A #GProxyResolver implementation for using a fixed set of proxies."]
57279pub type GSimpleProxyResolver = _GSimpleProxyResolver;
57280#[repr(C)]
57281#[derive(Debug, Copy, Clone)]
57282pub struct _GSimpleProxyResolverPrivate {
57283    _unused: [u8; 0],
57284}
57285pub type GSimpleProxyResolverPrivate = _GSimpleProxyResolverPrivate;
57286pub type GSimpleProxyResolverClass = _GSimpleProxyResolverClass;
57287#[repr(C)]
57288#[derive(Debug, Copy, Clone, PartialEq, Eq)]
57289pub struct _GSimpleProxyResolver {
57290    pub parent_instance: GObject,
57291    pub priv_: *mut GSimpleProxyResolverPrivate,
57292}
57293#[test]
57294fn bindgen_test_layout__GSimpleProxyResolver() {
57295    const UNINIT: ::std::mem::MaybeUninit<_GSimpleProxyResolver> =
57296        ::std::mem::MaybeUninit::uninit();
57297    let ptr = UNINIT.as_ptr();
57298    assert_eq!(
57299        ::std::mem::size_of::<_GSimpleProxyResolver>(),
57300        32usize,
57301        concat!("Size of: ", stringify!(_GSimpleProxyResolver))
57302    );
57303    assert_eq!(
57304        ::std::mem::align_of::<_GSimpleProxyResolver>(),
57305        8usize,
57306        concat!("Alignment of ", stringify!(_GSimpleProxyResolver))
57307    );
57308    assert_eq!(
57309        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
57310        0usize,
57311        concat!(
57312            "Offset of field: ",
57313            stringify!(_GSimpleProxyResolver),
57314            "::",
57315            stringify!(parent_instance)
57316        )
57317    );
57318    assert_eq!(
57319        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
57320        24usize,
57321        concat!(
57322            "Offset of field: ",
57323            stringify!(_GSimpleProxyResolver),
57324            "::",
57325            stringify!(priv_)
57326        )
57327    );
57328}
57329#[repr(C)]
57330#[derive(Debug, Copy, Clone, PartialEq, Eq)]
57331pub struct _GSimpleProxyResolverClass {
57332    pub parent_class: GObjectClass,
57333    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
57334    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
57335    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
57336    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
57337    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
57338}
57339#[test]
57340fn bindgen_test_layout__GSimpleProxyResolverClass() {
57341    const UNINIT: ::std::mem::MaybeUninit<_GSimpleProxyResolverClass> =
57342        ::std::mem::MaybeUninit::uninit();
57343    let ptr = UNINIT.as_ptr();
57344    assert_eq!(
57345        ::std::mem::size_of::<_GSimpleProxyResolverClass>(),
57346        176usize,
57347        concat!("Size of: ", stringify!(_GSimpleProxyResolverClass))
57348    );
57349    assert_eq!(
57350        ::std::mem::align_of::<_GSimpleProxyResolverClass>(),
57351        8usize,
57352        concat!("Alignment of ", stringify!(_GSimpleProxyResolverClass))
57353    );
57354    assert_eq!(
57355        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
57356        0usize,
57357        concat!(
57358            "Offset of field: ",
57359            stringify!(_GSimpleProxyResolverClass),
57360            "::",
57361            stringify!(parent_class)
57362        )
57363    );
57364    assert_eq!(
57365        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
57366        136usize,
57367        concat!(
57368            "Offset of field: ",
57369            stringify!(_GSimpleProxyResolverClass),
57370            "::",
57371            stringify!(_g_reserved1)
57372        )
57373    );
57374    assert_eq!(
57375        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
57376        144usize,
57377        concat!(
57378            "Offset of field: ",
57379            stringify!(_GSimpleProxyResolverClass),
57380            "::",
57381            stringify!(_g_reserved2)
57382        )
57383    );
57384    assert_eq!(
57385        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
57386        152usize,
57387        concat!(
57388            "Offset of field: ",
57389            stringify!(_GSimpleProxyResolverClass),
57390            "::",
57391            stringify!(_g_reserved3)
57392        )
57393    );
57394    assert_eq!(
57395        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
57396        160usize,
57397        concat!(
57398            "Offset of field: ",
57399            stringify!(_GSimpleProxyResolverClass),
57400            "::",
57401            stringify!(_g_reserved4)
57402        )
57403    );
57404    assert_eq!(
57405        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
57406        168usize,
57407        concat!(
57408            "Offset of field: ",
57409            stringify!(_GSimpleProxyResolverClass),
57410            "::",
57411            stringify!(_g_reserved5)
57412        )
57413    );
57414}
57415extern "C" {
57416    pub fn g_simple_proxy_resolver_get_type() -> GType;
57417}
57418extern "C" {
57419    pub fn g_simple_proxy_resolver_new(
57420        default_proxy: *const gchar,
57421        ignore_hosts: *mut *mut gchar,
57422    ) -> *mut GProxyResolver;
57423}
57424extern "C" {
57425    pub fn g_simple_proxy_resolver_set_default_proxy(
57426        resolver: *mut GSimpleProxyResolver,
57427        default_proxy: *const gchar,
57428    );
57429}
57430extern "C" {
57431    pub fn g_simple_proxy_resolver_set_ignore_hosts(
57432        resolver: *mut GSimpleProxyResolver,
57433        ignore_hosts: *mut *mut gchar,
57434    );
57435}
57436extern "C" {
57437    pub fn g_simple_proxy_resolver_set_uri_proxy(
57438        resolver: *mut GSimpleProxyResolver,
57439        uri_scheme: *const gchar,
57440        proxy: *const gchar,
57441    );
57442}
57443#[repr(C)]
57444#[derive(Debug, Copy, Clone)]
57445pub struct _GSocketPrivate {
57446    _unused: [u8; 0],
57447}
57448pub type GSocketPrivate = _GSocketPrivate;
57449pub type GSocketClass = _GSocketClass;
57450#[repr(C)]
57451#[derive(Debug, Copy, Clone, PartialEq, Eq)]
57452pub struct _GSocketClass {
57453    pub parent_class: GObjectClass,
57454    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
57455    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
57456    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
57457    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
57458    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
57459    pub _g_reserved6: ::std::option::Option<unsafe extern "C" fn()>,
57460    pub _g_reserved7: ::std::option::Option<unsafe extern "C" fn()>,
57461    pub _g_reserved8: ::std::option::Option<unsafe extern "C" fn()>,
57462    pub _g_reserved9: ::std::option::Option<unsafe extern "C" fn()>,
57463    pub _g_reserved10: ::std::option::Option<unsafe extern "C" fn()>,
57464}
57465#[test]
57466fn bindgen_test_layout__GSocketClass() {
57467    const UNINIT: ::std::mem::MaybeUninit<_GSocketClass> = ::std::mem::MaybeUninit::uninit();
57468    let ptr = UNINIT.as_ptr();
57469    assert_eq!(
57470        ::std::mem::size_of::<_GSocketClass>(),
57471        216usize,
57472        concat!("Size of: ", stringify!(_GSocketClass))
57473    );
57474    assert_eq!(
57475        ::std::mem::align_of::<_GSocketClass>(),
57476        8usize,
57477        concat!("Alignment of ", stringify!(_GSocketClass))
57478    );
57479    assert_eq!(
57480        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
57481        0usize,
57482        concat!(
57483            "Offset of field: ",
57484            stringify!(_GSocketClass),
57485            "::",
57486            stringify!(parent_class)
57487        )
57488    );
57489    assert_eq!(
57490        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
57491        136usize,
57492        concat!(
57493            "Offset of field: ",
57494            stringify!(_GSocketClass),
57495            "::",
57496            stringify!(_g_reserved1)
57497        )
57498    );
57499    assert_eq!(
57500        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
57501        144usize,
57502        concat!(
57503            "Offset of field: ",
57504            stringify!(_GSocketClass),
57505            "::",
57506            stringify!(_g_reserved2)
57507        )
57508    );
57509    assert_eq!(
57510        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
57511        152usize,
57512        concat!(
57513            "Offset of field: ",
57514            stringify!(_GSocketClass),
57515            "::",
57516            stringify!(_g_reserved3)
57517        )
57518    );
57519    assert_eq!(
57520        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
57521        160usize,
57522        concat!(
57523            "Offset of field: ",
57524            stringify!(_GSocketClass),
57525            "::",
57526            stringify!(_g_reserved4)
57527        )
57528    );
57529    assert_eq!(
57530        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
57531        168usize,
57532        concat!(
57533            "Offset of field: ",
57534            stringify!(_GSocketClass),
57535            "::",
57536            stringify!(_g_reserved5)
57537        )
57538    );
57539    assert_eq!(
57540        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved6) as usize - ptr as usize },
57541        176usize,
57542        concat!(
57543            "Offset of field: ",
57544            stringify!(_GSocketClass),
57545            "::",
57546            stringify!(_g_reserved6)
57547        )
57548    );
57549    assert_eq!(
57550        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved7) as usize - ptr as usize },
57551        184usize,
57552        concat!(
57553            "Offset of field: ",
57554            stringify!(_GSocketClass),
57555            "::",
57556            stringify!(_g_reserved7)
57557        )
57558    );
57559    assert_eq!(
57560        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved8) as usize - ptr as usize },
57561        192usize,
57562        concat!(
57563            "Offset of field: ",
57564            stringify!(_GSocketClass),
57565            "::",
57566            stringify!(_g_reserved8)
57567        )
57568    );
57569    assert_eq!(
57570        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved9) as usize - ptr as usize },
57571        200usize,
57572        concat!(
57573            "Offset of field: ",
57574            stringify!(_GSocketClass),
57575            "::",
57576            stringify!(_g_reserved9)
57577        )
57578    );
57579    assert_eq!(
57580        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved10) as usize - ptr as usize },
57581        208usize,
57582        concat!(
57583            "Offset of field: ",
57584            stringify!(_GSocketClass),
57585            "::",
57586            stringify!(_g_reserved10)
57587        )
57588    );
57589}
57590#[repr(C)]
57591#[derive(Debug, Copy, Clone, PartialEq, Eq)]
57592pub struct _GSocket {
57593    pub parent_instance: GObject,
57594    pub priv_: *mut GSocketPrivate,
57595}
57596#[test]
57597fn bindgen_test_layout__GSocket() {
57598    const UNINIT: ::std::mem::MaybeUninit<_GSocket> = ::std::mem::MaybeUninit::uninit();
57599    let ptr = UNINIT.as_ptr();
57600    assert_eq!(
57601        ::std::mem::size_of::<_GSocket>(),
57602        32usize,
57603        concat!("Size of: ", stringify!(_GSocket))
57604    );
57605    assert_eq!(
57606        ::std::mem::align_of::<_GSocket>(),
57607        8usize,
57608        concat!("Alignment of ", stringify!(_GSocket))
57609    );
57610    assert_eq!(
57611        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
57612        0usize,
57613        concat!(
57614            "Offset of field: ",
57615            stringify!(_GSocket),
57616            "::",
57617            stringify!(parent_instance)
57618        )
57619    );
57620    assert_eq!(
57621        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
57622        24usize,
57623        concat!(
57624            "Offset of field: ",
57625            stringify!(_GSocket),
57626            "::",
57627            stringify!(priv_)
57628        )
57629    );
57630}
57631extern "C" {
57632    pub fn g_socket_get_type() -> GType;
57633}
57634extern "C" {
57635    pub fn g_socket_new(
57636        family: GSocketFamily,
57637        type_: GSocketType,
57638        protocol: GSocketProtocol,
57639        error: *mut *mut GError,
57640    ) -> *mut GSocket;
57641}
57642extern "C" {
57643    pub fn g_socket_new_from_fd(fd: gint, error: *mut *mut GError) -> *mut GSocket;
57644}
57645extern "C" {
57646    pub fn g_socket_get_fd(socket: *mut GSocket) -> ::std::os::raw::c_int;
57647}
57648extern "C" {
57649    pub fn g_socket_get_family(socket: *mut GSocket) -> GSocketFamily;
57650}
57651extern "C" {
57652    pub fn g_socket_get_socket_type(socket: *mut GSocket) -> GSocketType;
57653}
57654extern "C" {
57655    pub fn g_socket_get_protocol(socket: *mut GSocket) -> GSocketProtocol;
57656}
57657extern "C" {
57658    pub fn g_socket_get_local_address(
57659        socket: *mut GSocket,
57660        error: *mut *mut GError,
57661    ) -> *mut GSocketAddress;
57662}
57663extern "C" {
57664    pub fn g_socket_get_remote_address(
57665        socket: *mut GSocket,
57666        error: *mut *mut GError,
57667    ) -> *mut GSocketAddress;
57668}
57669extern "C" {
57670    pub fn g_socket_set_blocking(socket: *mut GSocket, blocking: gboolean);
57671}
57672extern "C" {
57673    pub fn g_socket_get_blocking(socket: *mut GSocket) -> gboolean;
57674}
57675extern "C" {
57676    pub fn g_socket_set_keepalive(socket: *mut GSocket, keepalive: gboolean);
57677}
57678extern "C" {
57679    pub fn g_socket_get_keepalive(socket: *mut GSocket) -> gboolean;
57680}
57681extern "C" {
57682    pub fn g_socket_get_listen_backlog(socket: *mut GSocket) -> gint;
57683}
57684extern "C" {
57685    pub fn g_socket_set_listen_backlog(socket: *mut GSocket, backlog: gint);
57686}
57687extern "C" {
57688    pub fn g_socket_get_timeout(socket: *mut GSocket) -> guint;
57689}
57690extern "C" {
57691    pub fn g_socket_set_timeout(socket: *mut GSocket, timeout: guint);
57692}
57693extern "C" {
57694    pub fn g_socket_get_ttl(socket: *mut GSocket) -> guint;
57695}
57696extern "C" {
57697    pub fn g_socket_set_ttl(socket: *mut GSocket, ttl: guint);
57698}
57699extern "C" {
57700    pub fn g_socket_get_broadcast(socket: *mut GSocket) -> gboolean;
57701}
57702extern "C" {
57703    pub fn g_socket_set_broadcast(socket: *mut GSocket, broadcast: gboolean);
57704}
57705extern "C" {
57706    pub fn g_socket_get_multicast_loopback(socket: *mut GSocket) -> gboolean;
57707}
57708extern "C" {
57709    pub fn g_socket_set_multicast_loopback(socket: *mut GSocket, loopback: gboolean);
57710}
57711extern "C" {
57712    pub fn g_socket_get_multicast_ttl(socket: *mut GSocket) -> guint;
57713}
57714extern "C" {
57715    pub fn g_socket_set_multicast_ttl(socket: *mut GSocket, ttl: guint);
57716}
57717extern "C" {
57718    pub fn g_socket_is_connected(socket: *mut GSocket) -> gboolean;
57719}
57720extern "C" {
57721    pub fn g_socket_bind(
57722        socket: *mut GSocket,
57723        address: *mut GSocketAddress,
57724        allow_reuse: gboolean,
57725        error: *mut *mut GError,
57726    ) -> gboolean;
57727}
57728extern "C" {
57729    pub fn g_socket_join_multicast_group(
57730        socket: *mut GSocket,
57731        group: *mut GInetAddress,
57732        source_specific: gboolean,
57733        iface: *const gchar,
57734        error: *mut *mut GError,
57735    ) -> gboolean;
57736}
57737extern "C" {
57738    pub fn g_socket_leave_multicast_group(
57739        socket: *mut GSocket,
57740        group: *mut GInetAddress,
57741        source_specific: gboolean,
57742        iface: *const gchar,
57743        error: *mut *mut GError,
57744    ) -> gboolean;
57745}
57746extern "C" {
57747    pub fn g_socket_join_multicast_group_ssm(
57748        socket: *mut GSocket,
57749        group: *mut GInetAddress,
57750        source_specific: *mut GInetAddress,
57751        iface: *const gchar,
57752        error: *mut *mut GError,
57753    ) -> gboolean;
57754}
57755extern "C" {
57756    pub fn g_socket_leave_multicast_group_ssm(
57757        socket: *mut GSocket,
57758        group: *mut GInetAddress,
57759        source_specific: *mut GInetAddress,
57760        iface: *const gchar,
57761        error: *mut *mut GError,
57762    ) -> gboolean;
57763}
57764extern "C" {
57765    pub fn g_socket_connect(
57766        socket: *mut GSocket,
57767        address: *mut GSocketAddress,
57768        cancellable: *mut GCancellable,
57769        error: *mut *mut GError,
57770    ) -> gboolean;
57771}
57772extern "C" {
57773    pub fn g_socket_check_connect_result(socket: *mut GSocket, error: *mut *mut GError)
57774        -> gboolean;
57775}
57776extern "C" {
57777    pub fn g_socket_get_available_bytes(socket: *mut GSocket) -> gssize;
57778}
57779extern "C" {
57780    pub fn g_socket_condition_check(socket: *mut GSocket, condition: GIOCondition) -> GIOCondition;
57781}
57782extern "C" {
57783    pub fn g_socket_condition_wait(
57784        socket: *mut GSocket,
57785        condition: GIOCondition,
57786        cancellable: *mut GCancellable,
57787        error: *mut *mut GError,
57788    ) -> gboolean;
57789}
57790extern "C" {
57791    pub fn g_socket_condition_timed_wait(
57792        socket: *mut GSocket,
57793        condition: GIOCondition,
57794        timeout_us: gint64,
57795        cancellable: *mut GCancellable,
57796        error: *mut *mut GError,
57797    ) -> gboolean;
57798}
57799extern "C" {
57800    pub fn g_socket_accept(
57801        socket: *mut GSocket,
57802        cancellable: *mut GCancellable,
57803        error: *mut *mut GError,
57804    ) -> *mut GSocket;
57805}
57806extern "C" {
57807    pub fn g_socket_listen(socket: *mut GSocket, error: *mut *mut GError) -> gboolean;
57808}
57809extern "C" {
57810    pub fn g_socket_receive(
57811        socket: *mut GSocket,
57812        buffer: *mut gchar,
57813        size: gsize,
57814        cancellable: *mut GCancellable,
57815        error: *mut *mut GError,
57816    ) -> gssize;
57817}
57818extern "C" {
57819    pub fn g_socket_receive_from(
57820        socket: *mut GSocket,
57821        address: *mut *mut GSocketAddress,
57822        buffer: *mut gchar,
57823        size: gsize,
57824        cancellable: *mut GCancellable,
57825        error: *mut *mut GError,
57826    ) -> gssize;
57827}
57828extern "C" {
57829    pub fn g_socket_send(
57830        socket: *mut GSocket,
57831        buffer: *const gchar,
57832        size: gsize,
57833        cancellable: *mut GCancellable,
57834        error: *mut *mut GError,
57835    ) -> gssize;
57836}
57837extern "C" {
57838    pub fn g_socket_send_to(
57839        socket: *mut GSocket,
57840        address: *mut GSocketAddress,
57841        buffer: *const gchar,
57842        size: gsize,
57843        cancellable: *mut GCancellable,
57844        error: *mut *mut GError,
57845    ) -> gssize;
57846}
57847extern "C" {
57848    pub fn g_socket_receive_message(
57849        socket: *mut GSocket,
57850        address: *mut *mut GSocketAddress,
57851        vectors: *mut GInputVector,
57852        num_vectors: gint,
57853        messages: *mut *mut *mut GSocketControlMessage,
57854        num_messages: *mut gint,
57855        flags: *mut gint,
57856        cancellable: *mut GCancellable,
57857        error: *mut *mut GError,
57858    ) -> gssize;
57859}
57860extern "C" {
57861    pub fn g_socket_send_message(
57862        socket: *mut GSocket,
57863        address: *mut GSocketAddress,
57864        vectors: *mut GOutputVector,
57865        num_vectors: gint,
57866        messages: *mut *mut GSocketControlMessage,
57867        num_messages: gint,
57868        flags: gint,
57869        cancellable: *mut GCancellable,
57870        error: *mut *mut GError,
57871    ) -> gssize;
57872}
57873extern "C" {
57874    pub fn g_socket_receive_messages(
57875        socket: *mut GSocket,
57876        messages: *mut GInputMessage,
57877        num_messages: guint,
57878        flags: gint,
57879        cancellable: *mut GCancellable,
57880        error: *mut *mut GError,
57881    ) -> gint;
57882}
57883extern "C" {
57884    pub fn g_socket_send_messages(
57885        socket: *mut GSocket,
57886        messages: *mut GOutputMessage,
57887        num_messages: guint,
57888        flags: gint,
57889        cancellable: *mut GCancellable,
57890        error: *mut *mut GError,
57891    ) -> gint;
57892}
57893extern "C" {
57894    pub fn g_socket_close(socket: *mut GSocket, error: *mut *mut GError) -> gboolean;
57895}
57896extern "C" {
57897    pub fn g_socket_shutdown(
57898        socket: *mut GSocket,
57899        shutdown_read: gboolean,
57900        shutdown_write: gboolean,
57901        error: *mut *mut GError,
57902    ) -> gboolean;
57903}
57904extern "C" {
57905    pub fn g_socket_is_closed(socket: *mut GSocket) -> gboolean;
57906}
57907extern "C" {
57908    pub fn g_socket_create_source(
57909        socket: *mut GSocket,
57910        condition: GIOCondition,
57911        cancellable: *mut GCancellable,
57912    ) -> *mut GSource;
57913}
57914extern "C" {
57915    pub fn g_socket_speaks_ipv4(socket: *mut GSocket) -> gboolean;
57916}
57917extern "C" {
57918    pub fn g_socket_get_credentials(
57919        socket: *mut GSocket,
57920        error: *mut *mut GError,
57921    ) -> *mut GCredentials;
57922}
57923extern "C" {
57924    pub fn g_socket_receive_with_blocking(
57925        socket: *mut GSocket,
57926        buffer: *mut gchar,
57927        size: gsize,
57928        blocking: gboolean,
57929        cancellable: *mut GCancellable,
57930        error: *mut *mut GError,
57931    ) -> gssize;
57932}
57933extern "C" {
57934    pub fn g_socket_send_with_blocking(
57935        socket: *mut GSocket,
57936        buffer: *const gchar,
57937        size: gsize,
57938        blocking: gboolean,
57939        cancellable: *mut GCancellable,
57940        error: *mut *mut GError,
57941    ) -> gssize;
57942}
57943extern "C" {
57944    pub fn g_socket_send_message_with_timeout(
57945        socket: *mut GSocket,
57946        address: *mut GSocketAddress,
57947        vectors: *const GOutputVector,
57948        num_vectors: gint,
57949        messages: *mut *mut GSocketControlMessage,
57950        num_messages: gint,
57951        flags: gint,
57952        timeout_us: gint64,
57953        bytes_written: *mut gsize,
57954        cancellable: *mut GCancellable,
57955        error: *mut *mut GError,
57956    ) -> GPollableReturn;
57957}
57958extern "C" {
57959    pub fn g_socket_get_option(
57960        socket: *mut GSocket,
57961        level: gint,
57962        optname: gint,
57963        value: *mut gint,
57964        error: *mut *mut GError,
57965    ) -> gboolean;
57966}
57967extern "C" {
57968    pub fn g_socket_set_option(
57969        socket: *mut GSocket,
57970        level: gint,
57971        optname: gint,
57972        value: gint,
57973        error: *mut *mut GError,
57974    ) -> gboolean;
57975}
57976#[repr(C)]
57977#[derive(Debug, Copy, Clone)]
57978pub struct _GSocketClientPrivate {
57979    _unused: [u8; 0],
57980}
57981pub type GSocketClientPrivate = _GSocketClientPrivate;
57982pub type GSocketClientClass = _GSocketClientClass;
57983#[repr(C)]
57984#[derive(Debug, Copy, Clone, PartialEq, Eq)]
57985pub struct _GSocketClientClass {
57986    pub parent_class: GObjectClass,
57987    pub event: ::std::option::Option<
57988        unsafe extern "C" fn(
57989            client: *mut GSocketClient,
57990            event: GSocketClientEvent,
57991            connectable: *mut GSocketConnectable,
57992            connection: *mut GIOStream,
57993        ),
57994    >,
57995    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
57996    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
57997    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
57998    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
57999}
58000#[test]
58001fn bindgen_test_layout__GSocketClientClass() {
58002    const UNINIT: ::std::mem::MaybeUninit<_GSocketClientClass> = ::std::mem::MaybeUninit::uninit();
58003    let ptr = UNINIT.as_ptr();
58004    assert_eq!(
58005        ::std::mem::size_of::<_GSocketClientClass>(),
58006        176usize,
58007        concat!("Size of: ", stringify!(_GSocketClientClass))
58008    );
58009    assert_eq!(
58010        ::std::mem::align_of::<_GSocketClientClass>(),
58011        8usize,
58012        concat!("Alignment of ", stringify!(_GSocketClientClass))
58013    );
58014    assert_eq!(
58015        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
58016        0usize,
58017        concat!(
58018            "Offset of field: ",
58019            stringify!(_GSocketClientClass),
58020            "::",
58021            stringify!(parent_class)
58022        )
58023    );
58024    assert_eq!(
58025        unsafe { ::std::ptr::addr_of!((*ptr).event) as usize - ptr as usize },
58026        136usize,
58027        concat!(
58028            "Offset of field: ",
58029            stringify!(_GSocketClientClass),
58030            "::",
58031            stringify!(event)
58032        )
58033    );
58034    assert_eq!(
58035        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
58036        144usize,
58037        concat!(
58038            "Offset of field: ",
58039            stringify!(_GSocketClientClass),
58040            "::",
58041            stringify!(_g_reserved1)
58042        )
58043    );
58044    assert_eq!(
58045        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
58046        152usize,
58047        concat!(
58048            "Offset of field: ",
58049            stringify!(_GSocketClientClass),
58050            "::",
58051            stringify!(_g_reserved2)
58052        )
58053    );
58054    assert_eq!(
58055        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
58056        160usize,
58057        concat!(
58058            "Offset of field: ",
58059            stringify!(_GSocketClientClass),
58060            "::",
58061            stringify!(_g_reserved3)
58062        )
58063    );
58064    assert_eq!(
58065        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
58066        168usize,
58067        concat!(
58068            "Offset of field: ",
58069            stringify!(_GSocketClientClass),
58070            "::",
58071            stringify!(_g_reserved4)
58072        )
58073    );
58074}
58075#[repr(C)]
58076#[derive(Debug, Copy, Clone, PartialEq, Eq)]
58077pub struct _GSocketClient {
58078    pub parent_instance: GObject,
58079    pub priv_: *mut GSocketClientPrivate,
58080}
58081#[test]
58082fn bindgen_test_layout__GSocketClient() {
58083    const UNINIT: ::std::mem::MaybeUninit<_GSocketClient> = ::std::mem::MaybeUninit::uninit();
58084    let ptr = UNINIT.as_ptr();
58085    assert_eq!(
58086        ::std::mem::size_of::<_GSocketClient>(),
58087        32usize,
58088        concat!("Size of: ", stringify!(_GSocketClient))
58089    );
58090    assert_eq!(
58091        ::std::mem::align_of::<_GSocketClient>(),
58092        8usize,
58093        concat!("Alignment of ", stringify!(_GSocketClient))
58094    );
58095    assert_eq!(
58096        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
58097        0usize,
58098        concat!(
58099            "Offset of field: ",
58100            stringify!(_GSocketClient),
58101            "::",
58102            stringify!(parent_instance)
58103        )
58104    );
58105    assert_eq!(
58106        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
58107        24usize,
58108        concat!(
58109            "Offset of field: ",
58110            stringify!(_GSocketClient),
58111            "::",
58112            stringify!(priv_)
58113        )
58114    );
58115}
58116extern "C" {
58117    pub fn g_socket_client_get_type() -> GType;
58118}
58119extern "C" {
58120    pub fn g_socket_client_new() -> *mut GSocketClient;
58121}
58122extern "C" {
58123    pub fn g_socket_client_get_family(client: *mut GSocketClient) -> GSocketFamily;
58124}
58125extern "C" {
58126    pub fn g_socket_client_set_family(client: *mut GSocketClient, family: GSocketFamily);
58127}
58128extern "C" {
58129    pub fn g_socket_client_get_socket_type(client: *mut GSocketClient) -> GSocketType;
58130}
58131extern "C" {
58132    pub fn g_socket_client_set_socket_type(client: *mut GSocketClient, type_: GSocketType);
58133}
58134extern "C" {
58135    pub fn g_socket_client_get_protocol(client: *mut GSocketClient) -> GSocketProtocol;
58136}
58137extern "C" {
58138    pub fn g_socket_client_set_protocol(client: *mut GSocketClient, protocol: GSocketProtocol);
58139}
58140extern "C" {
58141    pub fn g_socket_client_get_local_address(client: *mut GSocketClient) -> *mut GSocketAddress;
58142}
58143extern "C" {
58144    pub fn g_socket_client_set_local_address(
58145        client: *mut GSocketClient,
58146        address: *mut GSocketAddress,
58147    );
58148}
58149extern "C" {
58150    pub fn g_socket_client_get_timeout(client: *mut GSocketClient) -> guint;
58151}
58152extern "C" {
58153    pub fn g_socket_client_set_timeout(client: *mut GSocketClient, timeout: guint);
58154}
58155extern "C" {
58156    pub fn g_socket_client_get_enable_proxy(client: *mut GSocketClient) -> gboolean;
58157}
58158extern "C" {
58159    pub fn g_socket_client_set_enable_proxy(client: *mut GSocketClient, enable: gboolean);
58160}
58161extern "C" {
58162    pub fn g_socket_client_get_tls(client: *mut GSocketClient) -> gboolean;
58163}
58164extern "C" {
58165    pub fn g_socket_client_set_tls(client: *mut GSocketClient, tls: gboolean);
58166}
58167extern "C" {
58168    pub fn g_socket_client_get_tls_validation_flags(
58169        client: *mut GSocketClient,
58170    ) -> GTlsCertificateFlags;
58171}
58172extern "C" {
58173    pub fn g_socket_client_set_tls_validation_flags(
58174        client: *mut GSocketClient,
58175        flags: GTlsCertificateFlags,
58176    );
58177}
58178extern "C" {
58179    pub fn g_socket_client_get_proxy_resolver(client: *mut GSocketClient) -> *mut GProxyResolver;
58180}
58181extern "C" {
58182    pub fn g_socket_client_set_proxy_resolver(
58183        client: *mut GSocketClient,
58184        proxy_resolver: *mut GProxyResolver,
58185    );
58186}
58187extern "C" {
58188    pub fn g_socket_client_connect(
58189        client: *mut GSocketClient,
58190        connectable: *mut GSocketConnectable,
58191        cancellable: *mut GCancellable,
58192        error: *mut *mut GError,
58193    ) -> *mut GSocketConnection;
58194}
58195extern "C" {
58196    pub fn g_socket_client_connect_to_host(
58197        client: *mut GSocketClient,
58198        host_and_port: *const gchar,
58199        default_port: guint16,
58200        cancellable: *mut GCancellable,
58201        error: *mut *mut GError,
58202    ) -> *mut GSocketConnection;
58203}
58204extern "C" {
58205    pub fn g_socket_client_connect_to_service(
58206        client: *mut GSocketClient,
58207        domain: *const gchar,
58208        service: *const gchar,
58209        cancellable: *mut GCancellable,
58210        error: *mut *mut GError,
58211    ) -> *mut GSocketConnection;
58212}
58213extern "C" {
58214    pub fn g_socket_client_connect_to_uri(
58215        client: *mut GSocketClient,
58216        uri: *const gchar,
58217        default_port: guint16,
58218        cancellable: *mut GCancellable,
58219        error: *mut *mut GError,
58220    ) -> *mut GSocketConnection;
58221}
58222extern "C" {
58223    pub fn g_socket_client_connect_async(
58224        client: *mut GSocketClient,
58225        connectable: *mut GSocketConnectable,
58226        cancellable: *mut GCancellable,
58227        callback: GAsyncReadyCallback,
58228        user_data: gpointer,
58229    );
58230}
58231extern "C" {
58232    pub fn g_socket_client_connect_finish(
58233        client: *mut GSocketClient,
58234        result: *mut GAsyncResult,
58235        error: *mut *mut GError,
58236    ) -> *mut GSocketConnection;
58237}
58238extern "C" {
58239    pub fn g_socket_client_connect_to_host_async(
58240        client: *mut GSocketClient,
58241        host_and_port: *const gchar,
58242        default_port: guint16,
58243        cancellable: *mut GCancellable,
58244        callback: GAsyncReadyCallback,
58245        user_data: gpointer,
58246    );
58247}
58248extern "C" {
58249    pub fn g_socket_client_connect_to_host_finish(
58250        client: *mut GSocketClient,
58251        result: *mut GAsyncResult,
58252        error: *mut *mut GError,
58253    ) -> *mut GSocketConnection;
58254}
58255extern "C" {
58256    pub fn g_socket_client_connect_to_service_async(
58257        client: *mut GSocketClient,
58258        domain: *const gchar,
58259        service: *const gchar,
58260        cancellable: *mut GCancellable,
58261        callback: GAsyncReadyCallback,
58262        user_data: gpointer,
58263    );
58264}
58265extern "C" {
58266    pub fn g_socket_client_connect_to_service_finish(
58267        client: *mut GSocketClient,
58268        result: *mut GAsyncResult,
58269        error: *mut *mut GError,
58270    ) -> *mut GSocketConnection;
58271}
58272extern "C" {
58273    pub fn g_socket_client_connect_to_uri_async(
58274        client: *mut GSocketClient,
58275        uri: *const gchar,
58276        default_port: guint16,
58277        cancellable: *mut GCancellable,
58278        callback: GAsyncReadyCallback,
58279        user_data: gpointer,
58280    );
58281}
58282extern "C" {
58283    pub fn g_socket_client_connect_to_uri_finish(
58284        client: *mut GSocketClient,
58285        result: *mut GAsyncResult,
58286        error: *mut *mut GError,
58287    ) -> *mut GSocketConnection;
58288}
58289extern "C" {
58290    pub fn g_socket_client_add_application_proxy(
58291        client: *mut GSocketClient,
58292        protocol: *const gchar,
58293    );
58294}
58295#[doc = " GSocketConnectable:\n\n Interface for objects that contain or generate a #GSocketAddress."]
58296pub type GSocketConnectableIface = _GSocketConnectableIface;
58297#[doc = " GSocketConnectableIface:\n @g_iface: The parent interface.\n @enumerate: Creates a #GSocketAddressEnumerator\n @proxy_enumerate: Creates a #GProxyAddressEnumerator\n @to_string: Format the connectable’s address as a string for debugging.\n    Implementing this is optional. (Since: 2.48)\n\n Provides an interface for returning a #GSocketAddressEnumerator\n and #GProxyAddressEnumerator"]
58298#[repr(C)]
58299#[derive(Debug, Copy, Clone, PartialEq, Eq)]
58300pub struct _GSocketConnectableIface {
58301    pub g_iface: GTypeInterface,
58302    pub enumerate: ::std::option::Option<
58303        unsafe extern "C" fn(connectable: *mut GSocketConnectable) -> *mut GSocketAddressEnumerator,
58304    >,
58305    pub proxy_enumerate: ::std::option::Option<
58306        unsafe extern "C" fn(connectable: *mut GSocketConnectable) -> *mut GSocketAddressEnumerator,
58307    >,
58308    pub to_string: ::std::option::Option<
58309        unsafe extern "C" fn(connectable: *mut GSocketConnectable) -> *mut gchar,
58310    >,
58311}
58312#[test]
58313fn bindgen_test_layout__GSocketConnectableIface() {
58314    const UNINIT: ::std::mem::MaybeUninit<_GSocketConnectableIface> =
58315        ::std::mem::MaybeUninit::uninit();
58316    let ptr = UNINIT.as_ptr();
58317    assert_eq!(
58318        ::std::mem::size_of::<_GSocketConnectableIface>(),
58319        40usize,
58320        concat!("Size of: ", stringify!(_GSocketConnectableIface))
58321    );
58322    assert_eq!(
58323        ::std::mem::align_of::<_GSocketConnectableIface>(),
58324        8usize,
58325        concat!("Alignment of ", stringify!(_GSocketConnectableIface))
58326    );
58327    assert_eq!(
58328        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
58329        0usize,
58330        concat!(
58331            "Offset of field: ",
58332            stringify!(_GSocketConnectableIface),
58333            "::",
58334            stringify!(g_iface)
58335        )
58336    );
58337    assert_eq!(
58338        unsafe { ::std::ptr::addr_of!((*ptr).enumerate) as usize - ptr as usize },
58339        16usize,
58340        concat!(
58341            "Offset of field: ",
58342            stringify!(_GSocketConnectableIface),
58343            "::",
58344            stringify!(enumerate)
58345        )
58346    );
58347    assert_eq!(
58348        unsafe { ::std::ptr::addr_of!((*ptr).proxy_enumerate) as usize - ptr as usize },
58349        24usize,
58350        concat!(
58351            "Offset of field: ",
58352            stringify!(_GSocketConnectableIface),
58353            "::",
58354            stringify!(proxy_enumerate)
58355        )
58356    );
58357    assert_eq!(
58358        unsafe { ::std::ptr::addr_of!((*ptr).to_string) as usize - ptr as usize },
58359        32usize,
58360        concat!(
58361            "Offset of field: ",
58362            stringify!(_GSocketConnectableIface),
58363            "::",
58364            stringify!(to_string)
58365        )
58366    );
58367}
58368extern "C" {
58369    pub fn g_socket_connectable_get_type() -> GType;
58370}
58371extern "C" {
58372    pub fn g_socket_connectable_enumerate(
58373        connectable: *mut GSocketConnectable,
58374    ) -> *mut GSocketAddressEnumerator;
58375}
58376extern "C" {
58377    pub fn g_socket_connectable_proxy_enumerate(
58378        connectable: *mut GSocketConnectable,
58379    ) -> *mut GSocketAddressEnumerator;
58380}
58381extern "C" {
58382    pub fn g_socket_connectable_to_string(connectable: *mut GSocketConnectable) -> *mut gchar;
58383}
58384#[repr(C)]
58385#[derive(Debug, Copy, Clone)]
58386pub struct _GSocketConnectionPrivate {
58387    _unused: [u8; 0],
58388}
58389pub type GSocketConnectionPrivate = _GSocketConnectionPrivate;
58390pub type GSocketConnectionClass = _GSocketConnectionClass;
58391#[repr(C)]
58392#[derive(Debug, Copy, Clone, PartialEq, Eq)]
58393pub struct _GSocketConnectionClass {
58394    pub parent_class: GIOStreamClass,
58395    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
58396    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
58397    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
58398    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
58399    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
58400    pub _g_reserved6: ::std::option::Option<unsafe extern "C" fn()>,
58401}
58402#[test]
58403fn bindgen_test_layout__GSocketConnectionClass() {
58404    const UNINIT: ::std::mem::MaybeUninit<_GSocketConnectionClass> =
58405        ::std::mem::MaybeUninit::uninit();
58406    let ptr = UNINIT.as_ptr();
58407    assert_eq!(
58408        ::std::mem::size_of::<_GSocketConnectionClass>(),
58409        304usize,
58410        concat!("Size of: ", stringify!(_GSocketConnectionClass))
58411    );
58412    assert_eq!(
58413        ::std::mem::align_of::<_GSocketConnectionClass>(),
58414        8usize,
58415        concat!("Alignment of ", stringify!(_GSocketConnectionClass))
58416    );
58417    assert_eq!(
58418        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
58419        0usize,
58420        concat!(
58421            "Offset of field: ",
58422            stringify!(_GSocketConnectionClass),
58423            "::",
58424            stringify!(parent_class)
58425        )
58426    );
58427    assert_eq!(
58428        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
58429        256usize,
58430        concat!(
58431            "Offset of field: ",
58432            stringify!(_GSocketConnectionClass),
58433            "::",
58434            stringify!(_g_reserved1)
58435        )
58436    );
58437    assert_eq!(
58438        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
58439        264usize,
58440        concat!(
58441            "Offset of field: ",
58442            stringify!(_GSocketConnectionClass),
58443            "::",
58444            stringify!(_g_reserved2)
58445        )
58446    );
58447    assert_eq!(
58448        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
58449        272usize,
58450        concat!(
58451            "Offset of field: ",
58452            stringify!(_GSocketConnectionClass),
58453            "::",
58454            stringify!(_g_reserved3)
58455        )
58456    );
58457    assert_eq!(
58458        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
58459        280usize,
58460        concat!(
58461            "Offset of field: ",
58462            stringify!(_GSocketConnectionClass),
58463            "::",
58464            stringify!(_g_reserved4)
58465        )
58466    );
58467    assert_eq!(
58468        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
58469        288usize,
58470        concat!(
58471            "Offset of field: ",
58472            stringify!(_GSocketConnectionClass),
58473            "::",
58474            stringify!(_g_reserved5)
58475        )
58476    );
58477    assert_eq!(
58478        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved6) as usize - ptr as usize },
58479        296usize,
58480        concat!(
58481            "Offset of field: ",
58482            stringify!(_GSocketConnectionClass),
58483            "::",
58484            stringify!(_g_reserved6)
58485        )
58486    );
58487}
58488#[repr(C)]
58489#[derive(Debug, Copy, Clone, PartialEq, Eq)]
58490pub struct _GSocketConnection {
58491    pub parent_instance: GIOStream,
58492    pub priv_: *mut GSocketConnectionPrivate,
58493}
58494#[test]
58495fn bindgen_test_layout__GSocketConnection() {
58496    const UNINIT: ::std::mem::MaybeUninit<_GSocketConnection> = ::std::mem::MaybeUninit::uninit();
58497    let ptr = UNINIT.as_ptr();
58498    assert_eq!(
58499        ::std::mem::size_of::<_GSocketConnection>(),
58500        40usize,
58501        concat!("Size of: ", stringify!(_GSocketConnection))
58502    );
58503    assert_eq!(
58504        ::std::mem::align_of::<_GSocketConnection>(),
58505        8usize,
58506        concat!("Alignment of ", stringify!(_GSocketConnection))
58507    );
58508    assert_eq!(
58509        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
58510        0usize,
58511        concat!(
58512            "Offset of field: ",
58513            stringify!(_GSocketConnection),
58514            "::",
58515            stringify!(parent_instance)
58516        )
58517    );
58518    assert_eq!(
58519        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
58520        32usize,
58521        concat!(
58522            "Offset of field: ",
58523            stringify!(_GSocketConnection),
58524            "::",
58525            stringify!(priv_)
58526        )
58527    );
58528}
58529extern "C" {
58530    pub fn g_socket_connection_get_type() -> GType;
58531}
58532extern "C" {
58533    pub fn g_socket_connection_is_connected(connection: *mut GSocketConnection) -> gboolean;
58534}
58535extern "C" {
58536    pub fn g_socket_connection_connect(
58537        connection: *mut GSocketConnection,
58538        address: *mut GSocketAddress,
58539        cancellable: *mut GCancellable,
58540        error: *mut *mut GError,
58541    ) -> gboolean;
58542}
58543extern "C" {
58544    pub fn g_socket_connection_connect_async(
58545        connection: *mut GSocketConnection,
58546        address: *mut GSocketAddress,
58547        cancellable: *mut GCancellable,
58548        callback: GAsyncReadyCallback,
58549        user_data: gpointer,
58550    );
58551}
58552extern "C" {
58553    pub fn g_socket_connection_connect_finish(
58554        connection: *mut GSocketConnection,
58555        result: *mut GAsyncResult,
58556        error: *mut *mut GError,
58557    ) -> gboolean;
58558}
58559extern "C" {
58560    pub fn g_socket_connection_get_socket(connection: *mut GSocketConnection) -> *mut GSocket;
58561}
58562extern "C" {
58563    pub fn g_socket_connection_get_local_address(
58564        connection: *mut GSocketConnection,
58565        error: *mut *mut GError,
58566    ) -> *mut GSocketAddress;
58567}
58568extern "C" {
58569    pub fn g_socket_connection_get_remote_address(
58570        connection: *mut GSocketConnection,
58571        error: *mut *mut GError,
58572    ) -> *mut GSocketAddress;
58573}
58574extern "C" {
58575    pub fn g_socket_connection_factory_register_type(
58576        g_type: GType,
58577        family: GSocketFamily,
58578        type_: GSocketType,
58579        protocol: gint,
58580    );
58581}
58582extern "C" {
58583    pub fn g_socket_connection_factory_lookup_type(
58584        family: GSocketFamily,
58585        type_: GSocketType,
58586        protocol_id: gint,
58587    ) -> GType;
58588}
58589extern "C" {
58590    pub fn g_socket_connection_factory_create_connection(
58591        socket: *mut GSocket,
58592    ) -> *mut GSocketConnection;
58593}
58594#[repr(C)]
58595#[derive(Debug, Copy, Clone)]
58596pub struct _GSocketControlMessagePrivate {
58597    _unused: [u8; 0],
58598}
58599pub type GSocketControlMessagePrivate = _GSocketControlMessagePrivate;
58600#[doc = " GSocketControlMessageClass:\n @get_size: gets the size of the message.\n @get_level: gets the protocol of the message.\n @get_type: gets the protocol specific type of the message.\n @serialize: Writes out the message data.\n @deserialize: Tries to deserialize a message.\n\n Class structure for #GSocketControlMessage."]
58601pub type GSocketControlMessageClass = _GSocketControlMessageClass;
58602#[doc = " GSocketControlMessageClass:\n @get_size: gets the size of the message.\n @get_level: gets the protocol of the message.\n @get_type: gets the protocol specific type of the message.\n @serialize: Writes out the message data.\n @deserialize: Tries to deserialize a message.\n\n Class structure for #GSocketControlMessage."]
58603#[repr(C)]
58604#[derive(Debug, Copy, Clone, PartialEq, Eq)]
58605pub struct _GSocketControlMessageClass {
58606    pub parent_class: GObjectClass,
58607    pub get_size:
58608        ::std::option::Option<unsafe extern "C" fn(message: *mut GSocketControlMessage) -> gsize>,
58609    pub get_level: ::std::option::Option<
58610        unsafe extern "C" fn(message: *mut GSocketControlMessage) -> ::std::os::raw::c_int,
58611    >,
58612    pub get_type: ::std::option::Option<
58613        unsafe extern "C" fn(message: *mut GSocketControlMessage) -> ::std::os::raw::c_int,
58614    >,
58615    pub serialize: ::std::option::Option<
58616        unsafe extern "C" fn(message: *mut GSocketControlMessage, data: gpointer),
58617    >,
58618    pub deserialize: ::std::option::Option<
58619        unsafe extern "C" fn(
58620            level: ::std::os::raw::c_int,
58621            type_: ::std::os::raw::c_int,
58622            size: gsize,
58623            data: gpointer,
58624        ) -> *mut GSocketControlMessage,
58625    >,
58626    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
58627    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
58628    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
58629    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
58630    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
58631}
58632#[test]
58633fn bindgen_test_layout__GSocketControlMessageClass() {
58634    const UNINIT: ::std::mem::MaybeUninit<_GSocketControlMessageClass> =
58635        ::std::mem::MaybeUninit::uninit();
58636    let ptr = UNINIT.as_ptr();
58637    assert_eq!(
58638        ::std::mem::size_of::<_GSocketControlMessageClass>(),
58639        216usize,
58640        concat!("Size of: ", stringify!(_GSocketControlMessageClass))
58641    );
58642    assert_eq!(
58643        ::std::mem::align_of::<_GSocketControlMessageClass>(),
58644        8usize,
58645        concat!("Alignment of ", stringify!(_GSocketControlMessageClass))
58646    );
58647    assert_eq!(
58648        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
58649        0usize,
58650        concat!(
58651            "Offset of field: ",
58652            stringify!(_GSocketControlMessageClass),
58653            "::",
58654            stringify!(parent_class)
58655        )
58656    );
58657    assert_eq!(
58658        unsafe { ::std::ptr::addr_of!((*ptr).get_size) as usize - ptr as usize },
58659        136usize,
58660        concat!(
58661            "Offset of field: ",
58662            stringify!(_GSocketControlMessageClass),
58663            "::",
58664            stringify!(get_size)
58665        )
58666    );
58667    assert_eq!(
58668        unsafe { ::std::ptr::addr_of!((*ptr).get_level) as usize - ptr as usize },
58669        144usize,
58670        concat!(
58671            "Offset of field: ",
58672            stringify!(_GSocketControlMessageClass),
58673            "::",
58674            stringify!(get_level)
58675        )
58676    );
58677    assert_eq!(
58678        unsafe { ::std::ptr::addr_of!((*ptr).get_type) as usize - ptr as usize },
58679        152usize,
58680        concat!(
58681            "Offset of field: ",
58682            stringify!(_GSocketControlMessageClass),
58683            "::",
58684            stringify!(get_type)
58685        )
58686    );
58687    assert_eq!(
58688        unsafe { ::std::ptr::addr_of!((*ptr).serialize) as usize - ptr as usize },
58689        160usize,
58690        concat!(
58691            "Offset of field: ",
58692            stringify!(_GSocketControlMessageClass),
58693            "::",
58694            stringify!(serialize)
58695        )
58696    );
58697    assert_eq!(
58698        unsafe { ::std::ptr::addr_of!((*ptr).deserialize) as usize - ptr as usize },
58699        168usize,
58700        concat!(
58701            "Offset of field: ",
58702            stringify!(_GSocketControlMessageClass),
58703            "::",
58704            stringify!(deserialize)
58705        )
58706    );
58707    assert_eq!(
58708        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
58709        176usize,
58710        concat!(
58711            "Offset of field: ",
58712            stringify!(_GSocketControlMessageClass),
58713            "::",
58714            stringify!(_g_reserved1)
58715        )
58716    );
58717    assert_eq!(
58718        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
58719        184usize,
58720        concat!(
58721            "Offset of field: ",
58722            stringify!(_GSocketControlMessageClass),
58723            "::",
58724            stringify!(_g_reserved2)
58725        )
58726    );
58727    assert_eq!(
58728        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
58729        192usize,
58730        concat!(
58731            "Offset of field: ",
58732            stringify!(_GSocketControlMessageClass),
58733            "::",
58734            stringify!(_g_reserved3)
58735        )
58736    );
58737    assert_eq!(
58738        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
58739        200usize,
58740        concat!(
58741            "Offset of field: ",
58742            stringify!(_GSocketControlMessageClass),
58743            "::",
58744            stringify!(_g_reserved4)
58745        )
58746    );
58747    assert_eq!(
58748        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
58749        208usize,
58750        concat!(
58751            "Offset of field: ",
58752            stringify!(_GSocketControlMessageClass),
58753            "::",
58754            stringify!(_g_reserved5)
58755        )
58756    );
58757}
58758#[repr(C)]
58759#[derive(Debug, Copy, Clone, PartialEq, Eq)]
58760pub struct _GSocketControlMessage {
58761    pub parent_instance: GObject,
58762    pub priv_: *mut GSocketControlMessagePrivate,
58763}
58764#[test]
58765fn bindgen_test_layout__GSocketControlMessage() {
58766    const UNINIT: ::std::mem::MaybeUninit<_GSocketControlMessage> =
58767        ::std::mem::MaybeUninit::uninit();
58768    let ptr = UNINIT.as_ptr();
58769    assert_eq!(
58770        ::std::mem::size_of::<_GSocketControlMessage>(),
58771        32usize,
58772        concat!("Size of: ", stringify!(_GSocketControlMessage))
58773    );
58774    assert_eq!(
58775        ::std::mem::align_of::<_GSocketControlMessage>(),
58776        8usize,
58777        concat!("Alignment of ", stringify!(_GSocketControlMessage))
58778    );
58779    assert_eq!(
58780        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
58781        0usize,
58782        concat!(
58783            "Offset of field: ",
58784            stringify!(_GSocketControlMessage),
58785            "::",
58786            stringify!(parent_instance)
58787        )
58788    );
58789    assert_eq!(
58790        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
58791        24usize,
58792        concat!(
58793            "Offset of field: ",
58794            stringify!(_GSocketControlMessage),
58795            "::",
58796            stringify!(priv_)
58797        )
58798    );
58799}
58800extern "C" {
58801    pub fn g_socket_control_message_get_type() -> GType;
58802}
58803extern "C" {
58804    pub fn g_socket_control_message_get_size(message: *mut GSocketControlMessage) -> gsize;
58805}
58806extern "C" {
58807    pub fn g_socket_control_message_get_level(
58808        message: *mut GSocketControlMessage,
58809    ) -> ::std::os::raw::c_int;
58810}
58811extern "C" {
58812    pub fn g_socket_control_message_get_msg_type(
58813        message: *mut GSocketControlMessage,
58814    ) -> ::std::os::raw::c_int;
58815}
58816extern "C" {
58817    pub fn g_socket_control_message_serialize(message: *mut GSocketControlMessage, data: gpointer);
58818}
58819extern "C" {
58820    pub fn g_socket_control_message_deserialize(
58821        level: ::std::os::raw::c_int,
58822        type_: ::std::os::raw::c_int,
58823        size: gsize,
58824        data: gpointer,
58825    ) -> *mut GSocketControlMessage;
58826}
58827#[repr(C)]
58828#[derive(Debug, Copy, Clone)]
58829pub struct _GSocketListenerPrivate {
58830    _unused: [u8; 0],
58831}
58832pub type GSocketListenerPrivate = _GSocketListenerPrivate;
58833#[doc = " GSocketListenerClass:\n @changed: virtual method called when the set of socket listened to changes\n\n Class structure for #GSocketListener."]
58834pub type GSocketListenerClass = _GSocketListenerClass;
58835#[doc = " GSocketListenerClass:\n @changed: virtual method called when the set of socket listened to changes\n\n Class structure for #GSocketListener."]
58836#[repr(C)]
58837#[derive(Debug, Copy, Clone, PartialEq, Eq)]
58838pub struct _GSocketListenerClass {
58839    pub parent_class: GObjectClass,
58840    pub changed: ::std::option::Option<unsafe extern "C" fn(listener: *mut GSocketListener)>,
58841    pub event: ::std::option::Option<
58842        unsafe extern "C" fn(
58843            listener: *mut GSocketListener,
58844            event: GSocketListenerEvent,
58845            socket: *mut GSocket,
58846        ),
58847    >,
58848    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
58849    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
58850    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
58851    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
58852    pub _g_reserved6: ::std::option::Option<unsafe extern "C" fn()>,
58853}
58854#[test]
58855fn bindgen_test_layout__GSocketListenerClass() {
58856    const UNINIT: ::std::mem::MaybeUninit<_GSocketListenerClass> =
58857        ::std::mem::MaybeUninit::uninit();
58858    let ptr = UNINIT.as_ptr();
58859    assert_eq!(
58860        ::std::mem::size_of::<_GSocketListenerClass>(),
58861        192usize,
58862        concat!("Size of: ", stringify!(_GSocketListenerClass))
58863    );
58864    assert_eq!(
58865        ::std::mem::align_of::<_GSocketListenerClass>(),
58866        8usize,
58867        concat!("Alignment of ", stringify!(_GSocketListenerClass))
58868    );
58869    assert_eq!(
58870        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
58871        0usize,
58872        concat!(
58873            "Offset of field: ",
58874            stringify!(_GSocketListenerClass),
58875            "::",
58876            stringify!(parent_class)
58877        )
58878    );
58879    assert_eq!(
58880        unsafe { ::std::ptr::addr_of!((*ptr).changed) as usize - ptr as usize },
58881        136usize,
58882        concat!(
58883            "Offset of field: ",
58884            stringify!(_GSocketListenerClass),
58885            "::",
58886            stringify!(changed)
58887        )
58888    );
58889    assert_eq!(
58890        unsafe { ::std::ptr::addr_of!((*ptr).event) as usize - ptr as usize },
58891        144usize,
58892        concat!(
58893            "Offset of field: ",
58894            stringify!(_GSocketListenerClass),
58895            "::",
58896            stringify!(event)
58897        )
58898    );
58899    assert_eq!(
58900        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
58901        152usize,
58902        concat!(
58903            "Offset of field: ",
58904            stringify!(_GSocketListenerClass),
58905            "::",
58906            stringify!(_g_reserved2)
58907        )
58908    );
58909    assert_eq!(
58910        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
58911        160usize,
58912        concat!(
58913            "Offset of field: ",
58914            stringify!(_GSocketListenerClass),
58915            "::",
58916            stringify!(_g_reserved3)
58917        )
58918    );
58919    assert_eq!(
58920        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
58921        168usize,
58922        concat!(
58923            "Offset of field: ",
58924            stringify!(_GSocketListenerClass),
58925            "::",
58926            stringify!(_g_reserved4)
58927        )
58928    );
58929    assert_eq!(
58930        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
58931        176usize,
58932        concat!(
58933            "Offset of field: ",
58934            stringify!(_GSocketListenerClass),
58935            "::",
58936            stringify!(_g_reserved5)
58937        )
58938    );
58939    assert_eq!(
58940        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved6) as usize - ptr as usize },
58941        184usize,
58942        concat!(
58943            "Offset of field: ",
58944            stringify!(_GSocketListenerClass),
58945            "::",
58946            stringify!(_g_reserved6)
58947        )
58948    );
58949}
58950#[repr(C)]
58951#[derive(Debug, Copy, Clone, PartialEq, Eq)]
58952pub struct _GSocketListener {
58953    pub parent_instance: GObject,
58954    pub priv_: *mut GSocketListenerPrivate,
58955}
58956#[test]
58957fn bindgen_test_layout__GSocketListener() {
58958    const UNINIT: ::std::mem::MaybeUninit<_GSocketListener> = ::std::mem::MaybeUninit::uninit();
58959    let ptr = UNINIT.as_ptr();
58960    assert_eq!(
58961        ::std::mem::size_of::<_GSocketListener>(),
58962        32usize,
58963        concat!("Size of: ", stringify!(_GSocketListener))
58964    );
58965    assert_eq!(
58966        ::std::mem::align_of::<_GSocketListener>(),
58967        8usize,
58968        concat!("Alignment of ", stringify!(_GSocketListener))
58969    );
58970    assert_eq!(
58971        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
58972        0usize,
58973        concat!(
58974            "Offset of field: ",
58975            stringify!(_GSocketListener),
58976            "::",
58977            stringify!(parent_instance)
58978        )
58979    );
58980    assert_eq!(
58981        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
58982        24usize,
58983        concat!(
58984            "Offset of field: ",
58985            stringify!(_GSocketListener),
58986            "::",
58987            stringify!(priv_)
58988        )
58989    );
58990}
58991extern "C" {
58992    pub fn g_socket_listener_get_type() -> GType;
58993}
58994extern "C" {
58995    pub fn g_socket_listener_new() -> *mut GSocketListener;
58996}
58997extern "C" {
58998    pub fn g_socket_listener_set_backlog(
58999        listener: *mut GSocketListener,
59000        listen_backlog: ::std::os::raw::c_int,
59001    );
59002}
59003extern "C" {
59004    pub fn g_socket_listener_add_socket(
59005        listener: *mut GSocketListener,
59006        socket: *mut GSocket,
59007        source_object: *mut GObject,
59008        error: *mut *mut GError,
59009    ) -> gboolean;
59010}
59011extern "C" {
59012    pub fn g_socket_listener_add_address(
59013        listener: *mut GSocketListener,
59014        address: *mut GSocketAddress,
59015        type_: GSocketType,
59016        protocol: GSocketProtocol,
59017        source_object: *mut GObject,
59018        effective_address: *mut *mut GSocketAddress,
59019        error: *mut *mut GError,
59020    ) -> gboolean;
59021}
59022extern "C" {
59023    pub fn g_socket_listener_add_inet_port(
59024        listener: *mut GSocketListener,
59025        port: guint16,
59026        source_object: *mut GObject,
59027        error: *mut *mut GError,
59028    ) -> gboolean;
59029}
59030extern "C" {
59031    pub fn g_socket_listener_add_any_inet_port(
59032        listener: *mut GSocketListener,
59033        source_object: *mut GObject,
59034        error: *mut *mut GError,
59035    ) -> guint16;
59036}
59037extern "C" {
59038    pub fn g_socket_listener_accept_socket(
59039        listener: *mut GSocketListener,
59040        source_object: *mut *mut GObject,
59041        cancellable: *mut GCancellable,
59042        error: *mut *mut GError,
59043    ) -> *mut GSocket;
59044}
59045extern "C" {
59046    pub fn g_socket_listener_accept_socket_async(
59047        listener: *mut GSocketListener,
59048        cancellable: *mut GCancellable,
59049        callback: GAsyncReadyCallback,
59050        user_data: gpointer,
59051    );
59052}
59053extern "C" {
59054    pub fn g_socket_listener_accept_socket_finish(
59055        listener: *mut GSocketListener,
59056        result: *mut GAsyncResult,
59057        source_object: *mut *mut GObject,
59058        error: *mut *mut GError,
59059    ) -> *mut GSocket;
59060}
59061extern "C" {
59062    pub fn g_socket_listener_accept(
59063        listener: *mut GSocketListener,
59064        source_object: *mut *mut GObject,
59065        cancellable: *mut GCancellable,
59066        error: *mut *mut GError,
59067    ) -> *mut GSocketConnection;
59068}
59069extern "C" {
59070    pub fn g_socket_listener_accept_async(
59071        listener: *mut GSocketListener,
59072        cancellable: *mut GCancellable,
59073        callback: GAsyncReadyCallback,
59074        user_data: gpointer,
59075    );
59076}
59077extern "C" {
59078    pub fn g_socket_listener_accept_finish(
59079        listener: *mut GSocketListener,
59080        result: *mut GAsyncResult,
59081        source_object: *mut *mut GObject,
59082        error: *mut *mut GError,
59083    ) -> *mut GSocketConnection;
59084}
59085extern "C" {
59086    pub fn g_socket_listener_close(listener: *mut GSocketListener);
59087}
59088#[repr(C)]
59089#[derive(Debug, Copy, Clone)]
59090pub struct _GSocketServicePrivate {
59091    _unused: [u8; 0],
59092}
59093pub type GSocketServicePrivate = _GSocketServicePrivate;
59094#[doc = " GSocketServiceClass:\n @incoming: signal emitted when new connections are accepted\n\n Class structure for #GSocketService."]
59095pub type GSocketServiceClass = _GSocketServiceClass;
59096#[doc = " GSocketServiceClass:\n @incoming: signal emitted when new connections are accepted\n\n Class structure for #GSocketService."]
59097#[repr(C)]
59098#[derive(Debug, Copy, Clone, PartialEq, Eq)]
59099pub struct _GSocketServiceClass {
59100    pub parent_class: GSocketListenerClass,
59101    pub incoming: ::std::option::Option<
59102        unsafe extern "C" fn(
59103            service: *mut GSocketService,
59104            connection: *mut GSocketConnection,
59105            source_object: *mut GObject,
59106        ) -> gboolean,
59107    >,
59108    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
59109    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
59110    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
59111    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
59112    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
59113    pub _g_reserved6: ::std::option::Option<unsafe extern "C" fn()>,
59114}
59115#[test]
59116fn bindgen_test_layout__GSocketServiceClass() {
59117    const UNINIT: ::std::mem::MaybeUninit<_GSocketServiceClass> = ::std::mem::MaybeUninit::uninit();
59118    let ptr = UNINIT.as_ptr();
59119    assert_eq!(
59120        ::std::mem::size_of::<_GSocketServiceClass>(),
59121        248usize,
59122        concat!("Size of: ", stringify!(_GSocketServiceClass))
59123    );
59124    assert_eq!(
59125        ::std::mem::align_of::<_GSocketServiceClass>(),
59126        8usize,
59127        concat!("Alignment of ", stringify!(_GSocketServiceClass))
59128    );
59129    assert_eq!(
59130        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
59131        0usize,
59132        concat!(
59133            "Offset of field: ",
59134            stringify!(_GSocketServiceClass),
59135            "::",
59136            stringify!(parent_class)
59137        )
59138    );
59139    assert_eq!(
59140        unsafe { ::std::ptr::addr_of!((*ptr).incoming) as usize - ptr as usize },
59141        192usize,
59142        concat!(
59143            "Offset of field: ",
59144            stringify!(_GSocketServiceClass),
59145            "::",
59146            stringify!(incoming)
59147        )
59148    );
59149    assert_eq!(
59150        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
59151        200usize,
59152        concat!(
59153            "Offset of field: ",
59154            stringify!(_GSocketServiceClass),
59155            "::",
59156            stringify!(_g_reserved1)
59157        )
59158    );
59159    assert_eq!(
59160        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
59161        208usize,
59162        concat!(
59163            "Offset of field: ",
59164            stringify!(_GSocketServiceClass),
59165            "::",
59166            stringify!(_g_reserved2)
59167        )
59168    );
59169    assert_eq!(
59170        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
59171        216usize,
59172        concat!(
59173            "Offset of field: ",
59174            stringify!(_GSocketServiceClass),
59175            "::",
59176            stringify!(_g_reserved3)
59177        )
59178    );
59179    assert_eq!(
59180        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
59181        224usize,
59182        concat!(
59183            "Offset of field: ",
59184            stringify!(_GSocketServiceClass),
59185            "::",
59186            stringify!(_g_reserved4)
59187        )
59188    );
59189    assert_eq!(
59190        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
59191        232usize,
59192        concat!(
59193            "Offset of field: ",
59194            stringify!(_GSocketServiceClass),
59195            "::",
59196            stringify!(_g_reserved5)
59197        )
59198    );
59199    assert_eq!(
59200        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved6) as usize - ptr as usize },
59201        240usize,
59202        concat!(
59203            "Offset of field: ",
59204            stringify!(_GSocketServiceClass),
59205            "::",
59206            stringify!(_g_reserved6)
59207        )
59208    );
59209}
59210#[repr(C)]
59211#[derive(Debug, Copy, Clone, PartialEq, Eq)]
59212pub struct _GSocketService {
59213    pub parent_instance: GSocketListener,
59214    pub priv_: *mut GSocketServicePrivate,
59215}
59216#[test]
59217fn bindgen_test_layout__GSocketService() {
59218    const UNINIT: ::std::mem::MaybeUninit<_GSocketService> = ::std::mem::MaybeUninit::uninit();
59219    let ptr = UNINIT.as_ptr();
59220    assert_eq!(
59221        ::std::mem::size_of::<_GSocketService>(),
59222        40usize,
59223        concat!("Size of: ", stringify!(_GSocketService))
59224    );
59225    assert_eq!(
59226        ::std::mem::align_of::<_GSocketService>(),
59227        8usize,
59228        concat!("Alignment of ", stringify!(_GSocketService))
59229    );
59230    assert_eq!(
59231        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
59232        0usize,
59233        concat!(
59234            "Offset of field: ",
59235            stringify!(_GSocketService),
59236            "::",
59237            stringify!(parent_instance)
59238        )
59239    );
59240    assert_eq!(
59241        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
59242        32usize,
59243        concat!(
59244            "Offset of field: ",
59245            stringify!(_GSocketService),
59246            "::",
59247            stringify!(priv_)
59248        )
59249    );
59250}
59251extern "C" {
59252    pub fn g_socket_service_get_type() -> GType;
59253}
59254extern "C" {
59255    pub fn g_socket_service_new() -> *mut GSocketService;
59256}
59257extern "C" {
59258    pub fn g_socket_service_start(service: *mut GSocketService);
59259}
59260extern "C" {
59261    pub fn g_socket_service_stop(service: *mut GSocketService);
59262}
59263extern "C" {
59264    pub fn g_socket_service_is_active(service: *mut GSocketService) -> gboolean;
59265}
59266extern "C" {
59267    pub fn g_srv_target_get_type() -> GType;
59268}
59269extern "C" {
59270    pub fn g_srv_target_new(
59271        hostname: *const gchar,
59272        port: guint16,
59273        priority: guint16,
59274        weight: guint16,
59275    ) -> *mut GSrvTarget;
59276}
59277extern "C" {
59278    pub fn g_srv_target_copy(target: *mut GSrvTarget) -> *mut GSrvTarget;
59279}
59280extern "C" {
59281    pub fn g_srv_target_free(target: *mut GSrvTarget);
59282}
59283extern "C" {
59284    pub fn g_srv_target_get_hostname(target: *mut GSrvTarget) -> *const gchar;
59285}
59286extern "C" {
59287    pub fn g_srv_target_get_port(target: *mut GSrvTarget) -> guint16;
59288}
59289extern "C" {
59290    pub fn g_srv_target_get_priority(target: *mut GSrvTarget) -> guint16;
59291}
59292extern "C" {
59293    pub fn g_srv_target_get_weight(target: *mut GSrvTarget) -> guint16;
59294}
59295extern "C" {
59296    pub fn g_srv_target_list_sort(targets: *mut GList) -> *mut GList;
59297}
59298extern "C" {
59299    pub fn g_subprocess_get_type() -> GType;
59300}
59301extern "C" {
59302    #[doc = " Core API"]
59303    pub fn g_subprocess_new(
59304        flags: GSubprocessFlags,
59305        error: *mut *mut GError,
59306        argv0: *const gchar,
59307        ...
59308    ) -> *mut GSubprocess;
59309}
59310extern "C" {
59311    pub fn g_subprocess_newv(
59312        argv: *const *const gchar,
59313        flags: GSubprocessFlags,
59314        error: *mut *mut GError,
59315    ) -> *mut GSubprocess;
59316}
59317extern "C" {
59318    pub fn g_subprocess_get_stdin_pipe(subprocess: *mut GSubprocess) -> *mut GOutputStream;
59319}
59320extern "C" {
59321    pub fn g_subprocess_get_stdout_pipe(subprocess: *mut GSubprocess) -> *mut GInputStream;
59322}
59323extern "C" {
59324    pub fn g_subprocess_get_stderr_pipe(subprocess: *mut GSubprocess) -> *mut GInputStream;
59325}
59326extern "C" {
59327    pub fn g_subprocess_get_identifier(subprocess: *mut GSubprocess) -> *const gchar;
59328}
59329extern "C" {
59330    pub fn g_subprocess_send_signal(subprocess: *mut GSubprocess, signal_num: gint);
59331}
59332extern "C" {
59333    pub fn g_subprocess_force_exit(subprocess: *mut GSubprocess);
59334}
59335extern "C" {
59336    pub fn g_subprocess_wait(
59337        subprocess: *mut GSubprocess,
59338        cancellable: *mut GCancellable,
59339        error: *mut *mut GError,
59340    ) -> gboolean;
59341}
59342extern "C" {
59343    pub fn g_subprocess_wait_async(
59344        subprocess: *mut GSubprocess,
59345        cancellable: *mut GCancellable,
59346        callback: GAsyncReadyCallback,
59347        user_data: gpointer,
59348    );
59349}
59350extern "C" {
59351    pub fn g_subprocess_wait_finish(
59352        subprocess: *mut GSubprocess,
59353        result: *mut GAsyncResult,
59354        error: *mut *mut GError,
59355    ) -> gboolean;
59356}
59357extern "C" {
59358    pub fn g_subprocess_wait_check(
59359        subprocess: *mut GSubprocess,
59360        cancellable: *mut GCancellable,
59361        error: *mut *mut GError,
59362    ) -> gboolean;
59363}
59364extern "C" {
59365    pub fn g_subprocess_wait_check_async(
59366        subprocess: *mut GSubprocess,
59367        cancellable: *mut GCancellable,
59368        callback: GAsyncReadyCallback,
59369        user_data: gpointer,
59370    );
59371}
59372extern "C" {
59373    pub fn g_subprocess_wait_check_finish(
59374        subprocess: *mut GSubprocess,
59375        result: *mut GAsyncResult,
59376        error: *mut *mut GError,
59377    ) -> gboolean;
59378}
59379extern "C" {
59380    pub fn g_subprocess_get_status(subprocess: *mut GSubprocess) -> gint;
59381}
59382extern "C" {
59383    pub fn g_subprocess_get_successful(subprocess: *mut GSubprocess) -> gboolean;
59384}
59385extern "C" {
59386    pub fn g_subprocess_get_if_exited(subprocess: *mut GSubprocess) -> gboolean;
59387}
59388extern "C" {
59389    pub fn g_subprocess_get_exit_status(subprocess: *mut GSubprocess) -> gint;
59390}
59391extern "C" {
59392    pub fn g_subprocess_get_if_signaled(subprocess: *mut GSubprocess) -> gboolean;
59393}
59394extern "C" {
59395    pub fn g_subprocess_get_term_sig(subprocess: *mut GSubprocess) -> gint;
59396}
59397extern "C" {
59398    pub fn g_subprocess_communicate(
59399        subprocess: *mut GSubprocess,
59400        stdin_buf: *mut GBytes,
59401        cancellable: *mut GCancellable,
59402        stdout_buf: *mut *mut GBytes,
59403        stderr_buf: *mut *mut GBytes,
59404        error: *mut *mut GError,
59405    ) -> gboolean;
59406}
59407extern "C" {
59408    pub fn g_subprocess_communicate_async(
59409        subprocess: *mut GSubprocess,
59410        stdin_buf: *mut GBytes,
59411        cancellable: *mut GCancellable,
59412        callback: GAsyncReadyCallback,
59413        user_data: gpointer,
59414    );
59415}
59416extern "C" {
59417    pub fn g_subprocess_communicate_finish(
59418        subprocess: *mut GSubprocess,
59419        result: *mut GAsyncResult,
59420        stdout_buf: *mut *mut GBytes,
59421        stderr_buf: *mut *mut GBytes,
59422        error: *mut *mut GError,
59423    ) -> gboolean;
59424}
59425extern "C" {
59426    pub fn g_subprocess_communicate_utf8(
59427        subprocess: *mut GSubprocess,
59428        stdin_buf: *const ::std::os::raw::c_char,
59429        cancellable: *mut GCancellable,
59430        stdout_buf: *mut *mut ::std::os::raw::c_char,
59431        stderr_buf: *mut *mut ::std::os::raw::c_char,
59432        error: *mut *mut GError,
59433    ) -> gboolean;
59434}
59435extern "C" {
59436    pub fn g_subprocess_communicate_utf8_async(
59437        subprocess: *mut GSubprocess,
59438        stdin_buf: *const ::std::os::raw::c_char,
59439        cancellable: *mut GCancellable,
59440        callback: GAsyncReadyCallback,
59441        user_data: gpointer,
59442    );
59443}
59444extern "C" {
59445    pub fn g_subprocess_communicate_utf8_finish(
59446        subprocess: *mut GSubprocess,
59447        result: *mut GAsyncResult,
59448        stdout_buf: *mut *mut ::std::os::raw::c_char,
59449        stderr_buf: *mut *mut ::std::os::raw::c_char,
59450        error: *mut *mut GError,
59451    ) -> gboolean;
59452}
59453extern "C" {
59454    pub fn g_subprocess_launcher_get_type() -> GType;
59455}
59456extern "C" {
59457    pub fn g_subprocess_launcher_new(flags: GSubprocessFlags) -> *mut GSubprocessLauncher;
59458}
59459extern "C" {
59460    pub fn g_subprocess_launcher_spawn(
59461        self_: *mut GSubprocessLauncher,
59462        error: *mut *mut GError,
59463        argv0: *const gchar,
59464        ...
59465    ) -> *mut GSubprocess;
59466}
59467extern "C" {
59468    pub fn g_subprocess_launcher_spawnv(
59469        self_: *mut GSubprocessLauncher,
59470        argv: *const *const gchar,
59471        error: *mut *mut GError,
59472    ) -> *mut GSubprocess;
59473}
59474extern "C" {
59475    pub fn g_subprocess_launcher_set_environ(self_: *mut GSubprocessLauncher, env: *mut *mut gchar);
59476}
59477extern "C" {
59478    pub fn g_subprocess_launcher_setenv(
59479        self_: *mut GSubprocessLauncher,
59480        variable: *const gchar,
59481        value: *const gchar,
59482        overwrite: gboolean,
59483    );
59484}
59485extern "C" {
59486    pub fn g_subprocess_launcher_unsetenv(self_: *mut GSubprocessLauncher, variable: *const gchar);
59487}
59488extern "C" {
59489    pub fn g_subprocess_launcher_getenv(
59490        self_: *mut GSubprocessLauncher,
59491        variable: *const gchar,
59492    ) -> *const gchar;
59493}
59494extern "C" {
59495    pub fn g_subprocess_launcher_set_cwd(self_: *mut GSubprocessLauncher, cwd: *const gchar);
59496}
59497extern "C" {
59498    pub fn g_subprocess_launcher_set_flags(
59499        self_: *mut GSubprocessLauncher,
59500        flags: GSubprocessFlags,
59501    );
59502}
59503extern "C" {
59504    pub fn g_subprocess_launcher_set_stdin_file_path(
59505        self_: *mut GSubprocessLauncher,
59506        path: *const gchar,
59507    );
59508}
59509extern "C" {
59510    pub fn g_subprocess_launcher_take_stdin_fd(self_: *mut GSubprocessLauncher, fd: gint);
59511}
59512extern "C" {
59513    pub fn g_subprocess_launcher_set_stdout_file_path(
59514        self_: *mut GSubprocessLauncher,
59515        path: *const gchar,
59516    );
59517}
59518extern "C" {
59519    pub fn g_subprocess_launcher_take_stdout_fd(self_: *mut GSubprocessLauncher, fd: gint);
59520}
59521extern "C" {
59522    pub fn g_subprocess_launcher_set_stderr_file_path(
59523        self_: *mut GSubprocessLauncher,
59524        path: *const gchar,
59525    );
59526}
59527extern "C" {
59528    pub fn g_subprocess_launcher_take_stderr_fd(self_: *mut GSubprocessLauncher, fd: gint);
59529}
59530extern "C" {
59531    pub fn g_subprocess_launcher_take_fd(
59532        self_: *mut GSubprocessLauncher,
59533        source_fd: gint,
59534        target_fd: gint,
59535    );
59536}
59537extern "C" {
59538    pub fn g_subprocess_launcher_close(self_: *mut GSubprocessLauncher);
59539}
59540extern "C" {
59541    pub fn g_subprocess_launcher_set_child_setup(
59542        self_: *mut GSubprocessLauncher,
59543        child_setup: GSpawnChildSetupFunc,
59544        user_data: gpointer,
59545        destroy_notify: GDestroyNotify,
59546    );
59547}
59548#[repr(C)]
59549#[derive(Debug, Copy, Clone)]
59550pub struct _GTaskClass {
59551    _unused: [u8; 0],
59552}
59553pub type GTaskClass = _GTaskClass;
59554extern "C" {
59555    pub fn g_task_get_type() -> GType;
59556}
59557extern "C" {
59558    pub fn g_task_new(
59559        source_object: gpointer,
59560        cancellable: *mut GCancellable,
59561        callback: GAsyncReadyCallback,
59562        callback_data: gpointer,
59563    ) -> *mut GTask;
59564}
59565extern "C" {
59566    pub fn g_task_report_error(
59567        source_object: gpointer,
59568        callback: GAsyncReadyCallback,
59569        callback_data: gpointer,
59570        source_tag: gpointer,
59571        error: *mut GError,
59572    );
59573}
59574extern "C" {
59575    pub fn g_task_report_new_error(
59576        source_object: gpointer,
59577        callback: GAsyncReadyCallback,
59578        callback_data: gpointer,
59579        source_tag: gpointer,
59580        domain: GQuark,
59581        code: gint,
59582        format: *const ::std::os::raw::c_char,
59583        ...
59584    );
59585}
59586extern "C" {
59587    pub fn g_task_set_task_data(
59588        task: *mut GTask,
59589        task_data: gpointer,
59590        task_data_destroy: GDestroyNotify,
59591    );
59592}
59593extern "C" {
59594    pub fn g_task_set_priority(task: *mut GTask, priority: gint);
59595}
59596extern "C" {
59597    pub fn g_task_set_check_cancellable(task: *mut GTask, check_cancellable: gboolean);
59598}
59599extern "C" {
59600    pub fn g_task_set_source_tag(task: *mut GTask, source_tag: gpointer);
59601}
59602extern "C" {
59603    pub fn g_task_set_name(task: *mut GTask, name: *const gchar);
59604}
59605extern "C" {
59606    pub fn g_task_set_static_name(task: *mut GTask, name: *const gchar);
59607}
59608extern "C" {
59609    pub fn g_task_get_source_object(task: *mut GTask) -> gpointer;
59610}
59611extern "C" {
59612    pub fn g_task_get_task_data(task: *mut GTask) -> gpointer;
59613}
59614extern "C" {
59615    pub fn g_task_get_priority(task: *mut GTask) -> gint;
59616}
59617extern "C" {
59618    pub fn g_task_get_context(task: *mut GTask) -> *mut GMainContext;
59619}
59620extern "C" {
59621    pub fn g_task_get_cancellable(task: *mut GTask) -> *mut GCancellable;
59622}
59623extern "C" {
59624    pub fn g_task_get_check_cancellable(task: *mut GTask) -> gboolean;
59625}
59626extern "C" {
59627    pub fn g_task_get_source_tag(task: *mut GTask) -> gpointer;
59628}
59629extern "C" {
59630    pub fn g_task_get_name(task: *mut GTask) -> *const gchar;
59631}
59632extern "C" {
59633    pub fn g_task_is_valid(result: gpointer, source_object: gpointer) -> gboolean;
59634}
59635pub type GTaskThreadFunc = ::std::option::Option<
59636    unsafe extern "C" fn(
59637        task: *mut GTask,
59638        source_object: gpointer,
59639        task_data: gpointer,
59640        cancellable: *mut GCancellable,
59641    ),
59642>;
59643extern "C" {
59644    pub fn g_task_run_in_thread(task: *mut GTask, task_func: GTaskThreadFunc);
59645}
59646extern "C" {
59647    pub fn g_task_run_in_thread_sync(task: *mut GTask, task_func: GTaskThreadFunc);
59648}
59649extern "C" {
59650    pub fn g_task_set_return_on_cancel(task: *mut GTask, return_on_cancel: gboolean) -> gboolean;
59651}
59652extern "C" {
59653    pub fn g_task_get_return_on_cancel(task: *mut GTask) -> gboolean;
59654}
59655extern "C" {
59656    pub fn g_task_attach_source(task: *mut GTask, source: *mut GSource, callback: GSourceFunc);
59657}
59658extern "C" {
59659    pub fn g_task_return_pointer(
59660        task: *mut GTask,
59661        result: gpointer,
59662        result_destroy: GDestroyNotify,
59663    );
59664}
59665extern "C" {
59666    pub fn g_task_return_boolean(task: *mut GTask, result: gboolean);
59667}
59668extern "C" {
59669    pub fn g_task_return_int(task: *mut GTask, result: gssize);
59670}
59671extern "C" {
59672    pub fn g_task_return_error(task: *mut GTask, error: *mut GError);
59673}
59674extern "C" {
59675    pub fn g_task_return_new_error(
59676        task: *mut GTask,
59677        domain: GQuark,
59678        code: gint,
59679        format: *const ::std::os::raw::c_char,
59680        ...
59681    );
59682}
59683extern "C" {
59684    pub fn g_task_return_value(task: *mut GTask, result: *mut GValue);
59685}
59686extern "C" {
59687    pub fn g_task_return_error_if_cancelled(task: *mut GTask) -> gboolean;
59688}
59689extern "C" {
59690    pub fn g_task_propagate_pointer(task: *mut GTask, error: *mut *mut GError) -> gpointer;
59691}
59692extern "C" {
59693    pub fn g_task_propagate_boolean(task: *mut GTask, error: *mut *mut GError) -> gboolean;
59694}
59695extern "C" {
59696    pub fn g_task_propagate_int(task: *mut GTask, error: *mut *mut GError) -> gssize;
59697}
59698extern "C" {
59699    pub fn g_task_propagate_value(
59700        task: *mut GTask,
59701        value: *mut GValue,
59702        error: *mut *mut GError,
59703    ) -> gboolean;
59704}
59705extern "C" {
59706    pub fn g_task_had_error(task: *mut GTask) -> gboolean;
59707}
59708extern "C" {
59709    pub fn g_task_get_completed(task: *mut GTask) -> gboolean;
59710}
59711extern "C" {
59712    pub fn g_task_print_alive_tasks();
59713}
59714#[repr(C)]
59715#[derive(Debug, Copy, Clone)]
59716pub struct _GTcpConnectionPrivate {
59717    _unused: [u8; 0],
59718}
59719pub type GTcpConnectionPrivate = _GTcpConnectionPrivate;
59720pub type GTcpConnectionClass = _GTcpConnectionClass;
59721#[repr(C)]
59722#[derive(Debug, Copy, Clone, PartialEq, Eq)]
59723pub struct _GTcpConnectionClass {
59724    pub parent_class: GSocketConnectionClass,
59725}
59726#[test]
59727fn bindgen_test_layout__GTcpConnectionClass() {
59728    const UNINIT: ::std::mem::MaybeUninit<_GTcpConnectionClass> = ::std::mem::MaybeUninit::uninit();
59729    let ptr = UNINIT.as_ptr();
59730    assert_eq!(
59731        ::std::mem::size_of::<_GTcpConnectionClass>(),
59732        304usize,
59733        concat!("Size of: ", stringify!(_GTcpConnectionClass))
59734    );
59735    assert_eq!(
59736        ::std::mem::align_of::<_GTcpConnectionClass>(),
59737        8usize,
59738        concat!("Alignment of ", stringify!(_GTcpConnectionClass))
59739    );
59740    assert_eq!(
59741        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
59742        0usize,
59743        concat!(
59744            "Offset of field: ",
59745            stringify!(_GTcpConnectionClass),
59746            "::",
59747            stringify!(parent_class)
59748        )
59749    );
59750}
59751#[repr(C)]
59752#[derive(Debug, Copy, Clone, PartialEq, Eq)]
59753pub struct _GTcpConnection {
59754    pub parent_instance: GSocketConnection,
59755    pub priv_: *mut GTcpConnectionPrivate,
59756}
59757#[test]
59758fn bindgen_test_layout__GTcpConnection() {
59759    const UNINIT: ::std::mem::MaybeUninit<_GTcpConnection> = ::std::mem::MaybeUninit::uninit();
59760    let ptr = UNINIT.as_ptr();
59761    assert_eq!(
59762        ::std::mem::size_of::<_GTcpConnection>(),
59763        48usize,
59764        concat!("Size of: ", stringify!(_GTcpConnection))
59765    );
59766    assert_eq!(
59767        ::std::mem::align_of::<_GTcpConnection>(),
59768        8usize,
59769        concat!("Alignment of ", stringify!(_GTcpConnection))
59770    );
59771    assert_eq!(
59772        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
59773        0usize,
59774        concat!(
59775            "Offset of field: ",
59776            stringify!(_GTcpConnection),
59777            "::",
59778            stringify!(parent_instance)
59779        )
59780    );
59781    assert_eq!(
59782        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
59783        40usize,
59784        concat!(
59785            "Offset of field: ",
59786            stringify!(_GTcpConnection),
59787            "::",
59788            stringify!(priv_)
59789        )
59790    );
59791}
59792extern "C" {
59793    pub fn g_tcp_connection_get_type() -> GType;
59794}
59795extern "C" {
59796    pub fn g_tcp_connection_set_graceful_disconnect(
59797        connection: *mut GTcpConnection,
59798        graceful_disconnect: gboolean,
59799    );
59800}
59801extern "C" {
59802    pub fn g_tcp_connection_get_graceful_disconnect(connection: *mut GTcpConnection) -> gboolean;
59803}
59804#[repr(C)]
59805#[derive(Debug, Copy, Clone)]
59806pub struct _GTcpWrapperConnectionPrivate {
59807    _unused: [u8; 0],
59808}
59809pub type GTcpWrapperConnectionPrivate = _GTcpWrapperConnectionPrivate;
59810pub type GTcpWrapperConnectionClass = _GTcpWrapperConnectionClass;
59811#[repr(C)]
59812#[derive(Debug, Copy, Clone, PartialEq, Eq)]
59813pub struct _GTcpWrapperConnectionClass {
59814    pub parent_class: GTcpConnectionClass,
59815}
59816#[test]
59817fn bindgen_test_layout__GTcpWrapperConnectionClass() {
59818    const UNINIT: ::std::mem::MaybeUninit<_GTcpWrapperConnectionClass> =
59819        ::std::mem::MaybeUninit::uninit();
59820    let ptr = UNINIT.as_ptr();
59821    assert_eq!(
59822        ::std::mem::size_of::<_GTcpWrapperConnectionClass>(),
59823        304usize,
59824        concat!("Size of: ", stringify!(_GTcpWrapperConnectionClass))
59825    );
59826    assert_eq!(
59827        ::std::mem::align_of::<_GTcpWrapperConnectionClass>(),
59828        8usize,
59829        concat!("Alignment of ", stringify!(_GTcpWrapperConnectionClass))
59830    );
59831    assert_eq!(
59832        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
59833        0usize,
59834        concat!(
59835            "Offset of field: ",
59836            stringify!(_GTcpWrapperConnectionClass),
59837            "::",
59838            stringify!(parent_class)
59839        )
59840    );
59841}
59842#[repr(C)]
59843#[derive(Debug, Copy, Clone, PartialEq, Eq)]
59844pub struct _GTcpWrapperConnection {
59845    pub parent_instance: GTcpConnection,
59846    pub priv_: *mut GTcpWrapperConnectionPrivate,
59847}
59848#[test]
59849fn bindgen_test_layout__GTcpWrapperConnection() {
59850    const UNINIT: ::std::mem::MaybeUninit<_GTcpWrapperConnection> =
59851        ::std::mem::MaybeUninit::uninit();
59852    let ptr = UNINIT.as_ptr();
59853    assert_eq!(
59854        ::std::mem::size_of::<_GTcpWrapperConnection>(),
59855        56usize,
59856        concat!("Size of: ", stringify!(_GTcpWrapperConnection))
59857    );
59858    assert_eq!(
59859        ::std::mem::align_of::<_GTcpWrapperConnection>(),
59860        8usize,
59861        concat!("Alignment of ", stringify!(_GTcpWrapperConnection))
59862    );
59863    assert_eq!(
59864        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
59865        0usize,
59866        concat!(
59867            "Offset of field: ",
59868            stringify!(_GTcpWrapperConnection),
59869            "::",
59870            stringify!(parent_instance)
59871        )
59872    );
59873    assert_eq!(
59874        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
59875        48usize,
59876        concat!(
59877            "Offset of field: ",
59878            stringify!(_GTcpWrapperConnection),
59879            "::",
59880            stringify!(priv_)
59881        )
59882    );
59883}
59884extern "C" {
59885    pub fn g_tcp_wrapper_connection_get_type() -> GType;
59886}
59887extern "C" {
59888    pub fn g_tcp_wrapper_connection_new(
59889        base_io_stream: *mut GIOStream,
59890        socket: *mut GSocket,
59891    ) -> *mut GSocketConnection;
59892}
59893extern "C" {
59894    pub fn g_tcp_wrapper_connection_get_base_io_stream(
59895        conn: *mut GTcpWrapperConnection,
59896    ) -> *mut GIOStream;
59897}
59898extern "C" {
59899    pub fn g_test_dbus_get_type() -> GType;
59900}
59901extern "C" {
59902    pub fn g_test_dbus_new(flags: GTestDBusFlags) -> *mut GTestDBus;
59903}
59904extern "C" {
59905    pub fn g_test_dbus_get_flags(self_: *mut GTestDBus) -> GTestDBusFlags;
59906}
59907extern "C" {
59908    pub fn g_test_dbus_get_bus_address(self_: *mut GTestDBus) -> *const gchar;
59909}
59910extern "C" {
59911    pub fn g_test_dbus_add_service_dir(self_: *mut GTestDBus, path: *const gchar);
59912}
59913extern "C" {
59914    pub fn g_test_dbus_up(self_: *mut GTestDBus);
59915}
59916extern "C" {
59917    pub fn g_test_dbus_stop(self_: *mut GTestDBus);
59918}
59919extern "C" {
59920    pub fn g_test_dbus_down(self_: *mut GTestDBus);
59921}
59922extern "C" {
59923    pub fn g_test_dbus_unset();
59924}
59925#[repr(C)]
59926#[derive(Debug, Copy, Clone)]
59927pub struct _GThemedIconClass {
59928    _unused: [u8; 0],
59929}
59930#[doc = " GThemedIcon:\n\n An implementation of #GIcon for themed icons."]
59931pub type GThemedIconClass = _GThemedIconClass;
59932extern "C" {
59933    pub fn g_themed_icon_get_type() -> GType;
59934}
59935extern "C" {
59936    pub fn g_themed_icon_new(iconname: *const ::std::os::raw::c_char) -> *mut GIcon;
59937}
59938extern "C" {
59939    pub fn g_themed_icon_new_with_default_fallbacks(
59940        iconname: *const ::std::os::raw::c_char,
59941    ) -> *mut GIcon;
59942}
59943extern "C" {
59944    pub fn g_themed_icon_new_from_names(
59945        iconnames: *mut *mut ::std::os::raw::c_char,
59946        len: ::std::os::raw::c_int,
59947    ) -> *mut GIcon;
59948}
59949extern "C" {
59950    pub fn g_themed_icon_prepend_name(
59951        icon: *mut GThemedIcon,
59952        iconname: *const ::std::os::raw::c_char,
59953    );
59954}
59955extern "C" {
59956    pub fn g_themed_icon_append_name(
59957        icon: *mut GThemedIcon,
59958        iconname: *const ::std::os::raw::c_char,
59959    );
59960}
59961extern "C" {
59962    pub fn g_themed_icon_get_names(icon: *mut GThemedIcon) -> *const *const gchar;
59963}
59964#[repr(C)]
59965#[derive(Debug, Copy, Clone)]
59966pub struct _GThreadedSocketServicePrivate {
59967    _unused: [u8; 0],
59968}
59969pub type GThreadedSocketServicePrivate = _GThreadedSocketServicePrivate;
59970pub type GThreadedSocketServiceClass = _GThreadedSocketServiceClass;
59971#[repr(C)]
59972#[derive(Debug, Copy, Clone, PartialEq, Eq)]
59973pub struct _GThreadedSocketServiceClass {
59974    pub parent_class: GSocketServiceClass,
59975    pub run: ::std::option::Option<
59976        unsafe extern "C" fn(
59977            service: *mut GThreadedSocketService,
59978            connection: *mut GSocketConnection,
59979            source_object: *mut GObject,
59980        ) -> gboolean,
59981    >,
59982    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
59983    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
59984    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
59985    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
59986    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
59987}
59988#[test]
59989fn bindgen_test_layout__GThreadedSocketServiceClass() {
59990    const UNINIT: ::std::mem::MaybeUninit<_GThreadedSocketServiceClass> =
59991        ::std::mem::MaybeUninit::uninit();
59992    let ptr = UNINIT.as_ptr();
59993    assert_eq!(
59994        ::std::mem::size_of::<_GThreadedSocketServiceClass>(),
59995        296usize,
59996        concat!("Size of: ", stringify!(_GThreadedSocketServiceClass))
59997    );
59998    assert_eq!(
59999        ::std::mem::align_of::<_GThreadedSocketServiceClass>(),
60000        8usize,
60001        concat!("Alignment of ", stringify!(_GThreadedSocketServiceClass))
60002    );
60003    assert_eq!(
60004        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
60005        0usize,
60006        concat!(
60007            "Offset of field: ",
60008            stringify!(_GThreadedSocketServiceClass),
60009            "::",
60010            stringify!(parent_class)
60011        )
60012    );
60013    assert_eq!(
60014        unsafe { ::std::ptr::addr_of!((*ptr).run) as usize - ptr as usize },
60015        248usize,
60016        concat!(
60017            "Offset of field: ",
60018            stringify!(_GThreadedSocketServiceClass),
60019            "::",
60020            stringify!(run)
60021        )
60022    );
60023    assert_eq!(
60024        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
60025        256usize,
60026        concat!(
60027            "Offset of field: ",
60028            stringify!(_GThreadedSocketServiceClass),
60029            "::",
60030            stringify!(_g_reserved1)
60031        )
60032    );
60033    assert_eq!(
60034        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
60035        264usize,
60036        concat!(
60037            "Offset of field: ",
60038            stringify!(_GThreadedSocketServiceClass),
60039            "::",
60040            stringify!(_g_reserved2)
60041        )
60042    );
60043    assert_eq!(
60044        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
60045        272usize,
60046        concat!(
60047            "Offset of field: ",
60048            stringify!(_GThreadedSocketServiceClass),
60049            "::",
60050            stringify!(_g_reserved3)
60051        )
60052    );
60053    assert_eq!(
60054        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
60055        280usize,
60056        concat!(
60057            "Offset of field: ",
60058            stringify!(_GThreadedSocketServiceClass),
60059            "::",
60060            stringify!(_g_reserved4)
60061        )
60062    );
60063    assert_eq!(
60064        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
60065        288usize,
60066        concat!(
60067            "Offset of field: ",
60068            stringify!(_GThreadedSocketServiceClass),
60069            "::",
60070            stringify!(_g_reserved5)
60071        )
60072    );
60073}
60074#[repr(C)]
60075#[derive(Debug, Copy, Clone, PartialEq, Eq)]
60076pub struct _GThreadedSocketService {
60077    pub parent_instance: GSocketService,
60078    pub priv_: *mut GThreadedSocketServicePrivate,
60079}
60080#[test]
60081fn bindgen_test_layout__GThreadedSocketService() {
60082    const UNINIT: ::std::mem::MaybeUninit<_GThreadedSocketService> =
60083        ::std::mem::MaybeUninit::uninit();
60084    let ptr = UNINIT.as_ptr();
60085    assert_eq!(
60086        ::std::mem::size_of::<_GThreadedSocketService>(),
60087        48usize,
60088        concat!("Size of: ", stringify!(_GThreadedSocketService))
60089    );
60090    assert_eq!(
60091        ::std::mem::align_of::<_GThreadedSocketService>(),
60092        8usize,
60093        concat!("Alignment of ", stringify!(_GThreadedSocketService))
60094    );
60095    assert_eq!(
60096        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
60097        0usize,
60098        concat!(
60099            "Offset of field: ",
60100            stringify!(_GThreadedSocketService),
60101            "::",
60102            stringify!(parent_instance)
60103        )
60104    );
60105    assert_eq!(
60106        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
60107        40usize,
60108        concat!(
60109            "Offset of field: ",
60110            stringify!(_GThreadedSocketService),
60111            "::",
60112            stringify!(priv_)
60113        )
60114    );
60115}
60116extern "C" {
60117    pub fn g_threaded_socket_service_get_type() -> GType;
60118}
60119extern "C" {
60120    pub fn g_threaded_socket_service_new(max_threads: ::std::os::raw::c_int)
60121        -> *mut GSocketService;
60122}
60123#[repr(C)]
60124#[derive(Debug, Copy, Clone)]
60125pub struct _GTlsBackend {
60126    _unused: [u8; 0],
60127}
60128pub type GTlsBackend = _GTlsBackend;
60129#[doc = " GTlsBackendInterface:\n @g_iface: The parent interface.\n @supports_tls: returns whether the backend supports TLS.\n @supports_dtls: returns whether the backend supports DTLS\n @get_default_database: returns a default #GTlsDatabase instance.\n @get_certificate_type: returns the #GTlsCertificate implementation type\n @get_client_connection_type: returns the #GTlsClientConnection implementation type\n @get_server_connection_type: returns the #GTlsServerConnection implementation type\n @get_file_database_type: returns the #GTlsFileDatabase implementation type.\n @get_dtls_client_connection_type: returns the #GDtlsClientConnection implementation type\n @get_dtls_server_connection_type: returns the #GDtlsServerConnection implementation type\n\n Provides an interface for describing TLS-related types.\n\n Since: 2.28"]
60130pub type GTlsBackendInterface = _GTlsBackendInterface;
60131#[doc = " GTlsBackendInterface:\n @g_iface: The parent interface.\n @supports_tls: returns whether the backend supports TLS.\n @supports_dtls: returns whether the backend supports DTLS\n @get_default_database: returns a default #GTlsDatabase instance.\n @get_certificate_type: returns the #GTlsCertificate implementation type\n @get_client_connection_type: returns the #GTlsClientConnection implementation type\n @get_server_connection_type: returns the #GTlsServerConnection implementation type\n @get_file_database_type: returns the #GTlsFileDatabase implementation type.\n @get_dtls_client_connection_type: returns the #GDtlsClientConnection implementation type\n @get_dtls_server_connection_type: returns the #GDtlsServerConnection implementation type\n\n Provides an interface for describing TLS-related types.\n\n Since: 2.28"]
60132#[repr(C)]
60133#[derive(Debug, Copy, Clone, PartialEq, Eq)]
60134pub struct _GTlsBackendInterface {
60135    pub g_iface: GTypeInterface,
60136    pub supports_tls:
60137        ::std::option::Option<unsafe extern "C" fn(backend: *mut GTlsBackend) -> gboolean>,
60138    pub get_certificate_type: ::std::option::Option<unsafe extern "C" fn() -> GType>,
60139    pub get_client_connection_type: ::std::option::Option<unsafe extern "C" fn() -> GType>,
60140    pub get_server_connection_type: ::std::option::Option<unsafe extern "C" fn() -> GType>,
60141    pub get_file_database_type: ::std::option::Option<unsafe extern "C" fn() -> GType>,
60142    pub get_default_database:
60143        ::std::option::Option<unsafe extern "C" fn(backend: *mut GTlsBackend) -> *mut GTlsDatabase>,
60144    pub supports_dtls:
60145        ::std::option::Option<unsafe extern "C" fn(backend: *mut GTlsBackend) -> gboolean>,
60146    pub get_dtls_client_connection_type: ::std::option::Option<unsafe extern "C" fn() -> GType>,
60147    pub get_dtls_server_connection_type: ::std::option::Option<unsafe extern "C" fn() -> GType>,
60148}
60149#[test]
60150fn bindgen_test_layout__GTlsBackendInterface() {
60151    const UNINIT: ::std::mem::MaybeUninit<_GTlsBackendInterface> =
60152        ::std::mem::MaybeUninit::uninit();
60153    let ptr = UNINIT.as_ptr();
60154    assert_eq!(
60155        ::std::mem::size_of::<_GTlsBackendInterface>(),
60156        88usize,
60157        concat!("Size of: ", stringify!(_GTlsBackendInterface))
60158    );
60159    assert_eq!(
60160        ::std::mem::align_of::<_GTlsBackendInterface>(),
60161        8usize,
60162        concat!("Alignment of ", stringify!(_GTlsBackendInterface))
60163    );
60164    assert_eq!(
60165        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
60166        0usize,
60167        concat!(
60168            "Offset of field: ",
60169            stringify!(_GTlsBackendInterface),
60170            "::",
60171            stringify!(g_iface)
60172        )
60173    );
60174    assert_eq!(
60175        unsafe { ::std::ptr::addr_of!((*ptr).supports_tls) as usize - ptr as usize },
60176        16usize,
60177        concat!(
60178            "Offset of field: ",
60179            stringify!(_GTlsBackendInterface),
60180            "::",
60181            stringify!(supports_tls)
60182        )
60183    );
60184    assert_eq!(
60185        unsafe { ::std::ptr::addr_of!((*ptr).get_certificate_type) as usize - ptr as usize },
60186        24usize,
60187        concat!(
60188            "Offset of field: ",
60189            stringify!(_GTlsBackendInterface),
60190            "::",
60191            stringify!(get_certificate_type)
60192        )
60193    );
60194    assert_eq!(
60195        unsafe { ::std::ptr::addr_of!((*ptr).get_client_connection_type) as usize - ptr as usize },
60196        32usize,
60197        concat!(
60198            "Offset of field: ",
60199            stringify!(_GTlsBackendInterface),
60200            "::",
60201            stringify!(get_client_connection_type)
60202        )
60203    );
60204    assert_eq!(
60205        unsafe { ::std::ptr::addr_of!((*ptr).get_server_connection_type) as usize - ptr as usize },
60206        40usize,
60207        concat!(
60208            "Offset of field: ",
60209            stringify!(_GTlsBackendInterface),
60210            "::",
60211            stringify!(get_server_connection_type)
60212        )
60213    );
60214    assert_eq!(
60215        unsafe { ::std::ptr::addr_of!((*ptr).get_file_database_type) as usize - ptr as usize },
60216        48usize,
60217        concat!(
60218            "Offset of field: ",
60219            stringify!(_GTlsBackendInterface),
60220            "::",
60221            stringify!(get_file_database_type)
60222        )
60223    );
60224    assert_eq!(
60225        unsafe { ::std::ptr::addr_of!((*ptr).get_default_database) as usize - ptr as usize },
60226        56usize,
60227        concat!(
60228            "Offset of field: ",
60229            stringify!(_GTlsBackendInterface),
60230            "::",
60231            stringify!(get_default_database)
60232        )
60233    );
60234    assert_eq!(
60235        unsafe { ::std::ptr::addr_of!((*ptr).supports_dtls) as usize - ptr as usize },
60236        64usize,
60237        concat!(
60238            "Offset of field: ",
60239            stringify!(_GTlsBackendInterface),
60240            "::",
60241            stringify!(supports_dtls)
60242        )
60243    );
60244    assert_eq!(
60245        unsafe {
60246            ::std::ptr::addr_of!((*ptr).get_dtls_client_connection_type) as usize - ptr as usize
60247        },
60248        72usize,
60249        concat!(
60250            "Offset of field: ",
60251            stringify!(_GTlsBackendInterface),
60252            "::",
60253            stringify!(get_dtls_client_connection_type)
60254        )
60255    );
60256    assert_eq!(
60257        unsafe {
60258            ::std::ptr::addr_of!((*ptr).get_dtls_server_connection_type) as usize - ptr as usize
60259        },
60260        80usize,
60261        concat!(
60262            "Offset of field: ",
60263            stringify!(_GTlsBackendInterface),
60264            "::",
60265            stringify!(get_dtls_server_connection_type)
60266        )
60267    );
60268}
60269extern "C" {
60270    pub fn g_tls_backend_get_type() -> GType;
60271}
60272extern "C" {
60273    pub fn g_tls_backend_get_default() -> *mut GTlsBackend;
60274}
60275extern "C" {
60276    pub fn g_tls_backend_get_default_database(backend: *mut GTlsBackend) -> *mut GTlsDatabase;
60277}
60278extern "C" {
60279    pub fn g_tls_backend_set_default_database(
60280        backend: *mut GTlsBackend,
60281        database: *mut GTlsDatabase,
60282    );
60283}
60284extern "C" {
60285    pub fn g_tls_backend_supports_tls(backend: *mut GTlsBackend) -> gboolean;
60286}
60287extern "C" {
60288    pub fn g_tls_backend_supports_dtls(backend: *mut GTlsBackend) -> gboolean;
60289}
60290extern "C" {
60291    pub fn g_tls_backend_get_certificate_type(backend: *mut GTlsBackend) -> GType;
60292}
60293extern "C" {
60294    pub fn g_tls_backend_get_client_connection_type(backend: *mut GTlsBackend) -> GType;
60295}
60296extern "C" {
60297    pub fn g_tls_backend_get_server_connection_type(backend: *mut GTlsBackend) -> GType;
60298}
60299extern "C" {
60300    pub fn g_tls_backend_get_file_database_type(backend: *mut GTlsBackend) -> GType;
60301}
60302extern "C" {
60303    pub fn g_tls_backend_get_dtls_client_connection_type(backend: *mut GTlsBackend) -> GType;
60304}
60305extern "C" {
60306    pub fn g_tls_backend_get_dtls_server_connection_type(backend: *mut GTlsBackend) -> GType;
60307}
60308pub type GTlsCertificateClass = _GTlsCertificateClass;
60309#[repr(C)]
60310#[derive(Debug, Copy, Clone)]
60311pub struct _GTlsCertificatePrivate {
60312    _unused: [u8; 0],
60313}
60314pub type GTlsCertificatePrivate = _GTlsCertificatePrivate;
60315#[repr(C)]
60316#[derive(Debug, Copy, Clone, PartialEq, Eq)]
60317pub struct _GTlsCertificate {
60318    pub parent_instance: GObject,
60319    pub priv_: *mut GTlsCertificatePrivate,
60320}
60321#[test]
60322fn bindgen_test_layout__GTlsCertificate() {
60323    const UNINIT: ::std::mem::MaybeUninit<_GTlsCertificate> = ::std::mem::MaybeUninit::uninit();
60324    let ptr = UNINIT.as_ptr();
60325    assert_eq!(
60326        ::std::mem::size_of::<_GTlsCertificate>(),
60327        32usize,
60328        concat!("Size of: ", stringify!(_GTlsCertificate))
60329    );
60330    assert_eq!(
60331        ::std::mem::align_of::<_GTlsCertificate>(),
60332        8usize,
60333        concat!("Alignment of ", stringify!(_GTlsCertificate))
60334    );
60335    assert_eq!(
60336        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
60337        0usize,
60338        concat!(
60339            "Offset of field: ",
60340            stringify!(_GTlsCertificate),
60341            "::",
60342            stringify!(parent_instance)
60343        )
60344    );
60345    assert_eq!(
60346        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
60347        24usize,
60348        concat!(
60349            "Offset of field: ",
60350            stringify!(_GTlsCertificate),
60351            "::",
60352            stringify!(priv_)
60353        )
60354    );
60355}
60356#[repr(C)]
60357#[derive(Debug, Copy, Clone, PartialEq, Eq)]
60358pub struct _GTlsCertificateClass {
60359    pub parent_class: GObjectClass,
60360    pub verify: ::std::option::Option<
60361        unsafe extern "C" fn(
60362            cert: *mut GTlsCertificate,
60363            identity: *mut GSocketConnectable,
60364            trusted_ca: *mut GTlsCertificate,
60365        ) -> GTlsCertificateFlags,
60366    >,
60367    pub padding: [gpointer; 8usize],
60368}
60369#[test]
60370fn bindgen_test_layout__GTlsCertificateClass() {
60371    const UNINIT: ::std::mem::MaybeUninit<_GTlsCertificateClass> =
60372        ::std::mem::MaybeUninit::uninit();
60373    let ptr = UNINIT.as_ptr();
60374    assert_eq!(
60375        ::std::mem::size_of::<_GTlsCertificateClass>(),
60376        208usize,
60377        concat!("Size of: ", stringify!(_GTlsCertificateClass))
60378    );
60379    assert_eq!(
60380        ::std::mem::align_of::<_GTlsCertificateClass>(),
60381        8usize,
60382        concat!("Alignment of ", stringify!(_GTlsCertificateClass))
60383    );
60384    assert_eq!(
60385        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
60386        0usize,
60387        concat!(
60388            "Offset of field: ",
60389            stringify!(_GTlsCertificateClass),
60390            "::",
60391            stringify!(parent_class)
60392        )
60393    );
60394    assert_eq!(
60395        unsafe { ::std::ptr::addr_of!((*ptr).verify) as usize - ptr as usize },
60396        136usize,
60397        concat!(
60398            "Offset of field: ",
60399            stringify!(_GTlsCertificateClass),
60400            "::",
60401            stringify!(verify)
60402        )
60403    );
60404    assert_eq!(
60405        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
60406        144usize,
60407        concat!(
60408            "Offset of field: ",
60409            stringify!(_GTlsCertificateClass),
60410            "::",
60411            stringify!(padding)
60412        )
60413    );
60414}
60415extern "C" {
60416    pub fn g_tls_certificate_get_type() -> GType;
60417}
60418extern "C" {
60419    pub fn g_tls_certificate_new_from_pem(
60420        data: *const gchar,
60421        length: gssize,
60422        error: *mut *mut GError,
60423    ) -> *mut GTlsCertificate;
60424}
60425extern "C" {
60426    pub fn g_tls_certificate_new_from_pkcs12(
60427        data: *const guint8,
60428        length: gsize,
60429        password: *const gchar,
60430        error: *mut *mut GError,
60431    ) -> *mut GTlsCertificate;
60432}
60433extern "C" {
60434    pub fn g_tls_certificate_new_from_file_with_password(
60435        file: *const gchar,
60436        password: *const gchar,
60437        error: *mut *mut GError,
60438    ) -> *mut GTlsCertificate;
60439}
60440extern "C" {
60441    pub fn g_tls_certificate_new_from_file(
60442        file: *const gchar,
60443        error: *mut *mut GError,
60444    ) -> *mut GTlsCertificate;
60445}
60446extern "C" {
60447    pub fn g_tls_certificate_new_from_files(
60448        cert_file: *const gchar,
60449        key_file: *const gchar,
60450        error: *mut *mut GError,
60451    ) -> *mut GTlsCertificate;
60452}
60453extern "C" {
60454    pub fn g_tls_certificate_new_from_pkcs11_uris(
60455        pkcs11_uri: *const gchar,
60456        private_key_pkcs11_uri: *const gchar,
60457        error: *mut *mut GError,
60458    ) -> *mut GTlsCertificate;
60459}
60460extern "C" {
60461    pub fn g_tls_certificate_list_new_from_file(
60462        file: *const gchar,
60463        error: *mut *mut GError,
60464    ) -> *mut GList;
60465}
60466extern "C" {
60467    pub fn g_tls_certificate_get_issuer(cert: *mut GTlsCertificate) -> *mut GTlsCertificate;
60468}
60469extern "C" {
60470    pub fn g_tls_certificate_verify(
60471        cert: *mut GTlsCertificate,
60472        identity: *mut GSocketConnectable,
60473        trusted_ca: *mut GTlsCertificate,
60474    ) -> GTlsCertificateFlags;
60475}
60476extern "C" {
60477    pub fn g_tls_certificate_is_same(
60478        cert_one: *mut GTlsCertificate,
60479        cert_two: *mut GTlsCertificate,
60480    ) -> gboolean;
60481}
60482extern "C" {
60483    pub fn g_tls_certificate_get_not_valid_before(cert: *mut GTlsCertificate) -> *mut GDateTime;
60484}
60485extern "C" {
60486    pub fn g_tls_certificate_get_not_valid_after(cert: *mut GTlsCertificate) -> *mut GDateTime;
60487}
60488extern "C" {
60489    pub fn g_tls_certificate_get_subject_name(cert: *mut GTlsCertificate) -> *mut gchar;
60490}
60491extern "C" {
60492    pub fn g_tls_certificate_get_issuer_name(cert: *mut GTlsCertificate) -> *mut gchar;
60493}
60494extern "C" {
60495    pub fn g_tls_certificate_get_dns_names(cert: *mut GTlsCertificate) -> *mut GPtrArray;
60496}
60497extern "C" {
60498    pub fn g_tls_certificate_get_ip_addresses(cert: *mut GTlsCertificate) -> *mut GPtrArray;
60499}
60500#[doc = " GTlsConnectionClass:\n @parent_class: The parent class.\n @accept_certificate: Check whether to accept a certificate.\n @handshake: Perform a handshake operation.\n @handshake_async: Start an asynchronous handshake operation.\n @handshake_finish: Finish an asynchronous handshake operation.\n @get_binding_data: Retrieve TLS channel binding data (Since: 2.66)\n @get_negotiated_protocol: Get ALPN-negotiated protocol (Since: 2.70)\n\n The class structure for the #GTlsConnection type.\n\n Since: 2.28"]
60501pub type GTlsConnectionClass = _GTlsConnectionClass;
60502#[repr(C)]
60503#[derive(Debug, Copy, Clone)]
60504pub struct _GTlsConnectionPrivate {
60505    _unused: [u8; 0],
60506}
60507pub type GTlsConnectionPrivate = _GTlsConnectionPrivate;
60508#[repr(C)]
60509#[derive(Debug, Copy, Clone, PartialEq, Eq)]
60510pub struct _GTlsConnection {
60511    pub parent_instance: GIOStream,
60512    pub priv_: *mut GTlsConnectionPrivate,
60513}
60514#[test]
60515fn bindgen_test_layout__GTlsConnection() {
60516    const UNINIT: ::std::mem::MaybeUninit<_GTlsConnection> = ::std::mem::MaybeUninit::uninit();
60517    let ptr = UNINIT.as_ptr();
60518    assert_eq!(
60519        ::std::mem::size_of::<_GTlsConnection>(),
60520        40usize,
60521        concat!("Size of: ", stringify!(_GTlsConnection))
60522    );
60523    assert_eq!(
60524        ::std::mem::align_of::<_GTlsConnection>(),
60525        8usize,
60526        concat!("Alignment of ", stringify!(_GTlsConnection))
60527    );
60528    assert_eq!(
60529        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
60530        0usize,
60531        concat!(
60532            "Offset of field: ",
60533            stringify!(_GTlsConnection),
60534            "::",
60535            stringify!(parent_instance)
60536        )
60537    );
60538    assert_eq!(
60539        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
60540        32usize,
60541        concat!(
60542            "Offset of field: ",
60543            stringify!(_GTlsConnection),
60544            "::",
60545            stringify!(priv_)
60546        )
60547    );
60548}
60549#[doc = " GTlsConnectionClass:\n @parent_class: The parent class.\n @accept_certificate: Check whether to accept a certificate.\n @handshake: Perform a handshake operation.\n @handshake_async: Start an asynchronous handshake operation.\n @handshake_finish: Finish an asynchronous handshake operation.\n @get_binding_data: Retrieve TLS channel binding data (Since: 2.66)\n @get_negotiated_protocol: Get ALPN-negotiated protocol (Since: 2.70)\n\n The class structure for the #GTlsConnection type.\n\n Since: 2.28"]
60550#[repr(C)]
60551#[derive(Debug, Copy, Clone, PartialEq, Eq)]
60552pub struct _GTlsConnectionClass {
60553    pub parent_class: GIOStreamClass,
60554    pub accept_certificate: ::std::option::Option<
60555        unsafe extern "C" fn(
60556            connection: *mut GTlsConnection,
60557            peer_cert: *mut GTlsCertificate,
60558            errors: GTlsCertificateFlags,
60559        ) -> gboolean,
60560    >,
60561    pub handshake: ::std::option::Option<
60562        unsafe extern "C" fn(
60563            conn: *mut GTlsConnection,
60564            cancellable: *mut GCancellable,
60565            error: *mut *mut GError,
60566        ) -> gboolean,
60567    >,
60568    pub handshake_async: ::std::option::Option<
60569        unsafe extern "C" fn(
60570            conn: *mut GTlsConnection,
60571            io_priority: ::std::os::raw::c_int,
60572            cancellable: *mut GCancellable,
60573            callback: GAsyncReadyCallback,
60574            user_data: gpointer,
60575        ),
60576    >,
60577    pub handshake_finish: ::std::option::Option<
60578        unsafe extern "C" fn(
60579            conn: *mut GTlsConnection,
60580            result: *mut GAsyncResult,
60581            error: *mut *mut GError,
60582        ) -> gboolean,
60583    >,
60584    pub get_binding_data: ::std::option::Option<
60585        unsafe extern "C" fn(
60586            conn: *mut GTlsConnection,
60587            type_: GTlsChannelBindingType,
60588            data: *mut GByteArray,
60589            error: *mut *mut GError,
60590        ) -> gboolean,
60591    >,
60592    pub get_negotiated_protocol:
60593        ::std::option::Option<unsafe extern "C" fn(conn: *mut GTlsConnection) -> *const gchar>,
60594    pub padding: [gpointer; 6usize],
60595}
60596#[test]
60597fn bindgen_test_layout__GTlsConnectionClass() {
60598    const UNINIT: ::std::mem::MaybeUninit<_GTlsConnectionClass> = ::std::mem::MaybeUninit::uninit();
60599    let ptr = UNINIT.as_ptr();
60600    assert_eq!(
60601        ::std::mem::size_of::<_GTlsConnectionClass>(),
60602        352usize,
60603        concat!("Size of: ", stringify!(_GTlsConnectionClass))
60604    );
60605    assert_eq!(
60606        ::std::mem::align_of::<_GTlsConnectionClass>(),
60607        8usize,
60608        concat!("Alignment of ", stringify!(_GTlsConnectionClass))
60609    );
60610    assert_eq!(
60611        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
60612        0usize,
60613        concat!(
60614            "Offset of field: ",
60615            stringify!(_GTlsConnectionClass),
60616            "::",
60617            stringify!(parent_class)
60618        )
60619    );
60620    assert_eq!(
60621        unsafe { ::std::ptr::addr_of!((*ptr).accept_certificate) as usize - ptr as usize },
60622        256usize,
60623        concat!(
60624            "Offset of field: ",
60625            stringify!(_GTlsConnectionClass),
60626            "::",
60627            stringify!(accept_certificate)
60628        )
60629    );
60630    assert_eq!(
60631        unsafe { ::std::ptr::addr_of!((*ptr).handshake) as usize - ptr as usize },
60632        264usize,
60633        concat!(
60634            "Offset of field: ",
60635            stringify!(_GTlsConnectionClass),
60636            "::",
60637            stringify!(handshake)
60638        )
60639    );
60640    assert_eq!(
60641        unsafe { ::std::ptr::addr_of!((*ptr).handshake_async) as usize - ptr as usize },
60642        272usize,
60643        concat!(
60644            "Offset of field: ",
60645            stringify!(_GTlsConnectionClass),
60646            "::",
60647            stringify!(handshake_async)
60648        )
60649    );
60650    assert_eq!(
60651        unsafe { ::std::ptr::addr_of!((*ptr).handshake_finish) as usize - ptr as usize },
60652        280usize,
60653        concat!(
60654            "Offset of field: ",
60655            stringify!(_GTlsConnectionClass),
60656            "::",
60657            stringify!(handshake_finish)
60658        )
60659    );
60660    assert_eq!(
60661        unsafe { ::std::ptr::addr_of!((*ptr).get_binding_data) as usize - ptr as usize },
60662        288usize,
60663        concat!(
60664            "Offset of field: ",
60665            stringify!(_GTlsConnectionClass),
60666            "::",
60667            stringify!(get_binding_data)
60668        )
60669    );
60670    assert_eq!(
60671        unsafe { ::std::ptr::addr_of!((*ptr).get_negotiated_protocol) as usize - ptr as usize },
60672        296usize,
60673        concat!(
60674            "Offset of field: ",
60675            stringify!(_GTlsConnectionClass),
60676            "::",
60677            stringify!(get_negotiated_protocol)
60678        )
60679    );
60680    assert_eq!(
60681        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
60682        304usize,
60683        concat!(
60684            "Offset of field: ",
60685            stringify!(_GTlsConnectionClass),
60686            "::",
60687            stringify!(padding)
60688        )
60689    );
60690}
60691extern "C" {
60692    pub fn g_tls_connection_get_type() -> GType;
60693}
60694extern "C" {
60695    pub fn g_tls_connection_set_use_system_certdb(
60696        conn: *mut GTlsConnection,
60697        use_system_certdb: gboolean,
60698    );
60699}
60700extern "C" {
60701    pub fn g_tls_connection_get_use_system_certdb(conn: *mut GTlsConnection) -> gboolean;
60702}
60703extern "C" {
60704    pub fn g_tls_connection_set_database(conn: *mut GTlsConnection, database: *mut GTlsDatabase);
60705}
60706extern "C" {
60707    pub fn g_tls_connection_get_database(conn: *mut GTlsConnection) -> *mut GTlsDatabase;
60708}
60709extern "C" {
60710    pub fn g_tls_connection_set_certificate(
60711        conn: *mut GTlsConnection,
60712        certificate: *mut GTlsCertificate,
60713    );
60714}
60715extern "C" {
60716    pub fn g_tls_connection_get_certificate(conn: *mut GTlsConnection) -> *mut GTlsCertificate;
60717}
60718extern "C" {
60719    pub fn g_tls_connection_set_interaction(
60720        conn: *mut GTlsConnection,
60721        interaction: *mut GTlsInteraction,
60722    );
60723}
60724extern "C" {
60725    pub fn g_tls_connection_get_interaction(conn: *mut GTlsConnection) -> *mut GTlsInteraction;
60726}
60727extern "C" {
60728    pub fn g_tls_connection_get_peer_certificate(conn: *mut GTlsConnection)
60729        -> *mut GTlsCertificate;
60730}
60731extern "C" {
60732    pub fn g_tls_connection_get_peer_certificate_errors(
60733        conn: *mut GTlsConnection,
60734    ) -> GTlsCertificateFlags;
60735}
60736extern "C" {
60737    pub fn g_tls_connection_set_require_close_notify(
60738        conn: *mut GTlsConnection,
60739        require_close_notify: gboolean,
60740    );
60741}
60742extern "C" {
60743    pub fn g_tls_connection_get_require_close_notify(conn: *mut GTlsConnection) -> gboolean;
60744}
60745extern "C" {
60746    pub fn g_tls_connection_set_rehandshake_mode(
60747        conn: *mut GTlsConnection,
60748        mode: GTlsRehandshakeMode,
60749    );
60750}
60751extern "C" {
60752    pub fn g_tls_connection_get_rehandshake_mode(conn: *mut GTlsConnection) -> GTlsRehandshakeMode;
60753}
60754extern "C" {
60755    pub fn g_tls_connection_set_advertised_protocols(
60756        conn: *mut GTlsConnection,
60757        protocols: *const *const gchar,
60758    );
60759}
60760extern "C" {
60761    pub fn g_tls_connection_get_negotiated_protocol(conn: *mut GTlsConnection) -> *const gchar;
60762}
60763extern "C" {
60764    pub fn g_tls_connection_get_channel_binding_data(
60765        conn: *mut GTlsConnection,
60766        type_: GTlsChannelBindingType,
60767        data: *mut GByteArray,
60768        error: *mut *mut GError,
60769    ) -> gboolean;
60770}
60771extern "C" {
60772    pub fn g_tls_connection_handshake(
60773        conn: *mut GTlsConnection,
60774        cancellable: *mut GCancellable,
60775        error: *mut *mut GError,
60776    ) -> gboolean;
60777}
60778extern "C" {
60779    pub fn g_tls_connection_handshake_async(
60780        conn: *mut GTlsConnection,
60781        io_priority: ::std::os::raw::c_int,
60782        cancellable: *mut GCancellable,
60783        callback: GAsyncReadyCallback,
60784        user_data: gpointer,
60785    );
60786}
60787extern "C" {
60788    pub fn g_tls_connection_handshake_finish(
60789        conn: *mut GTlsConnection,
60790        result: *mut GAsyncResult,
60791        error: *mut *mut GError,
60792    ) -> gboolean;
60793}
60794extern "C" {
60795    pub fn g_tls_connection_get_protocol_version(conn: *mut GTlsConnection) -> GTlsProtocolVersion;
60796}
60797extern "C" {
60798    pub fn g_tls_connection_get_ciphersuite_name(conn: *mut GTlsConnection) -> *mut gchar;
60799}
60800extern "C" {
60801    pub fn g_tls_error_quark() -> GQuark;
60802}
60803extern "C" {
60804    pub fn g_tls_channel_binding_error_quark() -> GQuark;
60805}
60806extern "C" {
60807    pub fn g_tls_connection_emit_accept_certificate(
60808        conn: *mut GTlsConnection,
60809        peer_cert: *mut GTlsCertificate,
60810        errors: GTlsCertificateFlags,
60811    ) -> gboolean;
60812}
60813#[doc = " GTlsClientConnectionInterface:\n @g_iface: The parent interface.\n @copy_session_state: Copies session state from one #GTlsClientConnection to another.\n\n vtable for a #GTlsClientConnection implementation.\n\n Since: 2.26"]
60814pub type GTlsClientConnectionInterface = _GTlsClientConnectionInterface;
60815#[doc = " GTlsClientConnectionInterface:\n @g_iface: The parent interface.\n @copy_session_state: Copies session state from one #GTlsClientConnection to another.\n\n vtable for a #GTlsClientConnection implementation.\n\n Since: 2.26"]
60816#[repr(C)]
60817#[derive(Debug, Copy, Clone, PartialEq, Eq)]
60818pub struct _GTlsClientConnectionInterface {
60819    pub g_iface: GTypeInterface,
60820    pub copy_session_state: ::std::option::Option<
60821        unsafe extern "C" fn(conn: *mut GTlsClientConnection, source: *mut GTlsClientConnection),
60822    >,
60823}
60824#[test]
60825fn bindgen_test_layout__GTlsClientConnectionInterface() {
60826    const UNINIT: ::std::mem::MaybeUninit<_GTlsClientConnectionInterface> =
60827        ::std::mem::MaybeUninit::uninit();
60828    let ptr = UNINIT.as_ptr();
60829    assert_eq!(
60830        ::std::mem::size_of::<_GTlsClientConnectionInterface>(),
60831        24usize,
60832        concat!("Size of: ", stringify!(_GTlsClientConnectionInterface))
60833    );
60834    assert_eq!(
60835        ::std::mem::align_of::<_GTlsClientConnectionInterface>(),
60836        8usize,
60837        concat!("Alignment of ", stringify!(_GTlsClientConnectionInterface))
60838    );
60839    assert_eq!(
60840        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
60841        0usize,
60842        concat!(
60843            "Offset of field: ",
60844            stringify!(_GTlsClientConnectionInterface),
60845            "::",
60846            stringify!(g_iface)
60847        )
60848    );
60849    assert_eq!(
60850        unsafe { ::std::ptr::addr_of!((*ptr).copy_session_state) as usize - ptr as usize },
60851        16usize,
60852        concat!(
60853            "Offset of field: ",
60854            stringify!(_GTlsClientConnectionInterface),
60855            "::",
60856            stringify!(copy_session_state)
60857        )
60858    );
60859}
60860extern "C" {
60861    pub fn g_tls_client_connection_get_type() -> GType;
60862}
60863extern "C" {
60864    pub fn g_tls_client_connection_new(
60865        base_io_stream: *mut GIOStream,
60866        server_identity: *mut GSocketConnectable,
60867        error: *mut *mut GError,
60868    ) -> *mut GIOStream;
60869}
60870extern "C" {
60871    pub fn g_tls_client_connection_get_validation_flags(
60872        conn: *mut GTlsClientConnection,
60873    ) -> GTlsCertificateFlags;
60874}
60875extern "C" {
60876    pub fn g_tls_client_connection_set_validation_flags(
60877        conn: *mut GTlsClientConnection,
60878        flags: GTlsCertificateFlags,
60879    );
60880}
60881extern "C" {
60882    pub fn g_tls_client_connection_get_server_identity(
60883        conn: *mut GTlsClientConnection,
60884    ) -> *mut GSocketConnectable;
60885}
60886extern "C" {
60887    pub fn g_tls_client_connection_set_server_identity(
60888        conn: *mut GTlsClientConnection,
60889        identity: *mut GSocketConnectable,
60890    );
60891}
60892extern "C" {
60893    pub fn g_tls_client_connection_get_use_ssl3(conn: *mut GTlsClientConnection) -> gboolean;
60894}
60895extern "C" {
60896    pub fn g_tls_client_connection_set_use_ssl3(
60897        conn: *mut GTlsClientConnection,
60898        use_ssl3: gboolean,
60899    );
60900}
60901extern "C" {
60902    pub fn g_tls_client_connection_get_accepted_cas(conn: *mut GTlsClientConnection) -> *mut GList;
60903}
60904extern "C" {
60905    pub fn g_tls_client_connection_copy_session_state(
60906        conn: *mut GTlsClientConnection,
60907        source: *mut GTlsClientConnection,
60908    );
60909}
60910pub type GTlsDatabaseClass = _GTlsDatabaseClass;
60911#[repr(C)]
60912#[derive(Debug, Copy, Clone)]
60913pub struct _GTlsDatabasePrivate {
60914    _unused: [u8; 0],
60915}
60916pub type GTlsDatabasePrivate = _GTlsDatabasePrivate;
60917#[repr(C)]
60918#[derive(Debug, Copy, Clone, PartialEq, Eq)]
60919pub struct _GTlsDatabase {
60920    pub parent_instance: GObject,
60921    pub priv_: *mut GTlsDatabasePrivate,
60922}
60923#[test]
60924fn bindgen_test_layout__GTlsDatabase() {
60925    const UNINIT: ::std::mem::MaybeUninit<_GTlsDatabase> = ::std::mem::MaybeUninit::uninit();
60926    let ptr = UNINIT.as_ptr();
60927    assert_eq!(
60928        ::std::mem::size_of::<_GTlsDatabase>(),
60929        32usize,
60930        concat!("Size of: ", stringify!(_GTlsDatabase))
60931    );
60932    assert_eq!(
60933        ::std::mem::align_of::<_GTlsDatabase>(),
60934        8usize,
60935        concat!("Alignment of ", stringify!(_GTlsDatabase))
60936    );
60937    assert_eq!(
60938        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
60939        0usize,
60940        concat!(
60941            "Offset of field: ",
60942            stringify!(_GTlsDatabase),
60943            "::",
60944            stringify!(parent_instance)
60945        )
60946    );
60947    assert_eq!(
60948        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
60949        24usize,
60950        concat!(
60951            "Offset of field: ",
60952            stringify!(_GTlsDatabase),
60953            "::",
60954            stringify!(priv_)
60955        )
60956    );
60957}
60958#[repr(C)]
60959#[derive(Debug, Copy, Clone, PartialEq, Eq)]
60960pub struct _GTlsDatabaseClass {
60961    pub parent_class: GObjectClass,
60962    pub verify_chain: ::std::option::Option<
60963        unsafe extern "C" fn(
60964            self_: *mut GTlsDatabase,
60965            chain: *mut GTlsCertificate,
60966            purpose: *const gchar,
60967            identity: *mut GSocketConnectable,
60968            interaction: *mut GTlsInteraction,
60969            flags: GTlsDatabaseVerifyFlags,
60970            cancellable: *mut GCancellable,
60971            error: *mut *mut GError,
60972        ) -> GTlsCertificateFlags,
60973    >,
60974    pub verify_chain_async: ::std::option::Option<
60975        unsafe extern "C" fn(
60976            self_: *mut GTlsDatabase,
60977            chain: *mut GTlsCertificate,
60978            purpose: *const gchar,
60979            identity: *mut GSocketConnectable,
60980            interaction: *mut GTlsInteraction,
60981            flags: GTlsDatabaseVerifyFlags,
60982            cancellable: *mut GCancellable,
60983            callback: GAsyncReadyCallback,
60984            user_data: gpointer,
60985        ),
60986    >,
60987    pub verify_chain_finish: ::std::option::Option<
60988        unsafe extern "C" fn(
60989            self_: *mut GTlsDatabase,
60990            result: *mut GAsyncResult,
60991            error: *mut *mut GError,
60992        ) -> GTlsCertificateFlags,
60993    >,
60994    pub create_certificate_handle: ::std::option::Option<
60995        unsafe extern "C" fn(
60996            self_: *mut GTlsDatabase,
60997            certificate: *mut GTlsCertificate,
60998        ) -> *mut gchar,
60999    >,
61000    pub lookup_certificate_for_handle: ::std::option::Option<
61001        unsafe extern "C" fn(
61002            self_: *mut GTlsDatabase,
61003            handle: *const gchar,
61004            interaction: *mut GTlsInteraction,
61005            flags: GTlsDatabaseLookupFlags,
61006            cancellable: *mut GCancellable,
61007            error: *mut *mut GError,
61008        ) -> *mut GTlsCertificate,
61009    >,
61010    pub lookup_certificate_for_handle_async: ::std::option::Option<
61011        unsafe extern "C" fn(
61012            self_: *mut GTlsDatabase,
61013            handle: *const gchar,
61014            interaction: *mut GTlsInteraction,
61015            flags: GTlsDatabaseLookupFlags,
61016            cancellable: *mut GCancellable,
61017            callback: GAsyncReadyCallback,
61018            user_data: gpointer,
61019        ),
61020    >,
61021    pub lookup_certificate_for_handle_finish: ::std::option::Option<
61022        unsafe extern "C" fn(
61023            self_: *mut GTlsDatabase,
61024            result: *mut GAsyncResult,
61025            error: *mut *mut GError,
61026        ) -> *mut GTlsCertificate,
61027    >,
61028    pub lookup_certificate_issuer: ::std::option::Option<
61029        unsafe extern "C" fn(
61030            self_: *mut GTlsDatabase,
61031            certificate: *mut GTlsCertificate,
61032            interaction: *mut GTlsInteraction,
61033            flags: GTlsDatabaseLookupFlags,
61034            cancellable: *mut GCancellable,
61035            error: *mut *mut GError,
61036        ) -> *mut GTlsCertificate,
61037    >,
61038    pub lookup_certificate_issuer_async: ::std::option::Option<
61039        unsafe extern "C" fn(
61040            self_: *mut GTlsDatabase,
61041            certificate: *mut GTlsCertificate,
61042            interaction: *mut GTlsInteraction,
61043            flags: GTlsDatabaseLookupFlags,
61044            cancellable: *mut GCancellable,
61045            callback: GAsyncReadyCallback,
61046            user_data: gpointer,
61047        ),
61048    >,
61049    pub lookup_certificate_issuer_finish: ::std::option::Option<
61050        unsafe extern "C" fn(
61051            self_: *mut GTlsDatabase,
61052            result: *mut GAsyncResult,
61053            error: *mut *mut GError,
61054        ) -> *mut GTlsCertificate,
61055    >,
61056    pub lookup_certificates_issued_by: ::std::option::Option<
61057        unsafe extern "C" fn(
61058            self_: *mut GTlsDatabase,
61059            issuer_raw_dn: *mut GByteArray,
61060            interaction: *mut GTlsInteraction,
61061            flags: GTlsDatabaseLookupFlags,
61062            cancellable: *mut GCancellable,
61063            error: *mut *mut GError,
61064        ) -> *mut GList,
61065    >,
61066    pub lookup_certificates_issued_by_async: ::std::option::Option<
61067        unsafe extern "C" fn(
61068            self_: *mut GTlsDatabase,
61069            issuer_raw_dn: *mut GByteArray,
61070            interaction: *mut GTlsInteraction,
61071            flags: GTlsDatabaseLookupFlags,
61072            cancellable: *mut GCancellable,
61073            callback: GAsyncReadyCallback,
61074            user_data: gpointer,
61075        ),
61076    >,
61077    pub lookup_certificates_issued_by_finish: ::std::option::Option<
61078        unsafe extern "C" fn(
61079            self_: *mut GTlsDatabase,
61080            result: *mut GAsyncResult,
61081            error: *mut *mut GError,
61082        ) -> *mut GList,
61083    >,
61084    pub padding: [gpointer; 16usize],
61085}
61086#[test]
61087fn bindgen_test_layout__GTlsDatabaseClass() {
61088    const UNINIT: ::std::mem::MaybeUninit<_GTlsDatabaseClass> = ::std::mem::MaybeUninit::uninit();
61089    let ptr = UNINIT.as_ptr();
61090    assert_eq!(
61091        ::std::mem::size_of::<_GTlsDatabaseClass>(),
61092        368usize,
61093        concat!("Size of: ", stringify!(_GTlsDatabaseClass))
61094    );
61095    assert_eq!(
61096        ::std::mem::align_of::<_GTlsDatabaseClass>(),
61097        8usize,
61098        concat!("Alignment of ", stringify!(_GTlsDatabaseClass))
61099    );
61100    assert_eq!(
61101        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
61102        0usize,
61103        concat!(
61104            "Offset of field: ",
61105            stringify!(_GTlsDatabaseClass),
61106            "::",
61107            stringify!(parent_class)
61108        )
61109    );
61110    assert_eq!(
61111        unsafe { ::std::ptr::addr_of!((*ptr).verify_chain) as usize - ptr as usize },
61112        136usize,
61113        concat!(
61114            "Offset of field: ",
61115            stringify!(_GTlsDatabaseClass),
61116            "::",
61117            stringify!(verify_chain)
61118        )
61119    );
61120    assert_eq!(
61121        unsafe { ::std::ptr::addr_of!((*ptr).verify_chain_async) as usize - ptr as usize },
61122        144usize,
61123        concat!(
61124            "Offset of field: ",
61125            stringify!(_GTlsDatabaseClass),
61126            "::",
61127            stringify!(verify_chain_async)
61128        )
61129    );
61130    assert_eq!(
61131        unsafe { ::std::ptr::addr_of!((*ptr).verify_chain_finish) as usize - ptr as usize },
61132        152usize,
61133        concat!(
61134            "Offset of field: ",
61135            stringify!(_GTlsDatabaseClass),
61136            "::",
61137            stringify!(verify_chain_finish)
61138        )
61139    );
61140    assert_eq!(
61141        unsafe { ::std::ptr::addr_of!((*ptr).create_certificate_handle) as usize - ptr as usize },
61142        160usize,
61143        concat!(
61144            "Offset of field: ",
61145            stringify!(_GTlsDatabaseClass),
61146            "::",
61147            stringify!(create_certificate_handle)
61148        )
61149    );
61150    assert_eq!(
61151        unsafe {
61152            ::std::ptr::addr_of!((*ptr).lookup_certificate_for_handle) as usize - ptr as usize
61153        },
61154        168usize,
61155        concat!(
61156            "Offset of field: ",
61157            stringify!(_GTlsDatabaseClass),
61158            "::",
61159            stringify!(lookup_certificate_for_handle)
61160        )
61161    );
61162    assert_eq!(
61163        unsafe {
61164            ::std::ptr::addr_of!((*ptr).lookup_certificate_for_handle_async) as usize - ptr as usize
61165        },
61166        176usize,
61167        concat!(
61168            "Offset of field: ",
61169            stringify!(_GTlsDatabaseClass),
61170            "::",
61171            stringify!(lookup_certificate_for_handle_async)
61172        )
61173    );
61174    assert_eq!(
61175        unsafe {
61176            ::std::ptr::addr_of!((*ptr).lookup_certificate_for_handle_finish) as usize
61177                - ptr as usize
61178        },
61179        184usize,
61180        concat!(
61181            "Offset of field: ",
61182            stringify!(_GTlsDatabaseClass),
61183            "::",
61184            stringify!(lookup_certificate_for_handle_finish)
61185        )
61186    );
61187    assert_eq!(
61188        unsafe { ::std::ptr::addr_of!((*ptr).lookup_certificate_issuer) as usize - ptr as usize },
61189        192usize,
61190        concat!(
61191            "Offset of field: ",
61192            stringify!(_GTlsDatabaseClass),
61193            "::",
61194            stringify!(lookup_certificate_issuer)
61195        )
61196    );
61197    assert_eq!(
61198        unsafe {
61199            ::std::ptr::addr_of!((*ptr).lookup_certificate_issuer_async) as usize - ptr as usize
61200        },
61201        200usize,
61202        concat!(
61203            "Offset of field: ",
61204            stringify!(_GTlsDatabaseClass),
61205            "::",
61206            stringify!(lookup_certificate_issuer_async)
61207        )
61208    );
61209    assert_eq!(
61210        unsafe {
61211            ::std::ptr::addr_of!((*ptr).lookup_certificate_issuer_finish) as usize - ptr as usize
61212        },
61213        208usize,
61214        concat!(
61215            "Offset of field: ",
61216            stringify!(_GTlsDatabaseClass),
61217            "::",
61218            stringify!(lookup_certificate_issuer_finish)
61219        )
61220    );
61221    assert_eq!(
61222        unsafe {
61223            ::std::ptr::addr_of!((*ptr).lookup_certificates_issued_by) as usize - ptr as usize
61224        },
61225        216usize,
61226        concat!(
61227            "Offset of field: ",
61228            stringify!(_GTlsDatabaseClass),
61229            "::",
61230            stringify!(lookup_certificates_issued_by)
61231        )
61232    );
61233    assert_eq!(
61234        unsafe {
61235            ::std::ptr::addr_of!((*ptr).lookup_certificates_issued_by_async) as usize - ptr as usize
61236        },
61237        224usize,
61238        concat!(
61239            "Offset of field: ",
61240            stringify!(_GTlsDatabaseClass),
61241            "::",
61242            stringify!(lookup_certificates_issued_by_async)
61243        )
61244    );
61245    assert_eq!(
61246        unsafe {
61247            ::std::ptr::addr_of!((*ptr).lookup_certificates_issued_by_finish) as usize
61248                - ptr as usize
61249        },
61250        232usize,
61251        concat!(
61252            "Offset of field: ",
61253            stringify!(_GTlsDatabaseClass),
61254            "::",
61255            stringify!(lookup_certificates_issued_by_finish)
61256        )
61257    );
61258    assert_eq!(
61259        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
61260        240usize,
61261        concat!(
61262            "Offset of field: ",
61263            stringify!(_GTlsDatabaseClass),
61264            "::",
61265            stringify!(padding)
61266        )
61267    );
61268}
61269extern "C" {
61270    pub fn g_tls_database_get_type() -> GType;
61271}
61272extern "C" {
61273    pub fn g_tls_database_verify_chain(
61274        self_: *mut GTlsDatabase,
61275        chain: *mut GTlsCertificate,
61276        purpose: *const gchar,
61277        identity: *mut GSocketConnectable,
61278        interaction: *mut GTlsInteraction,
61279        flags: GTlsDatabaseVerifyFlags,
61280        cancellable: *mut GCancellable,
61281        error: *mut *mut GError,
61282    ) -> GTlsCertificateFlags;
61283}
61284extern "C" {
61285    pub fn g_tls_database_verify_chain_async(
61286        self_: *mut GTlsDatabase,
61287        chain: *mut GTlsCertificate,
61288        purpose: *const gchar,
61289        identity: *mut GSocketConnectable,
61290        interaction: *mut GTlsInteraction,
61291        flags: GTlsDatabaseVerifyFlags,
61292        cancellable: *mut GCancellable,
61293        callback: GAsyncReadyCallback,
61294        user_data: gpointer,
61295    );
61296}
61297extern "C" {
61298    pub fn g_tls_database_verify_chain_finish(
61299        self_: *mut GTlsDatabase,
61300        result: *mut GAsyncResult,
61301        error: *mut *mut GError,
61302    ) -> GTlsCertificateFlags;
61303}
61304extern "C" {
61305    pub fn g_tls_database_create_certificate_handle(
61306        self_: *mut GTlsDatabase,
61307        certificate: *mut GTlsCertificate,
61308    ) -> *mut gchar;
61309}
61310extern "C" {
61311    pub fn g_tls_database_lookup_certificate_for_handle(
61312        self_: *mut GTlsDatabase,
61313        handle: *const gchar,
61314        interaction: *mut GTlsInteraction,
61315        flags: GTlsDatabaseLookupFlags,
61316        cancellable: *mut GCancellable,
61317        error: *mut *mut GError,
61318    ) -> *mut GTlsCertificate;
61319}
61320extern "C" {
61321    pub fn g_tls_database_lookup_certificate_for_handle_async(
61322        self_: *mut GTlsDatabase,
61323        handle: *const gchar,
61324        interaction: *mut GTlsInteraction,
61325        flags: GTlsDatabaseLookupFlags,
61326        cancellable: *mut GCancellable,
61327        callback: GAsyncReadyCallback,
61328        user_data: gpointer,
61329    );
61330}
61331extern "C" {
61332    pub fn g_tls_database_lookup_certificate_for_handle_finish(
61333        self_: *mut GTlsDatabase,
61334        result: *mut GAsyncResult,
61335        error: *mut *mut GError,
61336    ) -> *mut GTlsCertificate;
61337}
61338extern "C" {
61339    pub fn g_tls_database_lookup_certificate_issuer(
61340        self_: *mut GTlsDatabase,
61341        certificate: *mut GTlsCertificate,
61342        interaction: *mut GTlsInteraction,
61343        flags: GTlsDatabaseLookupFlags,
61344        cancellable: *mut GCancellable,
61345        error: *mut *mut GError,
61346    ) -> *mut GTlsCertificate;
61347}
61348extern "C" {
61349    pub fn g_tls_database_lookup_certificate_issuer_async(
61350        self_: *mut GTlsDatabase,
61351        certificate: *mut GTlsCertificate,
61352        interaction: *mut GTlsInteraction,
61353        flags: GTlsDatabaseLookupFlags,
61354        cancellable: *mut GCancellable,
61355        callback: GAsyncReadyCallback,
61356        user_data: gpointer,
61357    );
61358}
61359extern "C" {
61360    pub fn g_tls_database_lookup_certificate_issuer_finish(
61361        self_: *mut GTlsDatabase,
61362        result: *mut GAsyncResult,
61363        error: *mut *mut GError,
61364    ) -> *mut GTlsCertificate;
61365}
61366extern "C" {
61367    pub fn g_tls_database_lookup_certificates_issued_by(
61368        self_: *mut GTlsDatabase,
61369        issuer_raw_dn: *mut GByteArray,
61370        interaction: *mut GTlsInteraction,
61371        flags: GTlsDatabaseLookupFlags,
61372        cancellable: *mut GCancellable,
61373        error: *mut *mut GError,
61374    ) -> *mut GList;
61375}
61376extern "C" {
61377    pub fn g_tls_database_lookup_certificates_issued_by_async(
61378        self_: *mut GTlsDatabase,
61379        issuer_raw_dn: *mut GByteArray,
61380        interaction: *mut GTlsInteraction,
61381        flags: GTlsDatabaseLookupFlags,
61382        cancellable: *mut GCancellable,
61383        callback: GAsyncReadyCallback,
61384        user_data: gpointer,
61385    );
61386}
61387extern "C" {
61388    pub fn g_tls_database_lookup_certificates_issued_by_finish(
61389        self_: *mut GTlsDatabase,
61390        result: *mut GAsyncResult,
61391        error: *mut *mut GError,
61392    ) -> *mut GList;
61393}
61394#[doc = " GTlsFileDatabaseInterface:\n @g_iface: The parent interface.\n\n Provides an interface for #GTlsFileDatabase implementations.\n"]
61395pub type GTlsFileDatabaseInterface = _GTlsFileDatabaseInterface;
61396#[doc = " GTlsFileDatabaseInterface:\n @g_iface: The parent interface.\n\n Provides an interface for #GTlsFileDatabase implementations.\n"]
61397#[repr(C)]
61398#[derive(Debug, Copy, Clone, PartialEq, Eq)]
61399pub struct _GTlsFileDatabaseInterface {
61400    pub g_iface: GTypeInterface,
61401    pub padding: [gpointer; 8usize],
61402}
61403#[test]
61404fn bindgen_test_layout__GTlsFileDatabaseInterface() {
61405    const UNINIT: ::std::mem::MaybeUninit<_GTlsFileDatabaseInterface> =
61406        ::std::mem::MaybeUninit::uninit();
61407    let ptr = UNINIT.as_ptr();
61408    assert_eq!(
61409        ::std::mem::size_of::<_GTlsFileDatabaseInterface>(),
61410        80usize,
61411        concat!("Size of: ", stringify!(_GTlsFileDatabaseInterface))
61412    );
61413    assert_eq!(
61414        ::std::mem::align_of::<_GTlsFileDatabaseInterface>(),
61415        8usize,
61416        concat!("Alignment of ", stringify!(_GTlsFileDatabaseInterface))
61417    );
61418    assert_eq!(
61419        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
61420        0usize,
61421        concat!(
61422            "Offset of field: ",
61423            stringify!(_GTlsFileDatabaseInterface),
61424            "::",
61425            stringify!(g_iface)
61426        )
61427    );
61428    assert_eq!(
61429        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
61430        16usize,
61431        concat!(
61432            "Offset of field: ",
61433            stringify!(_GTlsFileDatabaseInterface),
61434            "::",
61435            stringify!(padding)
61436        )
61437    );
61438}
61439extern "C" {
61440    pub fn g_tls_file_database_get_type() -> GType;
61441}
61442extern "C" {
61443    pub fn g_tls_file_database_new(
61444        anchors: *const gchar,
61445        error: *mut *mut GError,
61446    ) -> *mut GTlsDatabase;
61447}
61448pub type GTlsInteractionClass = _GTlsInteractionClass;
61449#[repr(C)]
61450#[derive(Debug, Copy, Clone)]
61451pub struct _GTlsInteractionPrivate {
61452    _unused: [u8; 0],
61453}
61454pub type GTlsInteractionPrivate = _GTlsInteractionPrivate;
61455#[repr(C)]
61456#[derive(Debug, Copy, Clone, PartialEq, Eq)]
61457pub struct _GTlsInteraction {
61458    pub parent_instance: GObject,
61459    pub priv_: *mut GTlsInteractionPrivate,
61460}
61461#[test]
61462fn bindgen_test_layout__GTlsInteraction() {
61463    const UNINIT: ::std::mem::MaybeUninit<_GTlsInteraction> = ::std::mem::MaybeUninit::uninit();
61464    let ptr = UNINIT.as_ptr();
61465    assert_eq!(
61466        ::std::mem::size_of::<_GTlsInteraction>(),
61467        32usize,
61468        concat!("Size of: ", stringify!(_GTlsInteraction))
61469    );
61470    assert_eq!(
61471        ::std::mem::align_of::<_GTlsInteraction>(),
61472        8usize,
61473        concat!("Alignment of ", stringify!(_GTlsInteraction))
61474    );
61475    assert_eq!(
61476        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
61477        0usize,
61478        concat!(
61479            "Offset of field: ",
61480            stringify!(_GTlsInteraction),
61481            "::",
61482            stringify!(parent_instance)
61483        )
61484    );
61485    assert_eq!(
61486        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
61487        24usize,
61488        concat!(
61489            "Offset of field: ",
61490            stringify!(_GTlsInteraction),
61491            "::",
61492            stringify!(priv_)
61493        )
61494    );
61495}
61496#[repr(C)]
61497#[derive(Debug, Copy, Clone, PartialEq, Eq)]
61498pub struct _GTlsInteractionClass {
61499    pub parent_class: GObjectClass,
61500    pub ask_password: ::std::option::Option<
61501        unsafe extern "C" fn(
61502            interaction: *mut GTlsInteraction,
61503            password: *mut GTlsPassword,
61504            cancellable: *mut GCancellable,
61505            error: *mut *mut GError,
61506        ) -> GTlsInteractionResult,
61507    >,
61508    pub ask_password_async: ::std::option::Option<
61509        unsafe extern "C" fn(
61510            interaction: *mut GTlsInteraction,
61511            password: *mut GTlsPassword,
61512            cancellable: *mut GCancellable,
61513            callback: GAsyncReadyCallback,
61514            user_data: gpointer,
61515        ),
61516    >,
61517    pub ask_password_finish: ::std::option::Option<
61518        unsafe extern "C" fn(
61519            interaction: *mut GTlsInteraction,
61520            result: *mut GAsyncResult,
61521            error: *mut *mut GError,
61522        ) -> GTlsInteractionResult,
61523    >,
61524    pub request_certificate: ::std::option::Option<
61525        unsafe extern "C" fn(
61526            interaction: *mut GTlsInteraction,
61527            connection: *mut GTlsConnection,
61528            flags: GTlsCertificateRequestFlags,
61529            cancellable: *mut GCancellable,
61530            error: *mut *mut GError,
61531        ) -> GTlsInteractionResult,
61532    >,
61533    pub request_certificate_async: ::std::option::Option<
61534        unsafe extern "C" fn(
61535            interaction: *mut GTlsInteraction,
61536            connection: *mut GTlsConnection,
61537            flags: GTlsCertificateRequestFlags,
61538            cancellable: *mut GCancellable,
61539            callback: GAsyncReadyCallback,
61540            user_data: gpointer,
61541        ),
61542    >,
61543    pub request_certificate_finish: ::std::option::Option<
61544        unsafe extern "C" fn(
61545            interaction: *mut GTlsInteraction,
61546            result: *mut GAsyncResult,
61547            error: *mut *mut GError,
61548        ) -> GTlsInteractionResult,
61549    >,
61550    pub padding: [gpointer; 21usize],
61551}
61552#[test]
61553fn bindgen_test_layout__GTlsInteractionClass() {
61554    const UNINIT: ::std::mem::MaybeUninit<_GTlsInteractionClass> =
61555        ::std::mem::MaybeUninit::uninit();
61556    let ptr = UNINIT.as_ptr();
61557    assert_eq!(
61558        ::std::mem::size_of::<_GTlsInteractionClass>(),
61559        352usize,
61560        concat!("Size of: ", stringify!(_GTlsInteractionClass))
61561    );
61562    assert_eq!(
61563        ::std::mem::align_of::<_GTlsInteractionClass>(),
61564        8usize,
61565        concat!("Alignment of ", stringify!(_GTlsInteractionClass))
61566    );
61567    assert_eq!(
61568        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
61569        0usize,
61570        concat!(
61571            "Offset of field: ",
61572            stringify!(_GTlsInteractionClass),
61573            "::",
61574            stringify!(parent_class)
61575        )
61576    );
61577    assert_eq!(
61578        unsafe { ::std::ptr::addr_of!((*ptr).ask_password) as usize - ptr as usize },
61579        136usize,
61580        concat!(
61581            "Offset of field: ",
61582            stringify!(_GTlsInteractionClass),
61583            "::",
61584            stringify!(ask_password)
61585        )
61586    );
61587    assert_eq!(
61588        unsafe { ::std::ptr::addr_of!((*ptr).ask_password_async) as usize - ptr as usize },
61589        144usize,
61590        concat!(
61591            "Offset of field: ",
61592            stringify!(_GTlsInteractionClass),
61593            "::",
61594            stringify!(ask_password_async)
61595        )
61596    );
61597    assert_eq!(
61598        unsafe { ::std::ptr::addr_of!((*ptr).ask_password_finish) as usize - ptr as usize },
61599        152usize,
61600        concat!(
61601            "Offset of field: ",
61602            stringify!(_GTlsInteractionClass),
61603            "::",
61604            stringify!(ask_password_finish)
61605        )
61606    );
61607    assert_eq!(
61608        unsafe { ::std::ptr::addr_of!((*ptr).request_certificate) as usize - ptr as usize },
61609        160usize,
61610        concat!(
61611            "Offset of field: ",
61612            stringify!(_GTlsInteractionClass),
61613            "::",
61614            stringify!(request_certificate)
61615        )
61616    );
61617    assert_eq!(
61618        unsafe { ::std::ptr::addr_of!((*ptr).request_certificate_async) as usize - ptr as usize },
61619        168usize,
61620        concat!(
61621            "Offset of field: ",
61622            stringify!(_GTlsInteractionClass),
61623            "::",
61624            stringify!(request_certificate_async)
61625        )
61626    );
61627    assert_eq!(
61628        unsafe { ::std::ptr::addr_of!((*ptr).request_certificate_finish) as usize - ptr as usize },
61629        176usize,
61630        concat!(
61631            "Offset of field: ",
61632            stringify!(_GTlsInteractionClass),
61633            "::",
61634            stringify!(request_certificate_finish)
61635        )
61636    );
61637    assert_eq!(
61638        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
61639        184usize,
61640        concat!(
61641            "Offset of field: ",
61642            stringify!(_GTlsInteractionClass),
61643            "::",
61644            stringify!(padding)
61645        )
61646    );
61647}
61648extern "C" {
61649    pub fn g_tls_interaction_get_type() -> GType;
61650}
61651extern "C" {
61652    pub fn g_tls_interaction_invoke_ask_password(
61653        interaction: *mut GTlsInteraction,
61654        password: *mut GTlsPassword,
61655        cancellable: *mut GCancellable,
61656        error: *mut *mut GError,
61657    ) -> GTlsInteractionResult;
61658}
61659extern "C" {
61660    pub fn g_tls_interaction_ask_password(
61661        interaction: *mut GTlsInteraction,
61662        password: *mut GTlsPassword,
61663        cancellable: *mut GCancellable,
61664        error: *mut *mut GError,
61665    ) -> GTlsInteractionResult;
61666}
61667extern "C" {
61668    pub fn g_tls_interaction_ask_password_async(
61669        interaction: *mut GTlsInteraction,
61670        password: *mut GTlsPassword,
61671        cancellable: *mut GCancellable,
61672        callback: GAsyncReadyCallback,
61673        user_data: gpointer,
61674    );
61675}
61676extern "C" {
61677    pub fn g_tls_interaction_ask_password_finish(
61678        interaction: *mut GTlsInteraction,
61679        result: *mut GAsyncResult,
61680        error: *mut *mut GError,
61681    ) -> GTlsInteractionResult;
61682}
61683extern "C" {
61684    pub fn g_tls_interaction_invoke_request_certificate(
61685        interaction: *mut GTlsInteraction,
61686        connection: *mut GTlsConnection,
61687        flags: GTlsCertificateRequestFlags,
61688        cancellable: *mut GCancellable,
61689        error: *mut *mut GError,
61690    ) -> GTlsInteractionResult;
61691}
61692extern "C" {
61693    pub fn g_tls_interaction_request_certificate(
61694        interaction: *mut GTlsInteraction,
61695        connection: *mut GTlsConnection,
61696        flags: GTlsCertificateRequestFlags,
61697        cancellable: *mut GCancellable,
61698        error: *mut *mut GError,
61699    ) -> GTlsInteractionResult;
61700}
61701extern "C" {
61702    pub fn g_tls_interaction_request_certificate_async(
61703        interaction: *mut GTlsInteraction,
61704        connection: *mut GTlsConnection,
61705        flags: GTlsCertificateRequestFlags,
61706        cancellable: *mut GCancellable,
61707        callback: GAsyncReadyCallback,
61708        user_data: gpointer,
61709    );
61710}
61711extern "C" {
61712    pub fn g_tls_interaction_request_certificate_finish(
61713        interaction: *mut GTlsInteraction,
61714        result: *mut GAsyncResult,
61715        error: *mut *mut GError,
61716    ) -> GTlsInteractionResult;
61717}
61718#[doc = " GTlsPasswordClass:\n @get_value: virtual method for g_tls_password_get_value()\n @set_value: virtual method for g_tls_password_set_value()\n @get_default_warning: virtual method for g_tls_password_get_warning() if no\n  value has been set using g_tls_password_set_warning()\n\n Class structure for #GTlsPassword."]
61719pub type GTlsPasswordClass = _GTlsPasswordClass;
61720#[repr(C)]
61721#[derive(Debug, Copy, Clone)]
61722pub struct _GTlsPasswordPrivate {
61723    _unused: [u8; 0],
61724}
61725pub type GTlsPasswordPrivate = _GTlsPasswordPrivate;
61726#[repr(C)]
61727#[derive(Debug, Copy, Clone, PartialEq, Eq)]
61728pub struct _GTlsPassword {
61729    pub parent_instance: GObject,
61730    pub priv_: *mut GTlsPasswordPrivate,
61731}
61732#[test]
61733fn bindgen_test_layout__GTlsPassword() {
61734    const UNINIT: ::std::mem::MaybeUninit<_GTlsPassword> = ::std::mem::MaybeUninit::uninit();
61735    let ptr = UNINIT.as_ptr();
61736    assert_eq!(
61737        ::std::mem::size_of::<_GTlsPassword>(),
61738        32usize,
61739        concat!("Size of: ", stringify!(_GTlsPassword))
61740    );
61741    assert_eq!(
61742        ::std::mem::align_of::<_GTlsPassword>(),
61743        8usize,
61744        concat!("Alignment of ", stringify!(_GTlsPassword))
61745    );
61746    assert_eq!(
61747        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
61748        0usize,
61749        concat!(
61750            "Offset of field: ",
61751            stringify!(_GTlsPassword),
61752            "::",
61753            stringify!(parent_instance)
61754        )
61755    );
61756    assert_eq!(
61757        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
61758        24usize,
61759        concat!(
61760            "Offset of field: ",
61761            stringify!(_GTlsPassword),
61762            "::",
61763            stringify!(priv_)
61764        )
61765    );
61766}
61767#[doc = " GTlsPasswordClass:\n @get_value: virtual method for g_tls_password_get_value()\n @set_value: virtual method for g_tls_password_set_value()\n @get_default_warning: virtual method for g_tls_password_get_warning() if no\n  value has been set using g_tls_password_set_warning()\n\n Class structure for #GTlsPassword."]
61768#[repr(C)]
61769#[derive(Debug, Copy, Clone, PartialEq, Eq)]
61770pub struct _GTlsPasswordClass {
61771    pub parent_class: GObjectClass,
61772    pub get_value: ::std::option::Option<
61773        unsafe extern "C" fn(password: *mut GTlsPassword, length: *mut gsize) -> *const guchar,
61774    >,
61775    pub set_value: ::std::option::Option<
61776        unsafe extern "C" fn(
61777            password: *mut GTlsPassword,
61778            value: *mut guchar,
61779            length: gssize,
61780            destroy: GDestroyNotify,
61781        ),
61782    >,
61783    pub get_default_warning:
61784        ::std::option::Option<unsafe extern "C" fn(password: *mut GTlsPassword) -> *const gchar>,
61785    pub padding: [gpointer; 4usize],
61786}
61787#[test]
61788fn bindgen_test_layout__GTlsPasswordClass() {
61789    const UNINIT: ::std::mem::MaybeUninit<_GTlsPasswordClass> = ::std::mem::MaybeUninit::uninit();
61790    let ptr = UNINIT.as_ptr();
61791    assert_eq!(
61792        ::std::mem::size_of::<_GTlsPasswordClass>(),
61793        192usize,
61794        concat!("Size of: ", stringify!(_GTlsPasswordClass))
61795    );
61796    assert_eq!(
61797        ::std::mem::align_of::<_GTlsPasswordClass>(),
61798        8usize,
61799        concat!("Alignment of ", stringify!(_GTlsPasswordClass))
61800    );
61801    assert_eq!(
61802        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
61803        0usize,
61804        concat!(
61805            "Offset of field: ",
61806            stringify!(_GTlsPasswordClass),
61807            "::",
61808            stringify!(parent_class)
61809        )
61810    );
61811    assert_eq!(
61812        unsafe { ::std::ptr::addr_of!((*ptr).get_value) as usize - ptr as usize },
61813        136usize,
61814        concat!(
61815            "Offset of field: ",
61816            stringify!(_GTlsPasswordClass),
61817            "::",
61818            stringify!(get_value)
61819        )
61820    );
61821    assert_eq!(
61822        unsafe { ::std::ptr::addr_of!((*ptr).set_value) as usize - ptr as usize },
61823        144usize,
61824        concat!(
61825            "Offset of field: ",
61826            stringify!(_GTlsPasswordClass),
61827            "::",
61828            stringify!(set_value)
61829        )
61830    );
61831    assert_eq!(
61832        unsafe { ::std::ptr::addr_of!((*ptr).get_default_warning) as usize - ptr as usize },
61833        152usize,
61834        concat!(
61835            "Offset of field: ",
61836            stringify!(_GTlsPasswordClass),
61837            "::",
61838            stringify!(get_default_warning)
61839        )
61840    );
61841    assert_eq!(
61842        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
61843        160usize,
61844        concat!(
61845            "Offset of field: ",
61846            stringify!(_GTlsPasswordClass),
61847            "::",
61848            stringify!(padding)
61849        )
61850    );
61851}
61852extern "C" {
61853    pub fn g_tls_password_get_type() -> GType;
61854}
61855extern "C" {
61856    pub fn g_tls_password_new(
61857        flags: GTlsPasswordFlags,
61858        description: *const gchar,
61859    ) -> *mut GTlsPassword;
61860}
61861extern "C" {
61862    pub fn g_tls_password_get_value(
61863        password: *mut GTlsPassword,
61864        length: *mut gsize,
61865    ) -> *const guchar;
61866}
61867extern "C" {
61868    pub fn g_tls_password_set_value(
61869        password: *mut GTlsPassword,
61870        value: *const guchar,
61871        length: gssize,
61872    );
61873}
61874extern "C" {
61875    pub fn g_tls_password_set_value_full(
61876        password: *mut GTlsPassword,
61877        value: *mut guchar,
61878        length: gssize,
61879        destroy: GDestroyNotify,
61880    );
61881}
61882extern "C" {
61883    pub fn g_tls_password_get_flags(password: *mut GTlsPassword) -> GTlsPasswordFlags;
61884}
61885extern "C" {
61886    pub fn g_tls_password_set_flags(password: *mut GTlsPassword, flags: GTlsPasswordFlags);
61887}
61888extern "C" {
61889    pub fn g_tls_password_get_description(password: *mut GTlsPassword) -> *const gchar;
61890}
61891extern "C" {
61892    pub fn g_tls_password_set_description(password: *mut GTlsPassword, description: *const gchar);
61893}
61894extern "C" {
61895    pub fn g_tls_password_get_warning(password: *mut GTlsPassword) -> *const gchar;
61896}
61897extern "C" {
61898    pub fn g_tls_password_set_warning(password: *mut GTlsPassword, warning: *const gchar);
61899}
61900#[doc = " GTlsServerConnection:\n\n TLS server-side connection. This is the server-side implementation\n of a #GTlsConnection.\n\n Since: 2.28"]
61901pub type GTlsServerConnectionInterface = _GTlsServerConnectionInterface;
61902#[doc = " GTlsServerConnectionInterface:\n @g_iface: The parent interface.\n\n vtable for a #GTlsServerConnection implementation.\n\n Since: 2.26"]
61903#[repr(C)]
61904#[derive(Debug, Copy, Clone, PartialEq, Eq)]
61905pub struct _GTlsServerConnectionInterface {
61906    pub g_iface: GTypeInterface,
61907}
61908#[test]
61909fn bindgen_test_layout__GTlsServerConnectionInterface() {
61910    const UNINIT: ::std::mem::MaybeUninit<_GTlsServerConnectionInterface> =
61911        ::std::mem::MaybeUninit::uninit();
61912    let ptr = UNINIT.as_ptr();
61913    assert_eq!(
61914        ::std::mem::size_of::<_GTlsServerConnectionInterface>(),
61915        16usize,
61916        concat!("Size of: ", stringify!(_GTlsServerConnectionInterface))
61917    );
61918    assert_eq!(
61919        ::std::mem::align_of::<_GTlsServerConnectionInterface>(),
61920        8usize,
61921        concat!("Alignment of ", stringify!(_GTlsServerConnectionInterface))
61922    );
61923    assert_eq!(
61924        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
61925        0usize,
61926        concat!(
61927            "Offset of field: ",
61928            stringify!(_GTlsServerConnectionInterface),
61929            "::",
61930            stringify!(g_iface)
61931        )
61932    );
61933}
61934extern "C" {
61935    pub fn g_tls_server_connection_get_type() -> GType;
61936}
61937extern "C" {
61938    pub fn g_tls_server_connection_new(
61939        base_io_stream: *mut GIOStream,
61940        certificate: *mut GTlsCertificate,
61941        error: *mut *mut GError,
61942    ) -> *mut GIOStream;
61943}
61944pub type GUnixConnection = _GUnixConnection;
61945#[repr(C)]
61946#[derive(Debug, Copy, Clone)]
61947pub struct _GUnixConnectionPrivate {
61948    _unused: [u8; 0],
61949}
61950pub type GUnixConnectionPrivate = _GUnixConnectionPrivate;
61951pub type GUnixConnectionClass = _GUnixConnectionClass;
61952pub type GUnixConnection_autoptr = *mut GUnixConnection;
61953pub type GUnixConnection_listautoptr = *mut GList;
61954pub type GUnixConnection_slistautoptr = *mut GSList;
61955pub type GUnixConnection_queueautoptr = *mut GQueue;
61956#[repr(C)]
61957#[derive(Debug, Copy, Clone, PartialEq, Eq)]
61958pub struct _GUnixConnectionClass {
61959    pub parent_class: GSocketConnectionClass,
61960}
61961#[test]
61962fn bindgen_test_layout__GUnixConnectionClass() {
61963    const UNINIT: ::std::mem::MaybeUninit<_GUnixConnectionClass> =
61964        ::std::mem::MaybeUninit::uninit();
61965    let ptr = UNINIT.as_ptr();
61966    assert_eq!(
61967        ::std::mem::size_of::<_GUnixConnectionClass>(),
61968        304usize,
61969        concat!("Size of: ", stringify!(_GUnixConnectionClass))
61970    );
61971    assert_eq!(
61972        ::std::mem::align_of::<_GUnixConnectionClass>(),
61973        8usize,
61974        concat!("Alignment of ", stringify!(_GUnixConnectionClass))
61975    );
61976    assert_eq!(
61977        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
61978        0usize,
61979        concat!(
61980            "Offset of field: ",
61981            stringify!(_GUnixConnectionClass),
61982            "::",
61983            stringify!(parent_class)
61984        )
61985    );
61986}
61987#[repr(C)]
61988#[derive(Debug, Copy, Clone, PartialEq, Eq)]
61989pub struct _GUnixConnection {
61990    pub parent_instance: GSocketConnection,
61991    pub priv_: *mut GUnixConnectionPrivate,
61992}
61993#[test]
61994fn bindgen_test_layout__GUnixConnection() {
61995    const UNINIT: ::std::mem::MaybeUninit<_GUnixConnection> = ::std::mem::MaybeUninit::uninit();
61996    let ptr = UNINIT.as_ptr();
61997    assert_eq!(
61998        ::std::mem::size_of::<_GUnixConnection>(),
61999        48usize,
62000        concat!("Size of: ", stringify!(_GUnixConnection))
62001    );
62002    assert_eq!(
62003        ::std::mem::align_of::<_GUnixConnection>(),
62004        8usize,
62005        concat!("Alignment of ", stringify!(_GUnixConnection))
62006    );
62007    assert_eq!(
62008        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
62009        0usize,
62010        concat!(
62011            "Offset of field: ",
62012            stringify!(_GUnixConnection),
62013            "::",
62014            stringify!(parent_instance)
62015        )
62016    );
62017    assert_eq!(
62018        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
62019        40usize,
62020        concat!(
62021            "Offset of field: ",
62022            stringify!(_GUnixConnection),
62023            "::",
62024            stringify!(priv_)
62025        )
62026    );
62027}
62028extern "C" {
62029    pub fn g_unix_connection_get_type() -> GType;
62030}
62031extern "C" {
62032    pub fn g_unix_connection_send_fd(
62033        connection: *mut GUnixConnection,
62034        fd: gint,
62035        cancellable: *mut GCancellable,
62036        error: *mut *mut GError,
62037    ) -> gboolean;
62038}
62039extern "C" {
62040    pub fn g_unix_connection_receive_fd(
62041        connection: *mut GUnixConnection,
62042        cancellable: *mut GCancellable,
62043        error: *mut *mut GError,
62044    ) -> gint;
62045}
62046extern "C" {
62047    pub fn g_unix_connection_send_credentials(
62048        connection: *mut GUnixConnection,
62049        cancellable: *mut GCancellable,
62050        error: *mut *mut GError,
62051    ) -> gboolean;
62052}
62053extern "C" {
62054    pub fn g_unix_connection_send_credentials_async(
62055        connection: *mut GUnixConnection,
62056        cancellable: *mut GCancellable,
62057        callback: GAsyncReadyCallback,
62058        user_data: gpointer,
62059    );
62060}
62061extern "C" {
62062    pub fn g_unix_connection_send_credentials_finish(
62063        connection: *mut GUnixConnection,
62064        result: *mut GAsyncResult,
62065        error: *mut *mut GError,
62066    ) -> gboolean;
62067}
62068extern "C" {
62069    pub fn g_unix_connection_receive_credentials(
62070        connection: *mut GUnixConnection,
62071        cancellable: *mut GCancellable,
62072        error: *mut *mut GError,
62073    ) -> *mut GCredentials;
62074}
62075extern "C" {
62076    pub fn g_unix_connection_receive_credentials_async(
62077        connection: *mut GUnixConnection,
62078        cancellable: *mut GCancellable,
62079        callback: GAsyncReadyCallback,
62080        user_data: gpointer,
62081    );
62082}
62083extern "C" {
62084    pub fn g_unix_connection_receive_credentials_finish(
62085        connection: *mut GUnixConnection,
62086        result: *mut GAsyncResult,
62087        error: *mut *mut GError,
62088    ) -> *mut GCredentials;
62089}
62090#[repr(C)]
62091#[derive(Debug, Copy, Clone)]
62092pub struct _GUnixCredentialsMessagePrivate {
62093    _unused: [u8; 0],
62094}
62095pub type GUnixCredentialsMessagePrivate = _GUnixCredentialsMessagePrivate;
62096#[doc = " GUnixCredentialsMessageClass:\n\n Class structure for #GUnixCredentialsMessage.\n\n Since: 2.26"]
62097pub type GUnixCredentialsMessageClass = _GUnixCredentialsMessageClass;
62098pub type GUnixCredentialsMessage_autoptr = *mut GUnixCredentialsMessage;
62099pub type GUnixCredentialsMessage_listautoptr = *mut GList;
62100pub type GUnixCredentialsMessage_slistautoptr = *mut GSList;
62101pub type GUnixCredentialsMessage_queueautoptr = *mut GQueue;
62102#[doc = " GUnixCredentialsMessageClass:\n\n Class structure for #GUnixCredentialsMessage.\n\n Since: 2.26"]
62103#[repr(C)]
62104#[derive(Debug, Copy, Clone, PartialEq, Eq)]
62105pub struct _GUnixCredentialsMessageClass {
62106    pub parent_class: GSocketControlMessageClass,
62107    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
62108    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
62109}
62110#[test]
62111fn bindgen_test_layout__GUnixCredentialsMessageClass() {
62112    const UNINIT: ::std::mem::MaybeUninit<_GUnixCredentialsMessageClass> =
62113        ::std::mem::MaybeUninit::uninit();
62114    let ptr = UNINIT.as_ptr();
62115    assert_eq!(
62116        ::std::mem::size_of::<_GUnixCredentialsMessageClass>(),
62117        232usize,
62118        concat!("Size of: ", stringify!(_GUnixCredentialsMessageClass))
62119    );
62120    assert_eq!(
62121        ::std::mem::align_of::<_GUnixCredentialsMessageClass>(),
62122        8usize,
62123        concat!("Alignment of ", stringify!(_GUnixCredentialsMessageClass))
62124    );
62125    assert_eq!(
62126        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
62127        0usize,
62128        concat!(
62129            "Offset of field: ",
62130            stringify!(_GUnixCredentialsMessageClass),
62131            "::",
62132            stringify!(parent_class)
62133        )
62134    );
62135    assert_eq!(
62136        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
62137        216usize,
62138        concat!(
62139            "Offset of field: ",
62140            stringify!(_GUnixCredentialsMessageClass),
62141            "::",
62142            stringify!(_g_reserved1)
62143        )
62144    );
62145    assert_eq!(
62146        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
62147        224usize,
62148        concat!(
62149            "Offset of field: ",
62150            stringify!(_GUnixCredentialsMessageClass),
62151            "::",
62152            stringify!(_g_reserved2)
62153        )
62154    );
62155}
62156#[doc = " GUnixCredentialsMessage:\n\n The #GUnixCredentialsMessage structure contains only private data\n and should only be accessed using the provided API.\n\n Since: 2.26"]
62157#[repr(C)]
62158#[derive(Debug, Copy, Clone, PartialEq, Eq)]
62159pub struct _GUnixCredentialsMessage {
62160    pub parent_instance: GSocketControlMessage,
62161    pub priv_: *mut GUnixCredentialsMessagePrivate,
62162}
62163#[test]
62164fn bindgen_test_layout__GUnixCredentialsMessage() {
62165    const UNINIT: ::std::mem::MaybeUninit<_GUnixCredentialsMessage> =
62166        ::std::mem::MaybeUninit::uninit();
62167    let ptr = UNINIT.as_ptr();
62168    assert_eq!(
62169        ::std::mem::size_of::<_GUnixCredentialsMessage>(),
62170        40usize,
62171        concat!("Size of: ", stringify!(_GUnixCredentialsMessage))
62172    );
62173    assert_eq!(
62174        ::std::mem::align_of::<_GUnixCredentialsMessage>(),
62175        8usize,
62176        concat!("Alignment of ", stringify!(_GUnixCredentialsMessage))
62177    );
62178    assert_eq!(
62179        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
62180        0usize,
62181        concat!(
62182            "Offset of field: ",
62183            stringify!(_GUnixCredentialsMessage),
62184            "::",
62185            stringify!(parent_instance)
62186        )
62187    );
62188    assert_eq!(
62189        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
62190        32usize,
62191        concat!(
62192            "Offset of field: ",
62193            stringify!(_GUnixCredentialsMessage),
62194            "::",
62195            stringify!(priv_)
62196        )
62197    );
62198}
62199extern "C" {
62200    pub fn g_unix_credentials_message_get_type() -> GType;
62201}
62202extern "C" {
62203    pub fn g_unix_credentials_message_new() -> *mut GSocketControlMessage;
62204}
62205extern "C" {
62206    pub fn g_unix_credentials_message_new_with_credentials(
62207        credentials: *mut GCredentials,
62208    ) -> *mut GSocketControlMessage;
62209}
62210extern "C" {
62211    pub fn g_unix_credentials_message_get_credentials(
62212        message: *mut GUnixCredentialsMessage,
62213    ) -> *mut GCredentials;
62214}
62215extern "C" {
62216    pub fn g_unix_credentials_message_is_supported() -> gboolean;
62217}
62218pub type GUnixFDList_autoptr = *mut GUnixFDList;
62219pub type GUnixFDList_listautoptr = *mut GList;
62220pub type GUnixFDList_slistautoptr = *mut GSList;
62221pub type GUnixFDList_queueautoptr = *mut GQueue;
62222#[repr(C)]
62223#[derive(Debug, Copy, Clone)]
62224pub struct _GUnixFDListPrivate {
62225    _unused: [u8; 0],
62226}
62227pub type GUnixFDListPrivate = _GUnixFDListPrivate;
62228pub type GUnixFDListClass = _GUnixFDListClass;
62229#[repr(C)]
62230#[derive(Debug, Copy, Clone, PartialEq, Eq)]
62231pub struct _GUnixFDListClass {
62232    pub parent_class: GObjectClass,
62233    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
62234    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
62235    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
62236    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
62237    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
62238}
62239#[test]
62240fn bindgen_test_layout__GUnixFDListClass() {
62241    const UNINIT: ::std::mem::MaybeUninit<_GUnixFDListClass> = ::std::mem::MaybeUninit::uninit();
62242    let ptr = UNINIT.as_ptr();
62243    assert_eq!(
62244        ::std::mem::size_of::<_GUnixFDListClass>(),
62245        176usize,
62246        concat!("Size of: ", stringify!(_GUnixFDListClass))
62247    );
62248    assert_eq!(
62249        ::std::mem::align_of::<_GUnixFDListClass>(),
62250        8usize,
62251        concat!("Alignment of ", stringify!(_GUnixFDListClass))
62252    );
62253    assert_eq!(
62254        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
62255        0usize,
62256        concat!(
62257            "Offset of field: ",
62258            stringify!(_GUnixFDListClass),
62259            "::",
62260            stringify!(parent_class)
62261        )
62262    );
62263    assert_eq!(
62264        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
62265        136usize,
62266        concat!(
62267            "Offset of field: ",
62268            stringify!(_GUnixFDListClass),
62269            "::",
62270            stringify!(_g_reserved1)
62271        )
62272    );
62273    assert_eq!(
62274        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
62275        144usize,
62276        concat!(
62277            "Offset of field: ",
62278            stringify!(_GUnixFDListClass),
62279            "::",
62280            stringify!(_g_reserved2)
62281        )
62282    );
62283    assert_eq!(
62284        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
62285        152usize,
62286        concat!(
62287            "Offset of field: ",
62288            stringify!(_GUnixFDListClass),
62289            "::",
62290            stringify!(_g_reserved3)
62291        )
62292    );
62293    assert_eq!(
62294        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
62295        160usize,
62296        concat!(
62297            "Offset of field: ",
62298            stringify!(_GUnixFDListClass),
62299            "::",
62300            stringify!(_g_reserved4)
62301        )
62302    );
62303    assert_eq!(
62304        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
62305        168usize,
62306        concat!(
62307            "Offset of field: ",
62308            stringify!(_GUnixFDListClass),
62309            "::",
62310            stringify!(_g_reserved5)
62311        )
62312    );
62313}
62314#[repr(C)]
62315#[derive(Debug, Copy, Clone, PartialEq, Eq)]
62316pub struct _GUnixFDList {
62317    pub parent_instance: GObject,
62318    pub priv_: *mut GUnixFDListPrivate,
62319}
62320#[test]
62321fn bindgen_test_layout__GUnixFDList() {
62322    const UNINIT: ::std::mem::MaybeUninit<_GUnixFDList> = ::std::mem::MaybeUninit::uninit();
62323    let ptr = UNINIT.as_ptr();
62324    assert_eq!(
62325        ::std::mem::size_of::<_GUnixFDList>(),
62326        32usize,
62327        concat!("Size of: ", stringify!(_GUnixFDList))
62328    );
62329    assert_eq!(
62330        ::std::mem::align_of::<_GUnixFDList>(),
62331        8usize,
62332        concat!("Alignment of ", stringify!(_GUnixFDList))
62333    );
62334    assert_eq!(
62335        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
62336        0usize,
62337        concat!(
62338            "Offset of field: ",
62339            stringify!(_GUnixFDList),
62340            "::",
62341            stringify!(parent_instance)
62342        )
62343    );
62344    assert_eq!(
62345        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
62346        24usize,
62347        concat!(
62348            "Offset of field: ",
62349            stringify!(_GUnixFDList),
62350            "::",
62351            stringify!(priv_)
62352        )
62353    );
62354}
62355extern "C" {
62356    pub fn g_unix_fd_list_get_type() -> GType;
62357}
62358extern "C" {
62359    pub fn g_unix_fd_list_new() -> *mut GUnixFDList;
62360}
62361extern "C" {
62362    pub fn g_unix_fd_list_new_from_array(fds: *const gint, n_fds: gint) -> *mut GUnixFDList;
62363}
62364extern "C" {
62365    pub fn g_unix_fd_list_append(list: *mut GUnixFDList, fd: gint, error: *mut *mut GError)
62366        -> gint;
62367}
62368extern "C" {
62369    pub fn g_unix_fd_list_get_length(list: *mut GUnixFDList) -> gint;
62370}
62371extern "C" {
62372    pub fn g_unix_fd_list_get(
62373        list: *mut GUnixFDList,
62374        index_: gint,
62375        error: *mut *mut GError,
62376    ) -> gint;
62377}
62378extern "C" {
62379    pub fn g_unix_fd_list_peek_fds(list: *mut GUnixFDList, length: *mut gint) -> *const gint;
62380}
62381extern "C" {
62382    pub fn g_unix_fd_list_steal_fds(list: *mut GUnixFDList, length: *mut gint) -> *mut gint;
62383}
62384pub type GUnixSocketAddress = _GUnixSocketAddress;
62385pub type GUnixSocketAddressClass = _GUnixSocketAddressClass;
62386#[repr(C)]
62387#[derive(Debug, Copy, Clone)]
62388pub struct _GUnixSocketAddressPrivate {
62389    _unused: [u8; 0],
62390}
62391pub type GUnixSocketAddressPrivate = _GUnixSocketAddressPrivate;
62392pub type GUnixSocketAddress_autoptr = *mut GUnixSocketAddress;
62393pub type GUnixSocketAddress_listautoptr = *mut GList;
62394pub type GUnixSocketAddress_slistautoptr = *mut GSList;
62395pub type GUnixSocketAddress_queueautoptr = *mut GQueue;
62396#[repr(C)]
62397#[derive(Debug, Copy, Clone, PartialEq, Eq)]
62398pub struct _GUnixSocketAddress {
62399    pub parent_instance: GSocketAddress,
62400    pub priv_: *mut GUnixSocketAddressPrivate,
62401}
62402#[test]
62403fn bindgen_test_layout__GUnixSocketAddress() {
62404    const UNINIT: ::std::mem::MaybeUninit<_GUnixSocketAddress> = ::std::mem::MaybeUninit::uninit();
62405    let ptr = UNINIT.as_ptr();
62406    assert_eq!(
62407        ::std::mem::size_of::<_GUnixSocketAddress>(),
62408        32usize,
62409        concat!("Size of: ", stringify!(_GUnixSocketAddress))
62410    );
62411    assert_eq!(
62412        ::std::mem::align_of::<_GUnixSocketAddress>(),
62413        8usize,
62414        concat!("Alignment of ", stringify!(_GUnixSocketAddress))
62415    );
62416    assert_eq!(
62417        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
62418        0usize,
62419        concat!(
62420            "Offset of field: ",
62421            stringify!(_GUnixSocketAddress),
62422            "::",
62423            stringify!(parent_instance)
62424        )
62425    );
62426    assert_eq!(
62427        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
62428        24usize,
62429        concat!(
62430            "Offset of field: ",
62431            stringify!(_GUnixSocketAddress),
62432            "::",
62433            stringify!(priv_)
62434        )
62435    );
62436}
62437#[repr(C)]
62438#[derive(Debug, Copy, Clone, PartialEq, Eq)]
62439pub struct _GUnixSocketAddressClass {
62440    pub parent_class: GSocketAddressClass,
62441}
62442#[test]
62443fn bindgen_test_layout__GUnixSocketAddressClass() {
62444    const UNINIT: ::std::mem::MaybeUninit<_GUnixSocketAddressClass> =
62445        ::std::mem::MaybeUninit::uninit();
62446    let ptr = UNINIT.as_ptr();
62447    assert_eq!(
62448        ::std::mem::size_of::<_GUnixSocketAddressClass>(),
62449        160usize,
62450        concat!("Size of: ", stringify!(_GUnixSocketAddressClass))
62451    );
62452    assert_eq!(
62453        ::std::mem::align_of::<_GUnixSocketAddressClass>(),
62454        8usize,
62455        concat!("Alignment of ", stringify!(_GUnixSocketAddressClass))
62456    );
62457    assert_eq!(
62458        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
62459        0usize,
62460        concat!(
62461            "Offset of field: ",
62462            stringify!(_GUnixSocketAddressClass),
62463            "::",
62464            stringify!(parent_class)
62465        )
62466    );
62467}
62468extern "C" {
62469    pub fn g_unix_socket_address_get_type() -> GType;
62470}
62471extern "C" {
62472    pub fn g_unix_socket_address_new(path: *const gchar) -> *mut GSocketAddress;
62473}
62474extern "C" {
62475    pub fn g_unix_socket_address_new_abstract(
62476        path: *const gchar,
62477        path_len: gint,
62478    ) -> *mut GSocketAddress;
62479}
62480extern "C" {
62481    pub fn g_unix_socket_address_new_with_type(
62482        path: *const gchar,
62483        path_len: gint,
62484        type_: GUnixSocketAddressType,
62485    ) -> *mut GSocketAddress;
62486}
62487extern "C" {
62488    pub fn g_unix_socket_address_get_path(
62489        address: *mut GUnixSocketAddress,
62490    ) -> *const ::std::os::raw::c_char;
62491}
62492extern "C" {
62493    pub fn g_unix_socket_address_get_path_len(address: *mut GUnixSocketAddress) -> gsize;
62494}
62495extern "C" {
62496    pub fn g_unix_socket_address_get_address_type(
62497        address: *mut GUnixSocketAddress,
62498    ) -> GUnixSocketAddressType;
62499}
62500extern "C" {
62501    pub fn g_unix_socket_address_get_is_abstract(address: *mut GUnixSocketAddress) -> gboolean;
62502}
62503extern "C" {
62504    pub fn g_unix_socket_address_abstract_names_supported() -> gboolean;
62505}
62506#[doc = " GVfsFileLookupFunc:\n @vfs: a #GVfs\n @identifier: the identifier to look up a #GFile for. This can either\n     be an URI or a parse name as returned by g_file_get_parse_name()\n @user_data: user data passed to the function\n\n This function type is used by g_vfs_register_uri_scheme() to make it\n possible for a client to associate an URI scheme to a different #GFile\n implementation.\n\n The client should return a reference to the new file that has been\n created for @uri, or %NULL to continue with the default implementation.\n\n Returns: (transfer full): a #GFile for @identifier.\n\n Since: 2.50"]
62507pub type GVfsFileLookupFunc = ::std::option::Option<
62508    unsafe extern "C" fn(
62509        vfs: *mut GVfs,
62510        identifier: *const ::std::os::raw::c_char,
62511        user_data: gpointer,
62512    ) -> *mut GFile,
62513>;
62514#[doc = " GVfs:\n\n Virtual File System object."]
62515pub type GVfsClass = _GVfsClass;
62516#[repr(C)]
62517#[derive(Debug, Copy, Clone, PartialEq, Eq)]
62518pub struct _GVfs {
62519    pub parent_instance: GObject,
62520}
62521#[test]
62522fn bindgen_test_layout__GVfs() {
62523    const UNINIT: ::std::mem::MaybeUninit<_GVfs> = ::std::mem::MaybeUninit::uninit();
62524    let ptr = UNINIT.as_ptr();
62525    assert_eq!(
62526        ::std::mem::size_of::<_GVfs>(),
62527        24usize,
62528        concat!("Size of: ", stringify!(_GVfs))
62529    );
62530    assert_eq!(
62531        ::std::mem::align_of::<_GVfs>(),
62532        8usize,
62533        concat!("Alignment of ", stringify!(_GVfs))
62534    );
62535    assert_eq!(
62536        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
62537        0usize,
62538        concat!(
62539            "Offset of field: ",
62540            stringify!(_GVfs),
62541            "::",
62542            stringify!(parent_instance)
62543        )
62544    );
62545}
62546#[repr(C)]
62547#[derive(Debug, Copy, Clone, PartialEq, Eq)]
62548pub struct _GVfsClass {
62549    pub parent_class: GObjectClass,
62550    pub is_active: ::std::option::Option<unsafe extern "C" fn(vfs: *mut GVfs) -> gboolean>,
62551    pub get_file_for_path: ::std::option::Option<
62552        unsafe extern "C" fn(vfs: *mut GVfs, path: *const ::std::os::raw::c_char) -> *mut GFile,
62553    >,
62554    pub get_file_for_uri: ::std::option::Option<
62555        unsafe extern "C" fn(vfs: *mut GVfs, uri: *const ::std::os::raw::c_char) -> *mut GFile,
62556    >,
62557    pub get_supported_uri_schemes:
62558        ::std::option::Option<unsafe extern "C" fn(vfs: *mut GVfs) -> *const *const gchar>,
62559    pub parse_name: ::std::option::Option<
62560        unsafe extern "C" fn(
62561            vfs: *mut GVfs,
62562            parse_name: *const ::std::os::raw::c_char,
62563        ) -> *mut GFile,
62564    >,
62565    pub local_file_add_info: ::std::option::Option<
62566        unsafe extern "C" fn(
62567            vfs: *mut GVfs,
62568            filename: *const ::std::os::raw::c_char,
62569            device: guint64,
62570            attribute_matcher: *mut GFileAttributeMatcher,
62571            info: *mut GFileInfo,
62572            cancellable: *mut GCancellable,
62573            extra_data: *mut gpointer,
62574            free_extra_data: *mut GDestroyNotify,
62575        ),
62576    >,
62577    pub add_writable_namespaces: ::std::option::Option<
62578        unsafe extern "C" fn(vfs: *mut GVfs, list: *mut GFileAttributeInfoList),
62579    >,
62580    pub local_file_set_attributes: ::std::option::Option<
62581        unsafe extern "C" fn(
62582            vfs: *mut GVfs,
62583            filename: *const ::std::os::raw::c_char,
62584            info: *mut GFileInfo,
62585            flags: GFileQueryInfoFlags,
62586            cancellable: *mut GCancellable,
62587            error: *mut *mut GError,
62588        ) -> gboolean,
62589    >,
62590    pub local_file_removed: ::std::option::Option<
62591        unsafe extern "C" fn(vfs: *mut GVfs, filename: *const ::std::os::raw::c_char),
62592    >,
62593    pub local_file_moved: ::std::option::Option<
62594        unsafe extern "C" fn(
62595            vfs: *mut GVfs,
62596            source: *const ::std::os::raw::c_char,
62597            dest: *const ::std::os::raw::c_char,
62598        ),
62599    >,
62600    pub deserialize_icon: ::std::option::Option<
62601        unsafe extern "C" fn(vfs: *mut GVfs, value: *mut GVariant) -> *mut GIcon,
62602    >,
62603    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
62604    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
62605    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
62606    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
62607    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
62608    pub _g_reserved6: ::std::option::Option<unsafe extern "C" fn()>,
62609}
62610#[test]
62611fn bindgen_test_layout__GVfsClass() {
62612    const UNINIT: ::std::mem::MaybeUninit<_GVfsClass> = ::std::mem::MaybeUninit::uninit();
62613    let ptr = UNINIT.as_ptr();
62614    assert_eq!(
62615        ::std::mem::size_of::<_GVfsClass>(),
62616        272usize,
62617        concat!("Size of: ", stringify!(_GVfsClass))
62618    );
62619    assert_eq!(
62620        ::std::mem::align_of::<_GVfsClass>(),
62621        8usize,
62622        concat!("Alignment of ", stringify!(_GVfsClass))
62623    );
62624    assert_eq!(
62625        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
62626        0usize,
62627        concat!(
62628            "Offset of field: ",
62629            stringify!(_GVfsClass),
62630            "::",
62631            stringify!(parent_class)
62632        )
62633    );
62634    assert_eq!(
62635        unsafe { ::std::ptr::addr_of!((*ptr).is_active) as usize - ptr as usize },
62636        136usize,
62637        concat!(
62638            "Offset of field: ",
62639            stringify!(_GVfsClass),
62640            "::",
62641            stringify!(is_active)
62642        )
62643    );
62644    assert_eq!(
62645        unsafe { ::std::ptr::addr_of!((*ptr).get_file_for_path) as usize - ptr as usize },
62646        144usize,
62647        concat!(
62648            "Offset of field: ",
62649            stringify!(_GVfsClass),
62650            "::",
62651            stringify!(get_file_for_path)
62652        )
62653    );
62654    assert_eq!(
62655        unsafe { ::std::ptr::addr_of!((*ptr).get_file_for_uri) as usize - ptr as usize },
62656        152usize,
62657        concat!(
62658            "Offset of field: ",
62659            stringify!(_GVfsClass),
62660            "::",
62661            stringify!(get_file_for_uri)
62662        )
62663    );
62664    assert_eq!(
62665        unsafe { ::std::ptr::addr_of!((*ptr).get_supported_uri_schemes) as usize - ptr as usize },
62666        160usize,
62667        concat!(
62668            "Offset of field: ",
62669            stringify!(_GVfsClass),
62670            "::",
62671            stringify!(get_supported_uri_schemes)
62672        )
62673    );
62674    assert_eq!(
62675        unsafe { ::std::ptr::addr_of!((*ptr).parse_name) as usize - ptr as usize },
62676        168usize,
62677        concat!(
62678            "Offset of field: ",
62679            stringify!(_GVfsClass),
62680            "::",
62681            stringify!(parse_name)
62682        )
62683    );
62684    assert_eq!(
62685        unsafe { ::std::ptr::addr_of!((*ptr).local_file_add_info) as usize - ptr as usize },
62686        176usize,
62687        concat!(
62688            "Offset of field: ",
62689            stringify!(_GVfsClass),
62690            "::",
62691            stringify!(local_file_add_info)
62692        )
62693    );
62694    assert_eq!(
62695        unsafe { ::std::ptr::addr_of!((*ptr).add_writable_namespaces) as usize - ptr as usize },
62696        184usize,
62697        concat!(
62698            "Offset of field: ",
62699            stringify!(_GVfsClass),
62700            "::",
62701            stringify!(add_writable_namespaces)
62702        )
62703    );
62704    assert_eq!(
62705        unsafe { ::std::ptr::addr_of!((*ptr).local_file_set_attributes) as usize - ptr as usize },
62706        192usize,
62707        concat!(
62708            "Offset of field: ",
62709            stringify!(_GVfsClass),
62710            "::",
62711            stringify!(local_file_set_attributes)
62712        )
62713    );
62714    assert_eq!(
62715        unsafe { ::std::ptr::addr_of!((*ptr).local_file_removed) as usize - ptr as usize },
62716        200usize,
62717        concat!(
62718            "Offset of field: ",
62719            stringify!(_GVfsClass),
62720            "::",
62721            stringify!(local_file_removed)
62722        )
62723    );
62724    assert_eq!(
62725        unsafe { ::std::ptr::addr_of!((*ptr).local_file_moved) as usize - ptr as usize },
62726        208usize,
62727        concat!(
62728            "Offset of field: ",
62729            stringify!(_GVfsClass),
62730            "::",
62731            stringify!(local_file_moved)
62732        )
62733    );
62734    assert_eq!(
62735        unsafe { ::std::ptr::addr_of!((*ptr).deserialize_icon) as usize - ptr as usize },
62736        216usize,
62737        concat!(
62738            "Offset of field: ",
62739            stringify!(_GVfsClass),
62740            "::",
62741            stringify!(deserialize_icon)
62742        )
62743    );
62744    assert_eq!(
62745        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
62746        224usize,
62747        concat!(
62748            "Offset of field: ",
62749            stringify!(_GVfsClass),
62750            "::",
62751            stringify!(_g_reserved1)
62752        )
62753    );
62754    assert_eq!(
62755        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
62756        232usize,
62757        concat!(
62758            "Offset of field: ",
62759            stringify!(_GVfsClass),
62760            "::",
62761            stringify!(_g_reserved2)
62762        )
62763    );
62764    assert_eq!(
62765        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
62766        240usize,
62767        concat!(
62768            "Offset of field: ",
62769            stringify!(_GVfsClass),
62770            "::",
62771            stringify!(_g_reserved3)
62772        )
62773    );
62774    assert_eq!(
62775        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
62776        248usize,
62777        concat!(
62778            "Offset of field: ",
62779            stringify!(_GVfsClass),
62780            "::",
62781            stringify!(_g_reserved4)
62782        )
62783    );
62784    assert_eq!(
62785        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
62786        256usize,
62787        concat!(
62788            "Offset of field: ",
62789            stringify!(_GVfsClass),
62790            "::",
62791            stringify!(_g_reserved5)
62792        )
62793    );
62794    assert_eq!(
62795        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved6) as usize - ptr as usize },
62796        264usize,
62797        concat!(
62798            "Offset of field: ",
62799            stringify!(_GVfsClass),
62800            "::",
62801            stringify!(_g_reserved6)
62802        )
62803    );
62804}
62805extern "C" {
62806    pub fn g_vfs_get_type() -> GType;
62807}
62808extern "C" {
62809    pub fn g_vfs_is_active(vfs: *mut GVfs) -> gboolean;
62810}
62811extern "C" {
62812    pub fn g_vfs_get_file_for_path(
62813        vfs: *mut GVfs,
62814        path: *const ::std::os::raw::c_char,
62815    ) -> *mut GFile;
62816}
62817extern "C" {
62818    pub fn g_vfs_get_file_for_uri(vfs: *mut GVfs, uri: *const ::std::os::raw::c_char)
62819        -> *mut GFile;
62820}
62821extern "C" {
62822    pub fn g_vfs_get_supported_uri_schemes(vfs: *mut GVfs) -> *const *const gchar;
62823}
62824extern "C" {
62825    pub fn g_vfs_parse_name(
62826        vfs: *mut GVfs,
62827        parse_name: *const ::std::os::raw::c_char,
62828    ) -> *mut GFile;
62829}
62830extern "C" {
62831    pub fn g_vfs_get_default() -> *mut GVfs;
62832}
62833extern "C" {
62834    pub fn g_vfs_get_local() -> *mut GVfs;
62835}
62836extern "C" {
62837    pub fn g_vfs_register_uri_scheme(
62838        vfs: *mut GVfs,
62839        scheme: *const ::std::os::raw::c_char,
62840        uri_func: GVfsFileLookupFunc,
62841        uri_data: gpointer,
62842        uri_destroy: GDestroyNotify,
62843        parse_name_func: GVfsFileLookupFunc,
62844        parse_name_data: gpointer,
62845        parse_name_destroy: GDestroyNotify,
62846    ) -> gboolean;
62847}
62848extern "C" {
62849    pub fn g_vfs_unregister_uri_scheme(
62850        vfs: *mut GVfs,
62851        scheme: *const ::std::os::raw::c_char,
62852    ) -> gboolean;
62853}
62854#[doc = " GVolumeIface:\n @g_iface: The parent interface.\n @changed: Changed signal that is emitted when the volume's state has changed.\n @removed: The removed signal that is emitted when the #GVolume have been removed. If the recipient is holding references to the object they should release them so the object can be finalized.\n @get_name: Gets a string containing the name of the #GVolume.\n @get_icon: Gets a #GIcon for the #GVolume.\n @get_uuid: Gets the UUID for the #GVolume. The reference is typically based on the file system UUID for the mount in question and should be considered an opaque string. Returns %NULL if there is no UUID available.\n @get_drive: Gets a #GDrive the volume is located on. Returns %NULL if the #GVolume is not associated with a #GDrive.\n @get_mount: Gets a #GMount representing the mounted volume. Returns %NULL if the #GVolume is not mounted.\n @can_mount: Returns %TRUE if the #GVolume can be mounted.\n @can_eject: Checks if a #GVolume can be ejected.\n @mount_fn: Mounts a given #GVolume.\n     #GVolume implementations must emit the #GMountOperation::aborted\n     signal before completing a mount operation that is aborted while\n     awaiting input from the user through a #GMountOperation instance.\n @mount_finish: Finishes a mount operation.\n @eject: Ejects a given #GVolume.\n @eject_finish: Finishes an eject operation.\n @get_identifier: Returns the [identifier][volume-identifier] of the given kind, or %NULL if\n    the #GVolume doesn't have one.\n @enumerate_identifiers: Returns an array strings listing the kinds\n    of [identifiers][volume-identifier] which the #GVolume has.\n @should_automount: Returns %TRUE if the #GVolume should be automatically mounted.\n @get_activation_root: Returns the activation root for the #GVolume if it is known in advance or %NULL if\n   it is not known.\n @eject_with_operation: Starts ejecting a #GVolume using a #GMountOperation. Since 2.22.\n @eject_with_operation_finish: Finishes an eject operation using a #GMountOperation. Since 2.22.\n @get_sort_key: Gets a key used for sorting #GVolume instance or %NULL if no such key exists. Since 2.32.\n @get_symbolic_icon: Gets a symbolic #GIcon for the #GVolume. Since 2.34.\n\n Interface for implementing operations for mountable volumes."]
62855pub type GVolumeIface = _GVolumeIface;
62856#[repr(C)]
62857#[derive(Debug, Copy, Clone, PartialEq, Eq)]
62858pub struct _GVolumeIface {
62859    pub g_iface: GTypeInterface,
62860    pub changed: ::std::option::Option<unsafe extern "C" fn(volume: *mut GVolume)>,
62861    pub removed: ::std::option::Option<unsafe extern "C" fn(volume: *mut GVolume)>,
62862    pub get_name: ::std::option::Option<
62863        unsafe extern "C" fn(volume: *mut GVolume) -> *mut ::std::os::raw::c_char,
62864    >,
62865    pub get_icon: ::std::option::Option<unsafe extern "C" fn(volume: *mut GVolume) -> *mut GIcon>,
62866    pub get_uuid: ::std::option::Option<
62867        unsafe extern "C" fn(volume: *mut GVolume) -> *mut ::std::os::raw::c_char,
62868    >,
62869    pub get_drive: ::std::option::Option<unsafe extern "C" fn(volume: *mut GVolume) -> *mut GDrive>,
62870    pub get_mount: ::std::option::Option<unsafe extern "C" fn(volume: *mut GVolume) -> *mut GMount>,
62871    pub can_mount: ::std::option::Option<unsafe extern "C" fn(volume: *mut GVolume) -> gboolean>,
62872    pub can_eject: ::std::option::Option<unsafe extern "C" fn(volume: *mut GVolume) -> gboolean>,
62873    pub mount_fn: ::std::option::Option<
62874        unsafe extern "C" fn(
62875            volume: *mut GVolume,
62876            flags: GMountMountFlags,
62877            mount_operation: *mut GMountOperation,
62878            cancellable: *mut GCancellable,
62879            callback: GAsyncReadyCallback,
62880            user_data: gpointer,
62881        ),
62882    >,
62883    pub mount_finish: ::std::option::Option<
62884        unsafe extern "C" fn(
62885            volume: *mut GVolume,
62886            result: *mut GAsyncResult,
62887            error: *mut *mut GError,
62888        ) -> gboolean,
62889    >,
62890    pub eject: ::std::option::Option<
62891        unsafe extern "C" fn(
62892            volume: *mut GVolume,
62893            flags: GMountUnmountFlags,
62894            cancellable: *mut GCancellable,
62895            callback: GAsyncReadyCallback,
62896            user_data: gpointer,
62897        ),
62898    >,
62899    pub eject_finish: ::std::option::Option<
62900        unsafe extern "C" fn(
62901            volume: *mut GVolume,
62902            result: *mut GAsyncResult,
62903            error: *mut *mut GError,
62904        ) -> gboolean,
62905    >,
62906    pub get_identifier: ::std::option::Option<
62907        unsafe extern "C" fn(
62908            volume: *mut GVolume,
62909            kind: *const ::std::os::raw::c_char,
62910        ) -> *mut ::std::os::raw::c_char,
62911    >,
62912    pub enumerate_identifiers: ::std::option::Option<
62913        unsafe extern "C" fn(volume: *mut GVolume) -> *mut *mut ::std::os::raw::c_char,
62914    >,
62915    pub should_automount:
62916        ::std::option::Option<unsafe extern "C" fn(volume: *mut GVolume) -> gboolean>,
62917    pub get_activation_root:
62918        ::std::option::Option<unsafe extern "C" fn(volume: *mut GVolume) -> *mut GFile>,
62919    pub eject_with_operation: ::std::option::Option<
62920        unsafe extern "C" fn(
62921            volume: *mut GVolume,
62922            flags: GMountUnmountFlags,
62923            mount_operation: *mut GMountOperation,
62924            cancellable: *mut GCancellable,
62925            callback: GAsyncReadyCallback,
62926            user_data: gpointer,
62927        ),
62928    >,
62929    pub eject_with_operation_finish: ::std::option::Option<
62930        unsafe extern "C" fn(
62931            volume: *mut GVolume,
62932            result: *mut GAsyncResult,
62933            error: *mut *mut GError,
62934        ) -> gboolean,
62935    >,
62936    pub get_sort_key:
62937        ::std::option::Option<unsafe extern "C" fn(volume: *mut GVolume) -> *const gchar>,
62938    pub get_symbolic_icon:
62939        ::std::option::Option<unsafe extern "C" fn(volume: *mut GVolume) -> *mut GIcon>,
62940}
62941#[test]
62942fn bindgen_test_layout__GVolumeIface() {
62943    const UNINIT: ::std::mem::MaybeUninit<_GVolumeIface> = ::std::mem::MaybeUninit::uninit();
62944    let ptr = UNINIT.as_ptr();
62945    assert_eq!(
62946        ::std::mem::size_of::<_GVolumeIface>(),
62947        184usize,
62948        concat!("Size of: ", stringify!(_GVolumeIface))
62949    );
62950    assert_eq!(
62951        ::std::mem::align_of::<_GVolumeIface>(),
62952        8usize,
62953        concat!("Alignment of ", stringify!(_GVolumeIface))
62954    );
62955    assert_eq!(
62956        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
62957        0usize,
62958        concat!(
62959            "Offset of field: ",
62960            stringify!(_GVolumeIface),
62961            "::",
62962            stringify!(g_iface)
62963        )
62964    );
62965    assert_eq!(
62966        unsafe { ::std::ptr::addr_of!((*ptr).changed) as usize - ptr as usize },
62967        16usize,
62968        concat!(
62969            "Offset of field: ",
62970            stringify!(_GVolumeIface),
62971            "::",
62972            stringify!(changed)
62973        )
62974    );
62975    assert_eq!(
62976        unsafe { ::std::ptr::addr_of!((*ptr).removed) as usize - ptr as usize },
62977        24usize,
62978        concat!(
62979            "Offset of field: ",
62980            stringify!(_GVolumeIface),
62981            "::",
62982            stringify!(removed)
62983        )
62984    );
62985    assert_eq!(
62986        unsafe { ::std::ptr::addr_of!((*ptr).get_name) as usize - ptr as usize },
62987        32usize,
62988        concat!(
62989            "Offset of field: ",
62990            stringify!(_GVolumeIface),
62991            "::",
62992            stringify!(get_name)
62993        )
62994    );
62995    assert_eq!(
62996        unsafe { ::std::ptr::addr_of!((*ptr).get_icon) as usize - ptr as usize },
62997        40usize,
62998        concat!(
62999            "Offset of field: ",
63000            stringify!(_GVolumeIface),
63001            "::",
63002            stringify!(get_icon)
63003        )
63004    );
63005    assert_eq!(
63006        unsafe { ::std::ptr::addr_of!((*ptr).get_uuid) as usize - ptr as usize },
63007        48usize,
63008        concat!(
63009            "Offset of field: ",
63010            stringify!(_GVolumeIface),
63011            "::",
63012            stringify!(get_uuid)
63013        )
63014    );
63015    assert_eq!(
63016        unsafe { ::std::ptr::addr_of!((*ptr).get_drive) as usize - ptr as usize },
63017        56usize,
63018        concat!(
63019            "Offset of field: ",
63020            stringify!(_GVolumeIface),
63021            "::",
63022            stringify!(get_drive)
63023        )
63024    );
63025    assert_eq!(
63026        unsafe { ::std::ptr::addr_of!((*ptr).get_mount) as usize - ptr as usize },
63027        64usize,
63028        concat!(
63029            "Offset of field: ",
63030            stringify!(_GVolumeIface),
63031            "::",
63032            stringify!(get_mount)
63033        )
63034    );
63035    assert_eq!(
63036        unsafe { ::std::ptr::addr_of!((*ptr).can_mount) as usize - ptr as usize },
63037        72usize,
63038        concat!(
63039            "Offset of field: ",
63040            stringify!(_GVolumeIface),
63041            "::",
63042            stringify!(can_mount)
63043        )
63044    );
63045    assert_eq!(
63046        unsafe { ::std::ptr::addr_of!((*ptr).can_eject) as usize - ptr as usize },
63047        80usize,
63048        concat!(
63049            "Offset of field: ",
63050            stringify!(_GVolumeIface),
63051            "::",
63052            stringify!(can_eject)
63053        )
63054    );
63055    assert_eq!(
63056        unsafe { ::std::ptr::addr_of!((*ptr).mount_fn) as usize - ptr as usize },
63057        88usize,
63058        concat!(
63059            "Offset of field: ",
63060            stringify!(_GVolumeIface),
63061            "::",
63062            stringify!(mount_fn)
63063        )
63064    );
63065    assert_eq!(
63066        unsafe { ::std::ptr::addr_of!((*ptr).mount_finish) as usize - ptr as usize },
63067        96usize,
63068        concat!(
63069            "Offset of field: ",
63070            stringify!(_GVolumeIface),
63071            "::",
63072            stringify!(mount_finish)
63073        )
63074    );
63075    assert_eq!(
63076        unsafe { ::std::ptr::addr_of!((*ptr).eject) as usize - ptr as usize },
63077        104usize,
63078        concat!(
63079            "Offset of field: ",
63080            stringify!(_GVolumeIface),
63081            "::",
63082            stringify!(eject)
63083        )
63084    );
63085    assert_eq!(
63086        unsafe { ::std::ptr::addr_of!((*ptr).eject_finish) as usize - ptr as usize },
63087        112usize,
63088        concat!(
63089            "Offset of field: ",
63090            stringify!(_GVolumeIface),
63091            "::",
63092            stringify!(eject_finish)
63093        )
63094    );
63095    assert_eq!(
63096        unsafe { ::std::ptr::addr_of!((*ptr).get_identifier) as usize - ptr as usize },
63097        120usize,
63098        concat!(
63099            "Offset of field: ",
63100            stringify!(_GVolumeIface),
63101            "::",
63102            stringify!(get_identifier)
63103        )
63104    );
63105    assert_eq!(
63106        unsafe { ::std::ptr::addr_of!((*ptr).enumerate_identifiers) as usize - ptr as usize },
63107        128usize,
63108        concat!(
63109            "Offset of field: ",
63110            stringify!(_GVolumeIface),
63111            "::",
63112            stringify!(enumerate_identifiers)
63113        )
63114    );
63115    assert_eq!(
63116        unsafe { ::std::ptr::addr_of!((*ptr).should_automount) as usize - ptr as usize },
63117        136usize,
63118        concat!(
63119            "Offset of field: ",
63120            stringify!(_GVolumeIface),
63121            "::",
63122            stringify!(should_automount)
63123        )
63124    );
63125    assert_eq!(
63126        unsafe { ::std::ptr::addr_of!((*ptr).get_activation_root) as usize - ptr as usize },
63127        144usize,
63128        concat!(
63129            "Offset of field: ",
63130            stringify!(_GVolumeIface),
63131            "::",
63132            stringify!(get_activation_root)
63133        )
63134    );
63135    assert_eq!(
63136        unsafe { ::std::ptr::addr_of!((*ptr).eject_with_operation) as usize - ptr as usize },
63137        152usize,
63138        concat!(
63139            "Offset of field: ",
63140            stringify!(_GVolumeIface),
63141            "::",
63142            stringify!(eject_with_operation)
63143        )
63144    );
63145    assert_eq!(
63146        unsafe { ::std::ptr::addr_of!((*ptr).eject_with_operation_finish) as usize - ptr as usize },
63147        160usize,
63148        concat!(
63149            "Offset of field: ",
63150            stringify!(_GVolumeIface),
63151            "::",
63152            stringify!(eject_with_operation_finish)
63153        )
63154    );
63155    assert_eq!(
63156        unsafe { ::std::ptr::addr_of!((*ptr).get_sort_key) as usize - ptr as usize },
63157        168usize,
63158        concat!(
63159            "Offset of field: ",
63160            stringify!(_GVolumeIface),
63161            "::",
63162            stringify!(get_sort_key)
63163        )
63164    );
63165    assert_eq!(
63166        unsafe { ::std::ptr::addr_of!((*ptr).get_symbolic_icon) as usize - ptr as usize },
63167        176usize,
63168        concat!(
63169            "Offset of field: ",
63170            stringify!(_GVolumeIface),
63171            "::",
63172            stringify!(get_symbolic_icon)
63173        )
63174    );
63175}
63176extern "C" {
63177    pub fn g_volume_get_type() -> GType;
63178}
63179extern "C" {
63180    pub fn g_volume_get_name(volume: *mut GVolume) -> *mut ::std::os::raw::c_char;
63181}
63182extern "C" {
63183    pub fn g_volume_get_icon(volume: *mut GVolume) -> *mut GIcon;
63184}
63185extern "C" {
63186    pub fn g_volume_get_symbolic_icon(volume: *mut GVolume) -> *mut GIcon;
63187}
63188extern "C" {
63189    pub fn g_volume_get_uuid(volume: *mut GVolume) -> *mut ::std::os::raw::c_char;
63190}
63191extern "C" {
63192    pub fn g_volume_get_drive(volume: *mut GVolume) -> *mut GDrive;
63193}
63194extern "C" {
63195    pub fn g_volume_get_mount(volume: *mut GVolume) -> *mut GMount;
63196}
63197extern "C" {
63198    pub fn g_volume_can_mount(volume: *mut GVolume) -> gboolean;
63199}
63200extern "C" {
63201    pub fn g_volume_can_eject(volume: *mut GVolume) -> gboolean;
63202}
63203extern "C" {
63204    pub fn g_volume_should_automount(volume: *mut GVolume) -> gboolean;
63205}
63206extern "C" {
63207    pub fn g_volume_mount(
63208        volume: *mut GVolume,
63209        flags: GMountMountFlags,
63210        mount_operation: *mut GMountOperation,
63211        cancellable: *mut GCancellable,
63212        callback: GAsyncReadyCallback,
63213        user_data: gpointer,
63214    );
63215}
63216extern "C" {
63217    pub fn g_volume_mount_finish(
63218        volume: *mut GVolume,
63219        result: *mut GAsyncResult,
63220        error: *mut *mut GError,
63221    ) -> gboolean;
63222}
63223extern "C" {
63224    pub fn g_volume_eject(
63225        volume: *mut GVolume,
63226        flags: GMountUnmountFlags,
63227        cancellable: *mut GCancellable,
63228        callback: GAsyncReadyCallback,
63229        user_data: gpointer,
63230    );
63231}
63232extern "C" {
63233    pub fn g_volume_eject_finish(
63234        volume: *mut GVolume,
63235        result: *mut GAsyncResult,
63236        error: *mut *mut GError,
63237    ) -> gboolean;
63238}
63239extern "C" {
63240    pub fn g_volume_get_identifier(
63241        volume: *mut GVolume,
63242        kind: *const ::std::os::raw::c_char,
63243    ) -> *mut ::std::os::raw::c_char;
63244}
63245extern "C" {
63246    pub fn g_volume_enumerate_identifiers(volume: *mut GVolume)
63247        -> *mut *mut ::std::os::raw::c_char;
63248}
63249extern "C" {
63250    pub fn g_volume_get_activation_root(volume: *mut GVolume) -> *mut GFile;
63251}
63252extern "C" {
63253    pub fn g_volume_eject_with_operation(
63254        volume: *mut GVolume,
63255        flags: GMountUnmountFlags,
63256        mount_operation: *mut GMountOperation,
63257        cancellable: *mut GCancellable,
63258        callback: GAsyncReadyCallback,
63259        user_data: gpointer,
63260    );
63261}
63262extern "C" {
63263    pub fn g_volume_eject_with_operation_finish(
63264        volume: *mut GVolume,
63265        result: *mut GAsyncResult,
63266        error: *mut *mut GError,
63267    ) -> gboolean;
63268}
63269extern "C" {
63270    pub fn g_volume_get_sort_key(volume: *mut GVolume) -> *const gchar;
63271}
63272pub type GZlibCompressorClass = _GZlibCompressorClass;
63273#[repr(C)]
63274#[derive(Debug, Copy, Clone, PartialEq, Eq)]
63275pub struct _GZlibCompressorClass {
63276    pub parent_class: GObjectClass,
63277}
63278#[test]
63279fn bindgen_test_layout__GZlibCompressorClass() {
63280    const UNINIT: ::std::mem::MaybeUninit<_GZlibCompressorClass> =
63281        ::std::mem::MaybeUninit::uninit();
63282    let ptr = UNINIT.as_ptr();
63283    assert_eq!(
63284        ::std::mem::size_of::<_GZlibCompressorClass>(),
63285        136usize,
63286        concat!("Size of: ", stringify!(_GZlibCompressorClass))
63287    );
63288    assert_eq!(
63289        ::std::mem::align_of::<_GZlibCompressorClass>(),
63290        8usize,
63291        concat!("Alignment of ", stringify!(_GZlibCompressorClass))
63292    );
63293    assert_eq!(
63294        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
63295        0usize,
63296        concat!(
63297            "Offset of field: ",
63298            stringify!(_GZlibCompressorClass),
63299            "::",
63300            stringify!(parent_class)
63301        )
63302    );
63303}
63304extern "C" {
63305    pub fn g_zlib_compressor_get_type() -> GType;
63306}
63307extern "C" {
63308    pub fn g_zlib_compressor_new(
63309        format: GZlibCompressorFormat,
63310        level: ::std::os::raw::c_int,
63311    ) -> *mut GZlibCompressor;
63312}
63313extern "C" {
63314    pub fn g_zlib_compressor_get_file_info(compressor: *mut GZlibCompressor) -> *mut GFileInfo;
63315}
63316extern "C" {
63317    pub fn g_zlib_compressor_set_file_info(
63318        compressor: *mut GZlibCompressor,
63319        file_info: *mut GFileInfo,
63320    );
63321}
63322pub type GZlibDecompressorClass = _GZlibDecompressorClass;
63323#[repr(C)]
63324#[derive(Debug, Copy, Clone, PartialEq, Eq)]
63325pub struct _GZlibDecompressorClass {
63326    pub parent_class: GObjectClass,
63327}
63328#[test]
63329fn bindgen_test_layout__GZlibDecompressorClass() {
63330    const UNINIT: ::std::mem::MaybeUninit<_GZlibDecompressorClass> =
63331        ::std::mem::MaybeUninit::uninit();
63332    let ptr = UNINIT.as_ptr();
63333    assert_eq!(
63334        ::std::mem::size_of::<_GZlibDecompressorClass>(),
63335        136usize,
63336        concat!("Size of: ", stringify!(_GZlibDecompressorClass))
63337    );
63338    assert_eq!(
63339        ::std::mem::align_of::<_GZlibDecompressorClass>(),
63340        8usize,
63341        concat!("Alignment of ", stringify!(_GZlibDecompressorClass))
63342    );
63343    assert_eq!(
63344        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
63345        0usize,
63346        concat!(
63347            "Offset of field: ",
63348            stringify!(_GZlibDecompressorClass),
63349            "::",
63350            stringify!(parent_class)
63351        )
63352    );
63353}
63354extern "C" {
63355    pub fn g_zlib_decompressor_get_type() -> GType;
63356}
63357extern "C" {
63358    pub fn g_zlib_decompressor_new(format: GZlibCompressorFormat) -> *mut GZlibDecompressor;
63359}
63360extern "C" {
63361    pub fn g_zlib_decompressor_get_file_info(
63362        decompressor: *mut GZlibDecompressor,
63363    ) -> *mut GFileInfo;
63364}
63365pub type GAction_autoptr = *mut GAction;
63366pub type GAction_listautoptr = *mut GList;
63367pub type GAction_slistautoptr = *mut GSList;
63368pub type GAction_queueautoptr = *mut GQueue;
63369pub type GActionMap_autoptr = *mut GActionMap;
63370pub type GActionMap_listautoptr = *mut GList;
63371pub type GActionMap_slistautoptr = *mut GSList;
63372pub type GActionMap_queueautoptr = *mut GQueue;
63373pub type GAppInfo_autoptr = *mut GAppInfo;
63374pub type GAppInfo_listautoptr = *mut GList;
63375pub type GAppInfo_slistautoptr = *mut GSList;
63376pub type GAppInfo_queueautoptr = *mut GQueue;
63377pub type GAppLaunchContext_autoptr = *mut GAppLaunchContext;
63378pub type GAppLaunchContext_listautoptr = *mut GList;
63379pub type GAppLaunchContext_slistautoptr = *mut GSList;
63380pub type GAppLaunchContext_queueautoptr = *mut GQueue;
63381pub type GAppInfoMonitor_autoptr = *mut GAppInfoMonitor;
63382pub type GAppInfoMonitor_listautoptr = *mut GList;
63383pub type GAppInfoMonitor_slistautoptr = *mut GSList;
63384pub type GAppInfoMonitor_queueautoptr = *mut GQueue;
63385pub type GApplicationCommandLine_autoptr = *mut GApplicationCommandLine;
63386pub type GApplicationCommandLine_listautoptr = *mut GList;
63387pub type GApplicationCommandLine_slistautoptr = *mut GSList;
63388pub type GApplicationCommandLine_queueautoptr = *mut GQueue;
63389pub type GApplication_autoptr = *mut GApplication;
63390pub type GApplication_listautoptr = *mut GList;
63391pub type GApplication_slistautoptr = *mut GSList;
63392pub type GApplication_queueautoptr = *mut GQueue;
63393pub type GAsyncInitable_autoptr = *mut GAsyncInitable;
63394pub type GAsyncInitable_listautoptr = *mut GList;
63395pub type GAsyncInitable_slistautoptr = *mut GSList;
63396pub type GAsyncInitable_queueautoptr = *mut GQueue;
63397pub type GAsyncResult_autoptr = *mut GAsyncResult;
63398pub type GAsyncResult_listautoptr = *mut GList;
63399pub type GAsyncResult_slistautoptr = *mut GSList;
63400pub type GAsyncResult_queueautoptr = *mut GQueue;
63401pub type GBufferedInputStream_autoptr = *mut GBufferedInputStream;
63402pub type GBufferedInputStream_listautoptr = *mut GList;
63403pub type GBufferedInputStream_slistautoptr = *mut GSList;
63404pub type GBufferedInputStream_queueautoptr = *mut GQueue;
63405pub type GBufferedOutputStream_autoptr = *mut GBufferedOutputStream;
63406pub type GBufferedOutputStream_listautoptr = *mut GList;
63407pub type GBufferedOutputStream_slistautoptr = *mut GSList;
63408pub type GBufferedOutputStream_queueautoptr = *mut GQueue;
63409pub type GBytesIcon_autoptr = *mut GBytesIcon;
63410pub type GBytesIcon_listautoptr = *mut GList;
63411pub type GBytesIcon_slistautoptr = *mut GSList;
63412pub type GBytesIcon_queueautoptr = *mut GQueue;
63413pub type GCancellable_autoptr = *mut GCancellable;
63414pub type GCancellable_listautoptr = *mut GList;
63415pub type GCancellable_slistautoptr = *mut GSList;
63416pub type GCancellable_queueautoptr = *mut GQueue;
63417pub type GCharsetConverter_autoptr = *mut GCharsetConverter;
63418pub type GCharsetConverter_listautoptr = *mut GList;
63419pub type GCharsetConverter_slistautoptr = *mut GSList;
63420pub type GCharsetConverter_queueautoptr = *mut GQueue;
63421pub type GConverter_autoptr = *mut GConverter;
63422pub type GConverter_listautoptr = *mut GList;
63423pub type GConverter_slistautoptr = *mut GSList;
63424pub type GConverter_queueautoptr = *mut GQueue;
63425pub type GConverterInputStream_autoptr = *mut GConverterInputStream;
63426pub type GConverterInputStream_listautoptr = *mut GList;
63427pub type GConverterInputStream_slistautoptr = *mut GSList;
63428pub type GConverterInputStream_queueautoptr = *mut GQueue;
63429pub type GConverterOutputStream_autoptr = *mut GConverterOutputStream;
63430pub type GConverterOutputStream_listautoptr = *mut GList;
63431pub type GConverterOutputStream_slistautoptr = *mut GSList;
63432pub type GConverterOutputStream_queueautoptr = *mut GQueue;
63433pub type GCredentials_autoptr = *mut GCredentials;
63434pub type GCredentials_listautoptr = *mut GList;
63435pub type GCredentials_slistautoptr = *mut GSList;
63436pub type GCredentials_queueautoptr = *mut GQueue;
63437pub type GDatagramBased_autoptr = *mut GDatagramBased;
63438pub type GDatagramBased_listautoptr = *mut GList;
63439pub type GDatagramBased_slistautoptr = *mut GSList;
63440pub type GDatagramBased_queueautoptr = *mut GQueue;
63441pub type GDataInputStream_autoptr = *mut GDataInputStream;
63442pub type GDataInputStream_listautoptr = *mut GList;
63443pub type GDataInputStream_slistautoptr = *mut GSList;
63444pub type GDataInputStream_queueautoptr = *mut GQueue;
63445pub type GDataOutputStream_autoptr = *mut GDataOutputStream;
63446pub type GDataOutputStream_listautoptr = *mut GList;
63447pub type GDataOutputStream_slistautoptr = *mut GSList;
63448pub type GDataOutputStream_queueautoptr = *mut GQueue;
63449pub type GDBusActionGroup_autoptr = *mut GDBusActionGroup;
63450pub type GDBusActionGroup_listautoptr = *mut GList;
63451pub type GDBusActionGroup_slistautoptr = *mut GSList;
63452pub type GDBusActionGroup_queueautoptr = *mut GQueue;
63453pub type GDBusAuthObserver_autoptr = *mut GDBusAuthObserver;
63454pub type GDBusAuthObserver_listautoptr = *mut GList;
63455pub type GDBusAuthObserver_slistautoptr = *mut GSList;
63456pub type GDBusAuthObserver_queueautoptr = *mut GQueue;
63457pub type GDBusConnection_autoptr = *mut GDBusConnection;
63458pub type GDBusConnection_listautoptr = *mut GList;
63459pub type GDBusConnection_slistautoptr = *mut GSList;
63460pub type GDBusConnection_queueautoptr = *mut GQueue;
63461pub type GDBusInterface_autoptr = *mut GDBusInterface;
63462pub type GDBusInterface_listautoptr = *mut GList;
63463pub type GDBusInterface_slistautoptr = *mut GSList;
63464pub type GDBusInterface_queueautoptr = *mut GQueue;
63465pub type GDBusInterfaceSkeleton_autoptr = *mut GDBusInterfaceSkeleton;
63466pub type GDBusInterfaceSkeleton_listautoptr = *mut GList;
63467pub type GDBusInterfaceSkeleton_slistautoptr = *mut GSList;
63468pub type GDBusInterfaceSkeleton_queueautoptr = *mut GQueue;
63469pub type GDBusMenuModel_autoptr = *mut GDBusMenuModel;
63470pub type GDBusMenuModel_listautoptr = *mut GList;
63471pub type GDBusMenuModel_slistautoptr = *mut GSList;
63472pub type GDBusMenuModel_queueautoptr = *mut GQueue;
63473pub type GDBusMessage_autoptr = *mut GDBusMessage;
63474pub type GDBusMessage_listautoptr = *mut GList;
63475pub type GDBusMessage_slistautoptr = *mut GSList;
63476pub type GDBusMessage_queueautoptr = *mut GQueue;
63477pub type GDBusMethodInvocation_autoptr = *mut GDBusMethodInvocation;
63478pub type GDBusMethodInvocation_listautoptr = *mut GList;
63479pub type GDBusMethodInvocation_slistautoptr = *mut GSList;
63480pub type GDBusMethodInvocation_queueautoptr = *mut GQueue;
63481pub type GDBusNodeInfo_autoptr = *mut GDBusNodeInfo;
63482pub type GDBusNodeInfo_listautoptr = *mut GList;
63483pub type GDBusNodeInfo_slistautoptr = *mut GSList;
63484pub type GDBusNodeInfo_queueautoptr = *mut GQueue;
63485pub type GDBusObject_autoptr = *mut GDBusObject;
63486pub type GDBusObject_listautoptr = *mut GList;
63487pub type GDBusObject_slistautoptr = *mut GSList;
63488pub type GDBusObject_queueautoptr = *mut GQueue;
63489pub type GDBusObjectManagerClient_autoptr = *mut GDBusObjectManagerClient;
63490pub type GDBusObjectManagerClient_listautoptr = *mut GList;
63491pub type GDBusObjectManagerClient_slistautoptr = *mut GSList;
63492pub type GDBusObjectManagerClient_queueautoptr = *mut GQueue;
63493pub type GDBusObjectManager_autoptr = *mut GDBusObjectManager;
63494pub type GDBusObjectManager_listautoptr = *mut GList;
63495pub type GDBusObjectManager_slistautoptr = *mut GSList;
63496pub type GDBusObjectManager_queueautoptr = *mut GQueue;
63497pub type GDBusObjectManagerServer_autoptr = *mut GDBusObjectManagerServer;
63498pub type GDBusObjectManagerServer_listautoptr = *mut GList;
63499pub type GDBusObjectManagerServer_slistautoptr = *mut GSList;
63500pub type GDBusObjectManagerServer_queueautoptr = *mut GQueue;
63501pub type GDBusObjectProxy_autoptr = *mut GDBusObjectProxy;
63502pub type GDBusObjectProxy_listautoptr = *mut GList;
63503pub type GDBusObjectProxy_slistautoptr = *mut GSList;
63504pub type GDBusObjectProxy_queueautoptr = *mut GQueue;
63505pub type GDBusObjectSkeleton_autoptr = *mut GDBusObjectSkeleton;
63506pub type GDBusObjectSkeleton_listautoptr = *mut GList;
63507pub type GDBusObjectSkeleton_slistautoptr = *mut GSList;
63508pub type GDBusObjectSkeleton_queueautoptr = *mut GQueue;
63509pub type GDBusProxy_autoptr = *mut GDBusProxy;
63510pub type GDBusProxy_listautoptr = *mut GList;
63511pub type GDBusProxy_slistautoptr = *mut GSList;
63512pub type GDBusProxy_queueautoptr = *mut GQueue;
63513pub type GDBusServer_autoptr = *mut GDBusServer;
63514pub type GDBusServer_listautoptr = *mut GList;
63515pub type GDBusServer_slistautoptr = *mut GSList;
63516pub type GDBusServer_queueautoptr = *mut GQueue;
63517pub type GDrive_autoptr = *mut GDrive;
63518pub type GDrive_listautoptr = *mut GList;
63519pub type GDrive_slistautoptr = *mut GSList;
63520pub type GDrive_queueautoptr = *mut GQueue;
63521pub type GEmblemedIcon_autoptr = *mut GEmblemedIcon;
63522pub type GEmblemedIcon_listautoptr = *mut GList;
63523pub type GEmblemedIcon_slistautoptr = *mut GSList;
63524pub type GEmblemedIcon_queueautoptr = *mut GQueue;
63525pub type GEmblem_autoptr = *mut GEmblem;
63526pub type GEmblem_listautoptr = *mut GList;
63527pub type GEmblem_slistautoptr = *mut GSList;
63528pub type GEmblem_queueautoptr = *mut GQueue;
63529pub type GFileEnumerator_autoptr = *mut GFileEnumerator;
63530pub type GFileEnumerator_listautoptr = *mut GList;
63531pub type GFileEnumerator_slistautoptr = *mut GSList;
63532pub type GFileEnumerator_queueautoptr = *mut GQueue;
63533pub type GFile_autoptr = *mut GFile;
63534pub type GFile_listautoptr = *mut GList;
63535pub type GFile_slistautoptr = *mut GSList;
63536pub type GFile_queueautoptr = *mut GQueue;
63537pub type GFileAttributeInfoList_autoptr = *mut GFileAttributeInfoList;
63538pub type GFileAttributeInfoList_listautoptr = *mut GList;
63539pub type GFileAttributeInfoList_slistautoptr = *mut GSList;
63540pub type GFileAttributeInfoList_queueautoptr = *mut GQueue;
63541pub type GFileIcon_autoptr = *mut GFileIcon;
63542pub type GFileIcon_listautoptr = *mut GList;
63543pub type GFileIcon_slistautoptr = *mut GSList;
63544pub type GFileIcon_queueautoptr = *mut GQueue;
63545pub type GFileInfo_autoptr = *mut GFileInfo;
63546pub type GFileInfo_listautoptr = *mut GList;
63547pub type GFileInfo_slistautoptr = *mut GSList;
63548pub type GFileInfo_queueautoptr = *mut GQueue;
63549pub type GFileInputStream_autoptr = *mut GFileInputStream;
63550pub type GFileInputStream_listautoptr = *mut GList;
63551pub type GFileInputStream_slistautoptr = *mut GSList;
63552pub type GFileInputStream_queueautoptr = *mut GQueue;
63553pub type GFileIOStream_autoptr = *mut GFileIOStream;
63554pub type GFileIOStream_listautoptr = *mut GList;
63555pub type GFileIOStream_slistautoptr = *mut GSList;
63556pub type GFileIOStream_queueautoptr = *mut GQueue;
63557pub type GFileMonitor_autoptr = *mut GFileMonitor;
63558pub type GFileMonitor_listautoptr = *mut GList;
63559pub type GFileMonitor_slistautoptr = *mut GSList;
63560pub type GFileMonitor_queueautoptr = *mut GQueue;
63561pub type GFilenameCompleter_autoptr = *mut GFilenameCompleter;
63562pub type GFilenameCompleter_listautoptr = *mut GList;
63563pub type GFilenameCompleter_slistautoptr = *mut GSList;
63564pub type GFilenameCompleter_queueautoptr = *mut GQueue;
63565pub type GFileOutputStream_autoptr = *mut GFileOutputStream;
63566pub type GFileOutputStream_listautoptr = *mut GList;
63567pub type GFileOutputStream_slistautoptr = *mut GSList;
63568pub type GFileOutputStream_queueautoptr = *mut GQueue;
63569pub type GFilterInputStream_autoptr = *mut GFilterInputStream;
63570pub type GFilterInputStream_listautoptr = *mut GList;
63571pub type GFilterInputStream_slistautoptr = *mut GSList;
63572pub type GFilterInputStream_queueautoptr = *mut GQueue;
63573pub type GFilterOutputStream_autoptr = *mut GFilterOutputStream;
63574pub type GFilterOutputStream_listautoptr = *mut GList;
63575pub type GFilterOutputStream_slistautoptr = *mut GSList;
63576pub type GFilterOutputStream_queueautoptr = *mut GQueue;
63577pub type GIcon_autoptr = *mut GIcon;
63578pub type GIcon_listautoptr = *mut GList;
63579pub type GIcon_slistautoptr = *mut GSList;
63580pub type GIcon_queueautoptr = *mut GQueue;
63581pub type GInetAddress_autoptr = *mut GInetAddress;
63582pub type GInetAddress_listautoptr = *mut GList;
63583pub type GInetAddress_slistautoptr = *mut GSList;
63584pub type GInetAddress_queueautoptr = *mut GQueue;
63585pub type GInetAddressMask_autoptr = *mut GInetAddressMask;
63586pub type GInetAddressMask_listautoptr = *mut GList;
63587pub type GInetAddressMask_slistautoptr = *mut GSList;
63588pub type GInetAddressMask_queueautoptr = *mut GQueue;
63589pub type GInetSocketAddress_autoptr = *mut GInetSocketAddress;
63590pub type GInetSocketAddress_listautoptr = *mut GList;
63591pub type GInetSocketAddress_slistautoptr = *mut GSList;
63592pub type GInetSocketAddress_queueautoptr = *mut GQueue;
63593pub type GInitable_autoptr = *mut GInitable;
63594pub type GInitable_listautoptr = *mut GList;
63595pub type GInitable_slistautoptr = *mut GSList;
63596pub type GInitable_queueautoptr = *mut GQueue;
63597pub type GInputStream_autoptr = *mut GInputStream;
63598pub type GInputStream_listautoptr = *mut GList;
63599pub type GInputStream_slistautoptr = *mut GSList;
63600pub type GInputStream_queueautoptr = *mut GQueue;
63601pub type GIOModule_autoptr = *mut GIOModule;
63602pub type GIOModule_listautoptr = *mut GList;
63603pub type GIOModule_slistautoptr = *mut GSList;
63604pub type GIOModule_queueautoptr = *mut GQueue;
63605pub type GIOStream_autoptr = *mut GIOStream;
63606pub type GIOStream_listautoptr = *mut GList;
63607pub type GIOStream_slistautoptr = *mut GSList;
63608pub type GIOStream_queueautoptr = *mut GQueue;
63609pub type GLoadableIcon_autoptr = *mut GLoadableIcon;
63610pub type GLoadableIcon_listautoptr = *mut GList;
63611pub type GLoadableIcon_slistautoptr = *mut GSList;
63612pub type GLoadableIcon_queueautoptr = *mut GQueue;
63613pub type GMemoryInputStream_autoptr = *mut GMemoryInputStream;
63614pub type GMemoryInputStream_listautoptr = *mut GList;
63615pub type GMemoryInputStream_slistautoptr = *mut GSList;
63616pub type GMemoryInputStream_queueautoptr = *mut GQueue;
63617pub type GMemoryOutputStream_autoptr = *mut GMemoryOutputStream;
63618pub type GMemoryOutputStream_listautoptr = *mut GList;
63619pub type GMemoryOutputStream_slistautoptr = *mut GSList;
63620pub type GMemoryOutputStream_queueautoptr = *mut GQueue;
63621pub type GMenu_autoptr = *mut GMenu;
63622pub type GMenu_listautoptr = *mut GList;
63623pub type GMenu_slistautoptr = *mut GSList;
63624pub type GMenu_queueautoptr = *mut GQueue;
63625pub type GMenuItem_autoptr = *mut GMenuItem;
63626pub type GMenuItem_listautoptr = *mut GList;
63627pub type GMenuItem_slistautoptr = *mut GSList;
63628pub type GMenuItem_queueautoptr = *mut GQueue;
63629pub type GMenuModel_autoptr = *mut GMenuModel;
63630pub type GMenuModel_listautoptr = *mut GList;
63631pub type GMenuModel_slistautoptr = *mut GSList;
63632pub type GMenuModel_queueautoptr = *mut GQueue;
63633pub type GMenuAttributeIter_autoptr = *mut GMenuAttributeIter;
63634pub type GMenuAttributeIter_listautoptr = *mut GList;
63635pub type GMenuAttributeIter_slistautoptr = *mut GSList;
63636pub type GMenuAttributeIter_queueautoptr = *mut GQueue;
63637pub type GMenuLinkIter_autoptr = *mut GMenuLinkIter;
63638pub type GMenuLinkIter_listautoptr = *mut GList;
63639pub type GMenuLinkIter_slistautoptr = *mut GSList;
63640pub type GMenuLinkIter_queueautoptr = *mut GQueue;
63641pub type GMount_autoptr = *mut GMount;
63642pub type GMount_listautoptr = *mut GList;
63643pub type GMount_slistautoptr = *mut GSList;
63644pub type GMount_queueautoptr = *mut GQueue;
63645pub type GMountOperation_autoptr = *mut GMountOperation;
63646pub type GMountOperation_listautoptr = *mut GList;
63647pub type GMountOperation_slistautoptr = *mut GSList;
63648pub type GMountOperation_queueautoptr = *mut GQueue;
63649pub type GNativeVolumeMonitor_autoptr = *mut GNativeVolumeMonitor;
63650pub type GNativeVolumeMonitor_listautoptr = *mut GList;
63651pub type GNativeVolumeMonitor_slistautoptr = *mut GSList;
63652pub type GNativeVolumeMonitor_queueautoptr = *mut GQueue;
63653pub type GNetworkAddress_autoptr = *mut GNetworkAddress;
63654pub type GNetworkAddress_listautoptr = *mut GList;
63655pub type GNetworkAddress_slistautoptr = *mut GSList;
63656pub type GNetworkAddress_queueautoptr = *mut GQueue;
63657pub type GNetworkMonitor_autoptr = *mut GNetworkMonitor;
63658pub type GNetworkMonitor_listautoptr = *mut GList;
63659pub type GNetworkMonitor_slistautoptr = *mut GSList;
63660pub type GNetworkMonitor_queueautoptr = *mut GQueue;
63661pub type GNetworkService_autoptr = *mut GNetworkService;
63662pub type GNetworkService_listautoptr = *mut GList;
63663pub type GNetworkService_slistautoptr = *mut GSList;
63664pub type GNetworkService_queueautoptr = *mut GQueue;
63665pub type GNotification_autoptr = *mut GNotification;
63666pub type GNotification_listautoptr = *mut GList;
63667pub type GNotification_slistautoptr = *mut GSList;
63668pub type GNotification_queueautoptr = *mut GQueue;
63669pub type GOutputStream_autoptr = *mut GOutputStream;
63670pub type GOutputStream_listautoptr = *mut GList;
63671pub type GOutputStream_slistautoptr = *mut GSList;
63672pub type GOutputStream_queueautoptr = *mut GQueue;
63673pub type GPermission_autoptr = *mut GPermission;
63674pub type GPermission_listautoptr = *mut GList;
63675pub type GPermission_slistautoptr = *mut GSList;
63676pub type GPermission_queueautoptr = *mut GQueue;
63677pub type GPollableInputStream_autoptr = *mut GPollableInputStream;
63678pub type GPollableInputStream_listautoptr = *mut GList;
63679pub type GPollableInputStream_slistautoptr = *mut GSList;
63680pub type GPollableInputStream_queueautoptr = *mut GQueue;
63681pub type GPollableOutputStream_autoptr = *mut GPollableOutputStream;
63682pub type GPollableOutputStream_listautoptr = *mut GList;
63683pub type GPollableOutputStream_slistautoptr = *mut GSList;
63684pub type GPollableOutputStream_queueautoptr = *mut GQueue;
63685pub type GPropertyAction_autoptr = *mut GPropertyAction;
63686pub type GPropertyAction_listautoptr = *mut GList;
63687pub type GPropertyAction_slistautoptr = *mut GSList;
63688pub type GPropertyAction_queueautoptr = *mut GQueue;
63689pub type GProxyAddressEnumerator_autoptr = *mut GProxyAddressEnumerator;
63690pub type GProxyAddressEnumerator_listautoptr = *mut GList;
63691pub type GProxyAddressEnumerator_slistautoptr = *mut GSList;
63692pub type GProxyAddressEnumerator_queueautoptr = *mut GQueue;
63693pub type GProxyAddress_autoptr = *mut GProxyAddress;
63694pub type GProxyAddress_listautoptr = *mut GList;
63695pub type GProxyAddress_slistautoptr = *mut GSList;
63696pub type GProxyAddress_queueautoptr = *mut GQueue;
63697pub type GProxy_autoptr = *mut GProxy;
63698pub type GProxy_listautoptr = *mut GList;
63699pub type GProxy_slistautoptr = *mut GSList;
63700pub type GProxy_queueautoptr = *mut GQueue;
63701pub type GProxyResolver_autoptr = *mut GProxyResolver;
63702pub type GProxyResolver_listautoptr = *mut GList;
63703pub type GProxyResolver_slistautoptr = *mut GSList;
63704pub type GProxyResolver_queueautoptr = *mut GQueue;
63705pub type GRemoteActionGroup_autoptr = *mut GRemoteActionGroup;
63706pub type GRemoteActionGroup_listautoptr = *mut GList;
63707pub type GRemoteActionGroup_slistautoptr = *mut GSList;
63708pub type GRemoteActionGroup_queueautoptr = *mut GQueue;
63709pub type GResolver_autoptr = *mut GResolver;
63710pub type GResolver_listautoptr = *mut GList;
63711pub type GResolver_slistautoptr = *mut GSList;
63712pub type GResolver_queueautoptr = *mut GQueue;
63713pub type GResource_autoptr = *mut GResource;
63714pub type GResource_listautoptr = *mut GList;
63715pub type GResource_slistautoptr = *mut GSList;
63716pub type GResource_queueautoptr = *mut GQueue;
63717pub type GSeekable_autoptr = *mut GSeekable;
63718pub type GSeekable_listautoptr = *mut GList;
63719pub type GSeekable_slistautoptr = *mut GSList;
63720pub type GSeekable_queueautoptr = *mut GQueue;
63721pub type GSettingsBackend_autoptr = *mut GSettingsBackend;
63722pub type GSettingsBackend_listautoptr = *mut GList;
63723pub type GSettingsBackend_slistautoptr = *mut GSList;
63724pub type GSettingsBackend_queueautoptr = *mut GQueue;
63725pub type GSettingsSchema_autoptr = *mut GSettingsSchema;
63726pub type GSettingsSchema_listautoptr = *mut GList;
63727pub type GSettingsSchema_slistautoptr = *mut GSList;
63728pub type GSettingsSchema_queueautoptr = *mut GQueue;
63729pub type GSettingsSchemaKey_autoptr = *mut GSettingsSchemaKey;
63730pub type GSettingsSchemaKey_listautoptr = *mut GList;
63731pub type GSettingsSchemaKey_slistautoptr = *mut GSList;
63732pub type GSettingsSchemaKey_queueautoptr = *mut GQueue;
63733pub type GSettingsSchemaSource_autoptr = *mut GSettingsSchemaSource;
63734pub type GSettingsSchemaSource_listautoptr = *mut GList;
63735pub type GSettingsSchemaSource_slistautoptr = *mut GSList;
63736pub type GSettingsSchemaSource_queueautoptr = *mut GQueue;
63737pub type GSettings_autoptr = *mut GSettings;
63738pub type GSettings_listautoptr = *mut GList;
63739pub type GSettings_slistautoptr = *mut GSList;
63740pub type GSettings_queueautoptr = *mut GQueue;
63741pub type GSimpleActionGroup_autoptr = *mut GSimpleActionGroup;
63742pub type GSimpleActionGroup_listautoptr = *mut GList;
63743pub type GSimpleActionGroup_slistautoptr = *mut GSList;
63744pub type GSimpleActionGroup_queueautoptr = *mut GQueue;
63745pub type GSimpleAction_autoptr = *mut GSimpleAction;
63746pub type GSimpleAction_listautoptr = *mut GList;
63747pub type GSimpleAction_slistautoptr = *mut GSList;
63748pub type GSimpleAction_queueautoptr = *mut GQueue;
63749pub type GSimpleAsyncResult_autoptr = *mut GSimpleAsyncResult;
63750pub type GSimpleAsyncResult_listautoptr = *mut GList;
63751pub type GSimpleAsyncResult_slistautoptr = *mut GSList;
63752pub type GSimpleAsyncResult_queueautoptr = *mut GQueue;
63753pub type GSimplePermission_autoptr = *mut GSimplePermission;
63754pub type GSimplePermission_listautoptr = *mut GList;
63755pub type GSimplePermission_slistautoptr = *mut GSList;
63756pub type GSimplePermission_queueautoptr = *mut GQueue;
63757pub type GSimpleProxyResolver_autoptr = *mut GSimpleProxyResolver;
63758pub type GSimpleProxyResolver_listautoptr = *mut GList;
63759pub type GSimpleProxyResolver_slistautoptr = *mut GSList;
63760pub type GSimpleProxyResolver_queueautoptr = *mut GQueue;
63761pub type GSocketAddressEnumerator_autoptr = *mut GSocketAddressEnumerator;
63762pub type GSocketAddressEnumerator_listautoptr = *mut GList;
63763pub type GSocketAddressEnumerator_slistautoptr = *mut GSList;
63764pub type GSocketAddressEnumerator_queueautoptr = *mut GQueue;
63765pub type GSocketAddress_autoptr = *mut GSocketAddress;
63766pub type GSocketAddress_listautoptr = *mut GList;
63767pub type GSocketAddress_slistautoptr = *mut GSList;
63768pub type GSocketAddress_queueautoptr = *mut GQueue;
63769pub type GSocketClient_autoptr = *mut GSocketClient;
63770pub type GSocketClient_listautoptr = *mut GList;
63771pub type GSocketClient_slistautoptr = *mut GSList;
63772pub type GSocketClient_queueautoptr = *mut GQueue;
63773pub type GSocketConnectable_autoptr = *mut GSocketConnectable;
63774pub type GSocketConnectable_listautoptr = *mut GList;
63775pub type GSocketConnectable_slistautoptr = *mut GSList;
63776pub type GSocketConnectable_queueautoptr = *mut GQueue;
63777pub type GSocketConnection_autoptr = *mut GSocketConnection;
63778pub type GSocketConnection_listautoptr = *mut GList;
63779pub type GSocketConnection_slistautoptr = *mut GSList;
63780pub type GSocketConnection_queueautoptr = *mut GQueue;
63781pub type GSocketControlMessage_autoptr = *mut GSocketControlMessage;
63782pub type GSocketControlMessage_listautoptr = *mut GList;
63783pub type GSocketControlMessage_slistautoptr = *mut GSList;
63784pub type GSocketControlMessage_queueautoptr = *mut GQueue;
63785pub type GSocket_autoptr = *mut GSocket;
63786pub type GSocket_listautoptr = *mut GList;
63787pub type GSocket_slistautoptr = *mut GSList;
63788pub type GSocket_queueautoptr = *mut GQueue;
63789pub type GSocketListener_autoptr = *mut GSocketListener;
63790pub type GSocketListener_listautoptr = *mut GList;
63791pub type GSocketListener_slistautoptr = *mut GSList;
63792pub type GSocketListener_queueautoptr = *mut GQueue;
63793pub type GSocketService_autoptr = *mut GSocketService;
63794pub type GSocketService_listautoptr = *mut GList;
63795pub type GSocketService_slistautoptr = *mut GSList;
63796pub type GSocketService_queueautoptr = *mut GQueue;
63797pub type GSubprocess_autoptr = *mut GSubprocess;
63798pub type GSubprocess_listautoptr = *mut GList;
63799pub type GSubprocess_slistautoptr = *mut GSList;
63800pub type GSubprocess_queueautoptr = *mut GQueue;
63801pub type GSubprocessLauncher_autoptr = *mut GSubprocessLauncher;
63802pub type GSubprocessLauncher_listautoptr = *mut GList;
63803pub type GSubprocessLauncher_slistautoptr = *mut GSList;
63804pub type GSubprocessLauncher_queueautoptr = *mut GQueue;
63805pub type GTask_autoptr = *mut GTask;
63806pub type GTask_listautoptr = *mut GList;
63807pub type GTask_slistautoptr = *mut GSList;
63808pub type GTask_queueautoptr = *mut GQueue;
63809pub type GTcpConnection_autoptr = *mut GTcpConnection;
63810pub type GTcpConnection_listautoptr = *mut GList;
63811pub type GTcpConnection_slistautoptr = *mut GSList;
63812pub type GTcpConnection_queueautoptr = *mut GQueue;
63813pub type GTcpWrapperConnection_autoptr = *mut GTcpWrapperConnection;
63814pub type GTcpWrapperConnection_listautoptr = *mut GList;
63815pub type GTcpWrapperConnection_slistautoptr = *mut GSList;
63816pub type GTcpWrapperConnection_queueautoptr = *mut GQueue;
63817pub type GTestDBus_autoptr = *mut GTestDBus;
63818pub type GTestDBus_listautoptr = *mut GList;
63819pub type GTestDBus_slistautoptr = *mut GSList;
63820pub type GTestDBus_queueautoptr = *mut GQueue;
63821pub type GThemedIcon_autoptr = *mut GThemedIcon;
63822pub type GThemedIcon_listautoptr = *mut GList;
63823pub type GThemedIcon_slistautoptr = *mut GSList;
63824pub type GThemedIcon_queueautoptr = *mut GQueue;
63825pub type GThreadedSocketService_autoptr = *mut GThreadedSocketService;
63826pub type GThreadedSocketService_listautoptr = *mut GList;
63827pub type GThreadedSocketService_slistautoptr = *mut GSList;
63828pub type GThreadedSocketService_queueautoptr = *mut GQueue;
63829pub type GTlsBackend_autoptr = *mut GTlsBackend;
63830pub type GTlsBackend_listautoptr = *mut GList;
63831pub type GTlsBackend_slistautoptr = *mut GSList;
63832pub type GTlsBackend_queueautoptr = *mut GQueue;
63833pub type GTlsCertificate_autoptr = *mut GTlsCertificate;
63834pub type GTlsCertificate_listautoptr = *mut GList;
63835pub type GTlsCertificate_slistautoptr = *mut GSList;
63836pub type GTlsCertificate_queueautoptr = *mut GQueue;
63837pub type GTlsClientConnection_autoptr = *mut GTlsClientConnection;
63838pub type GTlsClientConnection_listautoptr = *mut GList;
63839pub type GTlsClientConnection_slistautoptr = *mut GSList;
63840pub type GTlsClientConnection_queueautoptr = *mut GQueue;
63841pub type GTlsConnection_autoptr = *mut GTlsConnection;
63842pub type GTlsConnection_listautoptr = *mut GList;
63843pub type GTlsConnection_slistautoptr = *mut GSList;
63844pub type GTlsConnection_queueautoptr = *mut GQueue;
63845pub type GTlsDatabase_autoptr = *mut GTlsDatabase;
63846pub type GTlsDatabase_listautoptr = *mut GList;
63847pub type GTlsDatabase_slistautoptr = *mut GSList;
63848pub type GTlsDatabase_queueautoptr = *mut GQueue;
63849pub type GTlsFileDatabase_autoptr = *mut GTlsFileDatabase;
63850pub type GTlsFileDatabase_listautoptr = *mut GList;
63851pub type GTlsFileDatabase_slistautoptr = *mut GSList;
63852pub type GTlsFileDatabase_queueautoptr = *mut GQueue;
63853pub type GTlsInteraction_autoptr = *mut GTlsInteraction;
63854pub type GTlsInteraction_listautoptr = *mut GList;
63855pub type GTlsInteraction_slistautoptr = *mut GSList;
63856pub type GTlsInteraction_queueautoptr = *mut GQueue;
63857pub type GTlsPassword_autoptr = *mut GTlsPassword;
63858pub type GTlsPassword_listautoptr = *mut GList;
63859pub type GTlsPassword_slistautoptr = *mut GSList;
63860pub type GTlsPassword_queueautoptr = *mut GQueue;
63861pub type GTlsServerConnection_autoptr = *mut GTlsServerConnection;
63862pub type GTlsServerConnection_listautoptr = *mut GList;
63863pub type GTlsServerConnection_slistautoptr = *mut GSList;
63864pub type GTlsServerConnection_queueautoptr = *mut GQueue;
63865pub type GVfs_autoptr = *mut GVfs;
63866pub type GVfs_listautoptr = *mut GList;
63867pub type GVfs_slistautoptr = *mut GSList;
63868pub type GVfs_queueautoptr = *mut GQueue;
63869pub type GVolume_autoptr = *mut GVolume;
63870pub type GVolume_listautoptr = *mut GList;
63871pub type GVolume_slistautoptr = *mut GSList;
63872pub type GVolume_queueautoptr = *mut GQueue;
63873pub type GVolumeMonitor_autoptr = *mut GVolumeMonitor;
63874pub type GVolumeMonitor_listautoptr = *mut GList;
63875pub type GVolumeMonitor_slistautoptr = *mut GSList;
63876pub type GVolumeMonitor_queueautoptr = *mut GQueue;
63877pub type GZlibCompressor_autoptr = *mut GZlibCompressor;
63878pub type GZlibCompressor_listautoptr = *mut GList;
63879pub type GZlibCompressor_slistautoptr = *mut GSList;
63880pub type GZlibCompressor_queueautoptr = *mut GQueue;
63881pub type GZlibDecompressor_autoptr = *mut GZlibDecompressor;
63882pub type GZlibDecompressor_listautoptr = *mut GList;
63883pub type GZlibDecompressor_slistautoptr = *mut GSList;
63884pub type GZlibDecompressor_queueautoptr = *mut GQueue;
63885#[doc = " VipsPel:\n\n A picture element. Cast this to whatever the associated VipsBandFormat says\n to get the value."]
63886pub type VipsPel = ::std::os::raw::c_uchar;
63887pub type VipsCallbackFn = ::std::option::Option<
63888    unsafe extern "C" fn(
63889        a: *mut ::std::os::raw::c_void,
63890        b: *mut ::std::os::raw::c_void,
63891    ) -> ::std::os::raw::c_int,
63892>;
63893pub type VipsSListMap2Fn = ::std::option::Option<
63894    unsafe extern "C" fn(
63895        item: *mut ::std::os::raw::c_void,
63896        a: *mut ::std::os::raw::c_void,
63897        b: *mut ::std::os::raw::c_void,
63898    ) -> *mut ::std::os::raw::c_void,
63899>;
63900pub type VipsSListMap4Fn = ::std::option::Option<
63901    unsafe extern "C" fn(
63902        item: *mut ::std::os::raw::c_void,
63903        a: *mut ::std::os::raw::c_void,
63904        b: *mut ::std::os::raw::c_void,
63905        c: *mut ::std::os::raw::c_void,
63906        d: *mut ::std::os::raw::c_void,
63907    ) -> *mut ::std::os::raw::c_void,
63908>;
63909pub type VipsSListFold2Fn = ::std::option::Option<
63910    unsafe extern "C" fn(
63911        item: *mut ::std::os::raw::c_void,
63912        a: *mut ::std::os::raw::c_void,
63913        b: *mut ::std::os::raw::c_void,
63914        c: *mut ::std::os::raw::c_void,
63915    ) -> *mut ::std::os::raw::c_void,
63916>;
63917pub const VipsPrecision_VIPS_PRECISION_INTEGER: VipsPrecision = 0;
63918pub const VipsPrecision_VIPS_PRECISION_FLOAT: VipsPrecision = 1;
63919pub const VipsPrecision_VIPS_PRECISION_APPROXIMATE: VipsPrecision = 2;
63920pub const VipsPrecision_VIPS_PRECISION_LAST: VipsPrecision = 3;
63921pub type VipsPrecision = ::std::os::raw::c_uint;
63922extern "C" {
63923    pub fn vips_path_filename7(path: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
63924}
63925extern "C" {
63926    pub fn vips_path_mode7(path: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
63927}
63928pub type VipsImage = _VipsImage;
63929pub type VipsRegion = _VipsRegion;
63930pub type VipsBuf = _VipsBuf;
63931pub type VipsSource = _VipsSource;
63932pub type VipsTarget = _VipsTarget;
63933#[repr(C)]
63934#[derive(Debug, Copy, Clone, PartialEq, Eq)]
63935pub struct _VipsBuf {
63936    pub base: *mut ::std::os::raw::c_char,
63937    pub mx: ::std::os::raw::c_int,
63938    pub i: ::std::os::raw::c_int,
63939    pub full: gboolean,
63940    pub lasti: ::std::os::raw::c_int,
63941    pub dynamic: gboolean,
63942}
63943#[test]
63944fn bindgen_test_layout__VipsBuf() {
63945    const UNINIT: ::std::mem::MaybeUninit<_VipsBuf> = ::std::mem::MaybeUninit::uninit();
63946    let ptr = UNINIT.as_ptr();
63947    assert_eq!(
63948        ::std::mem::size_of::<_VipsBuf>(),
63949        32usize,
63950        concat!("Size of: ", stringify!(_VipsBuf))
63951    );
63952    assert_eq!(
63953        ::std::mem::align_of::<_VipsBuf>(),
63954        8usize,
63955        concat!("Alignment of ", stringify!(_VipsBuf))
63956    );
63957    assert_eq!(
63958        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
63959        0usize,
63960        concat!(
63961            "Offset of field: ",
63962            stringify!(_VipsBuf),
63963            "::",
63964            stringify!(base)
63965        )
63966    );
63967    assert_eq!(
63968        unsafe { ::std::ptr::addr_of!((*ptr).mx) as usize - ptr as usize },
63969        8usize,
63970        concat!(
63971            "Offset of field: ",
63972            stringify!(_VipsBuf),
63973            "::",
63974            stringify!(mx)
63975        )
63976    );
63977    assert_eq!(
63978        unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize },
63979        12usize,
63980        concat!(
63981            "Offset of field: ",
63982            stringify!(_VipsBuf),
63983            "::",
63984            stringify!(i)
63985        )
63986    );
63987    assert_eq!(
63988        unsafe { ::std::ptr::addr_of!((*ptr).full) as usize - ptr as usize },
63989        16usize,
63990        concat!(
63991            "Offset of field: ",
63992            stringify!(_VipsBuf),
63993            "::",
63994            stringify!(full)
63995        )
63996    );
63997    assert_eq!(
63998        unsafe { ::std::ptr::addr_of!((*ptr).lasti) as usize - ptr as usize },
63999        20usize,
64000        concat!(
64001            "Offset of field: ",
64002            stringify!(_VipsBuf),
64003            "::",
64004            stringify!(lasti)
64005        )
64006    );
64007    assert_eq!(
64008        unsafe { ::std::ptr::addr_of!((*ptr).dynamic) as usize - ptr as usize },
64009        24usize,
64010        concat!(
64011            "Offset of field: ",
64012            stringify!(_VipsBuf),
64013            "::",
64014            stringify!(dynamic)
64015        )
64016    );
64017}
64018extern "C" {
64019    pub fn vips_buf_rewind(buf: *mut VipsBuf);
64020}
64021extern "C" {
64022    pub fn vips_buf_destroy(buf: *mut VipsBuf);
64023}
64024extern "C" {
64025    pub fn vips_buf_init(buf: *mut VipsBuf);
64026}
64027extern "C" {
64028    pub fn vips_buf_set_static(
64029        buf: *mut VipsBuf,
64030        base: *mut ::std::os::raw::c_char,
64031        mx: ::std::os::raw::c_int,
64032    );
64033}
64034extern "C" {
64035    pub fn vips_buf_set_dynamic(buf: *mut VipsBuf, mx: ::std::os::raw::c_int);
64036}
64037extern "C" {
64038    pub fn vips_buf_init_static(
64039        buf: *mut VipsBuf,
64040        base: *mut ::std::os::raw::c_char,
64041        mx: ::std::os::raw::c_int,
64042    );
64043}
64044extern "C" {
64045    pub fn vips_buf_init_dynamic(buf: *mut VipsBuf, mx: ::std::os::raw::c_int);
64046}
64047extern "C" {
64048    pub fn vips_buf_appendns(
64049        buf: *mut VipsBuf,
64050        str_: *const ::std::os::raw::c_char,
64051        sz: ::std::os::raw::c_int,
64052    ) -> gboolean;
64053}
64054extern "C" {
64055    pub fn vips_buf_appends(buf: *mut VipsBuf, str_: *const ::std::os::raw::c_char) -> gboolean;
64056}
64057extern "C" {
64058    pub fn vips_buf_appendf(buf: *mut VipsBuf, fmt: *const ::std::os::raw::c_char, ...)
64059        -> gboolean;
64060}
64061extern "C" {
64062    pub fn vips_buf_vappendf(
64063        buf: *mut VipsBuf,
64064        fmt: *const ::std::os::raw::c_char,
64065        ap: va_list,
64066    ) -> gboolean;
64067}
64068extern "C" {
64069    pub fn vips_buf_appendc(buf: *mut VipsBuf, ch: ::std::os::raw::c_char) -> gboolean;
64070}
64071extern "C" {
64072    pub fn vips_buf_appendsc(
64073        buf: *mut VipsBuf,
64074        quote: gboolean,
64075        str_: *const ::std::os::raw::c_char,
64076    ) -> gboolean;
64077}
64078extern "C" {
64079    pub fn vips_buf_appendgv(buf: *mut VipsBuf, value: *mut GValue) -> gboolean;
64080}
64081extern "C" {
64082    pub fn vips_buf_append_size(buf: *mut VipsBuf, n: size_t) -> gboolean;
64083}
64084extern "C" {
64085    pub fn vips_buf_removec(buf: *mut VipsBuf, ch: ::std::os::raw::c_char) -> gboolean;
64086}
64087extern "C" {
64088    pub fn vips_buf_change(
64089        buf: *mut VipsBuf,
64090        o: *const ::std::os::raw::c_char,
64091        n: *const ::std::os::raw::c_char,
64092    ) -> gboolean;
64093}
64094extern "C" {
64095    pub fn vips_buf_is_empty(buf: *mut VipsBuf) -> gboolean;
64096}
64097extern "C" {
64098    pub fn vips_buf_is_full(buf: *mut VipsBuf) -> gboolean;
64099}
64100extern "C" {
64101    pub fn vips_buf_all(buf: *mut VipsBuf) -> *const ::std::os::raw::c_char;
64102}
64103extern "C" {
64104    pub fn vips_buf_firstline(buf: *mut VipsBuf) -> *const ::std::os::raw::c_char;
64105}
64106extern "C" {
64107    pub fn vips_buf_appendg(buf: *mut VipsBuf, g: f64) -> gboolean;
64108}
64109extern "C" {
64110    pub fn vips_buf_appendd(buf: *mut VipsBuf, d: ::std::os::raw::c_int) -> gboolean;
64111}
64112extern "C" {
64113    pub fn vips_buf_len(buf: *mut VipsBuf) -> ::std::os::raw::c_int;
64114}
64115#[repr(C)]
64116#[derive(Debug, Copy, Clone, PartialEq, Eq)]
64117pub struct _VipsDbuf {
64118    pub data: *mut ::std::os::raw::c_uchar,
64119    pub allocated_size: size_t,
64120    pub data_size: size_t,
64121    pub write_point: size_t,
64122}
64123#[test]
64124fn bindgen_test_layout__VipsDbuf() {
64125    const UNINIT: ::std::mem::MaybeUninit<_VipsDbuf> = ::std::mem::MaybeUninit::uninit();
64126    let ptr = UNINIT.as_ptr();
64127    assert_eq!(
64128        ::std::mem::size_of::<_VipsDbuf>(),
64129        32usize,
64130        concat!("Size of: ", stringify!(_VipsDbuf))
64131    );
64132    assert_eq!(
64133        ::std::mem::align_of::<_VipsDbuf>(),
64134        8usize,
64135        concat!("Alignment of ", stringify!(_VipsDbuf))
64136    );
64137    assert_eq!(
64138        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
64139        0usize,
64140        concat!(
64141            "Offset of field: ",
64142            stringify!(_VipsDbuf),
64143            "::",
64144            stringify!(data)
64145        )
64146    );
64147    assert_eq!(
64148        unsafe { ::std::ptr::addr_of!((*ptr).allocated_size) as usize - ptr as usize },
64149        8usize,
64150        concat!(
64151            "Offset of field: ",
64152            stringify!(_VipsDbuf),
64153            "::",
64154            stringify!(allocated_size)
64155        )
64156    );
64157    assert_eq!(
64158        unsafe { ::std::ptr::addr_of!((*ptr).data_size) as usize - ptr as usize },
64159        16usize,
64160        concat!(
64161            "Offset of field: ",
64162            stringify!(_VipsDbuf),
64163            "::",
64164            stringify!(data_size)
64165        )
64166    );
64167    assert_eq!(
64168        unsafe { ::std::ptr::addr_of!((*ptr).write_point) as usize - ptr as usize },
64169        24usize,
64170        concat!(
64171            "Offset of field: ",
64172            stringify!(_VipsDbuf),
64173            "::",
64174            stringify!(write_point)
64175        )
64176    );
64177}
64178pub type VipsDbuf = _VipsDbuf;
64179extern "C" {
64180    pub fn vips_dbuf_init(dbuf: *mut VipsDbuf);
64181}
64182extern "C" {
64183    pub fn vips_dbuf_minimum_size(dbuf: *mut VipsDbuf, size: size_t) -> gboolean;
64184}
64185extern "C" {
64186    pub fn vips_dbuf_allocate(dbuf: *mut VipsDbuf, size: size_t) -> gboolean;
64187}
64188extern "C" {
64189    pub fn vips_dbuf_read(
64190        dbuf: *mut VipsDbuf,
64191        data: *mut ::std::os::raw::c_uchar,
64192        size: size_t,
64193    ) -> size_t;
64194}
64195extern "C" {
64196    pub fn vips_dbuf_get_write(
64197        dbuf: *mut VipsDbuf,
64198        size: *mut size_t,
64199    ) -> *mut ::std::os::raw::c_uchar;
64200}
64201extern "C" {
64202    pub fn vips_dbuf_write(
64203        dbuf: *mut VipsDbuf,
64204        data: *const ::std::os::raw::c_uchar,
64205        size: size_t,
64206    ) -> gboolean;
64207}
64208extern "C" {
64209    pub fn vips_dbuf_writef(
64210        dbuf: *mut VipsDbuf,
64211        fmt: *const ::std::os::raw::c_char,
64212        ...
64213    ) -> gboolean;
64214}
64215extern "C" {
64216    pub fn vips_dbuf_write_amp(
64217        dbuf: *mut VipsDbuf,
64218        str_: *const ::std::os::raw::c_char,
64219    ) -> gboolean;
64220}
64221extern "C" {
64222    pub fn vips_dbuf_reset(dbuf: *mut VipsDbuf);
64223}
64224extern "C" {
64225    pub fn vips_dbuf_destroy(dbuf: *mut VipsDbuf);
64226}
64227extern "C" {
64228    pub fn vips_dbuf_seek(
64229        dbuf: *mut VipsDbuf,
64230        offset: off_t,
64231        whence: ::std::os::raw::c_int,
64232    ) -> gboolean;
64233}
64234extern "C" {
64235    pub fn vips_dbuf_truncate(dbuf: *mut VipsDbuf);
64236}
64237extern "C" {
64238    pub fn vips_dbuf_tell(dbuf: *mut VipsDbuf) -> off_t;
64239}
64240extern "C" {
64241    pub fn vips_dbuf_string(dbuf: *mut VipsDbuf, size: *mut size_t)
64242        -> *mut ::std::os::raw::c_uchar;
64243}
64244extern "C" {
64245    pub fn vips_dbuf_steal(dbuf: *mut VipsDbuf, size: *mut size_t) -> *mut ::std::os::raw::c_uchar;
64246}
64247pub type float_t = f32;
64248pub type double_t = f64;
64249extern "C" {
64250    pub fn __math_errhandling() -> ::std::os::raw::c_int;
64251}
64252extern "C" {
64253    pub fn __fpclassifyf(arg1: f32) -> ::std::os::raw::c_int;
64254}
64255extern "C" {
64256    pub fn __fpclassifyd(arg1: f64) -> ::std::os::raw::c_int;
64257}
64258extern "C" {
64259    pub fn __fpclassifyl(arg1: f64) -> ::std::os::raw::c_int;
64260}
64261extern "C" {
64262    pub fn acosf(arg1: f32) -> f32;
64263}
64264extern "C" {
64265    pub fn acos(arg1: f64) -> f64;
64266}
64267extern "C" {
64268    pub fn acosl(arg1: f64) -> f64;
64269}
64270extern "C" {
64271    pub fn asinf(arg1: f32) -> f32;
64272}
64273extern "C" {
64274    pub fn asin(arg1: f64) -> f64;
64275}
64276extern "C" {
64277    pub fn asinl(arg1: f64) -> f64;
64278}
64279extern "C" {
64280    pub fn atanf(arg1: f32) -> f32;
64281}
64282extern "C" {
64283    pub fn atan(arg1: f64) -> f64;
64284}
64285extern "C" {
64286    pub fn atanl(arg1: f64) -> f64;
64287}
64288extern "C" {
64289    pub fn atan2f(arg1: f32, arg2: f32) -> f32;
64290}
64291extern "C" {
64292    pub fn atan2(arg1: f64, arg2: f64) -> f64;
64293}
64294extern "C" {
64295    pub fn atan2l(arg1: f64, arg2: f64) -> f64;
64296}
64297extern "C" {
64298    pub fn cosf(arg1: f32) -> f32;
64299}
64300extern "C" {
64301    pub fn cos(arg1: f64) -> f64;
64302}
64303extern "C" {
64304    pub fn cosl(arg1: f64) -> f64;
64305}
64306extern "C" {
64307    pub fn sinf(arg1: f32) -> f32;
64308}
64309extern "C" {
64310    pub fn sin(arg1: f64) -> f64;
64311}
64312extern "C" {
64313    pub fn sinl(arg1: f64) -> f64;
64314}
64315extern "C" {
64316    pub fn tanf(arg1: f32) -> f32;
64317}
64318extern "C" {
64319    pub fn tan(arg1: f64) -> f64;
64320}
64321extern "C" {
64322    pub fn tanl(arg1: f64) -> f64;
64323}
64324extern "C" {
64325    pub fn acoshf(arg1: f32) -> f32;
64326}
64327extern "C" {
64328    pub fn acosh(arg1: f64) -> f64;
64329}
64330extern "C" {
64331    pub fn acoshl(arg1: f64) -> f64;
64332}
64333extern "C" {
64334    pub fn asinhf(arg1: f32) -> f32;
64335}
64336extern "C" {
64337    pub fn asinh(arg1: f64) -> f64;
64338}
64339extern "C" {
64340    pub fn asinhl(arg1: f64) -> f64;
64341}
64342extern "C" {
64343    pub fn atanhf(arg1: f32) -> f32;
64344}
64345extern "C" {
64346    pub fn atanh(arg1: f64) -> f64;
64347}
64348extern "C" {
64349    pub fn atanhl(arg1: f64) -> f64;
64350}
64351extern "C" {
64352    pub fn coshf(arg1: f32) -> f32;
64353}
64354extern "C" {
64355    pub fn cosh(arg1: f64) -> f64;
64356}
64357extern "C" {
64358    pub fn coshl(arg1: f64) -> f64;
64359}
64360extern "C" {
64361    pub fn sinhf(arg1: f32) -> f32;
64362}
64363extern "C" {
64364    pub fn sinh(arg1: f64) -> f64;
64365}
64366extern "C" {
64367    pub fn sinhl(arg1: f64) -> f64;
64368}
64369extern "C" {
64370    pub fn tanhf(arg1: f32) -> f32;
64371}
64372extern "C" {
64373    pub fn tanh(arg1: f64) -> f64;
64374}
64375extern "C" {
64376    pub fn tanhl(arg1: f64) -> f64;
64377}
64378extern "C" {
64379    pub fn expf(arg1: f32) -> f32;
64380}
64381extern "C" {
64382    pub fn exp(arg1: f64) -> f64;
64383}
64384extern "C" {
64385    pub fn expl(arg1: f64) -> f64;
64386}
64387extern "C" {
64388    pub fn exp2f(arg1: f32) -> f32;
64389}
64390extern "C" {
64391    pub fn exp2(arg1: f64) -> f64;
64392}
64393extern "C" {
64394    pub fn exp2l(arg1: f64) -> f64;
64395}
64396extern "C" {
64397    pub fn expm1f(arg1: f32) -> f32;
64398}
64399extern "C" {
64400    pub fn expm1(arg1: f64) -> f64;
64401}
64402extern "C" {
64403    pub fn expm1l(arg1: f64) -> f64;
64404}
64405extern "C" {
64406    pub fn logf(arg1: f32) -> f32;
64407}
64408extern "C" {
64409    pub fn log(arg1: f64) -> f64;
64410}
64411extern "C" {
64412    pub fn logl(arg1: f64) -> f64;
64413}
64414extern "C" {
64415    pub fn log10f(arg1: f32) -> f32;
64416}
64417extern "C" {
64418    pub fn log10(arg1: f64) -> f64;
64419}
64420extern "C" {
64421    pub fn log10l(arg1: f64) -> f64;
64422}
64423extern "C" {
64424    pub fn log2f(arg1: f32) -> f32;
64425}
64426extern "C" {
64427    pub fn log2(arg1: f64) -> f64;
64428}
64429extern "C" {
64430    pub fn log2l(arg1: f64) -> f64;
64431}
64432extern "C" {
64433    pub fn log1pf(arg1: f32) -> f32;
64434}
64435extern "C" {
64436    pub fn log1p(arg1: f64) -> f64;
64437}
64438extern "C" {
64439    pub fn log1pl(arg1: f64) -> f64;
64440}
64441extern "C" {
64442    pub fn logbf(arg1: f32) -> f32;
64443}
64444extern "C" {
64445    pub fn logb(arg1: f64) -> f64;
64446}
64447extern "C" {
64448    pub fn logbl(arg1: f64) -> f64;
64449}
64450extern "C" {
64451    pub fn modff(arg1: f32, arg2: *mut f32) -> f32;
64452}
64453extern "C" {
64454    pub fn modf(arg1: f64, arg2: *mut f64) -> f64;
64455}
64456extern "C" {
64457    pub fn modfl(arg1: f64, arg2: *mut f64) -> f64;
64458}
64459extern "C" {
64460    pub fn ldexpf(arg1: f32, arg2: ::std::os::raw::c_int) -> f32;
64461}
64462extern "C" {
64463    pub fn ldexp(arg1: f64, arg2: ::std::os::raw::c_int) -> f64;
64464}
64465extern "C" {
64466    pub fn ldexpl(arg1: f64, arg2: ::std::os::raw::c_int) -> f64;
64467}
64468extern "C" {
64469    pub fn frexpf(arg1: f32, arg2: *mut ::std::os::raw::c_int) -> f32;
64470}
64471extern "C" {
64472    pub fn frexp(arg1: f64, arg2: *mut ::std::os::raw::c_int) -> f64;
64473}
64474extern "C" {
64475    pub fn frexpl(arg1: f64, arg2: *mut ::std::os::raw::c_int) -> f64;
64476}
64477extern "C" {
64478    pub fn ilogbf(arg1: f32) -> ::std::os::raw::c_int;
64479}
64480extern "C" {
64481    pub fn ilogb(arg1: f64) -> ::std::os::raw::c_int;
64482}
64483extern "C" {
64484    pub fn ilogbl(arg1: f64) -> ::std::os::raw::c_int;
64485}
64486extern "C" {
64487    pub fn scalbnf(arg1: f32, arg2: ::std::os::raw::c_int) -> f32;
64488}
64489extern "C" {
64490    pub fn scalbn(arg1: f64, arg2: ::std::os::raw::c_int) -> f64;
64491}
64492extern "C" {
64493    pub fn scalbnl(arg1: f64, arg2: ::std::os::raw::c_int) -> f64;
64494}
64495extern "C" {
64496    pub fn scalblnf(arg1: f32, arg2: ::std::os::raw::c_long) -> f32;
64497}
64498extern "C" {
64499    pub fn scalbln(arg1: f64, arg2: ::std::os::raw::c_long) -> f64;
64500}
64501extern "C" {
64502    pub fn scalblnl(arg1: f64, arg2: ::std::os::raw::c_long) -> f64;
64503}
64504extern "C" {
64505    pub fn fabsf(arg1: f32) -> f32;
64506}
64507extern "C" {
64508    pub fn fabs(arg1: f64) -> f64;
64509}
64510extern "C" {
64511    pub fn fabsl(arg1: f64) -> f64;
64512}
64513extern "C" {
64514    pub fn cbrtf(arg1: f32) -> f32;
64515}
64516extern "C" {
64517    pub fn cbrt(arg1: f64) -> f64;
64518}
64519extern "C" {
64520    pub fn cbrtl(arg1: f64) -> f64;
64521}
64522extern "C" {
64523    pub fn hypotf(arg1: f32, arg2: f32) -> f32;
64524}
64525extern "C" {
64526    pub fn hypot(arg1: f64, arg2: f64) -> f64;
64527}
64528extern "C" {
64529    pub fn hypotl(arg1: f64, arg2: f64) -> f64;
64530}
64531extern "C" {
64532    pub fn powf(arg1: f32, arg2: f32) -> f32;
64533}
64534extern "C" {
64535    pub fn pow(arg1: f64, arg2: f64) -> f64;
64536}
64537extern "C" {
64538    pub fn powl(arg1: f64, arg2: f64) -> f64;
64539}
64540extern "C" {
64541    pub fn sqrtf(arg1: f32) -> f32;
64542}
64543extern "C" {
64544    pub fn sqrt(arg1: f64) -> f64;
64545}
64546extern "C" {
64547    pub fn sqrtl(arg1: f64) -> f64;
64548}
64549extern "C" {
64550    pub fn erff(arg1: f32) -> f32;
64551}
64552extern "C" {
64553    pub fn erf(arg1: f64) -> f64;
64554}
64555extern "C" {
64556    pub fn erfl(arg1: f64) -> f64;
64557}
64558extern "C" {
64559    pub fn erfcf(arg1: f32) -> f32;
64560}
64561extern "C" {
64562    pub fn erfc(arg1: f64) -> f64;
64563}
64564extern "C" {
64565    pub fn erfcl(arg1: f64) -> f64;
64566}
64567extern "C" {
64568    pub fn lgammaf(arg1: f32) -> f32;
64569}
64570extern "C" {
64571    pub fn lgamma(arg1: f64) -> f64;
64572}
64573extern "C" {
64574    pub fn lgammal(arg1: f64) -> f64;
64575}
64576extern "C" {
64577    pub fn tgammaf(arg1: f32) -> f32;
64578}
64579extern "C" {
64580    pub fn tgamma(arg1: f64) -> f64;
64581}
64582extern "C" {
64583    pub fn tgammal(arg1: f64) -> f64;
64584}
64585extern "C" {
64586    pub fn ceilf(arg1: f32) -> f32;
64587}
64588extern "C" {
64589    pub fn ceil(arg1: f64) -> f64;
64590}
64591extern "C" {
64592    pub fn ceill(arg1: f64) -> f64;
64593}
64594extern "C" {
64595    pub fn floorf(arg1: f32) -> f32;
64596}
64597extern "C" {
64598    pub fn floor(arg1: f64) -> f64;
64599}
64600extern "C" {
64601    pub fn floorl(arg1: f64) -> f64;
64602}
64603extern "C" {
64604    pub fn nearbyintf(arg1: f32) -> f32;
64605}
64606extern "C" {
64607    pub fn nearbyint(arg1: f64) -> f64;
64608}
64609extern "C" {
64610    pub fn nearbyintl(arg1: f64) -> f64;
64611}
64612extern "C" {
64613    pub fn rintf(arg1: f32) -> f32;
64614}
64615extern "C" {
64616    pub fn rint(arg1: f64) -> f64;
64617}
64618extern "C" {
64619    pub fn rintl(arg1: f64) -> f64;
64620}
64621extern "C" {
64622    pub fn lrintf(arg1: f32) -> ::std::os::raw::c_long;
64623}
64624extern "C" {
64625    pub fn lrint(arg1: f64) -> ::std::os::raw::c_long;
64626}
64627extern "C" {
64628    pub fn lrintl(arg1: f64) -> ::std::os::raw::c_long;
64629}
64630extern "C" {
64631    pub fn roundf(arg1: f32) -> f32;
64632}
64633extern "C" {
64634    pub fn round(arg1: f64) -> f64;
64635}
64636extern "C" {
64637    pub fn roundl(arg1: f64) -> f64;
64638}
64639extern "C" {
64640    pub fn lroundf(arg1: f32) -> ::std::os::raw::c_long;
64641}
64642extern "C" {
64643    pub fn lround(arg1: f64) -> ::std::os::raw::c_long;
64644}
64645extern "C" {
64646    pub fn lroundl(arg1: f64) -> ::std::os::raw::c_long;
64647}
64648extern "C" {
64649    pub fn llrintf(arg1: f32) -> ::std::os::raw::c_longlong;
64650}
64651extern "C" {
64652    pub fn llrint(arg1: f64) -> ::std::os::raw::c_longlong;
64653}
64654extern "C" {
64655    pub fn llrintl(arg1: f64) -> ::std::os::raw::c_longlong;
64656}
64657extern "C" {
64658    pub fn llroundf(arg1: f32) -> ::std::os::raw::c_longlong;
64659}
64660extern "C" {
64661    pub fn llround(arg1: f64) -> ::std::os::raw::c_longlong;
64662}
64663extern "C" {
64664    pub fn llroundl(arg1: f64) -> ::std::os::raw::c_longlong;
64665}
64666extern "C" {
64667    pub fn truncf(arg1: f32) -> f32;
64668}
64669extern "C" {
64670    pub fn trunc(arg1: f64) -> f64;
64671}
64672extern "C" {
64673    pub fn truncl(arg1: f64) -> f64;
64674}
64675extern "C" {
64676    pub fn fmodf(arg1: f32, arg2: f32) -> f32;
64677}
64678extern "C" {
64679    pub fn fmod(arg1: f64, arg2: f64) -> f64;
64680}
64681extern "C" {
64682    pub fn fmodl(arg1: f64, arg2: f64) -> f64;
64683}
64684extern "C" {
64685    pub fn remainderf(arg1: f32, arg2: f32) -> f32;
64686}
64687extern "C" {
64688    pub fn remainder(arg1: f64, arg2: f64) -> f64;
64689}
64690extern "C" {
64691    pub fn remainderl(arg1: f64, arg2: f64) -> f64;
64692}
64693extern "C" {
64694    pub fn remquof(arg1: f32, arg2: f32, arg3: *mut ::std::os::raw::c_int) -> f32;
64695}
64696extern "C" {
64697    pub fn remquo(arg1: f64, arg2: f64, arg3: *mut ::std::os::raw::c_int) -> f64;
64698}
64699extern "C" {
64700    pub fn remquol(arg1: f64, arg2: f64, arg3: *mut ::std::os::raw::c_int) -> f64;
64701}
64702extern "C" {
64703    pub fn copysignf(arg1: f32, arg2: f32) -> f32;
64704}
64705extern "C" {
64706    pub fn copysign(arg1: f64, arg2: f64) -> f64;
64707}
64708extern "C" {
64709    pub fn copysignl(arg1: f64, arg2: f64) -> f64;
64710}
64711extern "C" {
64712    pub fn nanf(arg1: *const ::std::os::raw::c_char) -> f32;
64713}
64714extern "C" {
64715    pub fn nan(arg1: *const ::std::os::raw::c_char) -> f64;
64716}
64717extern "C" {
64718    pub fn nanl(arg1: *const ::std::os::raw::c_char) -> f64;
64719}
64720extern "C" {
64721    pub fn nextafterf(arg1: f32, arg2: f32) -> f32;
64722}
64723extern "C" {
64724    pub fn nextafter(arg1: f64, arg2: f64) -> f64;
64725}
64726extern "C" {
64727    pub fn nextafterl(arg1: f64, arg2: f64) -> f64;
64728}
64729extern "C" {
64730    pub fn nexttoward(arg1: f64, arg2: f64) -> f64;
64731}
64732extern "C" {
64733    pub fn nexttowardf(arg1: f32, arg2: f64) -> f32;
64734}
64735extern "C" {
64736    pub fn nexttowardl(arg1: f64, arg2: f64) -> f64;
64737}
64738extern "C" {
64739    pub fn fdimf(arg1: f32, arg2: f32) -> f32;
64740}
64741extern "C" {
64742    pub fn fdim(arg1: f64, arg2: f64) -> f64;
64743}
64744extern "C" {
64745    pub fn fdiml(arg1: f64, arg2: f64) -> f64;
64746}
64747extern "C" {
64748    pub fn fmaxf(arg1: f32, arg2: f32) -> f32;
64749}
64750extern "C" {
64751    pub fn fmax(arg1: f64, arg2: f64) -> f64;
64752}
64753extern "C" {
64754    pub fn fmaxl(arg1: f64, arg2: f64) -> f64;
64755}
64756extern "C" {
64757    pub fn fminf(arg1: f32, arg2: f32) -> f32;
64758}
64759extern "C" {
64760    pub fn fmin(arg1: f64, arg2: f64) -> f64;
64761}
64762extern "C" {
64763    pub fn fminl(arg1: f64, arg2: f64) -> f64;
64764}
64765extern "C" {
64766    pub fn fmaf(arg1: f32, arg2: f32, arg3: f32) -> f32;
64767}
64768extern "C" {
64769    pub fn fma(arg1: f64, arg2: f64, arg3: f64) -> f64;
64770}
64771extern "C" {
64772    pub fn fmal(arg1: f64, arg2: f64, arg3: f64) -> f64;
64773}
64774extern "C" {
64775    pub fn lgammaf_r(arg1: f32, arg2: *mut ::std::os::raw::c_int) -> f32;
64776}
64777extern "C" {
64778    pub fn lgamma_r(arg1: f64, arg2: *mut ::std::os::raw::c_int) -> f64;
64779}
64780extern "C" {
64781    pub fn lgammal_r(arg1: f64, arg2: *mut ::std::os::raw::c_int) -> f64;
64782}
64783extern "C" {
64784    pub fn __exp10f(arg1: f32) -> f32;
64785}
64786extern "C" {
64787    pub fn __exp10(arg1: f64) -> f64;
64788}
64789extern "C" {
64790    pub fn __cospif(arg1: f32) -> f32;
64791}
64792extern "C" {
64793    pub fn __cospi(arg1: f64) -> f64;
64794}
64795extern "C" {
64796    pub fn __sinpif(arg1: f32) -> f32;
64797}
64798extern "C" {
64799    pub fn __sinpi(arg1: f64) -> f64;
64800}
64801extern "C" {
64802    pub fn __tanpif(arg1: f32) -> f32;
64803}
64804extern "C" {
64805    pub fn __tanpi(arg1: f64) -> f64;
64806}
64807#[repr(C)]
64808#[derive(Debug, Copy, Clone, PartialEq)]
64809pub struct __float2 {
64810    pub __sinval: f32,
64811    pub __cosval: f32,
64812}
64813#[test]
64814fn bindgen_test_layout___float2() {
64815    const UNINIT: ::std::mem::MaybeUninit<__float2> = ::std::mem::MaybeUninit::uninit();
64816    let ptr = UNINIT.as_ptr();
64817    assert_eq!(
64818        ::std::mem::size_of::<__float2>(),
64819        8usize,
64820        concat!("Size of: ", stringify!(__float2))
64821    );
64822    assert_eq!(
64823        ::std::mem::align_of::<__float2>(),
64824        4usize,
64825        concat!("Alignment of ", stringify!(__float2))
64826    );
64827    assert_eq!(
64828        unsafe { ::std::ptr::addr_of!((*ptr).__sinval) as usize - ptr as usize },
64829        0usize,
64830        concat!(
64831            "Offset of field: ",
64832            stringify!(__float2),
64833            "::",
64834            stringify!(__sinval)
64835        )
64836    );
64837    assert_eq!(
64838        unsafe { ::std::ptr::addr_of!((*ptr).__cosval) as usize - ptr as usize },
64839        4usize,
64840        concat!(
64841            "Offset of field: ",
64842            stringify!(__float2),
64843            "::",
64844            stringify!(__cosval)
64845        )
64846    );
64847}
64848#[repr(C)]
64849#[derive(Debug, Copy, Clone, PartialEq)]
64850pub struct __double2 {
64851    pub __sinval: f64,
64852    pub __cosval: f64,
64853}
64854#[test]
64855fn bindgen_test_layout___double2() {
64856    const UNINIT: ::std::mem::MaybeUninit<__double2> = ::std::mem::MaybeUninit::uninit();
64857    let ptr = UNINIT.as_ptr();
64858    assert_eq!(
64859        ::std::mem::size_of::<__double2>(),
64860        16usize,
64861        concat!("Size of: ", stringify!(__double2))
64862    );
64863    assert_eq!(
64864        ::std::mem::align_of::<__double2>(),
64865        8usize,
64866        concat!("Alignment of ", stringify!(__double2))
64867    );
64868    assert_eq!(
64869        unsafe { ::std::ptr::addr_of!((*ptr).__sinval) as usize - ptr as usize },
64870        0usize,
64871        concat!(
64872            "Offset of field: ",
64873            stringify!(__double2),
64874            "::",
64875            stringify!(__sinval)
64876        )
64877    );
64878    assert_eq!(
64879        unsafe { ::std::ptr::addr_of!((*ptr).__cosval) as usize - ptr as usize },
64880        8usize,
64881        concat!(
64882            "Offset of field: ",
64883            stringify!(__double2),
64884            "::",
64885            stringify!(__cosval)
64886        )
64887    );
64888}
64889extern "C" {
64890    pub fn __sincosf_stret(arg1: f32) -> __float2;
64891}
64892extern "C" {
64893    pub fn __sincos_stret(arg1: f64) -> __double2;
64894}
64895extern "C" {
64896    pub fn __sincospif_stret(arg1: f32) -> __float2;
64897}
64898extern "C" {
64899    pub fn __sincospi_stret(arg1: f64) -> __double2;
64900}
64901extern "C" {
64902    pub fn j0(arg1: f64) -> f64;
64903}
64904extern "C" {
64905    pub fn j1(arg1: f64) -> f64;
64906}
64907extern "C" {
64908    pub fn jn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
64909}
64910extern "C" {
64911    pub fn y0(arg1: f64) -> f64;
64912}
64913extern "C" {
64914    pub fn y1(arg1: f64) -> f64;
64915}
64916extern "C" {
64917    pub fn yn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
64918}
64919extern "C" {
64920    pub fn scalb(arg1: f64, arg2: f64) -> f64;
64921}
64922extern "C" {
64923    pub static mut signgam: ::std::os::raw::c_int;
64924}
64925#[repr(C)]
64926#[derive(Debug, Copy, Clone, PartialEq)]
64927pub struct exception {
64928    pub type_: ::std::os::raw::c_int,
64929    pub name: *mut ::std::os::raw::c_char,
64930    pub arg1: f64,
64931    pub arg2: f64,
64932    pub retval: f64,
64933}
64934#[test]
64935fn bindgen_test_layout_exception() {
64936    const UNINIT: ::std::mem::MaybeUninit<exception> = ::std::mem::MaybeUninit::uninit();
64937    let ptr = UNINIT.as_ptr();
64938    assert_eq!(
64939        ::std::mem::size_of::<exception>(),
64940        40usize,
64941        concat!("Size of: ", stringify!(exception))
64942    );
64943    assert_eq!(
64944        ::std::mem::align_of::<exception>(),
64945        8usize,
64946        concat!("Alignment of ", stringify!(exception))
64947    );
64948    assert_eq!(
64949        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
64950        0usize,
64951        concat!(
64952            "Offset of field: ",
64953            stringify!(exception),
64954            "::",
64955            stringify!(type_)
64956        )
64957    );
64958    assert_eq!(
64959        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
64960        8usize,
64961        concat!(
64962            "Offset of field: ",
64963            stringify!(exception),
64964            "::",
64965            stringify!(name)
64966        )
64967    );
64968    assert_eq!(
64969        unsafe { ::std::ptr::addr_of!((*ptr).arg1) as usize - ptr as usize },
64970        16usize,
64971        concat!(
64972            "Offset of field: ",
64973            stringify!(exception),
64974            "::",
64975            stringify!(arg1)
64976        )
64977    );
64978    assert_eq!(
64979        unsafe { ::std::ptr::addr_of!((*ptr).arg2) as usize - ptr as usize },
64980        24usize,
64981        concat!(
64982            "Offset of field: ",
64983            stringify!(exception),
64984            "::",
64985            stringify!(arg2)
64986        )
64987    );
64988    assert_eq!(
64989        unsafe { ::std::ptr::addr_of!((*ptr).retval) as usize - ptr as usize },
64990        32usize,
64991        concat!(
64992            "Offset of field: ",
64993            stringify!(exception),
64994            "::",
64995            stringify!(retval)
64996        )
64997    );
64998}
64999extern "C" {
65000    pub fn vips_enum_string(
65001        enm: GType,
65002        value: ::std::os::raw::c_int,
65003    ) -> *const ::std::os::raw::c_char;
65004}
65005extern "C" {
65006    pub fn vips_enum_nick(
65007        enm: GType,
65008        value: ::std::os::raw::c_int,
65009    ) -> *const ::std::os::raw::c_char;
65010}
65011extern "C" {
65012    pub fn vips_enum_from_nick(
65013        domain: *const ::std::os::raw::c_char,
65014        type_: GType,
65015        str_: *const ::std::os::raw::c_char,
65016    ) -> ::std::os::raw::c_int;
65017}
65018extern "C" {
65019    pub fn vips_flags_from_nick(
65020        domain: *const ::std::os::raw::c_char,
65021        type_: GType,
65022        nick: *const ::std::os::raw::c_char,
65023    ) -> ::std::os::raw::c_int;
65024}
65025extern "C" {
65026    pub fn vips_slist_equal(l1: *mut GSList, l2: *mut GSList) -> gboolean;
65027}
65028extern "C" {
65029    pub fn vips_slist_map2(
65030        list: *mut GSList,
65031        fn_: VipsSListMap2Fn,
65032        a: *mut ::std::os::raw::c_void,
65033        b: *mut ::std::os::raw::c_void,
65034    ) -> *mut ::std::os::raw::c_void;
65035}
65036extern "C" {
65037    pub fn vips_slist_map2_rev(
65038        list: *mut GSList,
65039        fn_: VipsSListMap2Fn,
65040        a: *mut ::std::os::raw::c_void,
65041        b: *mut ::std::os::raw::c_void,
65042    ) -> *mut ::std::os::raw::c_void;
65043}
65044extern "C" {
65045    pub fn vips_slist_map4(
65046        list: *mut GSList,
65047        fn_: VipsSListMap4Fn,
65048        a: *mut ::std::os::raw::c_void,
65049        b: *mut ::std::os::raw::c_void,
65050        c: *mut ::std::os::raw::c_void,
65051        d: *mut ::std::os::raw::c_void,
65052    ) -> *mut ::std::os::raw::c_void;
65053}
65054extern "C" {
65055    pub fn vips_slist_fold2(
65056        list: *mut GSList,
65057        start: *mut ::std::os::raw::c_void,
65058        fn_: VipsSListFold2Fn,
65059        a: *mut ::std::os::raw::c_void,
65060        b: *mut ::std::os::raw::c_void,
65061    ) -> *mut ::std::os::raw::c_void;
65062}
65063extern "C" {
65064    pub fn vips_slist_filter(
65065        list: *mut GSList,
65066        fn_: VipsSListMap2Fn,
65067        a: *mut ::std::os::raw::c_void,
65068        b: *mut ::std::os::raw::c_void,
65069    ) -> *mut GSList;
65070}
65071extern "C" {
65072    pub fn vips_slist_free_all(list: *mut GSList);
65073}
65074extern "C" {
65075    pub fn vips_map_equal(
65076        a: *mut ::std::os::raw::c_void,
65077        b: *mut ::std::os::raw::c_void,
65078    ) -> *mut ::std::os::raw::c_void;
65079}
65080extern "C" {
65081    pub fn vips_hash_table_map(
65082        hash: *mut GHashTable,
65083        fn_: VipsSListMap2Fn,
65084        a: *mut ::std::os::raw::c_void,
65085        b: *mut ::std::os::raw::c_void,
65086    ) -> *mut ::std::os::raw::c_void;
65087}
65088extern "C" {
65089    pub fn vips_strncpy(
65090        dest: *mut ::std::os::raw::c_char,
65091        src: *const ::std::os::raw::c_char,
65092        n: ::std::os::raw::c_int,
65093    ) -> *mut ::std::os::raw::c_char;
65094}
65095extern "C" {
65096    pub fn vips_strrstr(
65097        haystack: *const ::std::os::raw::c_char,
65098        needle: *const ::std::os::raw::c_char,
65099    ) -> *mut ::std::os::raw::c_char;
65100}
65101extern "C" {
65102    pub fn vips_ispostfix(
65103        a: *const ::std::os::raw::c_char,
65104        b: *const ::std::os::raw::c_char,
65105    ) -> gboolean;
65106}
65107extern "C" {
65108    pub fn vips_iscasepostfix(
65109        a: *const ::std::os::raw::c_char,
65110        b: *const ::std::os::raw::c_char,
65111    ) -> gboolean;
65112}
65113extern "C" {
65114    pub fn vips_isprefix(
65115        a: *const ::std::os::raw::c_char,
65116        b: *const ::std::os::raw::c_char,
65117    ) -> gboolean;
65118}
65119extern "C" {
65120    pub fn vips_break_token(
65121        str_: *mut ::std::os::raw::c_char,
65122        brk: *const ::std::os::raw::c_char,
65123    ) -> *mut ::std::os::raw::c_char;
65124}
65125extern "C" {
65126    pub fn vips__chomp(str_: *mut ::std::os::raw::c_char);
65127}
65128extern "C" {
65129    pub fn vips_vsnprintf(
65130        str_: *mut ::std::os::raw::c_char,
65131        size: size_t,
65132        format: *const ::std::os::raw::c_char,
65133        ap: va_list,
65134    ) -> ::std::os::raw::c_int;
65135}
65136extern "C" {
65137    pub fn vips_snprintf(
65138        str_: *mut ::std::os::raw::c_char,
65139        size: size_t,
65140        format: *const ::std::os::raw::c_char,
65141        ...
65142    ) -> ::std::os::raw::c_int;
65143}
65144extern "C" {
65145    pub fn vips_filename_suffix_match(
65146        path: *const ::std::os::raw::c_char,
65147        suffixes: *mut *const ::std::os::raw::c_char,
65148    ) -> ::std::os::raw::c_int;
65149}
65150extern "C" {
65151    pub fn vips_file_length(fd: ::std::os::raw::c_int) -> gint64;
65152}
65153extern "C" {
65154    pub fn vips__write(
65155        fd: ::std::os::raw::c_int,
65156        buf: *const ::std::os::raw::c_void,
65157        count: size_t,
65158    ) -> ::std::os::raw::c_int;
65159}
65160extern "C" {
65161    pub fn vips__open(
65162        filename: *const ::std::os::raw::c_char,
65163        flags: ::std::os::raw::c_int,
65164        mode: ::std::os::raw::c_int,
65165    ) -> ::std::os::raw::c_int;
65166}
65167extern "C" {
65168    pub fn vips__open_read(filename: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
65169}
65170extern "C" {
65171    pub fn vips__fopen(
65172        filename: *const ::std::os::raw::c_char,
65173        mode: *const ::std::os::raw::c_char,
65174    ) -> *mut FILE;
65175}
65176extern "C" {
65177    pub fn vips__file_open_read(
65178        filename: *const ::std::os::raw::c_char,
65179        fallback_dir: *const ::std::os::raw::c_char,
65180        text_mode: gboolean,
65181    ) -> *mut FILE;
65182}
65183extern "C" {
65184    pub fn vips__file_open_write(
65185        filename: *const ::std::os::raw::c_char,
65186        text_mode: gboolean,
65187    ) -> *mut FILE;
65188}
65189extern "C" {
65190    pub fn vips__file_read(
65191        fp: *mut FILE,
65192        name: *const ::std::os::raw::c_char,
65193        length_out: *mut size_t,
65194    ) -> *mut ::std::os::raw::c_char;
65195}
65196extern "C" {
65197    pub fn vips__file_read_name(
65198        name: *const ::std::os::raw::c_char,
65199        fallback_dir: *const ::std::os::raw::c_char,
65200        length_out: *mut size_t,
65201    ) -> *mut ::std::os::raw::c_char;
65202}
65203extern "C" {
65204    pub fn vips__file_write(
65205        data: *mut ::std::os::raw::c_void,
65206        size: size_t,
65207        nmemb: size_t,
65208        stream: *mut FILE,
65209    ) -> ::std::os::raw::c_int;
65210}
65211extern "C" {
65212    pub fn vips__get_bytes(
65213        filename: *const ::std::os::raw::c_char,
65214        buf: *mut ::std::os::raw::c_uchar,
65215        len: gint64,
65216    ) -> gint64;
65217}
65218extern "C" {
65219    pub fn vips__fgetc(fp: *mut FILE) -> ::std::os::raw::c_int;
65220}
65221extern "C" {
65222    pub fn vips__gvalue_ref_string_new(text: *const ::std::os::raw::c_char) -> *mut GValue;
65223}
65224extern "C" {
65225    pub fn vips__gslist_gvalue_free(list: *mut GSList);
65226}
65227extern "C" {
65228    pub fn vips__gslist_gvalue_copy(list: *const GSList) -> *mut GSList;
65229}
65230extern "C" {
65231    pub fn vips__gslist_gvalue_merge(a: *mut GSList, b: *const GSList) -> *mut GSList;
65232}
65233extern "C" {
65234    pub fn vips__gslist_gvalue_get(list: *const GSList) -> *mut ::std::os::raw::c_char;
65235}
65236extern "C" {
65237    pub fn vips__seek_no_error(
65238        fd: ::std::os::raw::c_int,
65239        pos: gint64,
65240        whence: ::std::os::raw::c_int,
65241    ) -> gint64;
65242}
65243extern "C" {
65244    pub fn vips__seek(
65245        fd: ::std::os::raw::c_int,
65246        pos: gint64,
65247        whence: ::std::os::raw::c_int,
65248    ) -> gint64;
65249}
65250extern "C" {
65251    pub fn vips__ftruncate(fd: ::std::os::raw::c_int, pos: gint64) -> ::std::os::raw::c_int;
65252}
65253extern "C" {
65254    pub fn vips_existsf(name: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
65255}
65256extern "C" {
65257    pub fn vips_isdirf(name: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
65258}
65259extern "C" {
65260    pub fn vips_mkdirf(name: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
65261}
65262extern "C" {
65263    pub fn vips_rmdirf(name: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
65264}
65265extern "C" {
65266    pub fn vips_rename(
65267        old_name: *const ::std::os::raw::c_char,
65268        new_name: *const ::std::os::raw::c_char,
65269    ) -> ::std::os::raw::c_int;
65270}
65271pub const VipsToken_VIPS_TOKEN_LEFT: VipsToken = 1;
65272pub const VipsToken_VIPS_TOKEN_RIGHT: VipsToken = 2;
65273pub const VipsToken_VIPS_TOKEN_STRING: VipsToken = 3;
65274pub const VipsToken_VIPS_TOKEN_EQUALS: VipsToken = 4;
65275pub const VipsToken_VIPS_TOKEN_COMMA: VipsToken = 5;
65276#[doc = " VipsToken:\n @VIPS_TOKEN_LEFT: left bracket\n @VIPS_TOKEN_RIGHT: right bracket\n @VIPS_TOKEN_STRING: string constant\n @VIPS_TOKEN_EQUALS: equals sign\n @VIPS_TOKEN_COMMA: comma\n\n Tokens returned by the vips lexical analyzer, see vips__token_get(). This\n is used to parse option strings for arguments.\n\n Left and right brackets can be any of (, {, [, <.\n\n Strings may be in double quotes, and may contain escaped quote characters,\n for example string, \"string\" and \"str\\\"ing\".\n"]
65277pub type VipsToken = ::std::os::raw::c_uint;
65278extern "C" {
65279    pub fn vips__token_get(
65280        buffer: *const ::std::os::raw::c_char,
65281        token: *mut VipsToken,
65282        string: *mut ::std::os::raw::c_char,
65283        size: ::std::os::raw::c_int,
65284    ) -> *const ::std::os::raw::c_char;
65285}
65286extern "C" {
65287    pub fn vips__token_must(
65288        buffer: *const ::std::os::raw::c_char,
65289        token: *mut VipsToken,
65290        string: *mut ::std::os::raw::c_char,
65291        size: ::std::os::raw::c_int,
65292    ) -> *const ::std::os::raw::c_char;
65293}
65294extern "C" {
65295    pub fn vips__token_need(
65296        buffer: *const ::std::os::raw::c_char,
65297        need_token: VipsToken,
65298        string: *mut ::std::os::raw::c_char,
65299        size: ::std::os::raw::c_int,
65300    ) -> *const ::std::os::raw::c_char;
65301}
65302extern "C" {
65303    pub fn vips__token_segment(
65304        p: *const ::std::os::raw::c_char,
65305        token: *mut VipsToken,
65306        string: *mut ::std::os::raw::c_char,
65307        size: ::std::os::raw::c_int,
65308    ) -> *const ::std::os::raw::c_char;
65309}
65310extern "C" {
65311    pub fn vips__token_segment_need(
65312        p: *const ::std::os::raw::c_char,
65313        need_token: VipsToken,
65314        string: *mut ::std::os::raw::c_char,
65315        size: ::std::os::raw::c_int,
65316    ) -> *const ::std::os::raw::c_char;
65317}
65318extern "C" {
65319    pub fn vips__find_rightmost_brackets(
65320        p: *const ::std::os::raw::c_char,
65321    ) -> *const ::std::os::raw::c_char;
65322}
65323extern "C" {
65324    pub fn vips__filename_split8(
65325        name: *const ::std::os::raw::c_char,
65326        filename: *mut ::std::os::raw::c_char,
65327        option_string: *mut ::std::os::raw::c_char,
65328    );
65329}
65330extern "C" {
65331    pub fn vips_ispoweroftwo(p: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
65332}
65333extern "C" {
65334    pub fn vips_amiMSBfirst() -> ::std::os::raw::c_int;
65335}
65336extern "C" {
65337    pub fn vips__temp_name(format: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
65338}
65339extern "C" {
65340    pub fn vips__change_suffix(
65341        name: *const ::std::os::raw::c_char,
65342        out: *mut ::std::os::raw::c_char,
65343        mx: ::std::os::raw::c_int,
65344        new_suff: *const ::std::os::raw::c_char,
65345        olds: *mut *const ::std::os::raw::c_char,
65346        nolds: ::std::os::raw::c_int,
65347    );
65348}
65349extern "C" {
65350    pub fn vips_realpath(path: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
65351}
65352extern "C" {
65353    pub fn vips__random(seed: guint32) -> guint32;
65354}
65355extern "C" {
65356    pub fn vips__random_add(seed: guint32, value: ::std::os::raw::c_int) -> guint32;
65357}
65358extern "C" {
65359    pub fn vips__icc_dir() -> *const ::std::os::raw::c_char;
65360}
65361extern "C" {
65362    pub fn vips__windows_prefix() -> *const ::std::os::raw::c_char;
65363}
65364extern "C" {
65365    pub fn vips__get_iso8601() -> *mut ::std::os::raw::c_char;
65366}
65367extern "C" {
65368    pub fn vips_strtod(str_: *const ::std::os::raw::c_char, out: *mut f64)
65369        -> ::std::os::raw::c_int;
65370}
65371pub type VipsObject = _VipsObject;
65372pub type VipsObjectClass = _VipsObjectClass;
65373pub const VipsArgumentFlags_VIPS_ARGUMENT_NONE: VipsArgumentFlags = 0;
65374pub const VipsArgumentFlags_VIPS_ARGUMENT_REQUIRED: VipsArgumentFlags = 1;
65375pub const VipsArgumentFlags_VIPS_ARGUMENT_CONSTRUCT: VipsArgumentFlags = 2;
65376pub const VipsArgumentFlags_VIPS_ARGUMENT_SET_ONCE: VipsArgumentFlags = 4;
65377pub const VipsArgumentFlags_VIPS_ARGUMENT_SET_ALWAYS: VipsArgumentFlags = 8;
65378pub const VipsArgumentFlags_VIPS_ARGUMENT_INPUT: VipsArgumentFlags = 16;
65379pub const VipsArgumentFlags_VIPS_ARGUMENT_OUTPUT: VipsArgumentFlags = 32;
65380pub const VipsArgumentFlags_VIPS_ARGUMENT_DEPRECATED: VipsArgumentFlags = 64;
65381pub const VipsArgumentFlags_VIPS_ARGUMENT_MODIFY: VipsArgumentFlags = 128;
65382pub const VipsArgumentFlags_VIPS_ARGUMENT_NON_HASHABLE: VipsArgumentFlags = 256;
65383pub type VipsArgumentFlags = ::std::os::raw::c_uint;
65384#[repr(C)]
65385#[derive(Debug, Copy, Clone, PartialEq, Eq)]
65386pub struct _VipsArgument {
65387    pub pspec: *mut GParamSpec,
65388}
65389#[test]
65390fn bindgen_test_layout__VipsArgument() {
65391    const UNINIT: ::std::mem::MaybeUninit<_VipsArgument> = ::std::mem::MaybeUninit::uninit();
65392    let ptr = UNINIT.as_ptr();
65393    assert_eq!(
65394        ::std::mem::size_of::<_VipsArgument>(),
65395        8usize,
65396        concat!("Size of: ", stringify!(_VipsArgument))
65397    );
65398    assert_eq!(
65399        ::std::mem::align_of::<_VipsArgument>(),
65400        8usize,
65401        concat!("Alignment of ", stringify!(_VipsArgument))
65402    );
65403    assert_eq!(
65404        unsafe { ::std::ptr::addr_of!((*ptr).pspec) as usize - ptr as usize },
65405        0usize,
65406        concat!(
65407            "Offset of field: ",
65408            stringify!(_VipsArgument),
65409            "::",
65410            stringify!(pspec)
65411        )
65412    );
65413}
65414pub type VipsArgument = _VipsArgument;
65415#[repr(C)]
65416#[derive(Debug, Copy, Clone, PartialEq, Eq)]
65417pub struct _VipsArgumentClass {
65418    pub parent: VipsArgument,
65419    pub object_class: *mut VipsObjectClass,
65420    pub flags: VipsArgumentFlags,
65421    pub priority: ::std::os::raw::c_int,
65422    pub offset: guint,
65423}
65424#[test]
65425fn bindgen_test_layout__VipsArgumentClass() {
65426    const UNINIT: ::std::mem::MaybeUninit<_VipsArgumentClass> = ::std::mem::MaybeUninit::uninit();
65427    let ptr = UNINIT.as_ptr();
65428    assert_eq!(
65429        ::std::mem::size_of::<_VipsArgumentClass>(),
65430        32usize,
65431        concat!("Size of: ", stringify!(_VipsArgumentClass))
65432    );
65433    assert_eq!(
65434        ::std::mem::align_of::<_VipsArgumentClass>(),
65435        8usize,
65436        concat!("Alignment of ", stringify!(_VipsArgumentClass))
65437    );
65438    assert_eq!(
65439        unsafe { ::std::ptr::addr_of!((*ptr).parent) as usize - ptr as usize },
65440        0usize,
65441        concat!(
65442            "Offset of field: ",
65443            stringify!(_VipsArgumentClass),
65444            "::",
65445            stringify!(parent)
65446        )
65447    );
65448    assert_eq!(
65449        unsafe { ::std::ptr::addr_of!((*ptr).object_class) as usize - ptr as usize },
65450        8usize,
65451        concat!(
65452            "Offset of field: ",
65453            stringify!(_VipsArgumentClass),
65454            "::",
65455            stringify!(object_class)
65456        )
65457    );
65458    assert_eq!(
65459        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
65460        16usize,
65461        concat!(
65462            "Offset of field: ",
65463            stringify!(_VipsArgumentClass),
65464            "::",
65465            stringify!(flags)
65466        )
65467    );
65468    assert_eq!(
65469        unsafe { ::std::ptr::addr_of!((*ptr).priority) as usize - ptr as usize },
65470        20usize,
65471        concat!(
65472            "Offset of field: ",
65473            stringify!(_VipsArgumentClass),
65474            "::",
65475            stringify!(priority)
65476        )
65477    );
65478    assert_eq!(
65479        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
65480        24usize,
65481        concat!(
65482            "Offset of field: ",
65483            stringify!(_VipsArgumentClass),
65484            "::",
65485            stringify!(offset)
65486        )
65487    );
65488}
65489pub type VipsArgumentClass = _VipsArgumentClass;
65490#[repr(C)]
65491#[derive(Debug, Copy, Clone, PartialEq, Eq)]
65492pub struct _VipsArgumentInstance {
65493    pub parent: VipsArgument,
65494    pub argument_class: *mut VipsArgumentClass,
65495    pub object: *mut VipsObject,
65496    pub assigned: gboolean,
65497    pub close_id: gulong,
65498    pub invalidate_id: gulong,
65499}
65500#[test]
65501fn bindgen_test_layout__VipsArgumentInstance() {
65502    const UNINIT: ::std::mem::MaybeUninit<_VipsArgumentInstance> =
65503        ::std::mem::MaybeUninit::uninit();
65504    let ptr = UNINIT.as_ptr();
65505    assert_eq!(
65506        ::std::mem::size_of::<_VipsArgumentInstance>(),
65507        48usize,
65508        concat!("Size of: ", stringify!(_VipsArgumentInstance))
65509    );
65510    assert_eq!(
65511        ::std::mem::align_of::<_VipsArgumentInstance>(),
65512        8usize,
65513        concat!("Alignment of ", stringify!(_VipsArgumentInstance))
65514    );
65515    assert_eq!(
65516        unsafe { ::std::ptr::addr_of!((*ptr).parent) as usize - ptr as usize },
65517        0usize,
65518        concat!(
65519            "Offset of field: ",
65520            stringify!(_VipsArgumentInstance),
65521            "::",
65522            stringify!(parent)
65523        )
65524    );
65525    assert_eq!(
65526        unsafe { ::std::ptr::addr_of!((*ptr).argument_class) as usize - ptr as usize },
65527        8usize,
65528        concat!(
65529            "Offset of field: ",
65530            stringify!(_VipsArgumentInstance),
65531            "::",
65532            stringify!(argument_class)
65533        )
65534    );
65535    assert_eq!(
65536        unsafe { ::std::ptr::addr_of!((*ptr).object) as usize - ptr as usize },
65537        16usize,
65538        concat!(
65539            "Offset of field: ",
65540            stringify!(_VipsArgumentInstance),
65541            "::",
65542            stringify!(object)
65543        )
65544    );
65545    assert_eq!(
65546        unsafe { ::std::ptr::addr_of!((*ptr).assigned) as usize - ptr as usize },
65547        24usize,
65548        concat!(
65549            "Offset of field: ",
65550            stringify!(_VipsArgumentInstance),
65551            "::",
65552            stringify!(assigned)
65553        )
65554    );
65555    assert_eq!(
65556        unsafe { ::std::ptr::addr_of!((*ptr).close_id) as usize - ptr as usize },
65557        32usize,
65558        concat!(
65559            "Offset of field: ",
65560            stringify!(_VipsArgumentInstance),
65561            "::",
65562            stringify!(close_id)
65563        )
65564    );
65565    assert_eq!(
65566        unsafe { ::std::ptr::addr_of!((*ptr).invalidate_id) as usize - ptr as usize },
65567        40usize,
65568        concat!(
65569            "Offset of field: ",
65570            stringify!(_VipsArgumentInstance),
65571            "::",
65572            stringify!(invalidate_id)
65573        )
65574    );
65575}
65576pub type VipsArgumentInstance = _VipsArgumentInstance;
65577pub type VipsArgumentTable = GHashTable;
65578extern "C" {
65579    pub fn vips_argument_get_id() -> ::std::os::raw::c_int;
65580}
65581extern "C" {
65582    pub fn vips__object_set_member(
65583        object: *mut VipsObject,
65584        pspec: *mut GParamSpec,
65585        member: *mut *mut GObject,
65586        argument: *mut GObject,
65587    );
65588}
65589pub type VipsArgumentMapFn = ::std::option::Option<
65590    unsafe extern "C" fn(
65591        object: *mut VipsObject,
65592        pspec: *mut GParamSpec,
65593        argument_class: *mut VipsArgumentClass,
65594        argument_instance: *mut VipsArgumentInstance,
65595        a: *mut ::std::os::raw::c_void,
65596        b: *mut ::std::os::raw::c_void,
65597    ) -> *mut ::std::os::raw::c_void,
65598>;
65599extern "C" {
65600    pub fn vips_argument_map(
65601        object: *mut VipsObject,
65602        fn_: VipsArgumentMapFn,
65603        a: *mut ::std::os::raw::c_void,
65604        b: *mut ::std::os::raw::c_void,
65605    ) -> *mut ::std::os::raw::c_void;
65606}
65607extern "C" {
65608    pub fn vips_object_get_args(
65609        object: *mut VipsObject,
65610        names: *mut *mut *const ::std::os::raw::c_char,
65611        flags: *mut *mut ::std::os::raw::c_int,
65612        n_args: *mut ::std::os::raw::c_int,
65613    ) -> ::std::os::raw::c_int;
65614}
65615pub type VipsArgumentClassMapFn = ::std::option::Option<
65616    unsafe extern "C" fn(
65617        object_class: *mut VipsObjectClass,
65618        pspec: *mut GParamSpec,
65619        argument_class: *mut VipsArgumentClass,
65620        a: *mut ::std::os::raw::c_void,
65621        b: *mut ::std::os::raw::c_void,
65622    ) -> *mut ::std::os::raw::c_void,
65623>;
65624extern "C" {
65625    pub fn vips_argument_class_map(
65626        object_class: *mut VipsObjectClass,
65627        fn_: VipsArgumentClassMapFn,
65628        a: *mut ::std::os::raw::c_void,
65629        b: *mut ::std::os::raw::c_void,
65630    ) -> *mut ::std::os::raw::c_void;
65631}
65632extern "C" {
65633    pub fn vips_argument_class_needsstring(argument_class: *mut VipsArgumentClass) -> gboolean;
65634}
65635extern "C" {
65636    pub fn vips_object_get_argument(
65637        object: *mut VipsObject,
65638        name: *const ::std::os::raw::c_char,
65639        pspec: *mut *mut GParamSpec,
65640        argument_class: *mut *mut VipsArgumentClass,
65641        argument_instance: *mut *mut VipsArgumentInstance,
65642    ) -> ::std::os::raw::c_int;
65643}
65644extern "C" {
65645    pub fn vips_object_argument_isset(
65646        object: *mut VipsObject,
65647        name: *const ::std::os::raw::c_char,
65648    ) -> gboolean;
65649}
65650extern "C" {
65651    pub fn vips_object_get_argument_flags(
65652        object: *mut VipsObject,
65653        name: *const ::std::os::raw::c_char,
65654    ) -> VipsArgumentFlags;
65655}
65656extern "C" {
65657    pub fn vips_object_get_argument_priority(
65658        object: *mut VipsObject,
65659        name: *const ::std::os::raw::c_char,
65660    ) -> ::std::os::raw::c_int;
65661}
65662#[repr(C)]
65663#[derive(Debug, Copy, Clone, PartialEq, Eq)]
65664pub struct _VipsObject {
65665    pub parent_instance: GObject,
65666    pub constructed: gboolean,
65667    pub static_object: gboolean,
65668    pub argument_table: *mut VipsArgumentTable,
65669    pub nickname: *mut ::std::os::raw::c_char,
65670    pub description: *mut ::std::os::raw::c_char,
65671    pub preclose: gboolean,
65672    pub close: gboolean,
65673    pub postclose: gboolean,
65674    pub local_memory: size_t,
65675}
65676#[test]
65677fn bindgen_test_layout__VipsObject() {
65678    const UNINIT: ::std::mem::MaybeUninit<_VipsObject> = ::std::mem::MaybeUninit::uninit();
65679    let ptr = UNINIT.as_ptr();
65680    assert_eq!(
65681        ::std::mem::size_of::<_VipsObject>(),
65682        80usize,
65683        concat!("Size of: ", stringify!(_VipsObject))
65684    );
65685    assert_eq!(
65686        ::std::mem::align_of::<_VipsObject>(),
65687        8usize,
65688        concat!("Alignment of ", stringify!(_VipsObject))
65689    );
65690    assert_eq!(
65691        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
65692        0usize,
65693        concat!(
65694            "Offset of field: ",
65695            stringify!(_VipsObject),
65696            "::",
65697            stringify!(parent_instance)
65698        )
65699    );
65700    assert_eq!(
65701        unsafe { ::std::ptr::addr_of!((*ptr).constructed) as usize - ptr as usize },
65702        24usize,
65703        concat!(
65704            "Offset of field: ",
65705            stringify!(_VipsObject),
65706            "::",
65707            stringify!(constructed)
65708        )
65709    );
65710    assert_eq!(
65711        unsafe { ::std::ptr::addr_of!((*ptr).static_object) as usize - ptr as usize },
65712        28usize,
65713        concat!(
65714            "Offset of field: ",
65715            stringify!(_VipsObject),
65716            "::",
65717            stringify!(static_object)
65718        )
65719    );
65720    assert_eq!(
65721        unsafe { ::std::ptr::addr_of!((*ptr).argument_table) as usize - ptr as usize },
65722        32usize,
65723        concat!(
65724            "Offset of field: ",
65725            stringify!(_VipsObject),
65726            "::",
65727            stringify!(argument_table)
65728        )
65729    );
65730    assert_eq!(
65731        unsafe { ::std::ptr::addr_of!((*ptr).nickname) as usize - ptr as usize },
65732        40usize,
65733        concat!(
65734            "Offset of field: ",
65735            stringify!(_VipsObject),
65736            "::",
65737            stringify!(nickname)
65738        )
65739    );
65740    assert_eq!(
65741        unsafe { ::std::ptr::addr_of!((*ptr).description) as usize - ptr as usize },
65742        48usize,
65743        concat!(
65744            "Offset of field: ",
65745            stringify!(_VipsObject),
65746            "::",
65747            stringify!(description)
65748        )
65749    );
65750    assert_eq!(
65751        unsafe { ::std::ptr::addr_of!((*ptr).preclose) as usize - ptr as usize },
65752        56usize,
65753        concat!(
65754            "Offset of field: ",
65755            stringify!(_VipsObject),
65756            "::",
65757            stringify!(preclose)
65758        )
65759    );
65760    assert_eq!(
65761        unsafe { ::std::ptr::addr_of!((*ptr).close) as usize - ptr as usize },
65762        60usize,
65763        concat!(
65764            "Offset of field: ",
65765            stringify!(_VipsObject),
65766            "::",
65767            stringify!(close)
65768        )
65769    );
65770    assert_eq!(
65771        unsafe { ::std::ptr::addr_of!((*ptr).postclose) as usize - ptr as usize },
65772        64usize,
65773        concat!(
65774            "Offset of field: ",
65775            stringify!(_VipsObject),
65776            "::",
65777            stringify!(postclose)
65778        )
65779    );
65780    assert_eq!(
65781        unsafe { ::std::ptr::addr_of!((*ptr).local_memory) as usize - ptr as usize },
65782        72usize,
65783        concat!(
65784            "Offset of field: ",
65785            stringify!(_VipsObject),
65786            "::",
65787            stringify!(local_memory)
65788        )
65789    );
65790}
65791#[repr(C)]
65792#[derive(Debug, Copy, Clone, PartialEq, Eq)]
65793pub struct _VipsObjectClass {
65794    pub parent_class: GObjectClass,
65795    pub build: ::std::option::Option<
65796        unsafe extern "C" fn(object: *mut VipsObject) -> ::std::os::raw::c_int,
65797    >,
65798    pub postbuild: ::std::option::Option<
65799        unsafe extern "C" fn(
65800            object: *mut VipsObject,
65801            data: *mut ::std::os::raw::c_void,
65802        ) -> ::std::os::raw::c_int,
65803    >,
65804    pub summary_class:
65805        ::std::option::Option<unsafe extern "C" fn(cls: *mut _VipsObjectClass, buf: *mut VipsBuf)>,
65806    pub summary:
65807        ::std::option::Option<unsafe extern "C" fn(object: *mut VipsObject, buf: *mut VipsBuf)>,
65808    pub dump:
65809        ::std::option::Option<unsafe extern "C" fn(object: *mut VipsObject, buf: *mut VipsBuf)>,
65810    pub sanity:
65811        ::std::option::Option<unsafe extern "C" fn(object: *mut VipsObject, buf: *mut VipsBuf)>,
65812    pub rewind: ::std::option::Option<unsafe extern "C" fn(object: *mut VipsObject)>,
65813    pub preclose: ::std::option::Option<unsafe extern "C" fn(object: *mut VipsObject)>,
65814    pub close: ::std::option::Option<unsafe extern "C" fn(object: *mut VipsObject)>,
65815    pub postclose: ::std::option::Option<unsafe extern "C" fn(object: *mut VipsObject)>,
65816    pub new_from_string: ::std::option::Option<
65817        unsafe extern "C" fn(string: *const ::std::os::raw::c_char) -> *mut VipsObject,
65818    >,
65819    pub to_string:
65820        ::std::option::Option<unsafe extern "C" fn(object: *mut VipsObject, buf: *mut VipsBuf)>,
65821    pub output_needs_arg: gboolean,
65822    pub output_to_arg: ::std::option::Option<
65823        unsafe extern "C" fn(
65824            object: *mut VipsObject,
65825            string: *const ::std::os::raw::c_char,
65826        ) -> ::std::os::raw::c_int,
65827    >,
65828    pub nickname: *const ::std::os::raw::c_char,
65829    pub description: *const ::std::os::raw::c_char,
65830    pub argument_table: *mut VipsArgumentTable,
65831    pub argument_table_traverse: *mut GSList,
65832    pub argument_table_traverse_gtype: GType,
65833    pub deprecated: gboolean,
65834    pub _vips_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
65835    pub _vips_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
65836    pub _vips_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
65837    pub _vips_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
65838}
65839#[test]
65840fn bindgen_test_layout__VipsObjectClass() {
65841    const UNINIT: ::std::mem::MaybeUninit<_VipsObjectClass> = ::std::mem::MaybeUninit::uninit();
65842    let ptr = UNINIT.as_ptr();
65843    assert_eq!(
65844        ::std::mem::size_of::<_VipsObjectClass>(),
65845        328usize,
65846        concat!("Size of: ", stringify!(_VipsObjectClass))
65847    );
65848    assert_eq!(
65849        ::std::mem::align_of::<_VipsObjectClass>(),
65850        8usize,
65851        concat!("Alignment of ", stringify!(_VipsObjectClass))
65852    );
65853    assert_eq!(
65854        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
65855        0usize,
65856        concat!(
65857            "Offset of field: ",
65858            stringify!(_VipsObjectClass),
65859            "::",
65860            stringify!(parent_class)
65861        )
65862    );
65863    assert_eq!(
65864        unsafe { ::std::ptr::addr_of!((*ptr).build) as usize - ptr as usize },
65865        136usize,
65866        concat!(
65867            "Offset of field: ",
65868            stringify!(_VipsObjectClass),
65869            "::",
65870            stringify!(build)
65871        )
65872    );
65873    assert_eq!(
65874        unsafe { ::std::ptr::addr_of!((*ptr).postbuild) as usize - ptr as usize },
65875        144usize,
65876        concat!(
65877            "Offset of field: ",
65878            stringify!(_VipsObjectClass),
65879            "::",
65880            stringify!(postbuild)
65881        )
65882    );
65883    assert_eq!(
65884        unsafe { ::std::ptr::addr_of!((*ptr).summary_class) as usize - ptr as usize },
65885        152usize,
65886        concat!(
65887            "Offset of field: ",
65888            stringify!(_VipsObjectClass),
65889            "::",
65890            stringify!(summary_class)
65891        )
65892    );
65893    assert_eq!(
65894        unsafe { ::std::ptr::addr_of!((*ptr).summary) as usize - ptr as usize },
65895        160usize,
65896        concat!(
65897            "Offset of field: ",
65898            stringify!(_VipsObjectClass),
65899            "::",
65900            stringify!(summary)
65901        )
65902    );
65903    assert_eq!(
65904        unsafe { ::std::ptr::addr_of!((*ptr).dump) as usize - ptr as usize },
65905        168usize,
65906        concat!(
65907            "Offset of field: ",
65908            stringify!(_VipsObjectClass),
65909            "::",
65910            stringify!(dump)
65911        )
65912    );
65913    assert_eq!(
65914        unsafe { ::std::ptr::addr_of!((*ptr).sanity) as usize - ptr as usize },
65915        176usize,
65916        concat!(
65917            "Offset of field: ",
65918            stringify!(_VipsObjectClass),
65919            "::",
65920            stringify!(sanity)
65921        )
65922    );
65923    assert_eq!(
65924        unsafe { ::std::ptr::addr_of!((*ptr).rewind) as usize - ptr as usize },
65925        184usize,
65926        concat!(
65927            "Offset of field: ",
65928            stringify!(_VipsObjectClass),
65929            "::",
65930            stringify!(rewind)
65931        )
65932    );
65933    assert_eq!(
65934        unsafe { ::std::ptr::addr_of!((*ptr).preclose) as usize - ptr as usize },
65935        192usize,
65936        concat!(
65937            "Offset of field: ",
65938            stringify!(_VipsObjectClass),
65939            "::",
65940            stringify!(preclose)
65941        )
65942    );
65943    assert_eq!(
65944        unsafe { ::std::ptr::addr_of!((*ptr).close) as usize - ptr as usize },
65945        200usize,
65946        concat!(
65947            "Offset of field: ",
65948            stringify!(_VipsObjectClass),
65949            "::",
65950            stringify!(close)
65951        )
65952    );
65953    assert_eq!(
65954        unsafe { ::std::ptr::addr_of!((*ptr).postclose) as usize - ptr as usize },
65955        208usize,
65956        concat!(
65957            "Offset of field: ",
65958            stringify!(_VipsObjectClass),
65959            "::",
65960            stringify!(postclose)
65961        )
65962    );
65963    assert_eq!(
65964        unsafe { ::std::ptr::addr_of!((*ptr).new_from_string) as usize - ptr as usize },
65965        216usize,
65966        concat!(
65967            "Offset of field: ",
65968            stringify!(_VipsObjectClass),
65969            "::",
65970            stringify!(new_from_string)
65971        )
65972    );
65973    assert_eq!(
65974        unsafe { ::std::ptr::addr_of!((*ptr).to_string) as usize - ptr as usize },
65975        224usize,
65976        concat!(
65977            "Offset of field: ",
65978            stringify!(_VipsObjectClass),
65979            "::",
65980            stringify!(to_string)
65981        )
65982    );
65983    assert_eq!(
65984        unsafe { ::std::ptr::addr_of!((*ptr).output_needs_arg) as usize - ptr as usize },
65985        232usize,
65986        concat!(
65987            "Offset of field: ",
65988            stringify!(_VipsObjectClass),
65989            "::",
65990            stringify!(output_needs_arg)
65991        )
65992    );
65993    assert_eq!(
65994        unsafe { ::std::ptr::addr_of!((*ptr).output_to_arg) as usize - ptr as usize },
65995        240usize,
65996        concat!(
65997            "Offset of field: ",
65998            stringify!(_VipsObjectClass),
65999            "::",
66000            stringify!(output_to_arg)
66001        )
66002    );
66003    assert_eq!(
66004        unsafe { ::std::ptr::addr_of!((*ptr).nickname) as usize - ptr as usize },
66005        248usize,
66006        concat!(
66007            "Offset of field: ",
66008            stringify!(_VipsObjectClass),
66009            "::",
66010            stringify!(nickname)
66011        )
66012    );
66013    assert_eq!(
66014        unsafe { ::std::ptr::addr_of!((*ptr).description) as usize - ptr as usize },
66015        256usize,
66016        concat!(
66017            "Offset of field: ",
66018            stringify!(_VipsObjectClass),
66019            "::",
66020            stringify!(description)
66021        )
66022    );
66023    assert_eq!(
66024        unsafe { ::std::ptr::addr_of!((*ptr).argument_table) as usize - ptr as usize },
66025        264usize,
66026        concat!(
66027            "Offset of field: ",
66028            stringify!(_VipsObjectClass),
66029            "::",
66030            stringify!(argument_table)
66031        )
66032    );
66033    assert_eq!(
66034        unsafe { ::std::ptr::addr_of!((*ptr).argument_table_traverse) as usize - ptr as usize },
66035        272usize,
66036        concat!(
66037            "Offset of field: ",
66038            stringify!(_VipsObjectClass),
66039            "::",
66040            stringify!(argument_table_traverse)
66041        )
66042    );
66043    assert_eq!(
66044        unsafe {
66045            ::std::ptr::addr_of!((*ptr).argument_table_traverse_gtype) as usize - ptr as usize
66046        },
66047        280usize,
66048        concat!(
66049            "Offset of field: ",
66050            stringify!(_VipsObjectClass),
66051            "::",
66052            stringify!(argument_table_traverse_gtype)
66053        )
66054    );
66055    assert_eq!(
66056        unsafe { ::std::ptr::addr_of!((*ptr).deprecated) as usize - ptr as usize },
66057        288usize,
66058        concat!(
66059            "Offset of field: ",
66060            stringify!(_VipsObjectClass),
66061            "::",
66062            stringify!(deprecated)
66063        )
66064    );
66065    assert_eq!(
66066        unsafe { ::std::ptr::addr_of!((*ptr)._vips_reserved1) as usize - ptr as usize },
66067        296usize,
66068        concat!(
66069            "Offset of field: ",
66070            stringify!(_VipsObjectClass),
66071            "::",
66072            stringify!(_vips_reserved1)
66073        )
66074    );
66075    assert_eq!(
66076        unsafe { ::std::ptr::addr_of!((*ptr)._vips_reserved2) as usize - ptr as usize },
66077        304usize,
66078        concat!(
66079            "Offset of field: ",
66080            stringify!(_VipsObjectClass),
66081            "::",
66082            stringify!(_vips_reserved2)
66083        )
66084    );
66085    assert_eq!(
66086        unsafe { ::std::ptr::addr_of!((*ptr)._vips_reserved3) as usize - ptr as usize },
66087        312usize,
66088        concat!(
66089            "Offset of field: ",
66090            stringify!(_VipsObjectClass),
66091            "::",
66092            stringify!(_vips_reserved3)
66093        )
66094    );
66095    assert_eq!(
66096        unsafe { ::std::ptr::addr_of!((*ptr)._vips_reserved4) as usize - ptr as usize },
66097        320usize,
66098        concat!(
66099            "Offset of field: ",
66100            stringify!(_VipsObjectClass),
66101            "::",
66102            stringify!(_vips_reserved4)
66103        )
66104    );
66105}
66106extern "C" {
66107    pub fn vips_value_is_null(psoec: *mut GParamSpec, value: *const GValue) -> gboolean;
66108}
66109extern "C" {
66110    pub fn vips_object_set_property(
66111        gobject: *mut GObject,
66112        property_id: guint,
66113        value: *const GValue,
66114        pspec: *mut GParamSpec,
66115    );
66116}
66117extern "C" {
66118    pub fn vips_object_get_property(
66119        gobject: *mut GObject,
66120        property_id: guint,
66121        value: *mut GValue,
66122        pspec: *mut GParamSpec,
66123    );
66124}
66125extern "C" {
66126    pub fn vips_object_preclose(object: *mut VipsObject);
66127}
66128extern "C" {
66129    pub fn vips_object_build(object: *mut VipsObject) -> ::std::os::raw::c_int;
66130}
66131extern "C" {
66132    pub fn vips_object_summary_class(klass: *mut VipsObjectClass, buf: *mut VipsBuf);
66133}
66134extern "C" {
66135    pub fn vips_object_summary(object: *mut VipsObject, buf: *mut VipsBuf);
66136}
66137extern "C" {
66138    pub fn vips_object_dump(object: *mut VipsObject, buf: *mut VipsBuf);
66139}
66140extern "C" {
66141    pub fn vips_object_print_summary_class(klass: *mut VipsObjectClass);
66142}
66143extern "C" {
66144    pub fn vips_object_print_summary(object: *mut VipsObject);
66145}
66146extern "C" {
66147    pub fn vips_object_print_dump(object: *mut VipsObject);
66148}
66149extern "C" {
66150    pub fn vips_object_print_name(object: *mut VipsObject);
66151}
66152extern "C" {
66153    pub fn vips_object_sanity(object: *mut VipsObject) -> gboolean;
66154}
66155extern "C" {
66156    pub fn vips_object_get_type() -> GType;
66157}
66158extern "C" {
66159    pub fn vips_object_class_install_argument(
66160        cls: *mut VipsObjectClass,
66161        pspec: *mut GParamSpec,
66162        flags: VipsArgumentFlags,
66163        priority: ::std::os::raw::c_int,
66164        offset: guint,
66165    );
66166}
66167extern "C" {
66168    pub fn vips_object_set_argument_from_string(
66169        object: *mut VipsObject,
66170        name: *const ::std::os::raw::c_char,
66171        value: *const ::std::os::raw::c_char,
66172    ) -> ::std::os::raw::c_int;
66173}
66174extern "C" {
66175    pub fn vips_object_argument_needsstring(
66176        object: *mut VipsObject,
66177        name: *const ::std::os::raw::c_char,
66178    ) -> gboolean;
66179}
66180extern "C" {
66181    pub fn vips_object_get_argument_to_string(
66182        object: *mut VipsObject,
66183        name: *const ::std::os::raw::c_char,
66184        arg: *const ::std::os::raw::c_char,
66185    ) -> ::std::os::raw::c_int;
66186}
66187extern "C" {
66188    pub fn vips_object_set_required(
66189        object: *mut VipsObject,
66190        value: *const ::std::os::raw::c_char,
66191    ) -> ::std::os::raw::c_int;
66192}
66193pub type VipsObjectSetArguments = ::std::option::Option<
66194    unsafe extern "C" fn(
66195        object: *mut VipsObject,
66196        a: *mut ::std::os::raw::c_void,
66197        b: *mut ::std::os::raw::c_void,
66198    ) -> *mut ::std::os::raw::c_void,
66199>;
66200extern "C" {
66201    pub fn vips_object_new(
66202        type_: GType,
66203        set: VipsObjectSetArguments,
66204        a: *mut ::std::os::raw::c_void,
66205        b: *mut ::std::os::raw::c_void,
66206    ) -> *mut VipsObject;
66207}
66208extern "C" {
66209    pub fn vips_object_set_valist(object: *mut VipsObject, ap: va_list) -> ::std::os::raw::c_int;
66210}
66211extern "C" {
66212    pub fn vips_object_set(object: *mut VipsObject, ...) -> ::std::os::raw::c_int;
66213}
66214extern "C" {
66215    pub fn vips_object_set_from_string(
66216        object: *mut VipsObject,
66217        string: *const ::std::os::raw::c_char,
66218    ) -> ::std::os::raw::c_int;
66219}
66220extern "C" {
66221    pub fn vips_object_new_from_string(
66222        object_class: *mut VipsObjectClass,
66223        p: *const ::std::os::raw::c_char,
66224    ) -> *mut VipsObject;
66225}
66226extern "C" {
66227    pub fn vips_object_to_string(object: *mut VipsObject, buf: *mut VipsBuf);
66228}
66229extern "C" {
66230    pub fn vips_object_map(
66231        fn_: VipsSListMap2Fn,
66232        a: *mut ::std::os::raw::c_void,
66233        b: *mut ::std::os::raw::c_void,
66234    ) -> *mut ::std::os::raw::c_void;
66235}
66236pub type VipsTypeMapFn = ::std::option::Option<
66237    unsafe extern "C" fn(
66238        type_: GType,
66239        a: *mut ::std::os::raw::c_void,
66240    ) -> *mut ::std::os::raw::c_void,
66241>;
66242pub type VipsTypeMap2Fn = ::std::option::Option<
66243    unsafe extern "C" fn(
66244        type_: GType,
66245        a: *mut ::std::os::raw::c_void,
66246        b: *mut ::std::os::raw::c_void,
66247    ) -> *mut ::std::os::raw::c_void,
66248>;
66249pub type VipsClassMapFn = ::std::option::Option<
66250    unsafe extern "C" fn(
66251        cls: *mut VipsObjectClass,
66252        a: *mut ::std::os::raw::c_void,
66253    ) -> *mut ::std::os::raw::c_void,
66254>;
66255extern "C" {
66256    pub fn vips_type_map(
66257        base: GType,
66258        fn_: VipsTypeMap2Fn,
66259        a: *mut ::std::os::raw::c_void,
66260        b: *mut ::std::os::raw::c_void,
66261    ) -> *mut ::std::os::raw::c_void;
66262}
66263extern "C" {
66264    pub fn vips_type_map_all(
66265        base: GType,
66266        fn_: VipsTypeMapFn,
66267        a: *mut ::std::os::raw::c_void,
66268    ) -> *mut ::std::os::raw::c_void;
66269}
66270extern "C" {
66271    pub fn vips_type_depth(type_: GType) -> ::std::os::raw::c_int;
66272}
66273extern "C" {
66274    pub fn vips_type_find(
66275        basename: *const ::std::os::raw::c_char,
66276        nickname: *const ::std::os::raw::c_char,
66277    ) -> GType;
66278}
66279extern "C" {
66280    pub fn vips_nickname_find(type_: GType) -> *const ::std::os::raw::c_char;
66281}
66282extern "C" {
66283    pub fn vips_class_map_all(
66284        type_: GType,
66285        fn_: VipsClassMapFn,
66286        a: *mut ::std::os::raw::c_void,
66287    ) -> *mut ::std::os::raw::c_void;
66288}
66289extern "C" {
66290    pub fn vips_class_find(
66291        basename: *const ::std::os::raw::c_char,
66292        nickname: *const ::std::os::raw::c_char,
66293    ) -> *const VipsObjectClass;
66294}
66295extern "C" {
66296    pub fn vips_object_local_array(
66297        parent: *mut VipsObject,
66298        n: ::std::os::raw::c_int,
66299    ) -> *mut *mut VipsObject;
66300}
66301extern "C" {
66302    pub fn vips_object_local_cb(vobject: *mut VipsObject, gobject: *mut GObject);
66303}
66304extern "C" {
66305    pub fn vips_object_set_static(object: *mut VipsObject, static_object: gboolean);
66306}
66307extern "C" {
66308    pub fn vips_object_print_all();
66309}
66310extern "C" {
66311    pub fn vips_object_sanity_all();
66312}
66313extern "C" {
66314    pub fn vips_object_rewind(object: *mut VipsObject);
66315}
66316extern "C" {
66317    pub fn vips_object_unref_outputs(object: *mut VipsObject);
66318}
66319extern "C" {
66320    pub fn vips_object_get_description(object: *mut VipsObject) -> *const ::std::os::raw::c_char;
66321}
66322#[repr(C)]
66323#[derive(Debug, Copy, Clone, PartialEq, Eq)]
66324pub struct _VipsThing {
66325    pub i: ::std::os::raw::c_int,
66326}
66327#[test]
66328fn bindgen_test_layout__VipsThing() {
66329    const UNINIT: ::std::mem::MaybeUninit<_VipsThing> = ::std::mem::MaybeUninit::uninit();
66330    let ptr = UNINIT.as_ptr();
66331    assert_eq!(
66332        ::std::mem::size_of::<_VipsThing>(),
66333        4usize,
66334        concat!("Size of: ", stringify!(_VipsThing))
66335    );
66336    assert_eq!(
66337        ::std::mem::align_of::<_VipsThing>(),
66338        4usize,
66339        concat!("Alignment of ", stringify!(_VipsThing))
66340    );
66341    assert_eq!(
66342        unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize },
66343        0usize,
66344        concat!(
66345            "Offset of field: ",
66346            stringify!(_VipsThing),
66347            "::",
66348            stringify!(i)
66349        )
66350    );
66351}
66352pub type VipsThing = _VipsThing;
66353extern "C" {
66354    pub fn vips_thing_get_type() -> GType;
66355}
66356extern "C" {
66357    pub fn vips_thing_new(i: ::std::os::raw::c_int) -> *mut VipsThing;
66358}
66359#[repr(C)]
66360#[derive(Debug, Copy, Clone, PartialEq, Eq)]
66361pub struct _VipsArea {
66362    pub data: *mut ::std::os::raw::c_void,
66363    pub length: size_t,
66364    pub n: ::std::os::raw::c_int,
66365    pub count: ::std::os::raw::c_int,
66366    pub lock: *mut GMutex,
66367    pub free_fn: VipsCallbackFn,
66368    pub client: *mut ::std::os::raw::c_void,
66369    pub type_: GType,
66370    pub sizeof_type: size_t,
66371}
66372#[test]
66373fn bindgen_test_layout__VipsArea() {
66374    const UNINIT: ::std::mem::MaybeUninit<_VipsArea> = ::std::mem::MaybeUninit::uninit();
66375    let ptr = UNINIT.as_ptr();
66376    assert_eq!(
66377        ::std::mem::size_of::<_VipsArea>(),
66378        64usize,
66379        concat!("Size of: ", stringify!(_VipsArea))
66380    );
66381    assert_eq!(
66382        ::std::mem::align_of::<_VipsArea>(),
66383        8usize,
66384        concat!("Alignment of ", stringify!(_VipsArea))
66385    );
66386    assert_eq!(
66387        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
66388        0usize,
66389        concat!(
66390            "Offset of field: ",
66391            stringify!(_VipsArea),
66392            "::",
66393            stringify!(data)
66394        )
66395    );
66396    assert_eq!(
66397        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
66398        8usize,
66399        concat!(
66400            "Offset of field: ",
66401            stringify!(_VipsArea),
66402            "::",
66403            stringify!(length)
66404        )
66405    );
66406    assert_eq!(
66407        unsafe { ::std::ptr::addr_of!((*ptr).n) as usize - ptr as usize },
66408        16usize,
66409        concat!(
66410            "Offset of field: ",
66411            stringify!(_VipsArea),
66412            "::",
66413            stringify!(n)
66414        )
66415    );
66416    assert_eq!(
66417        unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
66418        20usize,
66419        concat!(
66420            "Offset of field: ",
66421            stringify!(_VipsArea),
66422            "::",
66423            stringify!(count)
66424        )
66425    );
66426    assert_eq!(
66427        unsafe { ::std::ptr::addr_of!((*ptr).lock) as usize - ptr as usize },
66428        24usize,
66429        concat!(
66430            "Offset of field: ",
66431            stringify!(_VipsArea),
66432            "::",
66433            stringify!(lock)
66434        )
66435    );
66436    assert_eq!(
66437        unsafe { ::std::ptr::addr_of!((*ptr).free_fn) as usize - ptr as usize },
66438        32usize,
66439        concat!(
66440            "Offset of field: ",
66441            stringify!(_VipsArea),
66442            "::",
66443            stringify!(free_fn)
66444        )
66445    );
66446    assert_eq!(
66447        unsafe { ::std::ptr::addr_of!((*ptr).client) as usize - ptr as usize },
66448        40usize,
66449        concat!(
66450            "Offset of field: ",
66451            stringify!(_VipsArea),
66452            "::",
66453            stringify!(client)
66454        )
66455    );
66456    assert_eq!(
66457        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
66458        48usize,
66459        concat!(
66460            "Offset of field: ",
66461            stringify!(_VipsArea),
66462            "::",
66463            stringify!(type_)
66464        )
66465    );
66466    assert_eq!(
66467        unsafe { ::std::ptr::addr_of!((*ptr).sizeof_type) as usize - ptr as usize },
66468        56usize,
66469        concat!(
66470            "Offset of field: ",
66471            stringify!(_VipsArea),
66472            "::",
66473            stringify!(sizeof_type)
66474        )
66475    );
66476}
66477pub type VipsArea = _VipsArea;
66478extern "C" {
66479    pub fn vips_area_copy(area: *mut VipsArea) -> *mut VipsArea;
66480}
66481extern "C" {
66482    pub fn vips_area_free_cb(
66483        mem: *mut ::std::os::raw::c_void,
66484        area: *mut VipsArea,
66485    ) -> ::std::os::raw::c_int;
66486}
66487extern "C" {
66488    pub fn vips_area_unref(area: *mut VipsArea);
66489}
66490extern "C" {
66491    pub fn vips_area_new(
66492        free_fn: VipsCallbackFn,
66493        data: *mut ::std::os::raw::c_void,
66494    ) -> *mut VipsArea;
66495}
66496extern "C" {
66497    pub fn vips_area_new_array(
66498        type_: GType,
66499        sizeof_type: size_t,
66500        n: ::std::os::raw::c_int,
66501    ) -> *mut VipsArea;
66502}
66503extern "C" {
66504    pub fn vips_area_new_array_object(n: ::std::os::raw::c_int) -> *mut VipsArea;
66505}
66506extern "C" {
66507    pub fn vips_area_get_data(
66508        area: *mut VipsArea,
66509        length: *mut size_t,
66510        n: *mut ::std::os::raw::c_int,
66511        type_: *mut GType,
66512        sizeof_type: *mut size_t,
66513    ) -> *mut ::std::os::raw::c_void;
66514}
66515extern "C" {
66516    pub fn vips_area_get_type() -> GType;
66517}
66518extern "C" {
66519    pub fn vips_save_string_get_type() -> GType;
66520}
66521#[repr(C)]
66522#[derive(Debug, Copy, Clone, PartialEq, Eq)]
66523pub struct _VipsSaveString {
66524    pub s: *mut ::std::os::raw::c_char,
66525}
66526#[test]
66527fn bindgen_test_layout__VipsSaveString() {
66528    const UNINIT: ::std::mem::MaybeUninit<_VipsSaveString> = ::std::mem::MaybeUninit::uninit();
66529    let ptr = UNINIT.as_ptr();
66530    assert_eq!(
66531        ::std::mem::size_of::<_VipsSaveString>(),
66532        8usize,
66533        concat!("Size of: ", stringify!(_VipsSaveString))
66534    );
66535    assert_eq!(
66536        ::std::mem::align_of::<_VipsSaveString>(),
66537        8usize,
66538        concat!("Alignment of ", stringify!(_VipsSaveString))
66539    );
66540    assert_eq!(
66541        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
66542        0usize,
66543        concat!(
66544            "Offset of field: ",
66545            stringify!(_VipsSaveString),
66546            "::",
66547            stringify!(s)
66548        )
66549    );
66550}
66551pub type VipsSaveString = _VipsSaveString;
66552#[repr(C)]
66553#[derive(Debug, Copy, Clone, PartialEq, Eq)]
66554pub struct _VipsRefString {
66555    pub area: VipsArea,
66556}
66557#[test]
66558fn bindgen_test_layout__VipsRefString() {
66559    const UNINIT: ::std::mem::MaybeUninit<_VipsRefString> = ::std::mem::MaybeUninit::uninit();
66560    let ptr = UNINIT.as_ptr();
66561    assert_eq!(
66562        ::std::mem::size_of::<_VipsRefString>(),
66563        64usize,
66564        concat!("Size of: ", stringify!(_VipsRefString))
66565    );
66566    assert_eq!(
66567        ::std::mem::align_of::<_VipsRefString>(),
66568        8usize,
66569        concat!("Alignment of ", stringify!(_VipsRefString))
66570    );
66571    assert_eq!(
66572        unsafe { ::std::ptr::addr_of!((*ptr).area) as usize - ptr as usize },
66573        0usize,
66574        concat!(
66575            "Offset of field: ",
66576            stringify!(_VipsRefString),
66577            "::",
66578            stringify!(area)
66579        )
66580    );
66581}
66582pub type VipsRefString = _VipsRefString;
66583extern "C" {
66584    pub fn vips_ref_string_new(str_: *const ::std::os::raw::c_char) -> *mut VipsRefString;
66585}
66586extern "C" {
66587    pub fn vips_ref_string_get(
66588        refstr: *mut VipsRefString,
66589        length: *mut size_t,
66590    ) -> *const ::std::os::raw::c_char;
66591}
66592extern "C" {
66593    pub fn vips_ref_string_get_type() -> GType;
66594}
66595#[repr(C)]
66596#[derive(Debug, Copy, Clone, PartialEq, Eq)]
66597pub struct _VipsBlob {
66598    pub area: VipsArea,
66599}
66600#[test]
66601fn bindgen_test_layout__VipsBlob() {
66602    const UNINIT: ::std::mem::MaybeUninit<_VipsBlob> = ::std::mem::MaybeUninit::uninit();
66603    let ptr = UNINIT.as_ptr();
66604    assert_eq!(
66605        ::std::mem::size_of::<_VipsBlob>(),
66606        64usize,
66607        concat!("Size of: ", stringify!(_VipsBlob))
66608    );
66609    assert_eq!(
66610        ::std::mem::align_of::<_VipsBlob>(),
66611        8usize,
66612        concat!("Alignment of ", stringify!(_VipsBlob))
66613    );
66614    assert_eq!(
66615        unsafe { ::std::ptr::addr_of!((*ptr).area) as usize - ptr as usize },
66616        0usize,
66617        concat!(
66618            "Offset of field: ",
66619            stringify!(_VipsBlob),
66620            "::",
66621            stringify!(area)
66622        )
66623    );
66624}
66625pub type VipsBlob = _VipsBlob;
66626extern "C" {
66627    pub fn vips_blob_new(
66628        free_fn: VipsCallbackFn,
66629        data: *const ::std::os::raw::c_void,
66630        length: size_t,
66631    ) -> *mut VipsBlob;
66632}
66633extern "C" {
66634    pub fn vips_blob_copy(data: *const ::std::os::raw::c_void, length: size_t) -> *mut VipsBlob;
66635}
66636extern "C" {
66637    pub fn vips_blob_get(blob: *mut VipsBlob, length: *mut size_t)
66638        -> *const ::std::os::raw::c_void;
66639}
66640extern "C" {
66641    pub fn vips_blob_set(
66642        blob: *mut VipsBlob,
66643        free_fn: VipsCallbackFn,
66644        data: *const ::std::os::raw::c_void,
66645        length: size_t,
66646    );
66647}
66648extern "C" {
66649    pub fn vips_blob_get_type() -> GType;
66650}
66651#[repr(C)]
66652#[derive(Debug, Copy, Clone, PartialEq, Eq)]
66653pub struct _VipsArrayDouble {
66654    pub area: VipsArea,
66655}
66656#[test]
66657fn bindgen_test_layout__VipsArrayDouble() {
66658    const UNINIT: ::std::mem::MaybeUninit<_VipsArrayDouble> = ::std::mem::MaybeUninit::uninit();
66659    let ptr = UNINIT.as_ptr();
66660    assert_eq!(
66661        ::std::mem::size_of::<_VipsArrayDouble>(),
66662        64usize,
66663        concat!("Size of: ", stringify!(_VipsArrayDouble))
66664    );
66665    assert_eq!(
66666        ::std::mem::align_of::<_VipsArrayDouble>(),
66667        8usize,
66668        concat!("Alignment of ", stringify!(_VipsArrayDouble))
66669    );
66670    assert_eq!(
66671        unsafe { ::std::ptr::addr_of!((*ptr).area) as usize - ptr as usize },
66672        0usize,
66673        concat!(
66674            "Offset of field: ",
66675            stringify!(_VipsArrayDouble),
66676            "::",
66677            stringify!(area)
66678        )
66679    );
66680}
66681pub type VipsArrayDouble = _VipsArrayDouble;
66682extern "C" {
66683    pub fn vips_array_double_new(
66684        array: *const f64,
66685        n: ::std::os::raw::c_int,
66686    ) -> *mut VipsArrayDouble;
66687}
66688extern "C" {
66689    pub fn vips_array_double_newv(n: ::std::os::raw::c_int, ...) -> *mut VipsArrayDouble;
66690}
66691extern "C" {
66692    pub fn vips_array_double_get(
66693        array: *mut VipsArrayDouble,
66694        n: *mut ::std::os::raw::c_int,
66695    ) -> *mut f64;
66696}
66697extern "C" {
66698    pub fn vips_array_double_get_type() -> GType;
66699}
66700#[repr(C)]
66701#[derive(Debug, Copy, Clone, PartialEq, Eq)]
66702pub struct _VipsArrayInt {
66703    pub area: VipsArea,
66704}
66705#[test]
66706fn bindgen_test_layout__VipsArrayInt() {
66707    const UNINIT: ::std::mem::MaybeUninit<_VipsArrayInt> = ::std::mem::MaybeUninit::uninit();
66708    let ptr = UNINIT.as_ptr();
66709    assert_eq!(
66710        ::std::mem::size_of::<_VipsArrayInt>(),
66711        64usize,
66712        concat!("Size of: ", stringify!(_VipsArrayInt))
66713    );
66714    assert_eq!(
66715        ::std::mem::align_of::<_VipsArrayInt>(),
66716        8usize,
66717        concat!("Alignment of ", stringify!(_VipsArrayInt))
66718    );
66719    assert_eq!(
66720        unsafe { ::std::ptr::addr_of!((*ptr).area) as usize - ptr as usize },
66721        0usize,
66722        concat!(
66723            "Offset of field: ",
66724            stringify!(_VipsArrayInt),
66725            "::",
66726            stringify!(area)
66727        )
66728    );
66729}
66730pub type VipsArrayInt = _VipsArrayInt;
66731extern "C" {
66732    pub fn vips_array_int_new(
66733        array: *const ::std::os::raw::c_int,
66734        n: ::std::os::raw::c_int,
66735    ) -> *mut VipsArrayInt;
66736}
66737extern "C" {
66738    pub fn vips_array_int_newv(n: ::std::os::raw::c_int, ...) -> *mut VipsArrayInt;
66739}
66740extern "C" {
66741    pub fn vips_array_int_get(
66742        array: *mut VipsArrayInt,
66743        n: *mut ::std::os::raw::c_int,
66744    ) -> *mut ::std::os::raw::c_int;
66745}
66746extern "C" {
66747    pub fn vips_array_int_get_type() -> GType;
66748}
66749#[repr(C)]
66750#[derive(Debug, Copy, Clone, PartialEq, Eq)]
66751pub struct _VipsArrayImage {
66752    pub area: VipsArea,
66753}
66754#[test]
66755fn bindgen_test_layout__VipsArrayImage() {
66756    const UNINIT: ::std::mem::MaybeUninit<_VipsArrayImage> = ::std::mem::MaybeUninit::uninit();
66757    let ptr = UNINIT.as_ptr();
66758    assert_eq!(
66759        ::std::mem::size_of::<_VipsArrayImage>(),
66760        64usize,
66761        concat!("Size of: ", stringify!(_VipsArrayImage))
66762    );
66763    assert_eq!(
66764        ::std::mem::align_of::<_VipsArrayImage>(),
66765        8usize,
66766        concat!("Alignment of ", stringify!(_VipsArrayImage))
66767    );
66768    assert_eq!(
66769        unsafe { ::std::ptr::addr_of!((*ptr).area) as usize - ptr as usize },
66770        0usize,
66771        concat!(
66772            "Offset of field: ",
66773            stringify!(_VipsArrayImage),
66774            "::",
66775            stringify!(area)
66776        )
66777    );
66778}
66779pub type VipsArrayImage = _VipsArrayImage;
66780extern "C" {
66781    pub fn vips_array_image_get_type() -> GType;
66782}
66783extern "C" {
66784    pub fn vips_value_set_area(
66785        value: *mut GValue,
66786        free_fn: VipsCallbackFn,
66787        data: *mut ::std::os::raw::c_void,
66788    );
66789}
66790extern "C" {
66791    pub fn vips_value_get_area(
66792        value: *const GValue,
66793        length: *mut size_t,
66794    ) -> *mut ::std::os::raw::c_void;
66795}
66796extern "C" {
66797    pub fn vips_value_get_save_string(value: *const GValue) -> *const ::std::os::raw::c_char;
66798}
66799extern "C" {
66800    pub fn vips_value_set_save_string(value: *mut GValue, str_: *const ::std::os::raw::c_char);
66801}
66802extern "C" {
66803    pub fn vips_value_set_save_stringf(value: *mut GValue, fmt: *const ::std::os::raw::c_char, ...);
66804}
66805extern "C" {
66806    pub fn vips_value_get_ref_string(
66807        value: *const GValue,
66808        length: *mut size_t,
66809    ) -> *const ::std::os::raw::c_char;
66810}
66811extern "C" {
66812    pub fn vips_value_set_ref_string(value: *mut GValue, str_: *const ::std::os::raw::c_char);
66813}
66814extern "C" {
66815    pub fn vips_value_get_blob(
66816        value: *const GValue,
66817        length: *mut size_t,
66818    ) -> *mut ::std::os::raw::c_void;
66819}
66820extern "C" {
66821    pub fn vips_value_set_blob(
66822        value: *mut GValue,
66823        free_fn: VipsCallbackFn,
66824        data: *const ::std::os::raw::c_void,
66825        length: size_t,
66826    );
66827}
66828extern "C" {
66829    pub fn vips_value_set_blob_free(
66830        value: *mut GValue,
66831        data: *mut ::std::os::raw::c_void,
66832        length: size_t,
66833    );
66834}
66835extern "C" {
66836    pub fn vips_value_set_array(
66837        value: *mut GValue,
66838        n: ::std::os::raw::c_int,
66839        type_: GType,
66840        sizeof_type: size_t,
66841    );
66842}
66843extern "C" {
66844    pub fn vips_value_get_array(
66845        value: *const GValue,
66846        n: *mut ::std::os::raw::c_int,
66847        type_: *mut GType,
66848        sizeof_type: *mut size_t,
66849    ) -> *mut ::std::os::raw::c_void;
66850}
66851extern "C" {
66852    pub fn vips_value_get_array_double(
66853        value: *const GValue,
66854        n: *mut ::std::os::raw::c_int,
66855    ) -> *mut f64;
66856}
66857extern "C" {
66858    pub fn vips_value_set_array_double(
66859        value: *mut GValue,
66860        array: *const f64,
66861        n: ::std::os::raw::c_int,
66862    );
66863}
66864extern "C" {
66865    pub fn vips_value_get_array_int(
66866        value: *const GValue,
66867        n: *mut ::std::os::raw::c_int,
66868    ) -> *mut ::std::os::raw::c_int;
66869}
66870extern "C" {
66871    pub fn vips_value_set_array_int(
66872        value: *mut GValue,
66873        array: *const ::std::os::raw::c_int,
66874        n: ::std::os::raw::c_int,
66875    );
66876}
66877extern "C" {
66878    pub fn vips_value_get_array_object(
66879        value: *const GValue,
66880        n: *mut ::std::os::raw::c_int,
66881    ) -> *mut *mut GObject;
66882}
66883extern "C" {
66884    pub fn vips_value_set_array_object(value: *mut GValue, n: ::std::os::raw::c_int);
66885}
66886extern "C" {
66887    pub static mut vips__thread_profile: gboolean;
66888}
66889extern "C" {
66890    pub fn vips_profile_set(profile: gboolean);
66891}
66892extern "C" {
66893    pub fn vips__thread_profile_attach(thread_name: *const ::std::os::raw::c_char);
66894}
66895extern "C" {
66896    pub fn vips__thread_profile_detach();
66897}
66898extern "C" {
66899    pub fn vips__thread_profile_stop();
66900}
66901extern "C" {
66902    pub fn vips__thread_gate_start(gate_name: *const ::std::os::raw::c_char);
66903}
66904extern "C" {
66905    pub fn vips__thread_gate_stop(gate_name: *const ::std::os::raw::c_char);
66906}
66907extern "C" {
66908    pub fn vips__thread_malloc_free(size: gint64);
66909}
66910#[repr(C)]
66911#[derive(Debug, Copy, Clone, PartialEq, Eq)]
66912pub struct _VipsConnection {
66913    pub parent_object: VipsObject,
66914    pub descriptor: ::std::os::raw::c_int,
66915    pub tracked_descriptor: ::std::os::raw::c_int,
66916    pub close_descriptor: ::std::os::raw::c_int,
66917    pub filename: *mut ::std::os::raw::c_char,
66918}
66919#[test]
66920fn bindgen_test_layout__VipsConnection() {
66921    const UNINIT: ::std::mem::MaybeUninit<_VipsConnection> = ::std::mem::MaybeUninit::uninit();
66922    let ptr = UNINIT.as_ptr();
66923    assert_eq!(
66924        ::std::mem::size_of::<_VipsConnection>(),
66925        104usize,
66926        concat!("Size of: ", stringify!(_VipsConnection))
66927    );
66928    assert_eq!(
66929        ::std::mem::align_of::<_VipsConnection>(),
66930        8usize,
66931        concat!("Alignment of ", stringify!(_VipsConnection))
66932    );
66933    assert_eq!(
66934        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
66935        0usize,
66936        concat!(
66937            "Offset of field: ",
66938            stringify!(_VipsConnection),
66939            "::",
66940            stringify!(parent_object)
66941        )
66942    );
66943    assert_eq!(
66944        unsafe { ::std::ptr::addr_of!((*ptr).descriptor) as usize - ptr as usize },
66945        80usize,
66946        concat!(
66947            "Offset of field: ",
66948            stringify!(_VipsConnection),
66949            "::",
66950            stringify!(descriptor)
66951        )
66952    );
66953    assert_eq!(
66954        unsafe { ::std::ptr::addr_of!((*ptr).tracked_descriptor) as usize - ptr as usize },
66955        84usize,
66956        concat!(
66957            "Offset of field: ",
66958            stringify!(_VipsConnection),
66959            "::",
66960            stringify!(tracked_descriptor)
66961        )
66962    );
66963    assert_eq!(
66964        unsafe { ::std::ptr::addr_of!((*ptr).close_descriptor) as usize - ptr as usize },
66965        88usize,
66966        concat!(
66967            "Offset of field: ",
66968            stringify!(_VipsConnection),
66969            "::",
66970            stringify!(close_descriptor)
66971        )
66972    );
66973    assert_eq!(
66974        unsafe { ::std::ptr::addr_of!((*ptr).filename) as usize - ptr as usize },
66975        96usize,
66976        concat!(
66977            "Offset of field: ",
66978            stringify!(_VipsConnection),
66979            "::",
66980            stringify!(filename)
66981        )
66982    );
66983}
66984pub type VipsConnection = _VipsConnection;
66985#[repr(C)]
66986#[derive(Debug, Copy, Clone, PartialEq, Eq)]
66987pub struct _VipsConnectionClass {
66988    pub parent_class: VipsObjectClass,
66989}
66990#[test]
66991fn bindgen_test_layout__VipsConnectionClass() {
66992    const UNINIT: ::std::mem::MaybeUninit<_VipsConnectionClass> = ::std::mem::MaybeUninit::uninit();
66993    let ptr = UNINIT.as_ptr();
66994    assert_eq!(
66995        ::std::mem::size_of::<_VipsConnectionClass>(),
66996        328usize,
66997        concat!("Size of: ", stringify!(_VipsConnectionClass))
66998    );
66999    assert_eq!(
67000        ::std::mem::align_of::<_VipsConnectionClass>(),
67001        8usize,
67002        concat!("Alignment of ", stringify!(_VipsConnectionClass))
67003    );
67004    assert_eq!(
67005        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
67006        0usize,
67007        concat!(
67008            "Offset of field: ",
67009            stringify!(_VipsConnectionClass),
67010            "::",
67011            stringify!(parent_class)
67012        )
67013    );
67014}
67015pub type VipsConnectionClass = _VipsConnectionClass;
67016extern "C" {
67017    pub fn vips_connection_get_type() -> GType;
67018}
67019extern "C" {
67020    pub fn vips_connection_filename(
67021        connection: *mut VipsConnection,
67022    ) -> *const ::std::os::raw::c_char;
67023}
67024extern "C" {
67025    pub fn vips_connection_nick(connection: *mut VipsConnection) -> *const ::std::os::raw::c_char;
67026}
67027extern "C" {
67028    pub fn vips_pipe_read_limit_set(limit: gint64);
67029}
67030#[repr(C)]
67031#[derive(Debug, Copy, Clone, PartialEq, Eq)]
67032pub struct _VipsSource {
67033    pub parent_object: VipsConnection,
67034    pub decode: gboolean,
67035    pub have_tested_seek: gboolean,
67036    pub is_pipe: gboolean,
67037    pub read_position: gint64,
67038    pub length: gint64,
67039    pub data: *const ::std::os::raw::c_void,
67040    pub header_bytes: *mut GByteArray,
67041    pub sniff: *mut GByteArray,
67042    pub blob: *mut VipsBlob,
67043    pub mmap_baseaddr: *mut ::std::os::raw::c_void,
67044    pub mmap_length: size_t,
67045}
67046#[test]
67047fn bindgen_test_layout__VipsSource() {
67048    const UNINIT: ::std::mem::MaybeUninit<_VipsSource> = ::std::mem::MaybeUninit::uninit();
67049    let ptr = UNINIT.as_ptr();
67050    assert_eq!(
67051        ::std::mem::size_of::<_VipsSource>(),
67052        184usize,
67053        concat!("Size of: ", stringify!(_VipsSource))
67054    );
67055    assert_eq!(
67056        ::std::mem::align_of::<_VipsSource>(),
67057        8usize,
67058        concat!("Alignment of ", stringify!(_VipsSource))
67059    );
67060    assert_eq!(
67061        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
67062        0usize,
67063        concat!(
67064            "Offset of field: ",
67065            stringify!(_VipsSource),
67066            "::",
67067            stringify!(parent_object)
67068        )
67069    );
67070    assert_eq!(
67071        unsafe { ::std::ptr::addr_of!((*ptr).decode) as usize - ptr as usize },
67072        104usize,
67073        concat!(
67074            "Offset of field: ",
67075            stringify!(_VipsSource),
67076            "::",
67077            stringify!(decode)
67078        )
67079    );
67080    assert_eq!(
67081        unsafe { ::std::ptr::addr_of!((*ptr).have_tested_seek) as usize - ptr as usize },
67082        108usize,
67083        concat!(
67084            "Offset of field: ",
67085            stringify!(_VipsSource),
67086            "::",
67087            stringify!(have_tested_seek)
67088        )
67089    );
67090    assert_eq!(
67091        unsafe { ::std::ptr::addr_of!((*ptr).is_pipe) as usize - ptr as usize },
67092        112usize,
67093        concat!(
67094            "Offset of field: ",
67095            stringify!(_VipsSource),
67096            "::",
67097            stringify!(is_pipe)
67098        )
67099    );
67100    assert_eq!(
67101        unsafe { ::std::ptr::addr_of!((*ptr).read_position) as usize - ptr as usize },
67102        120usize,
67103        concat!(
67104            "Offset of field: ",
67105            stringify!(_VipsSource),
67106            "::",
67107            stringify!(read_position)
67108        )
67109    );
67110    assert_eq!(
67111        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
67112        128usize,
67113        concat!(
67114            "Offset of field: ",
67115            stringify!(_VipsSource),
67116            "::",
67117            stringify!(length)
67118        )
67119    );
67120    assert_eq!(
67121        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
67122        136usize,
67123        concat!(
67124            "Offset of field: ",
67125            stringify!(_VipsSource),
67126            "::",
67127            stringify!(data)
67128        )
67129    );
67130    assert_eq!(
67131        unsafe { ::std::ptr::addr_of!((*ptr).header_bytes) as usize - ptr as usize },
67132        144usize,
67133        concat!(
67134            "Offset of field: ",
67135            stringify!(_VipsSource),
67136            "::",
67137            stringify!(header_bytes)
67138        )
67139    );
67140    assert_eq!(
67141        unsafe { ::std::ptr::addr_of!((*ptr).sniff) as usize - ptr as usize },
67142        152usize,
67143        concat!(
67144            "Offset of field: ",
67145            stringify!(_VipsSource),
67146            "::",
67147            stringify!(sniff)
67148        )
67149    );
67150    assert_eq!(
67151        unsafe { ::std::ptr::addr_of!((*ptr).blob) as usize - ptr as usize },
67152        160usize,
67153        concat!(
67154            "Offset of field: ",
67155            stringify!(_VipsSource),
67156            "::",
67157            stringify!(blob)
67158        )
67159    );
67160    assert_eq!(
67161        unsafe { ::std::ptr::addr_of!((*ptr).mmap_baseaddr) as usize - ptr as usize },
67162        168usize,
67163        concat!(
67164            "Offset of field: ",
67165            stringify!(_VipsSource),
67166            "::",
67167            stringify!(mmap_baseaddr)
67168        )
67169    );
67170    assert_eq!(
67171        unsafe { ::std::ptr::addr_of!((*ptr).mmap_length) as usize - ptr as usize },
67172        176usize,
67173        concat!(
67174            "Offset of field: ",
67175            stringify!(_VipsSource),
67176            "::",
67177            stringify!(mmap_length)
67178        )
67179    );
67180}
67181#[repr(C)]
67182#[derive(Debug, Copy, Clone, PartialEq, Eq)]
67183pub struct _VipsSourceClass {
67184    pub parent_class: VipsConnectionClass,
67185    pub read: ::std::option::Option<
67186        unsafe extern "C" fn(
67187            arg1: *mut VipsSource,
67188            arg2: *mut ::std::os::raw::c_void,
67189            arg3: size_t,
67190        ) -> gint64,
67191    >,
67192    pub seek: ::std::option::Option<
67193        unsafe extern "C" fn(
67194            arg1: *mut VipsSource,
67195            arg2: gint64,
67196            arg3: ::std::os::raw::c_int,
67197        ) -> gint64,
67198    >,
67199}
67200#[test]
67201fn bindgen_test_layout__VipsSourceClass() {
67202    const UNINIT: ::std::mem::MaybeUninit<_VipsSourceClass> = ::std::mem::MaybeUninit::uninit();
67203    let ptr = UNINIT.as_ptr();
67204    assert_eq!(
67205        ::std::mem::size_of::<_VipsSourceClass>(),
67206        344usize,
67207        concat!("Size of: ", stringify!(_VipsSourceClass))
67208    );
67209    assert_eq!(
67210        ::std::mem::align_of::<_VipsSourceClass>(),
67211        8usize,
67212        concat!("Alignment of ", stringify!(_VipsSourceClass))
67213    );
67214    assert_eq!(
67215        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
67216        0usize,
67217        concat!(
67218            "Offset of field: ",
67219            stringify!(_VipsSourceClass),
67220            "::",
67221            stringify!(parent_class)
67222        )
67223    );
67224    assert_eq!(
67225        unsafe { ::std::ptr::addr_of!((*ptr).read) as usize - ptr as usize },
67226        328usize,
67227        concat!(
67228            "Offset of field: ",
67229            stringify!(_VipsSourceClass),
67230            "::",
67231            stringify!(read)
67232        )
67233    );
67234    assert_eq!(
67235        unsafe { ::std::ptr::addr_of!((*ptr).seek) as usize - ptr as usize },
67236        336usize,
67237        concat!(
67238            "Offset of field: ",
67239            stringify!(_VipsSourceClass),
67240            "::",
67241            stringify!(seek)
67242        )
67243    );
67244}
67245pub type VipsSourceClass = _VipsSourceClass;
67246extern "C" {
67247    pub fn vips_source_get_type() -> GType;
67248}
67249extern "C" {
67250    pub fn vips_source_new_from_descriptor(descriptor: ::std::os::raw::c_int) -> *mut VipsSource;
67251}
67252extern "C" {
67253    pub fn vips_source_new_from_file(filename: *const ::std::os::raw::c_char) -> *mut VipsSource;
67254}
67255extern "C" {
67256    pub fn vips_source_new_from_blob(blob: *mut VipsBlob) -> *mut VipsSource;
67257}
67258extern "C" {
67259    pub fn vips_source_new_from_target(target: *mut VipsTarget) -> *mut VipsSource;
67260}
67261extern "C" {
67262    pub fn vips_source_new_from_memory(
67263        data: *const ::std::os::raw::c_void,
67264        size: size_t,
67265    ) -> *mut VipsSource;
67266}
67267extern "C" {
67268    pub fn vips_source_new_from_options(options: *const ::std::os::raw::c_char) -> *mut VipsSource;
67269}
67270extern "C" {
67271    pub fn vips_source_minimise(source: *mut VipsSource);
67272}
67273extern "C" {
67274    pub fn vips_source_unminimise(source: *mut VipsSource) -> ::std::os::raw::c_int;
67275}
67276extern "C" {
67277    pub fn vips_source_decode(source: *mut VipsSource) -> ::std::os::raw::c_int;
67278}
67279extern "C" {
67280    pub fn vips_source_read(
67281        source: *mut VipsSource,
67282        data: *mut ::std::os::raw::c_void,
67283        length: size_t,
67284    ) -> gint64;
67285}
67286extern "C" {
67287    pub fn vips_source_is_mappable(source: *mut VipsSource) -> gboolean;
67288}
67289extern "C" {
67290    pub fn vips_source_is_file(source: *mut VipsSource) -> gboolean;
67291}
67292extern "C" {
67293    pub fn vips_source_map(
67294        source: *mut VipsSource,
67295        length: *mut size_t,
67296    ) -> *const ::std::os::raw::c_void;
67297}
67298extern "C" {
67299    pub fn vips_source_map_blob(source: *mut VipsSource) -> *mut VipsBlob;
67300}
67301extern "C" {
67302    pub fn vips_source_seek(
67303        source: *mut VipsSource,
67304        offset: gint64,
67305        whence: ::std::os::raw::c_int,
67306    ) -> gint64;
67307}
67308extern "C" {
67309    pub fn vips_source_rewind(source: *mut VipsSource) -> ::std::os::raw::c_int;
67310}
67311extern "C" {
67312    pub fn vips_source_sniff_at_most(
67313        source: *mut VipsSource,
67314        data: *mut *mut ::std::os::raw::c_uchar,
67315        length: size_t,
67316    ) -> gint64;
67317}
67318extern "C" {
67319    pub fn vips_source_sniff(
67320        source: *mut VipsSource,
67321        length: size_t,
67322    ) -> *mut ::std::os::raw::c_uchar;
67323}
67324extern "C" {
67325    pub fn vips_source_length(source: *mut VipsSource) -> gint64;
67326}
67327#[repr(C)]
67328#[derive(Debug, Copy, Clone, PartialEq, Eq)]
67329pub struct _VipsSourceCustom {
67330    pub parent_object: VipsSource,
67331}
67332#[test]
67333fn bindgen_test_layout__VipsSourceCustom() {
67334    const UNINIT: ::std::mem::MaybeUninit<_VipsSourceCustom> = ::std::mem::MaybeUninit::uninit();
67335    let ptr = UNINIT.as_ptr();
67336    assert_eq!(
67337        ::std::mem::size_of::<_VipsSourceCustom>(),
67338        184usize,
67339        concat!("Size of: ", stringify!(_VipsSourceCustom))
67340    );
67341    assert_eq!(
67342        ::std::mem::align_of::<_VipsSourceCustom>(),
67343        8usize,
67344        concat!("Alignment of ", stringify!(_VipsSourceCustom))
67345    );
67346    assert_eq!(
67347        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
67348        0usize,
67349        concat!(
67350            "Offset of field: ",
67351            stringify!(_VipsSourceCustom),
67352            "::",
67353            stringify!(parent_object)
67354        )
67355    );
67356}
67357pub type VipsSourceCustom = _VipsSourceCustom;
67358#[repr(C)]
67359#[derive(Debug, Copy, Clone, PartialEq, Eq)]
67360pub struct _VipsSourceCustomClass {
67361    pub parent_class: VipsSourceClass,
67362    pub read: ::std::option::Option<
67363        unsafe extern "C" fn(
67364            arg1: *mut VipsSourceCustom,
67365            arg2: *mut ::std::os::raw::c_void,
67366            arg3: gint64,
67367        ) -> gint64,
67368    >,
67369    pub seek: ::std::option::Option<
67370        unsafe extern "C" fn(
67371            arg1: *mut VipsSourceCustom,
67372            arg2: gint64,
67373            arg3: ::std::os::raw::c_int,
67374        ) -> gint64,
67375    >,
67376}
67377#[test]
67378fn bindgen_test_layout__VipsSourceCustomClass() {
67379    const UNINIT: ::std::mem::MaybeUninit<_VipsSourceCustomClass> =
67380        ::std::mem::MaybeUninit::uninit();
67381    let ptr = UNINIT.as_ptr();
67382    assert_eq!(
67383        ::std::mem::size_of::<_VipsSourceCustomClass>(),
67384        360usize,
67385        concat!("Size of: ", stringify!(_VipsSourceCustomClass))
67386    );
67387    assert_eq!(
67388        ::std::mem::align_of::<_VipsSourceCustomClass>(),
67389        8usize,
67390        concat!("Alignment of ", stringify!(_VipsSourceCustomClass))
67391    );
67392    assert_eq!(
67393        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
67394        0usize,
67395        concat!(
67396            "Offset of field: ",
67397            stringify!(_VipsSourceCustomClass),
67398            "::",
67399            stringify!(parent_class)
67400        )
67401    );
67402    assert_eq!(
67403        unsafe { ::std::ptr::addr_of!((*ptr).read) as usize - ptr as usize },
67404        344usize,
67405        concat!(
67406            "Offset of field: ",
67407            stringify!(_VipsSourceCustomClass),
67408            "::",
67409            stringify!(read)
67410        )
67411    );
67412    assert_eq!(
67413        unsafe { ::std::ptr::addr_of!((*ptr).seek) as usize - ptr as usize },
67414        352usize,
67415        concat!(
67416            "Offset of field: ",
67417            stringify!(_VipsSourceCustomClass),
67418            "::",
67419            stringify!(seek)
67420        )
67421    );
67422}
67423pub type VipsSourceCustomClass = _VipsSourceCustomClass;
67424extern "C" {
67425    pub fn vips_source_custom_get_type() -> GType;
67426}
67427extern "C" {
67428    pub fn vips_source_custom_new() -> *mut VipsSourceCustom;
67429}
67430#[repr(C)]
67431#[derive(Debug, Copy, Clone, PartialEq, Eq)]
67432pub struct _VipsGInputStream {
67433    pub parent_instance: GInputStream,
67434    pub source: *mut VipsSource,
67435}
67436#[test]
67437fn bindgen_test_layout__VipsGInputStream() {
67438    const UNINIT: ::std::mem::MaybeUninit<_VipsGInputStream> = ::std::mem::MaybeUninit::uninit();
67439    let ptr = UNINIT.as_ptr();
67440    assert_eq!(
67441        ::std::mem::size_of::<_VipsGInputStream>(),
67442        40usize,
67443        concat!("Size of: ", stringify!(_VipsGInputStream))
67444    );
67445    assert_eq!(
67446        ::std::mem::align_of::<_VipsGInputStream>(),
67447        8usize,
67448        concat!("Alignment of ", stringify!(_VipsGInputStream))
67449    );
67450    assert_eq!(
67451        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
67452        0usize,
67453        concat!(
67454            "Offset of field: ",
67455            stringify!(_VipsGInputStream),
67456            "::",
67457            stringify!(parent_instance)
67458        )
67459    );
67460    assert_eq!(
67461        unsafe { ::std::ptr::addr_of!((*ptr).source) as usize - ptr as usize },
67462        32usize,
67463        concat!(
67464            "Offset of field: ",
67465            stringify!(_VipsGInputStream),
67466            "::",
67467            stringify!(source)
67468        )
67469    );
67470}
67471pub type VipsGInputStream = _VipsGInputStream;
67472#[repr(C)]
67473#[derive(Debug, Copy, Clone, PartialEq, Eq)]
67474pub struct _VipsGInputStreamClass {
67475    pub parent_class: GInputStreamClass,
67476}
67477#[test]
67478fn bindgen_test_layout__VipsGInputStreamClass() {
67479    const UNINIT: ::std::mem::MaybeUninit<_VipsGInputStreamClass> =
67480        ::std::mem::MaybeUninit::uninit();
67481    let ptr = UNINIT.as_ptr();
67482    assert_eq!(
67483        ::std::mem::size_of::<_VipsGInputStreamClass>(),
67484        248usize,
67485        concat!("Size of: ", stringify!(_VipsGInputStreamClass))
67486    );
67487    assert_eq!(
67488        ::std::mem::align_of::<_VipsGInputStreamClass>(),
67489        8usize,
67490        concat!("Alignment of ", stringify!(_VipsGInputStreamClass))
67491    );
67492    assert_eq!(
67493        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
67494        0usize,
67495        concat!(
67496            "Offset of field: ",
67497            stringify!(_VipsGInputStreamClass),
67498            "::",
67499            stringify!(parent_class)
67500        )
67501    );
67502}
67503pub type VipsGInputStreamClass = _VipsGInputStreamClass;
67504extern "C" {
67505    pub fn vips_g_input_stream_new_from_source(source: *mut VipsSource) -> *mut GInputStream;
67506}
67507#[repr(C)]
67508#[derive(Debug, Copy, Clone, PartialEq, Eq)]
67509pub struct _VipsSourceGInputStream {
67510    pub parent_instance: VipsSource,
67511    pub stream: *mut GInputStream,
67512    pub seekable: *mut GSeekable,
67513    pub info: *mut GFileInfo,
67514}
67515#[test]
67516fn bindgen_test_layout__VipsSourceGInputStream() {
67517    const UNINIT: ::std::mem::MaybeUninit<_VipsSourceGInputStream> =
67518        ::std::mem::MaybeUninit::uninit();
67519    let ptr = UNINIT.as_ptr();
67520    assert_eq!(
67521        ::std::mem::size_of::<_VipsSourceGInputStream>(),
67522        208usize,
67523        concat!("Size of: ", stringify!(_VipsSourceGInputStream))
67524    );
67525    assert_eq!(
67526        ::std::mem::align_of::<_VipsSourceGInputStream>(),
67527        8usize,
67528        concat!("Alignment of ", stringify!(_VipsSourceGInputStream))
67529    );
67530    assert_eq!(
67531        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
67532        0usize,
67533        concat!(
67534            "Offset of field: ",
67535            stringify!(_VipsSourceGInputStream),
67536            "::",
67537            stringify!(parent_instance)
67538        )
67539    );
67540    assert_eq!(
67541        unsafe { ::std::ptr::addr_of!((*ptr).stream) as usize - ptr as usize },
67542        184usize,
67543        concat!(
67544            "Offset of field: ",
67545            stringify!(_VipsSourceGInputStream),
67546            "::",
67547            stringify!(stream)
67548        )
67549    );
67550    assert_eq!(
67551        unsafe { ::std::ptr::addr_of!((*ptr).seekable) as usize - ptr as usize },
67552        192usize,
67553        concat!(
67554            "Offset of field: ",
67555            stringify!(_VipsSourceGInputStream),
67556            "::",
67557            stringify!(seekable)
67558        )
67559    );
67560    assert_eq!(
67561        unsafe { ::std::ptr::addr_of!((*ptr).info) as usize - ptr as usize },
67562        200usize,
67563        concat!(
67564            "Offset of field: ",
67565            stringify!(_VipsSourceGInputStream),
67566            "::",
67567            stringify!(info)
67568        )
67569    );
67570}
67571pub type VipsSourceGInputStream = _VipsSourceGInputStream;
67572#[repr(C)]
67573#[derive(Debug, Copy, Clone, PartialEq, Eq)]
67574pub struct _VipsSourceGInputStreamClass {
67575    pub parent_class: VipsSourceClass,
67576}
67577#[test]
67578fn bindgen_test_layout__VipsSourceGInputStreamClass() {
67579    const UNINIT: ::std::mem::MaybeUninit<_VipsSourceGInputStreamClass> =
67580        ::std::mem::MaybeUninit::uninit();
67581    let ptr = UNINIT.as_ptr();
67582    assert_eq!(
67583        ::std::mem::size_of::<_VipsSourceGInputStreamClass>(),
67584        344usize,
67585        concat!("Size of: ", stringify!(_VipsSourceGInputStreamClass))
67586    );
67587    assert_eq!(
67588        ::std::mem::align_of::<_VipsSourceGInputStreamClass>(),
67589        8usize,
67590        concat!("Alignment of ", stringify!(_VipsSourceGInputStreamClass))
67591    );
67592    assert_eq!(
67593        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
67594        0usize,
67595        concat!(
67596            "Offset of field: ",
67597            stringify!(_VipsSourceGInputStreamClass),
67598            "::",
67599            stringify!(parent_class)
67600        )
67601    );
67602}
67603pub type VipsSourceGInputStreamClass = _VipsSourceGInputStreamClass;
67604extern "C" {
67605    pub fn vips_source_g_input_stream_new(stream: *mut GInputStream)
67606        -> *mut VipsSourceGInputStream;
67607}
67608#[repr(C)]
67609#[derive(Debug, Copy, Clone, PartialEq, Eq)]
67610pub struct _VipsTarget {
67611    pub parent_object: VipsConnection,
67612    pub memory: gboolean,
67613    pub ended: gboolean,
67614    pub memory_buffer: *mut GString,
67615    pub blob: *mut VipsBlob,
67616    pub output_buffer: [::std::os::raw::c_uchar; 8500usize],
67617    pub write_point: ::std::os::raw::c_int,
67618    pub position: off_t,
67619    pub delete_on_close: gboolean,
67620    pub delete_on_close_filename: *mut ::std::os::raw::c_char,
67621}
67622#[test]
67623fn bindgen_test_layout__VipsTarget() {
67624    const UNINIT: ::std::mem::MaybeUninit<_VipsTarget> = ::std::mem::MaybeUninit::uninit();
67625    let ptr = UNINIT.as_ptr();
67626    assert_eq!(
67627        ::std::mem::size_of::<_VipsTarget>(),
67628        8656usize,
67629        concat!("Size of: ", stringify!(_VipsTarget))
67630    );
67631    assert_eq!(
67632        ::std::mem::align_of::<_VipsTarget>(),
67633        8usize,
67634        concat!("Alignment of ", stringify!(_VipsTarget))
67635    );
67636    assert_eq!(
67637        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
67638        0usize,
67639        concat!(
67640            "Offset of field: ",
67641            stringify!(_VipsTarget),
67642            "::",
67643            stringify!(parent_object)
67644        )
67645    );
67646    assert_eq!(
67647        unsafe { ::std::ptr::addr_of!((*ptr).memory) as usize - ptr as usize },
67648        104usize,
67649        concat!(
67650            "Offset of field: ",
67651            stringify!(_VipsTarget),
67652            "::",
67653            stringify!(memory)
67654        )
67655    );
67656    assert_eq!(
67657        unsafe { ::std::ptr::addr_of!((*ptr).ended) as usize - ptr as usize },
67658        108usize,
67659        concat!(
67660            "Offset of field: ",
67661            stringify!(_VipsTarget),
67662            "::",
67663            stringify!(ended)
67664        )
67665    );
67666    assert_eq!(
67667        unsafe { ::std::ptr::addr_of!((*ptr).memory_buffer) as usize - ptr as usize },
67668        112usize,
67669        concat!(
67670            "Offset of field: ",
67671            stringify!(_VipsTarget),
67672            "::",
67673            stringify!(memory_buffer)
67674        )
67675    );
67676    assert_eq!(
67677        unsafe { ::std::ptr::addr_of!((*ptr).blob) as usize - ptr as usize },
67678        120usize,
67679        concat!(
67680            "Offset of field: ",
67681            stringify!(_VipsTarget),
67682            "::",
67683            stringify!(blob)
67684        )
67685    );
67686    assert_eq!(
67687        unsafe { ::std::ptr::addr_of!((*ptr).output_buffer) as usize - ptr as usize },
67688        128usize,
67689        concat!(
67690            "Offset of field: ",
67691            stringify!(_VipsTarget),
67692            "::",
67693            stringify!(output_buffer)
67694        )
67695    );
67696    assert_eq!(
67697        unsafe { ::std::ptr::addr_of!((*ptr).write_point) as usize - ptr as usize },
67698        8628usize,
67699        concat!(
67700            "Offset of field: ",
67701            stringify!(_VipsTarget),
67702            "::",
67703            stringify!(write_point)
67704        )
67705    );
67706    assert_eq!(
67707        unsafe { ::std::ptr::addr_of!((*ptr).position) as usize - ptr as usize },
67708        8632usize,
67709        concat!(
67710            "Offset of field: ",
67711            stringify!(_VipsTarget),
67712            "::",
67713            stringify!(position)
67714        )
67715    );
67716    assert_eq!(
67717        unsafe { ::std::ptr::addr_of!((*ptr).delete_on_close) as usize - ptr as usize },
67718        8640usize,
67719        concat!(
67720            "Offset of field: ",
67721            stringify!(_VipsTarget),
67722            "::",
67723            stringify!(delete_on_close)
67724        )
67725    );
67726    assert_eq!(
67727        unsafe { ::std::ptr::addr_of!((*ptr).delete_on_close_filename) as usize - ptr as usize },
67728        8648usize,
67729        concat!(
67730            "Offset of field: ",
67731            stringify!(_VipsTarget),
67732            "::",
67733            stringify!(delete_on_close_filename)
67734        )
67735    );
67736}
67737#[repr(C)]
67738#[derive(Debug, Copy, Clone, PartialEq, Eq)]
67739pub struct _VipsTargetClass {
67740    pub parent_class: VipsConnectionClass,
67741    pub write: ::std::option::Option<
67742        unsafe extern "C" fn(
67743            arg1: *mut VipsTarget,
67744            arg2: *const ::std::os::raw::c_void,
67745            arg3: size_t,
67746        ) -> gint64,
67747    >,
67748    pub finish: ::std::option::Option<unsafe extern "C" fn(arg1: *mut VipsTarget)>,
67749    pub read: ::std::option::Option<
67750        unsafe extern "C" fn(
67751            arg1: *mut VipsTarget,
67752            arg2: *mut ::std::os::raw::c_void,
67753            arg3: size_t,
67754        ) -> gint64,
67755    >,
67756    pub seek: ::std::option::Option<
67757        unsafe extern "C" fn(
67758            arg1: *mut VipsTarget,
67759            offset: off_t,
67760            whence: ::std::os::raw::c_int,
67761        ) -> off_t,
67762    >,
67763    pub end:
67764        ::std::option::Option<unsafe extern "C" fn(arg1: *mut VipsTarget) -> ::std::os::raw::c_int>,
67765}
67766#[test]
67767fn bindgen_test_layout__VipsTargetClass() {
67768    const UNINIT: ::std::mem::MaybeUninit<_VipsTargetClass> = ::std::mem::MaybeUninit::uninit();
67769    let ptr = UNINIT.as_ptr();
67770    assert_eq!(
67771        ::std::mem::size_of::<_VipsTargetClass>(),
67772        368usize,
67773        concat!("Size of: ", stringify!(_VipsTargetClass))
67774    );
67775    assert_eq!(
67776        ::std::mem::align_of::<_VipsTargetClass>(),
67777        8usize,
67778        concat!("Alignment of ", stringify!(_VipsTargetClass))
67779    );
67780    assert_eq!(
67781        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
67782        0usize,
67783        concat!(
67784            "Offset of field: ",
67785            stringify!(_VipsTargetClass),
67786            "::",
67787            stringify!(parent_class)
67788        )
67789    );
67790    assert_eq!(
67791        unsafe { ::std::ptr::addr_of!((*ptr).write) as usize - ptr as usize },
67792        328usize,
67793        concat!(
67794            "Offset of field: ",
67795            stringify!(_VipsTargetClass),
67796            "::",
67797            stringify!(write)
67798        )
67799    );
67800    assert_eq!(
67801        unsafe { ::std::ptr::addr_of!((*ptr).finish) as usize - ptr as usize },
67802        336usize,
67803        concat!(
67804            "Offset of field: ",
67805            stringify!(_VipsTargetClass),
67806            "::",
67807            stringify!(finish)
67808        )
67809    );
67810    assert_eq!(
67811        unsafe { ::std::ptr::addr_of!((*ptr).read) as usize - ptr as usize },
67812        344usize,
67813        concat!(
67814            "Offset of field: ",
67815            stringify!(_VipsTargetClass),
67816            "::",
67817            stringify!(read)
67818        )
67819    );
67820    assert_eq!(
67821        unsafe { ::std::ptr::addr_of!((*ptr).seek) as usize - ptr as usize },
67822        352usize,
67823        concat!(
67824            "Offset of field: ",
67825            stringify!(_VipsTargetClass),
67826            "::",
67827            stringify!(seek)
67828        )
67829    );
67830    assert_eq!(
67831        unsafe { ::std::ptr::addr_of!((*ptr).end) as usize - ptr as usize },
67832        360usize,
67833        concat!(
67834            "Offset of field: ",
67835            stringify!(_VipsTargetClass),
67836            "::",
67837            stringify!(end)
67838        )
67839    );
67840}
67841pub type VipsTargetClass = _VipsTargetClass;
67842extern "C" {
67843    pub fn vips_target_get_type() -> GType;
67844}
67845extern "C" {
67846    pub fn vips_target_new_to_descriptor(descriptor: ::std::os::raw::c_int) -> *mut VipsTarget;
67847}
67848extern "C" {
67849    pub fn vips_target_new_to_file(filename: *const ::std::os::raw::c_char) -> *mut VipsTarget;
67850}
67851extern "C" {
67852    pub fn vips_target_new_to_memory() -> *mut VipsTarget;
67853}
67854extern "C" {
67855    pub fn vips_target_new_temp(target: *mut VipsTarget) -> *mut VipsTarget;
67856}
67857extern "C" {
67858    pub fn vips_target_write(
67859        target: *mut VipsTarget,
67860        data: *const ::std::os::raw::c_void,
67861        length: size_t,
67862    ) -> ::std::os::raw::c_int;
67863}
67864extern "C" {
67865    pub fn vips_target_read(
67866        target: *mut VipsTarget,
67867        buffer: *mut ::std::os::raw::c_void,
67868        length: size_t,
67869    ) -> gint64;
67870}
67871extern "C" {
67872    pub fn vips_target_seek(
67873        target: *mut VipsTarget,
67874        offset: off_t,
67875        whence: ::std::os::raw::c_int,
67876    ) -> off_t;
67877}
67878extern "C" {
67879    pub fn vips_target_end(target: *mut VipsTarget) -> ::std::os::raw::c_int;
67880}
67881extern "C" {
67882    pub fn vips_target_finish(target: *mut VipsTarget);
67883}
67884extern "C" {
67885    pub fn vips_target_steal(
67886        target: *mut VipsTarget,
67887        length: *mut size_t,
67888    ) -> *mut ::std::os::raw::c_uchar;
67889}
67890extern "C" {
67891    pub fn vips_target_steal_text(target: *mut VipsTarget) -> *mut ::std::os::raw::c_char;
67892}
67893extern "C" {
67894    pub fn vips_target_putc(
67895        target: *mut VipsTarget,
67896        ch: ::std::os::raw::c_int,
67897    ) -> ::std::os::raw::c_int;
67898}
67899extern "C" {
67900    pub fn vips_target_writes(
67901        target: *mut VipsTarget,
67902        str_: *const ::std::os::raw::c_char,
67903    ) -> ::std::os::raw::c_int;
67904}
67905extern "C" {
67906    pub fn vips_target_writef(
67907        target: *mut VipsTarget,
67908        fmt: *const ::std::os::raw::c_char,
67909        ...
67910    ) -> ::std::os::raw::c_int;
67911}
67912extern "C" {
67913    pub fn vips_target_write_amp(
67914        target: *mut VipsTarget,
67915        str_: *const ::std::os::raw::c_char,
67916    ) -> ::std::os::raw::c_int;
67917}
67918#[repr(C)]
67919#[derive(Debug, Copy, Clone, PartialEq, Eq)]
67920pub struct _VipsTargetCustom {
67921    pub parent_object: VipsTarget,
67922}
67923#[test]
67924fn bindgen_test_layout__VipsTargetCustom() {
67925    const UNINIT: ::std::mem::MaybeUninit<_VipsTargetCustom> = ::std::mem::MaybeUninit::uninit();
67926    let ptr = UNINIT.as_ptr();
67927    assert_eq!(
67928        ::std::mem::size_of::<_VipsTargetCustom>(),
67929        8656usize,
67930        concat!("Size of: ", stringify!(_VipsTargetCustom))
67931    );
67932    assert_eq!(
67933        ::std::mem::align_of::<_VipsTargetCustom>(),
67934        8usize,
67935        concat!("Alignment of ", stringify!(_VipsTargetCustom))
67936    );
67937    assert_eq!(
67938        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
67939        0usize,
67940        concat!(
67941            "Offset of field: ",
67942            stringify!(_VipsTargetCustom),
67943            "::",
67944            stringify!(parent_object)
67945        )
67946    );
67947}
67948pub type VipsTargetCustom = _VipsTargetCustom;
67949#[repr(C)]
67950#[derive(Debug, Copy, Clone, PartialEq, Eq)]
67951pub struct _VipsTargetCustomClass {
67952    pub parent_class: VipsTargetClass,
67953    pub write: ::std::option::Option<
67954        unsafe extern "C" fn(
67955            arg1: *mut VipsTargetCustom,
67956            arg2: *const ::std::os::raw::c_void,
67957            arg3: gint64,
67958        ) -> gint64,
67959    >,
67960    pub finish: ::std::option::Option<unsafe extern "C" fn(arg1: *mut VipsTargetCustom)>,
67961    pub read: ::std::option::Option<
67962        unsafe extern "C" fn(
67963            arg1: *mut VipsTargetCustom,
67964            arg2: *mut ::std::os::raw::c_void,
67965            arg3: gint64,
67966        ) -> gint64,
67967    >,
67968    pub seek: ::std::option::Option<
67969        unsafe extern "C" fn(
67970            arg1: *mut VipsTargetCustom,
67971            arg2: gint64,
67972            arg3: ::std::os::raw::c_int,
67973        ) -> gint64,
67974    >,
67975    pub end: ::std::option::Option<
67976        unsafe extern "C" fn(arg1: *mut VipsTargetCustom) -> ::std::os::raw::c_int,
67977    >,
67978}
67979#[test]
67980fn bindgen_test_layout__VipsTargetCustomClass() {
67981    const UNINIT: ::std::mem::MaybeUninit<_VipsTargetCustomClass> =
67982        ::std::mem::MaybeUninit::uninit();
67983    let ptr = UNINIT.as_ptr();
67984    assert_eq!(
67985        ::std::mem::size_of::<_VipsTargetCustomClass>(),
67986        408usize,
67987        concat!("Size of: ", stringify!(_VipsTargetCustomClass))
67988    );
67989    assert_eq!(
67990        ::std::mem::align_of::<_VipsTargetCustomClass>(),
67991        8usize,
67992        concat!("Alignment of ", stringify!(_VipsTargetCustomClass))
67993    );
67994    assert_eq!(
67995        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
67996        0usize,
67997        concat!(
67998            "Offset of field: ",
67999            stringify!(_VipsTargetCustomClass),
68000            "::",
68001            stringify!(parent_class)
68002        )
68003    );
68004    assert_eq!(
68005        unsafe { ::std::ptr::addr_of!((*ptr).write) as usize - ptr as usize },
68006        368usize,
68007        concat!(
68008            "Offset of field: ",
68009            stringify!(_VipsTargetCustomClass),
68010            "::",
68011            stringify!(write)
68012        )
68013    );
68014    assert_eq!(
68015        unsafe { ::std::ptr::addr_of!((*ptr).finish) as usize - ptr as usize },
68016        376usize,
68017        concat!(
68018            "Offset of field: ",
68019            stringify!(_VipsTargetCustomClass),
68020            "::",
68021            stringify!(finish)
68022        )
68023    );
68024    assert_eq!(
68025        unsafe { ::std::ptr::addr_of!((*ptr).read) as usize - ptr as usize },
68026        384usize,
68027        concat!(
68028            "Offset of field: ",
68029            stringify!(_VipsTargetCustomClass),
68030            "::",
68031            stringify!(read)
68032        )
68033    );
68034    assert_eq!(
68035        unsafe { ::std::ptr::addr_of!((*ptr).seek) as usize - ptr as usize },
68036        392usize,
68037        concat!(
68038            "Offset of field: ",
68039            stringify!(_VipsTargetCustomClass),
68040            "::",
68041            stringify!(seek)
68042        )
68043    );
68044    assert_eq!(
68045        unsafe { ::std::ptr::addr_of!((*ptr).end) as usize - ptr as usize },
68046        400usize,
68047        concat!(
68048            "Offset of field: ",
68049            stringify!(_VipsTargetCustomClass),
68050            "::",
68051            stringify!(end)
68052        )
68053    );
68054}
68055pub type VipsTargetCustomClass = _VipsTargetCustomClass;
68056extern "C" {
68057    pub fn vips_target_custom_get_type() -> GType;
68058}
68059extern "C" {
68060    pub fn vips_target_custom_new() -> *mut VipsTargetCustom;
68061}
68062#[repr(C)]
68063#[derive(Debug, Copy, Clone, PartialEq, Eq)]
68064pub struct _VipsSbuf {
68065    pub parent_object: VipsObject,
68066    pub source: *mut VipsSource,
68067    pub input_buffer: [::std::os::raw::c_uchar; 4097usize],
68068    pub chars_in_buffer: ::std::os::raw::c_int,
68069    pub read_point: ::std::os::raw::c_int,
68070    pub line: [::std::os::raw::c_uchar; 4097usize],
68071}
68072#[test]
68073fn bindgen_test_layout__VipsSbuf() {
68074    const UNINIT: ::std::mem::MaybeUninit<_VipsSbuf> = ::std::mem::MaybeUninit::uninit();
68075    let ptr = UNINIT.as_ptr();
68076    assert_eq!(
68077        ::std::mem::size_of::<_VipsSbuf>(),
68078        8296usize,
68079        concat!("Size of: ", stringify!(_VipsSbuf))
68080    );
68081    assert_eq!(
68082        ::std::mem::align_of::<_VipsSbuf>(),
68083        8usize,
68084        concat!("Alignment of ", stringify!(_VipsSbuf))
68085    );
68086    assert_eq!(
68087        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
68088        0usize,
68089        concat!(
68090            "Offset of field: ",
68091            stringify!(_VipsSbuf),
68092            "::",
68093            stringify!(parent_object)
68094        )
68095    );
68096    assert_eq!(
68097        unsafe { ::std::ptr::addr_of!((*ptr).source) as usize - ptr as usize },
68098        80usize,
68099        concat!(
68100            "Offset of field: ",
68101            stringify!(_VipsSbuf),
68102            "::",
68103            stringify!(source)
68104        )
68105    );
68106    assert_eq!(
68107        unsafe { ::std::ptr::addr_of!((*ptr).input_buffer) as usize - ptr as usize },
68108        88usize,
68109        concat!(
68110            "Offset of field: ",
68111            stringify!(_VipsSbuf),
68112            "::",
68113            stringify!(input_buffer)
68114        )
68115    );
68116    assert_eq!(
68117        unsafe { ::std::ptr::addr_of!((*ptr).chars_in_buffer) as usize - ptr as usize },
68118        4188usize,
68119        concat!(
68120            "Offset of field: ",
68121            stringify!(_VipsSbuf),
68122            "::",
68123            stringify!(chars_in_buffer)
68124        )
68125    );
68126    assert_eq!(
68127        unsafe { ::std::ptr::addr_of!((*ptr).read_point) as usize - ptr as usize },
68128        4192usize,
68129        concat!(
68130            "Offset of field: ",
68131            stringify!(_VipsSbuf),
68132            "::",
68133            stringify!(read_point)
68134        )
68135    );
68136    assert_eq!(
68137        unsafe { ::std::ptr::addr_of!((*ptr).line) as usize - ptr as usize },
68138        4196usize,
68139        concat!(
68140            "Offset of field: ",
68141            stringify!(_VipsSbuf),
68142            "::",
68143            stringify!(line)
68144        )
68145    );
68146}
68147pub type VipsSbuf = _VipsSbuf;
68148#[repr(C)]
68149#[derive(Debug, Copy, Clone, PartialEq, Eq)]
68150pub struct _VipsSbufClass {
68151    pub parent_class: VipsObjectClass,
68152}
68153#[test]
68154fn bindgen_test_layout__VipsSbufClass() {
68155    const UNINIT: ::std::mem::MaybeUninit<_VipsSbufClass> = ::std::mem::MaybeUninit::uninit();
68156    let ptr = UNINIT.as_ptr();
68157    assert_eq!(
68158        ::std::mem::size_of::<_VipsSbufClass>(),
68159        328usize,
68160        concat!("Size of: ", stringify!(_VipsSbufClass))
68161    );
68162    assert_eq!(
68163        ::std::mem::align_of::<_VipsSbufClass>(),
68164        8usize,
68165        concat!("Alignment of ", stringify!(_VipsSbufClass))
68166    );
68167    assert_eq!(
68168        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
68169        0usize,
68170        concat!(
68171            "Offset of field: ",
68172            stringify!(_VipsSbufClass),
68173            "::",
68174            stringify!(parent_class)
68175        )
68176    );
68177}
68178pub type VipsSbufClass = _VipsSbufClass;
68179extern "C" {
68180    pub fn vips_sbuf_get_type() -> GType;
68181}
68182extern "C" {
68183    pub fn vips_sbuf_new_from_source(source: *mut VipsSource) -> *mut VipsSbuf;
68184}
68185extern "C" {
68186    pub fn vips_sbuf_unbuffer(sbuf: *mut VipsSbuf);
68187}
68188extern "C" {
68189    pub fn vips_sbuf_getc(sbuf: *mut VipsSbuf) -> ::std::os::raw::c_int;
68190}
68191extern "C" {
68192    pub fn vips_sbuf_ungetc(sbuf: *mut VipsSbuf);
68193}
68194extern "C" {
68195    pub fn vips_sbuf_require(
68196        sbuf: *mut VipsSbuf,
68197        require: ::std::os::raw::c_int,
68198    ) -> ::std::os::raw::c_int;
68199}
68200extern "C" {
68201    pub fn vips_sbuf_get_line(sbuf: *mut VipsSbuf) -> *const ::std::os::raw::c_char;
68202}
68203extern "C" {
68204    pub fn vips_sbuf_get_line_copy(sbuf: *mut VipsSbuf) -> *mut ::std::os::raw::c_char;
68205}
68206extern "C" {
68207    pub fn vips_sbuf_get_non_whitespace(sbuf: *mut VipsSbuf) -> *const ::std::os::raw::c_char;
68208}
68209extern "C" {
68210    pub fn vips_sbuf_skip_whitespace(sbuf: *mut VipsSbuf) -> ::std::os::raw::c_int;
68211}
68212#[repr(C)]
68213#[derive(Debug, Copy, Clone, PartialEq, Eq)]
68214pub struct _VipsRect {
68215    pub left: ::std::os::raw::c_int,
68216    pub top: ::std::os::raw::c_int,
68217    pub width: ::std::os::raw::c_int,
68218    pub height: ::std::os::raw::c_int,
68219}
68220#[test]
68221fn bindgen_test_layout__VipsRect() {
68222    const UNINIT: ::std::mem::MaybeUninit<_VipsRect> = ::std::mem::MaybeUninit::uninit();
68223    let ptr = UNINIT.as_ptr();
68224    assert_eq!(
68225        ::std::mem::size_of::<_VipsRect>(),
68226        16usize,
68227        concat!("Size of: ", stringify!(_VipsRect))
68228    );
68229    assert_eq!(
68230        ::std::mem::align_of::<_VipsRect>(),
68231        4usize,
68232        concat!("Alignment of ", stringify!(_VipsRect))
68233    );
68234    assert_eq!(
68235        unsafe { ::std::ptr::addr_of!((*ptr).left) as usize - ptr as usize },
68236        0usize,
68237        concat!(
68238            "Offset of field: ",
68239            stringify!(_VipsRect),
68240            "::",
68241            stringify!(left)
68242        )
68243    );
68244    assert_eq!(
68245        unsafe { ::std::ptr::addr_of!((*ptr).top) as usize - ptr as usize },
68246        4usize,
68247        concat!(
68248            "Offset of field: ",
68249            stringify!(_VipsRect),
68250            "::",
68251            stringify!(top)
68252        )
68253    );
68254    assert_eq!(
68255        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
68256        8usize,
68257        concat!(
68258            "Offset of field: ",
68259            stringify!(_VipsRect),
68260            "::",
68261            stringify!(width)
68262        )
68263    );
68264    assert_eq!(
68265        unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
68266        12usize,
68267        concat!(
68268            "Offset of field: ",
68269            stringify!(_VipsRect),
68270            "::",
68271            stringify!(height)
68272        )
68273    );
68274}
68275pub type VipsRect = _VipsRect;
68276extern "C" {
68277    pub fn vips_rect_isempty(r: *const VipsRect) -> gboolean;
68278}
68279extern "C" {
68280    pub fn vips_rect_includespoint(
68281        r: *const VipsRect,
68282        x: ::std::os::raw::c_int,
68283        y: ::std::os::raw::c_int,
68284    ) -> gboolean;
68285}
68286extern "C" {
68287    pub fn vips_rect_includesrect(r1: *const VipsRect, r2: *const VipsRect) -> gboolean;
68288}
68289extern "C" {
68290    pub fn vips_rect_equalsrect(r1: *const VipsRect, r2: *const VipsRect) -> gboolean;
68291}
68292extern "C" {
68293    pub fn vips_rect_overlapsrect(r1: *const VipsRect, r2: *const VipsRect) -> gboolean;
68294}
68295extern "C" {
68296    pub fn vips_rect_marginadjust(r: *mut VipsRect, n: ::std::os::raw::c_int);
68297}
68298extern "C" {
68299    pub fn vips_rect_intersectrect(r1: *const VipsRect, r2: *const VipsRect, out: *mut VipsRect);
68300}
68301extern "C" {
68302    pub fn vips_rect_unionrect(r1: *const VipsRect, r2: *const VipsRect, out: *mut VipsRect);
68303}
68304extern "C" {
68305    pub fn vips_rect_dup(r: *const VipsRect) -> *mut VipsRect;
68306}
68307extern "C" {
68308    pub fn vips_rect_normalise(r: *mut VipsRect);
68309}
68310#[repr(C)]
68311#[derive(Debug, Copy, Clone, PartialEq, Eq)]
68312pub struct VipsWindow {
68313    pub ref_count: ::std::os::raw::c_int,
68314    pub im: *mut _VipsImage,
68315    pub top: ::std::os::raw::c_int,
68316    pub height: ::std::os::raw::c_int,
68317    pub data: *mut VipsPel,
68318    pub baseaddr: *mut ::std::os::raw::c_void,
68319    pub length: size_t,
68320}
68321#[test]
68322fn bindgen_test_layout_VipsWindow() {
68323    const UNINIT: ::std::mem::MaybeUninit<VipsWindow> = ::std::mem::MaybeUninit::uninit();
68324    let ptr = UNINIT.as_ptr();
68325    assert_eq!(
68326        ::std::mem::size_of::<VipsWindow>(),
68327        48usize,
68328        concat!("Size of: ", stringify!(VipsWindow))
68329    );
68330    assert_eq!(
68331        ::std::mem::align_of::<VipsWindow>(),
68332        8usize,
68333        concat!("Alignment of ", stringify!(VipsWindow))
68334    );
68335    assert_eq!(
68336        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
68337        0usize,
68338        concat!(
68339            "Offset of field: ",
68340            stringify!(VipsWindow),
68341            "::",
68342            stringify!(ref_count)
68343        )
68344    );
68345    assert_eq!(
68346        unsafe { ::std::ptr::addr_of!((*ptr).im) as usize - ptr as usize },
68347        8usize,
68348        concat!(
68349            "Offset of field: ",
68350            stringify!(VipsWindow),
68351            "::",
68352            stringify!(im)
68353        )
68354    );
68355    assert_eq!(
68356        unsafe { ::std::ptr::addr_of!((*ptr).top) as usize - ptr as usize },
68357        16usize,
68358        concat!(
68359            "Offset of field: ",
68360            stringify!(VipsWindow),
68361            "::",
68362            stringify!(top)
68363        )
68364    );
68365    assert_eq!(
68366        unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
68367        20usize,
68368        concat!(
68369            "Offset of field: ",
68370            stringify!(VipsWindow),
68371            "::",
68372            stringify!(height)
68373        )
68374    );
68375    assert_eq!(
68376        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
68377        24usize,
68378        concat!(
68379            "Offset of field: ",
68380            stringify!(VipsWindow),
68381            "::",
68382            stringify!(data)
68383        )
68384    );
68385    assert_eq!(
68386        unsafe { ::std::ptr::addr_of!((*ptr).baseaddr) as usize - ptr as usize },
68387        32usize,
68388        concat!(
68389            "Offset of field: ",
68390            stringify!(VipsWindow),
68391            "::",
68392            stringify!(baseaddr)
68393        )
68394    );
68395    assert_eq!(
68396        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
68397        40usize,
68398        concat!(
68399            "Offset of field: ",
68400            stringify!(VipsWindow),
68401            "::",
68402            stringify!(length)
68403        )
68404    );
68405}
68406extern "C" {
68407    pub fn vips_window_unref(window: *mut VipsWindow) -> ::std::os::raw::c_int;
68408}
68409extern "C" {
68410    pub fn vips_window_print(window: *mut VipsWindow);
68411}
68412#[repr(C)]
68413#[derive(Debug, Copy, Clone, PartialEq, Eq)]
68414pub struct VipsBufferThread {
68415    pub hash: *mut GHashTable,
68416    pub thread: *mut GThread,
68417}
68418#[test]
68419fn bindgen_test_layout_VipsBufferThread() {
68420    const UNINIT: ::std::mem::MaybeUninit<VipsBufferThread> = ::std::mem::MaybeUninit::uninit();
68421    let ptr = UNINIT.as_ptr();
68422    assert_eq!(
68423        ::std::mem::size_of::<VipsBufferThread>(),
68424        16usize,
68425        concat!("Size of: ", stringify!(VipsBufferThread))
68426    );
68427    assert_eq!(
68428        ::std::mem::align_of::<VipsBufferThread>(),
68429        8usize,
68430        concat!("Alignment of ", stringify!(VipsBufferThread))
68431    );
68432    assert_eq!(
68433        unsafe { ::std::ptr::addr_of!((*ptr).hash) as usize - ptr as usize },
68434        0usize,
68435        concat!(
68436            "Offset of field: ",
68437            stringify!(VipsBufferThread),
68438            "::",
68439            stringify!(hash)
68440        )
68441    );
68442    assert_eq!(
68443        unsafe { ::std::ptr::addr_of!((*ptr).thread) as usize - ptr as usize },
68444        8usize,
68445        concat!(
68446            "Offset of field: ",
68447            stringify!(VipsBufferThread),
68448            "::",
68449            stringify!(thread)
68450        )
68451    );
68452}
68453#[repr(C)]
68454#[derive(Debug, Copy, Clone, PartialEq, Eq)]
68455pub struct _VipsBufferCache {
68456    pub buffers: *mut GSList,
68457    pub thread: *mut GThread,
68458    pub im: *mut _VipsImage,
68459    pub buffer_thread: *mut VipsBufferThread,
68460    pub reserve: *mut GSList,
68461    pub n_reserve: ::std::os::raw::c_int,
68462}
68463#[test]
68464fn bindgen_test_layout__VipsBufferCache() {
68465    const UNINIT: ::std::mem::MaybeUninit<_VipsBufferCache> = ::std::mem::MaybeUninit::uninit();
68466    let ptr = UNINIT.as_ptr();
68467    assert_eq!(
68468        ::std::mem::size_of::<_VipsBufferCache>(),
68469        48usize,
68470        concat!("Size of: ", stringify!(_VipsBufferCache))
68471    );
68472    assert_eq!(
68473        ::std::mem::align_of::<_VipsBufferCache>(),
68474        8usize,
68475        concat!("Alignment of ", stringify!(_VipsBufferCache))
68476    );
68477    assert_eq!(
68478        unsafe { ::std::ptr::addr_of!((*ptr).buffers) as usize - ptr as usize },
68479        0usize,
68480        concat!(
68481            "Offset of field: ",
68482            stringify!(_VipsBufferCache),
68483            "::",
68484            stringify!(buffers)
68485        )
68486    );
68487    assert_eq!(
68488        unsafe { ::std::ptr::addr_of!((*ptr).thread) as usize - ptr as usize },
68489        8usize,
68490        concat!(
68491            "Offset of field: ",
68492            stringify!(_VipsBufferCache),
68493            "::",
68494            stringify!(thread)
68495        )
68496    );
68497    assert_eq!(
68498        unsafe { ::std::ptr::addr_of!((*ptr).im) as usize - ptr as usize },
68499        16usize,
68500        concat!(
68501            "Offset of field: ",
68502            stringify!(_VipsBufferCache),
68503            "::",
68504            stringify!(im)
68505        )
68506    );
68507    assert_eq!(
68508        unsafe { ::std::ptr::addr_of!((*ptr).buffer_thread) as usize - ptr as usize },
68509        24usize,
68510        concat!(
68511            "Offset of field: ",
68512            stringify!(_VipsBufferCache),
68513            "::",
68514            stringify!(buffer_thread)
68515        )
68516    );
68517    assert_eq!(
68518        unsafe { ::std::ptr::addr_of!((*ptr).reserve) as usize - ptr as usize },
68519        32usize,
68520        concat!(
68521            "Offset of field: ",
68522            stringify!(_VipsBufferCache),
68523            "::",
68524            stringify!(reserve)
68525        )
68526    );
68527    assert_eq!(
68528        unsafe { ::std::ptr::addr_of!((*ptr).n_reserve) as usize - ptr as usize },
68529        40usize,
68530        concat!(
68531            "Offset of field: ",
68532            stringify!(_VipsBufferCache),
68533            "::",
68534            stringify!(n_reserve)
68535        )
68536    );
68537}
68538pub type VipsBufferCache = _VipsBufferCache;
68539#[repr(C)]
68540#[derive(Debug, Copy, Clone, PartialEq, Eq)]
68541pub struct _VipsBuffer {
68542    pub ref_count: ::std::os::raw::c_int,
68543    pub im: *mut _VipsImage,
68544    pub area: VipsRect,
68545    pub done: gboolean,
68546    pub cache: *mut VipsBufferCache,
68547    pub buf: *mut VipsPel,
68548    pub bsize: size_t,
68549}
68550#[test]
68551fn bindgen_test_layout__VipsBuffer() {
68552    const UNINIT: ::std::mem::MaybeUninit<_VipsBuffer> = ::std::mem::MaybeUninit::uninit();
68553    let ptr = UNINIT.as_ptr();
68554    assert_eq!(
68555        ::std::mem::size_of::<_VipsBuffer>(),
68556        64usize,
68557        concat!("Size of: ", stringify!(_VipsBuffer))
68558    );
68559    assert_eq!(
68560        ::std::mem::align_of::<_VipsBuffer>(),
68561        8usize,
68562        concat!("Alignment of ", stringify!(_VipsBuffer))
68563    );
68564    assert_eq!(
68565        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
68566        0usize,
68567        concat!(
68568            "Offset of field: ",
68569            stringify!(_VipsBuffer),
68570            "::",
68571            stringify!(ref_count)
68572        )
68573    );
68574    assert_eq!(
68575        unsafe { ::std::ptr::addr_of!((*ptr).im) as usize - ptr as usize },
68576        8usize,
68577        concat!(
68578            "Offset of field: ",
68579            stringify!(_VipsBuffer),
68580            "::",
68581            stringify!(im)
68582        )
68583    );
68584    assert_eq!(
68585        unsafe { ::std::ptr::addr_of!((*ptr).area) as usize - ptr as usize },
68586        16usize,
68587        concat!(
68588            "Offset of field: ",
68589            stringify!(_VipsBuffer),
68590            "::",
68591            stringify!(area)
68592        )
68593    );
68594    assert_eq!(
68595        unsafe { ::std::ptr::addr_of!((*ptr).done) as usize - ptr as usize },
68596        32usize,
68597        concat!(
68598            "Offset of field: ",
68599            stringify!(_VipsBuffer),
68600            "::",
68601            stringify!(done)
68602        )
68603    );
68604    assert_eq!(
68605        unsafe { ::std::ptr::addr_of!((*ptr).cache) as usize - ptr as usize },
68606        40usize,
68607        concat!(
68608            "Offset of field: ",
68609            stringify!(_VipsBuffer),
68610            "::",
68611            stringify!(cache)
68612        )
68613    );
68614    assert_eq!(
68615        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
68616        48usize,
68617        concat!(
68618            "Offset of field: ",
68619            stringify!(_VipsBuffer),
68620            "::",
68621            stringify!(buf)
68622        )
68623    );
68624    assert_eq!(
68625        unsafe { ::std::ptr::addr_of!((*ptr).bsize) as usize - ptr as usize },
68626        56usize,
68627        concat!(
68628            "Offset of field: ",
68629            stringify!(_VipsBuffer),
68630            "::",
68631            stringify!(bsize)
68632        )
68633    );
68634}
68635pub type VipsBuffer = _VipsBuffer;
68636extern "C" {
68637    pub fn vips_buffer_dump_all();
68638}
68639extern "C" {
68640    pub fn vips_buffer_done(buffer: *mut VipsBuffer);
68641}
68642extern "C" {
68643    pub fn vips_buffer_undone(buffer: *mut VipsBuffer);
68644}
68645extern "C" {
68646    pub fn vips_buffer_unref(buffer: *mut VipsBuffer);
68647}
68648extern "C" {
68649    pub fn vips_buffer_new(im: *mut _VipsImage, area: *mut VipsRect) -> *mut VipsBuffer;
68650}
68651extern "C" {
68652    pub fn vips_buffer_ref(im: *mut _VipsImage, area: *mut VipsRect) -> *mut VipsBuffer;
68653}
68654extern "C" {
68655    pub fn vips_buffer_unref_ref(
68656        buffer: *mut VipsBuffer,
68657        im: *mut _VipsImage,
68658        area: *mut VipsRect,
68659    ) -> *mut VipsBuffer;
68660}
68661extern "C" {
68662    pub fn vips_buffer_print(buffer: *mut VipsBuffer);
68663}
68664extern "C" {
68665    pub fn vips__render_shutdown();
68666}
68667pub const _RegionType_VIPS_REGION_NONE: _RegionType = 0;
68668pub const _RegionType_VIPS_REGION_BUFFER: _RegionType = 1;
68669pub const _RegionType_VIPS_REGION_OTHER_REGION: _RegionType = 2;
68670pub const _RegionType_VIPS_REGION_OTHER_IMAGE: _RegionType = 3;
68671pub const _RegionType_VIPS_REGION_WINDOW: _RegionType = 4;
68672pub type _RegionType = ::std::os::raw::c_uint;
68673pub use self::_RegionType as RegionType;
68674extern "C" {
68675    pub fn vips__region_take_ownership(reg: *mut _VipsRegion);
68676}
68677extern "C" {
68678    pub fn vips__region_check_ownership(reg: *mut _VipsRegion);
68679}
68680extern "C" {
68681    pub fn vips__region_no_ownership(reg: *mut _VipsRegion);
68682}
68683pub type VipsRegionFillFn = ::std::option::Option<
68684    unsafe extern "C" fn(
68685        arg1: *mut _VipsRegion,
68686        arg2: *mut ::std::os::raw::c_void,
68687    ) -> ::std::os::raw::c_int,
68688>;
68689extern "C" {
68690    pub fn vips_region_fill(
68691        reg: *mut _VipsRegion,
68692        r: *const VipsRect,
68693        fn_: VipsRegionFillFn,
68694        a: *mut ::std::os::raw::c_void,
68695    ) -> ::std::os::raw::c_int;
68696}
68697extern "C" {
68698    pub fn vips__image_wio_output(image: *mut _VipsImage) -> ::std::os::raw::c_int;
68699}
68700extern "C" {
68701    pub fn vips__image_pio_output(image: *mut _VipsImage) -> ::std::os::raw::c_int;
68702}
68703extern "C" {
68704    pub fn vips__argument_get_instance(
68705        argument_class: *mut VipsArgumentClass,
68706        object: *mut VipsObject,
68707    ) -> *mut VipsArgumentInstance;
68708}
68709extern "C" {
68710    pub fn vips__argument_table_lookup(
68711        table: *mut VipsArgumentTable,
68712        pspec: *mut GParamSpec,
68713    ) -> *mut VipsArgument;
68714}
68715extern "C" {
68716    pub fn vips__demand_hint_array(
68717        image: *mut _VipsImage,
68718        hint: ::std::os::raw::c_int,
68719        in_: *mut *mut _VipsImage,
68720    );
68721}
68722extern "C" {
68723    pub fn vips__image_copy_fields_array(
68724        out: *mut _VipsImage,
68725        in_: *mut *mut _VipsImage,
68726    ) -> ::std::os::raw::c_int;
68727}
68728extern "C" {
68729    pub fn vips__region_count_pixels(
68730        region: *mut _VipsRegion,
68731        nickname: *const ::std::os::raw::c_char,
68732    );
68733}
68734extern "C" {
68735    pub fn vips_region_dump_all();
68736}
68737extern "C" {
68738    pub fn vips_region_prepare_many(
68739        reg: *mut *mut _VipsRegion,
68740        r: *const VipsRect,
68741    ) -> ::std::os::raw::c_int;
68742}
68743extern "C" {
68744    pub fn vips__view_image(image: *mut _VipsImage) -> ::std::os::raw::c_int;
68745}
68746extern "C" {
68747    pub static mut _vips__argument_id: ::std::os::raw::c_int;
68748}
68749extern "C" {
68750    pub fn vips__meta_init();
68751}
68752#[repr(C)]
68753#[derive(Debug, Copy, Clone, PartialEq, Eq)]
68754pub struct im__INTMASK {
68755    pub xsize: ::std::os::raw::c_int,
68756    pub ysize: ::std::os::raw::c_int,
68757    pub scale: ::std::os::raw::c_int,
68758    pub offset: ::std::os::raw::c_int,
68759    pub coeff: *mut ::std::os::raw::c_int,
68760    pub filename: *mut ::std::os::raw::c_char,
68761}
68762#[test]
68763fn bindgen_test_layout_im__INTMASK() {
68764    const UNINIT: ::std::mem::MaybeUninit<im__INTMASK> = ::std::mem::MaybeUninit::uninit();
68765    let ptr = UNINIT.as_ptr();
68766    assert_eq!(
68767        ::std::mem::size_of::<im__INTMASK>(),
68768        32usize,
68769        concat!("Size of: ", stringify!(im__INTMASK))
68770    );
68771    assert_eq!(
68772        ::std::mem::align_of::<im__INTMASK>(),
68773        8usize,
68774        concat!("Alignment of ", stringify!(im__INTMASK))
68775    );
68776    assert_eq!(
68777        unsafe { ::std::ptr::addr_of!((*ptr).xsize) as usize - ptr as usize },
68778        0usize,
68779        concat!(
68780            "Offset of field: ",
68781            stringify!(im__INTMASK),
68782            "::",
68783            stringify!(xsize)
68784        )
68785    );
68786    assert_eq!(
68787        unsafe { ::std::ptr::addr_of!((*ptr).ysize) as usize - ptr as usize },
68788        4usize,
68789        concat!(
68790            "Offset of field: ",
68791            stringify!(im__INTMASK),
68792            "::",
68793            stringify!(ysize)
68794        )
68795    );
68796    assert_eq!(
68797        unsafe { ::std::ptr::addr_of!((*ptr).scale) as usize - ptr as usize },
68798        8usize,
68799        concat!(
68800            "Offset of field: ",
68801            stringify!(im__INTMASK),
68802            "::",
68803            stringify!(scale)
68804        )
68805    );
68806    assert_eq!(
68807        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
68808        12usize,
68809        concat!(
68810            "Offset of field: ",
68811            stringify!(im__INTMASK),
68812            "::",
68813            stringify!(offset)
68814        )
68815    );
68816    assert_eq!(
68817        unsafe { ::std::ptr::addr_of!((*ptr).coeff) as usize - ptr as usize },
68818        16usize,
68819        concat!(
68820            "Offset of field: ",
68821            stringify!(im__INTMASK),
68822            "::",
68823            stringify!(coeff)
68824        )
68825    );
68826    assert_eq!(
68827        unsafe { ::std::ptr::addr_of!((*ptr).filename) as usize - ptr as usize },
68828        24usize,
68829        concat!(
68830            "Offset of field: ",
68831            stringify!(im__INTMASK),
68832            "::",
68833            stringify!(filename)
68834        )
68835    );
68836}
68837pub type INTMASK = im__INTMASK;
68838#[repr(C)]
68839#[derive(Debug, Copy, Clone, PartialEq)]
68840pub struct im__DOUBLEMASK {
68841    pub xsize: ::std::os::raw::c_int,
68842    pub ysize: ::std::os::raw::c_int,
68843    pub scale: f64,
68844    pub offset: f64,
68845    pub coeff: *mut f64,
68846    pub filename: *mut ::std::os::raw::c_char,
68847}
68848#[test]
68849fn bindgen_test_layout_im__DOUBLEMASK() {
68850    const UNINIT: ::std::mem::MaybeUninit<im__DOUBLEMASK> = ::std::mem::MaybeUninit::uninit();
68851    let ptr = UNINIT.as_ptr();
68852    assert_eq!(
68853        ::std::mem::size_of::<im__DOUBLEMASK>(),
68854        40usize,
68855        concat!("Size of: ", stringify!(im__DOUBLEMASK))
68856    );
68857    assert_eq!(
68858        ::std::mem::align_of::<im__DOUBLEMASK>(),
68859        8usize,
68860        concat!("Alignment of ", stringify!(im__DOUBLEMASK))
68861    );
68862    assert_eq!(
68863        unsafe { ::std::ptr::addr_of!((*ptr).xsize) as usize - ptr as usize },
68864        0usize,
68865        concat!(
68866            "Offset of field: ",
68867            stringify!(im__DOUBLEMASK),
68868            "::",
68869            stringify!(xsize)
68870        )
68871    );
68872    assert_eq!(
68873        unsafe { ::std::ptr::addr_of!((*ptr).ysize) as usize - ptr as usize },
68874        4usize,
68875        concat!(
68876            "Offset of field: ",
68877            stringify!(im__DOUBLEMASK),
68878            "::",
68879            stringify!(ysize)
68880        )
68881    );
68882    assert_eq!(
68883        unsafe { ::std::ptr::addr_of!((*ptr).scale) as usize - ptr as usize },
68884        8usize,
68885        concat!(
68886            "Offset of field: ",
68887            stringify!(im__DOUBLEMASK),
68888            "::",
68889            stringify!(scale)
68890        )
68891    );
68892    assert_eq!(
68893        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
68894        16usize,
68895        concat!(
68896            "Offset of field: ",
68897            stringify!(im__DOUBLEMASK),
68898            "::",
68899            stringify!(offset)
68900        )
68901    );
68902    assert_eq!(
68903        unsafe { ::std::ptr::addr_of!((*ptr).coeff) as usize - ptr as usize },
68904        24usize,
68905        concat!(
68906            "Offset of field: ",
68907            stringify!(im__DOUBLEMASK),
68908            "::",
68909            stringify!(coeff)
68910        )
68911    );
68912    assert_eq!(
68913        unsafe { ::std::ptr::addr_of!((*ptr).filename) as usize - ptr as usize },
68914        32usize,
68915        concat!(
68916            "Offset of field: ",
68917            stringify!(im__DOUBLEMASK),
68918            "::",
68919            stringify!(filename)
68920        )
68921    );
68922}
68923pub type DOUBLEMASK = im__DOUBLEMASK;
68924extern "C" {
68925    pub fn im_create_imask(
68926        filename: *const ::std::os::raw::c_char,
68927        xsize: ::std::os::raw::c_int,
68928        ysize: ::std::os::raw::c_int,
68929    ) -> *mut INTMASK;
68930}
68931extern "C" {
68932    pub fn im_create_imaskv(
68933        filename: *const ::std::os::raw::c_char,
68934        xsize: ::std::os::raw::c_int,
68935        ysize: ::std::os::raw::c_int,
68936        ...
68937    ) -> *mut INTMASK;
68938}
68939extern "C" {
68940    pub fn im_create_dmask(
68941        filename: *const ::std::os::raw::c_char,
68942        xsize: ::std::os::raw::c_int,
68943        ysize: ::std::os::raw::c_int,
68944    ) -> *mut DOUBLEMASK;
68945}
68946extern "C" {
68947    pub fn im_create_dmaskv(
68948        filename: *const ::std::os::raw::c_char,
68949        xsize: ::std::os::raw::c_int,
68950        ysize: ::std::os::raw::c_int,
68951        ...
68952    ) -> *mut DOUBLEMASK;
68953}
68954extern "C" {
68955    pub fn im_read_imask(filename: *const ::std::os::raw::c_char) -> *mut INTMASK;
68956}
68957extern "C" {
68958    pub fn im_read_dmask(filename: *const ::std::os::raw::c_char) -> *mut DOUBLEMASK;
68959}
68960extern "C" {
68961    pub fn im_print_imask(in_: *mut INTMASK);
68962}
68963extern "C" {
68964    pub fn im_print_dmask(in_: *mut DOUBLEMASK);
68965}
68966extern "C" {
68967    pub fn im_write_imask(in_: *mut INTMASK) -> ::std::os::raw::c_int;
68968}
68969extern "C" {
68970    pub fn im_write_dmask(in_: *mut DOUBLEMASK) -> ::std::os::raw::c_int;
68971}
68972extern "C" {
68973    pub fn im_write_imask_name(
68974        in_: *mut INTMASK,
68975        filename: *const ::std::os::raw::c_char,
68976    ) -> ::std::os::raw::c_int;
68977}
68978extern "C" {
68979    pub fn im_write_dmask_name(
68980        in_: *mut DOUBLEMASK,
68981        filename: *const ::std::os::raw::c_char,
68982    ) -> ::std::os::raw::c_int;
68983}
68984extern "C" {
68985    pub fn im_free_imask(in_: *mut INTMASK) -> ::std::os::raw::c_int;
68986}
68987extern "C" {
68988    pub fn im_free_dmask(in_: *mut DOUBLEMASK) -> ::std::os::raw::c_int;
68989}
68990extern "C" {
68991    pub fn im_log_imask(
68992        filename: *const ::std::os::raw::c_char,
68993        sigma: f64,
68994        min_ampl: f64,
68995    ) -> *mut INTMASK;
68996}
68997extern "C" {
68998    pub fn im_log_dmask(
68999        filename: *const ::std::os::raw::c_char,
69000        sigma: f64,
69001        min_ampl: f64,
69002    ) -> *mut DOUBLEMASK;
69003}
69004extern "C" {
69005    pub fn im_gauss_imask(
69006        filename: *const ::std::os::raw::c_char,
69007        sigma: f64,
69008        min_ampl: f64,
69009    ) -> *mut INTMASK;
69010}
69011extern "C" {
69012    pub fn im_gauss_imask_sep(
69013        filename: *const ::std::os::raw::c_char,
69014        sigma: f64,
69015        min_ampl: f64,
69016    ) -> *mut INTMASK;
69017}
69018extern "C" {
69019    pub fn im_gauss_dmask(
69020        filename: *const ::std::os::raw::c_char,
69021        sigma: f64,
69022        min_ampl: f64,
69023    ) -> *mut DOUBLEMASK;
69024}
69025extern "C" {
69026    pub fn im_gauss_dmask_sep(
69027        filename: *const ::std::os::raw::c_char,
69028        sigma: f64,
69029        min_ampl: f64,
69030    ) -> *mut DOUBLEMASK;
69031}
69032extern "C" {
69033    pub fn im_dup_imask(in_: *mut INTMASK, filename: *const ::std::os::raw::c_char)
69034        -> *mut INTMASK;
69035}
69036extern "C" {
69037    pub fn im_dup_dmask(
69038        in_: *mut DOUBLEMASK,
69039        filename: *const ::std::os::raw::c_char,
69040    ) -> *mut DOUBLEMASK;
69041}
69042extern "C" {
69043    pub fn im_scale_dmask(
69044        in_: *mut DOUBLEMASK,
69045        filename: *const ::std::os::raw::c_char,
69046    ) -> *mut INTMASK;
69047}
69048extern "C" {
69049    pub fn im_norm_dmask(mask: *mut DOUBLEMASK);
69050}
69051extern "C" {
69052    pub fn im_imask2dmask(
69053        in_: *mut INTMASK,
69054        filename: *const ::std::os::raw::c_char,
69055    ) -> *mut DOUBLEMASK;
69056}
69057extern "C" {
69058    pub fn im_dmask2imask(
69059        in_: *mut DOUBLEMASK,
69060        filename: *const ::std::os::raw::c_char,
69061    ) -> *mut INTMASK;
69062}
69063extern "C" {
69064    pub fn im_rotate_imask90(
69065        in_: *mut INTMASK,
69066        filename: *const ::std::os::raw::c_char,
69067    ) -> *mut INTMASK;
69068}
69069extern "C" {
69070    pub fn im_rotate_imask45(
69071        in_: *mut INTMASK,
69072        filename: *const ::std::os::raw::c_char,
69073    ) -> *mut INTMASK;
69074}
69075extern "C" {
69076    pub fn im_rotate_dmask90(
69077        in_: *mut DOUBLEMASK,
69078        filename: *const ::std::os::raw::c_char,
69079    ) -> *mut DOUBLEMASK;
69080}
69081extern "C" {
69082    pub fn im_rotate_dmask45(
69083        in_: *mut DOUBLEMASK,
69084        filename: *const ::std::os::raw::c_char,
69085    ) -> *mut DOUBLEMASK;
69086}
69087extern "C" {
69088    pub fn im_mattrn(
69089        in_: *mut DOUBLEMASK,
69090        filename: *const ::std::os::raw::c_char,
69091    ) -> *mut DOUBLEMASK;
69092}
69093extern "C" {
69094    pub fn im_matcat(
69095        top: *mut DOUBLEMASK,
69096        bottom: *mut DOUBLEMASK,
69097        filename: *const ::std::os::raw::c_char,
69098    ) -> *mut DOUBLEMASK;
69099}
69100extern "C" {
69101    pub fn im_matmul(
69102        in1: *mut DOUBLEMASK,
69103        in2: *mut DOUBLEMASK,
69104        filename: *const ::std::os::raw::c_char,
69105    ) -> *mut DOUBLEMASK;
69106}
69107extern "C" {
69108    pub fn im_lu_decomp(
69109        mat: *const DOUBLEMASK,
69110        filename: *const ::std::os::raw::c_char,
69111    ) -> *mut DOUBLEMASK;
69112}
69113extern "C" {
69114    pub fn im_lu_solve(lu: *const DOUBLEMASK, vec: *mut f64) -> ::std::os::raw::c_int;
69115}
69116extern "C" {
69117    pub fn im_matinv(
69118        mat: *const DOUBLEMASK,
69119        filename: *const ::std::os::raw::c_char,
69120    ) -> *mut DOUBLEMASK;
69121}
69122extern "C" {
69123    pub fn im_matinv_inplace(mat: *mut DOUBLEMASK) -> ::std::os::raw::c_int;
69124}
69125extern "C" {
69126    pub fn im_local_dmask(out: *mut _VipsImage, mask: *mut DOUBLEMASK) -> *mut DOUBLEMASK;
69127}
69128extern "C" {
69129    pub fn im_local_imask(out: *mut _VipsImage, mask: *mut INTMASK) -> *mut INTMASK;
69130}
69131pub const VipsRegionShrink_VIPS_REGION_SHRINK_MEAN: VipsRegionShrink = 0;
69132pub const VipsRegionShrink_VIPS_REGION_SHRINK_MEDIAN: VipsRegionShrink = 1;
69133pub const VipsRegionShrink_VIPS_REGION_SHRINK_MODE: VipsRegionShrink = 2;
69134pub const VipsRegionShrink_VIPS_REGION_SHRINK_MAX: VipsRegionShrink = 3;
69135pub const VipsRegionShrink_VIPS_REGION_SHRINK_MIN: VipsRegionShrink = 4;
69136pub const VipsRegionShrink_VIPS_REGION_SHRINK_NEAREST: VipsRegionShrink = 5;
69137pub const VipsRegionShrink_VIPS_REGION_SHRINK_LAST: VipsRegionShrink = 6;
69138#[doc = " VipsRegionShrink:\n @VIPS_REGION_SHRINK_MEAN: use the average\n @VIPS_REGION_SHRINK_MEDIAN: use the median\n @VIPS_REGION_SHRINK_MODE: use the mode\n @VIPS_REGION_SHRINK_MAX: use the maximum\n @VIPS_REGION_SHRINK_MIN: use the minimum\n @VIPS_REGION_SHRINK_NEAREST: use the top-left pixel\n\n How to calculate the output pixels when shrinking a 2x2 region."]
69139pub type VipsRegionShrink = ::std::os::raw::c_uint;
69140#[repr(C)]
69141#[derive(Debug, Copy, Clone, PartialEq, Eq)]
69142pub struct _VipsRegion {
69143    pub parent_object: VipsObject,
69144    pub im: *mut VipsImage,
69145    pub valid: VipsRect,
69146    pub type_: RegionType,
69147    pub data: *mut VipsPel,
69148    pub bpl: ::std::os::raw::c_int,
69149    pub seq: *mut ::std::os::raw::c_void,
69150    pub thread: *mut GThread,
69151    pub window: *mut VipsWindow,
69152    pub buffer: *mut VipsBuffer,
69153    pub invalid: gboolean,
69154}
69155#[test]
69156fn bindgen_test_layout__VipsRegion() {
69157    const UNINIT: ::std::mem::MaybeUninit<_VipsRegion> = ::std::mem::MaybeUninit::uninit();
69158    let ptr = UNINIT.as_ptr();
69159    assert_eq!(
69160        ::std::mem::size_of::<_VipsRegion>(),
69161        168usize,
69162        concat!("Size of: ", stringify!(_VipsRegion))
69163    );
69164    assert_eq!(
69165        ::std::mem::align_of::<_VipsRegion>(),
69166        8usize,
69167        concat!("Alignment of ", stringify!(_VipsRegion))
69168    );
69169    assert_eq!(
69170        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
69171        0usize,
69172        concat!(
69173            "Offset of field: ",
69174            stringify!(_VipsRegion),
69175            "::",
69176            stringify!(parent_object)
69177        )
69178    );
69179    assert_eq!(
69180        unsafe { ::std::ptr::addr_of!((*ptr).im) as usize - ptr as usize },
69181        80usize,
69182        concat!(
69183            "Offset of field: ",
69184            stringify!(_VipsRegion),
69185            "::",
69186            stringify!(im)
69187        )
69188    );
69189    assert_eq!(
69190        unsafe { ::std::ptr::addr_of!((*ptr).valid) as usize - ptr as usize },
69191        88usize,
69192        concat!(
69193            "Offset of field: ",
69194            stringify!(_VipsRegion),
69195            "::",
69196            stringify!(valid)
69197        )
69198    );
69199    assert_eq!(
69200        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
69201        104usize,
69202        concat!(
69203            "Offset of field: ",
69204            stringify!(_VipsRegion),
69205            "::",
69206            stringify!(type_)
69207        )
69208    );
69209    assert_eq!(
69210        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
69211        112usize,
69212        concat!(
69213            "Offset of field: ",
69214            stringify!(_VipsRegion),
69215            "::",
69216            stringify!(data)
69217        )
69218    );
69219    assert_eq!(
69220        unsafe { ::std::ptr::addr_of!((*ptr).bpl) as usize - ptr as usize },
69221        120usize,
69222        concat!(
69223            "Offset of field: ",
69224            stringify!(_VipsRegion),
69225            "::",
69226            stringify!(bpl)
69227        )
69228    );
69229    assert_eq!(
69230        unsafe { ::std::ptr::addr_of!((*ptr).seq) as usize - ptr as usize },
69231        128usize,
69232        concat!(
69233            "Offset of field: ",
69234            stringify!(_VipsRegion),
69235            "::",
69236            stringify!(seq)
69237        )
69238    );
69239    assert_eq!(
69240        unsafe { ::std::ptr::addr_of!((*ptr).thread) as usize - ptr as usize },
69241        136usize,
69242        concat!(
69243            "Offset of field: ",
69244            stringify!(_VipsRegion),
69245            "::",
69246            stringify!(thread)
69247        )
69248    );
69249    assert_eq!(
69250        unsafe { ::std::ptr::addr_of!((*ptr).window) as usize - ptr as usize },
69251        144usize,
69252        concat!(
69253            "Offset of field: ",
69254            stringify!(_VipsRegion),
69255            "::",
69256            stringify!(window)
69257        )
69258    );
69259    assert_eq!(
69260        unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
69261        152usize,
69262        concat!(
69263            "Offset of field: ",
69264            stringify!(_VipsRegion),
69265            "::",
69266            stringify!(buffer)
69267        )
69268    );
69269    assert_eq!(
69270        unsafe { ::std::ptr::addr_of!((*ptr).invalid) as usize - ptr as usize },
69271        160usize,
69272        concat!(
69273            "Offset of field: ",
69274            stringify!(_VipsRegion),
69275            "::",
69276            stringify!(invalid)
69277        )
69278    );
69279}
69280#[repr(C)]
69281#[derive(Debug, Copy, Clone, PartialEq, Eq)]
69282pub struct _VipsRegionClass {
69283    pub parent_class: VipsObjectClass,
69284}
69285#[test]
69286fn bindgen_test_layout__VipsRegionClass() {
69287    const UNINIT: ::std::mem::MaybeUninit<_VipsRegionClass> = ::std::mem::MaybeUninit::uninit();
69288    let ptr = UNINIT.as_ptr();
69289    assert_eq!(
69290        ::std::mem::size_of::<_VipsRegionClass>(),
69291        328usize,
69292        concat!("Size of: ", stringify!(_VipsRegionClass))
69293    );
69294    assert_eq!(
69295        ::std::mem::align_of::<_VipsRegionClass>(),
69296        8usize,
69297        concat!("Alignment of ", stringify!(_VipsRegionClass))
69298    );
69299    assert_eq!(
69300        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
69301        0usize,
69302        concat!(
69303            "Offset of field: ",
69304            stringify!(_VipsRegionClass),
69305            "::",
69306            stringify!(parent_class)
69307        )
69308    );
69309}
69310pub type VipsRegionClass = _VipsRegionClass;
69311extern "C" {
69312    pub fn vips_region_get_type() -> GType;
69313}
69314extern "C" {
69315    pub fn vips_region_new(image: *mut VipsImage) -> *mut VipsRegion;
69316}
69317extern "C" {
69318    pub fn vips_region_buffer(reg: *mut VipsRegion, r: *const VipsRect) -> ::std::os::raw::c_int;
69319}
69320extern "C" {
69321    pub fn vips_region_image(reg: *mut VipsRegion, r: *const VipsRect) -> ::std::os::raw::c_int;
69322}
69323extern "C" {
69324    pub fn vips_region_region(
69325        reg: *mut VipsRegion,
69326        dest: *mut VipsRegion,
69327        r: *const VipsRect,
69328        x: ::std::os::raw::c_int,
69329        y: ::std::os::raw::c_int,
69330    ) -> ::std::os::raw::c_int;
69331}
69332extern "C" {
69333    pub fn vips_region_equalsregion(
69334        reg1: *mut VipsRegion,
69335        reg2: *mut VipsRegion,
69336    ) -> ::std::os::raw::c_int;
69337}
69338extern "C" {
69339    pub fn vips_region_position(
69340        reg: *mut VipsRegion,
69341        x: ::std::os::raw::c_int,
69342        y: ::std::os::raw::c_int,
69343    ) -> ::std::os::raw::c_int;
69344}
69345extern "C" {
69346    pub fn vips_region_paint(
69347        reg: *mut VipsRegion,
69348        r: *const VipsRect,
69349        value: ::std::os::raw::c_int,
69350    );
69351}
69352extern "C" {
69353    pub fn vips_region_paint_pel(reg: *mut VipsRegion, r: *const VipsRect, ink: *const VipsPel);
69354}
69355extern "C" {
69356    pub fn vips_region_black(reg: *mut VipsRegion);
69357}
69358extern "C" {
69359    pub fn vips_region_copy(
69360        reg: *mut VipsRegion,
69361        dest: *mut VipsRegion,
69362        r: *const VipsRect,
69363        x: ::std::os::raw::c_int,
69364        y: ::std::os::raw::c_int,
69365    );
69366}
69367extern "C" {
69368    pub fn vips_region_shrink_method(
69369        from: *mut VipsRegion,
69370        to: *mut VipsRegion,
69371        target: *const VipsRect,
69372        method: VipsRegionShrink,
69373    ) -> ::std::os::raw::c_int;
69374}
69375extern "C" {
69376    pub fn vips_region_shrink(
69377        from: *mut VipsRegion,
69378        to: *mut VipsRegion,
69379        target: *const VipsRect,
69380    ) -> ::std::os::raw::c_int;
69381}
69382extern "C" {
69383    pub fn vips_region_prepare(reg: *mut VipsRegion, r: *const VipsRect) -> ::std::os::raw::c_int;
69384}
69385extern "C" {
69386    pub fn vips_region_prepare_to(
69387        reg: *mut VipsRegion,
69388        dest: *mut VipsRegion,
69389        r: *const VipsRect,
69390        x: ::std::os::raw::c_int,
69391        y: ::std::os::raw::c_int,
69392    ) -> ::std::os::raw::c_int;
69393}
69394extern "C" {
69395    pub fn vips_region_fetch(
69396        region: *mut VipsRegion,
69397        left: ::std::os::raw::c_int,
69398        top: ::std::os::raw::c_int,
69399        width: ::std::os::raw::c_int,
69400        height: ::std::os::raw::c_int,
69401        len: *mut size_t,
69402    ) -> *mut VipsPel;
69403}
69404extern "C" {
69405    pub fn vips_region_width(region: *mut VipsRegion) -> ::std::os::raw::c_int;
69406}
69407extern "C" {
69408    pub fn vips_region_height(region: *mut VipsRegion) -> ::std::os::raw::c_int;
69409}
69410extern "C" {
69411    pub fn vips_region_invalidate(reg: *mut VipsRegion);
69412}
69413pub const VipsDemandStyle_VIPS_DEMAND_STYLE_ERROR: VipsDemandStyle = -1;
69414pub const VipsDemandStyle_VIPS_DEMAND_STYLE_SMALLTILE: VipsDemandStyle = 0;
69415pub const VipsDemandStyle_VIPS_DEMAND_STYLE_FATSTRIP: VipsDemandStyle = 1;
69416pub const VipsDemandStyle_VIPS_DEMAND_STYLE_THINSTRIP: VipsDemandStyle = 2;
69417pub const VipsDemandStyle_VIPS_DEMAND_STYLE_ANY: VipsDemandStyle = 3;
69418pub type VipsDemandStyle = ::std::os::raw::c_int;
69419pub const VipsImageType_VIPS_IMAGE_ERROR: VipsImageType = -1;
69420pub const VipsImageType_VIPS_IMAGE_NONE: VipsImageType = 0;
69421pub const VipsImageType_VIPS_IMAGE_SETBUF: VipsImageType = 1;
69422pub const VipsImageType_VIPS_IMAGE_SETBUF_FOREIGN: VipsImageType = 2;
69423pub const VipsImageType_VIPS_IMAGE_OPENIN: VipsImageType = 3;
69424pub const VipsImageType_VIPS_IMAGE_MMAPIN: VipsImageType = 4;
69425pub const VipsImageType_VIPS_IMAGE_MMAPINRW: VipsImageType = 5;
69426pub const VipsImageType_VIPS_IMAGE_OPENOUT: VipsImageType = 6;
69427pub const VipsImageType_VIPS_IMAGE_PARTIAL: VipsImageType = 7;
69428pub type VipsImageType = ::std::os::raw::c_int;
69429pub const VipsInterpretation_VIPS_INTERPRETATION_ERROR: VipsInterpretation = -1;
69430pub const VipsInterpretation_VIPS_INTERPRETATION_MULTIBAND: VipsInterpretation = 0;
69431pub const VipsInterpretation_VIPS_INTERPRETATION_B_W: VipsInterpretation = 1;
69432pub const VipsInterpretation_VIPS_INTERPRETATION_HISTOGRAM: VipsInterpretation = 10;
69433pub const VipsInterpretation_VIPS_INTERPRETATION_XYZ: VipsInterpretation = 12;
69434pub const VipsInterpretation_VIPS_INTERPRETATION_LAB: VipsInterpretation = 13;
69435pub const VipsInterpretation_VIPS_INTERPRETATION_CMYK: VipsInterpretation = 15;
69436pub const VipsInterpretation_VIPS_INTERPRETATION_LABQ: VipsInterpretation = 16;
69437pub const VipsInterpretation_VIPS_INTERPRETATION_RGB: VipsInterpretation = 17;
69438pub const VipsInterpretation_VIPS_INTERPRETATION_CMC: VipsInterpretation = 18;
69439pub const VipsInterpretation_VIPS_INTERPRETATION_LCH: VipsInterpretation = 19;
69440pub const VipsInterpretation_VIPS_INTERPRETATION_LABS: VipsInterpretation = 21;
69441pub const VipsInterpretation_VIPS_INTERPRETATION_sRGB: VipsInterpretation = 22;
69442pub const VipsInterpretation_VIPS_INTERPRETATION_YXY: VipsInterpretation = 23;
69443pub const VipsInterpretation_VIPS_INTERPRETATION_FOURIER: VipsInterpretation = 24;
69444pub const VipsInterpretation_VIPS_INTERPRETATION_RGB16: VipsInterpretation = 25;
69445pub const VipsInterpretation_VIPS_INTERPRETATION_GREY16: VipsInterpretation = 26;
69446pub const VipsInterpretation_VIPS_INTERPRETATION_MATRIX: VipsInterpretation = 27;
69447pub const VipsInterpretation_VIPS_INTERPRETATION_scRGB: VipsInterpretation = 28;
69448pub const VipsInterpretation_VIPS_INTERPRETATION_HSV: VipsInterpretation = 29;
69449pub const VipsInterpretation_VIPS_INTERPRETATION_LAST: VipsInterpretation = 30;
69450pub type VipsInterpretation = ::std::os::raw::c_int;
69451pub const VipsBandFormat_VIPS_FORMAT_NOTSET: VipsBandFormat = -1;
69452pub const VipsBandFormat_VIPS_FORMAT_UCHAR: VipsBandFormat = 0;
69453pub const VipsBandFormat_VIPS_FORMAT_CHAR: VipsBandFormat = 1;
69454pub const VipsBandFormat_VIPS_FORMAT_USHORT: VipsBandFormat = 2;
69455pub const VipsBandFormat_VIPS_FORMAT_SHORT: VipsBandFormat = 3;
69456pub const VipsBandFormat_VIPS_FORMAT_UINT: VipsBandFormat = 4;
69457pub const VipsBandFormat_VIPS_FORMAT_INT: VipsBandFormat = 5;
69458pub const VipsBandFormat_VIPS_FORMAT_FLOAT: VipsBandFormat = 6;
69459pub const VipsBandFormat_VIPS_FORMAT_COMPLEX: VipsBandFormat = 7;
69460pub const VipsBandFormat_VIPS_FORMAT_DOUBLE: VipsBandFormat = 8;
69461pub const VipsBandFormat_VIPS_FORMAT_DPCOMPLEX: VipsBandFormat = 9;
69462pub const VipsBandFormat_VIPS_FORMAT_LAST: VipsBandFormat = 10;
69463pub type VipsBandFormat = ::std::os::raw::c_int;
69464pub const VipsCoding_VIPS_CODING_ERROR: VipsCoding = -1;
69465pub const VipsCoding_VIPS_CODING_NONE: VipsCoding = 0;
69466pub const VipsCoding_VIPS_CODING_LABQ: VipsCoding = 2;
69467pub const VipsCoding_VIPS_CODING_RAD: VipsCoding = 6;
69468pub const VipsCoding_VIPS_CODING_LAST: VipsCoding = 7;
69469pub type VipsCoding = ::std::os::raw::c_int;
69470pub const VipsAccess_VIPS_ACCESS_RANDOM: VipsAccess = 0;
69471pub const VipsAccess_VIPS_ACCESS_SEQUENTIAL: VipsAccess = 1;
69472pub const VipsAccess_VIPS_ACCESS_SEQUENTIAL_UNBUFFERED: VipsAccess = 2;
69473pub const VipsAccess_VIPS_ACCESS_LAST: VipsAccess = 3;
69474pub type VipsAccess = ::std::os::raw::c_uint;
69475pub type VipsStartFn = ::std::option::Option<
69476    unsafe extern "C" fn(
69477        out: *mut VipsImage,
69478        a: *mut ::std::os::raw::c_void,
69479        b: *mut ::std::os::raw::c_void,
69480    ) -> *mut ::std::os::raw::c_void,
69481>;
69482pub type VipsGenerateFn = ::std::option::Option<
69483    unsafe extern "C" fn(
69484        out: *mut VipsRegion,
69485        seq: *mut ::std::os::raw::c_void,
69486        a: *mut ::std::os::raw::c_void,
69487        b: *mut ::std::os::raw::c_void,
69488        stop: *mut gboolean,
69489    ) -> ::std::os::raw::c_int,
69490>;
69491pub type VipsStopFn = ::std::option::Option<
69492    unsafe extern "C" fn(
69493        seq: *mut ::std::os::raw::c_void,
69494        a: *mut ::std::os::raw::c_void,
69495        b: *mut ::std::os::raw::c_void,
69496    ) -> ::std::os::raw::c_int,
69497>;
69498#[repr(C)]
69499#[derive(Debug, Copy, Clone, PartialEq, Eq)]
69500pub struct _VipsProgress {
69501    pub im: *mut VipsImage,
69502    pub run: ::std::os::raw::c_int,
69503    pub eta: ::std::os::raw::c_int,
69504    pub tpels: gint64,
69505    pub npels: gint64,
69506    pub percent: ::std::os::raw::c_int,
69507    pub start: *mut GTimer,
69508}
69509#[test]
69510fn bindgen_test_layout__VipsProgress() {
69511    const UNINIT: ::std::mem::MaybeUninit<_VipsProgress> = ::std::mem::MaybeUninit::uninit();
69512    let ptr = UNINIT.as_ptr();
69513    assert_eq!(
69514        ::std::mem::size_of::<_VipsProgress>(),
69515        48usize,
69516        concat!("Size of: ", stringify!(_VipsProgress))
69517    );
69518    assert_eq!(
69519        ::std::mem::align_of::<_VipsProgress>(),
69520        8usize,
69521        concat!("Alignment of ", stringify!(_VipsProgress))
69522    );
69523    assert_eq!(
69524        unsafe { ::std::ptr::addr_of!((*ptr).im) as usize - ptr as usize },
69525        0usize,
69526        concat!(
69527            "Offset of field: ",
69528            stringify!(_VipsProgress),
69529            "::",
69530            stringify!(im)
69531        )
69532    );
69533    assert_eq!(
69534        unsafe { ::std::ptr::addr_of!((*ptr).run) as usize - ptr as usize },
69535        8usize,
69536        concat!(
69537            "Offset of field: ",
69538            stringify!(_VipsProgress),
69539            "::",
69540            stringify!(run)
69541        )
69542    );
69543    assert_eq!(
69544        unsafe { ::std::ptr::addr_of!((*ptr).eta) as usize - ptr as usize },
69545        12usize,
69546        concat!(
69547            "Offset of field: ",
69548            stringify!(_VipsProgress),
69549            "::",
69550            stringify!(eta)
69551        )
69552    );
69553    assert_eq!(
69554        unsafe { ::std::ptr::addr_of!((*ptr).tpels) as usize - ptr as usize },
69555        16usize,
69556        concat!(
69557            "Offset of field: ",
69558            stringify!(_VipsProgress),
69559            "::",
69560            stringify!(tpels)
69561        )
69562    );
69563    assert_eq!(
69564        unsafe { ::std::ptr::addr_of!((*ptr).npels) as usize - ptr as usize },
69565        24usize,
69566        concat!(
69567            "Offset of field: ",
69568            stringify!(_VipsProgress),
69569            "::",
69570            stringify!(npels)
69571        )
69572    );
69573    assert_eq!(
69574        unsafe { ::std::ptr::addr_of!((*ptr).percent) as usize - ptr as usize },
69575        32usize,
69576        concat!(
69577            "Offset of field: ",
69578            stringify!(_VipsProgress),
69579            "::",
69580            stringify!(percent)
69581        )
69582    );
69583    assert_eq!(
69584        unsafe { ::std::ptr::addr_of!((*ptr).start) as usize - ptr as usize },
69585        40usize,
69586        concat!(
69587            "Offset of field: ",
69588            stringify!(_VipsProgress),
69589            "::",
69590            stringify!(start)
69591        )
69592    );
69593}
69594pub type VipsProgress = _VipsProgress;
69595#[repr(C)]
69596#[derive(Debug, Copy, Clone, PartialEq)]
69597pub struct _VipsImage {
69598    pub parent_instance: VipsObject,
69599    pub Xsize: ::std::os::raw::c_int,
69600    pub Ysize: ::std::os::raw::c_int,
69601    pub Bands: ::std::os::raw::c_int,
69602    pub BandFmt: VipsBandFormat,
69603    pub Coding: VipsCoding,
69604    pub Type: VipsInterpretation,
69605    pub Xres: f64,
69606    pub Yres: f64,
69607    pub Xoffset: ::std::os::raw::c_int,
69608    pub Yoffset: ::std::os::raw::c_int,
69609    pub Length: ::std::os::raw::c_int,
69610    pub Compression: ::std::os::raw::c_short,
69611    pub Level: ::std::os::raw::c_short,
69612    pub Bbits: ::std::os::raw::c_int,
69613    pub time: *mut VipsProgress,
69614    pub Hist: *mut ::std::os::raw::c_char,
69615    pub filename: *mut ::std::os::raw::c_char,
69616    pub data: *mut VipsPel,
69617    pub kill: ::std::os::raw::c_int,
69618    pub Xres_float: f32,
69619    pub Yres_float: f32,
69620    pub mode: *mut ::std::os::raw::c_char,
69621    pub dtype: VipsImageType,
69622    pub fd: ::std::os::raw::c_int,
69623    pub baseaddr: *mut ::std::os::raw::c_void,
69624    pub length: size_t,
69625    pub magic: guint32,
69626    pub start_fn: VipsStartFn,
69627    pub generate_fn: VipsGenerateFn,
69628    pub stop_fn: VipsStopFn,
69629    pub client1: *mut ::std::os::raw::c_void,
69630    pub client2: *mut ::std::os::raw::c_void,
69631    pub sslock: *mut GMutex,
69632    pub regions: *mut GSList,
69633    pub dhint: VipsDemandStyle,
69634    pub meta: *mut GHashTable,
69635    pub meta_traverse: *mut GSList,
69636    pub sizeof_header: gint64,
69637    pub windows: *mut GSList,
69638    pub upstream: *mut GSList,
69639    pub downstream: *mut GSList,
69640    pub serial: ::std::os::raw::c_int,
69641    pub history_list: *mut GSList,
69642    pub progress_signal: *mut VipsImage,
69643    pub file_length: gint64,
69644    pub hint_set: gboolean,
69645    pub delete_on_close: gboolean,
69646    pub delete_on_close_filename: *mut ::std::os::raw::c_char,
69647}
69648#[test]
69649fn bindgen_test_layout__VipsImage() {
69650    const UNINIT: ::std::mem::MaybeUninit<_VipsImage> = ::std::mem::MaybeUninit::uninit();
69651    let ptr = UNINIT.as_ptr();
69652    assert_eq!(
69653        ::std::mem::size_of::<_VipsImage>(),
69654        392usize,
69655        concat!("Size of: ", stringify!(_VipsImage))
69656    );
69657    assert_eq!(
69658        ::std::mem::align_of::<_VipsImage>(),
69659        8usize,
69660        concat!("Alignment of ", stringify!(_VipsImage))
69661    );
69662    assert_eq!(
69663        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
69664        0usize,
69665        concat!(
69666            "Offset of field: ",
69667            stringify!(_VipsImage),
69668            "::",
69669            stringify!(parent_instance)
69670        )
69671    );
69672    assert_eq!(
69673        unsafe { ::std::ptr::addr_of!((*ptr).Xsize) as usize - ptr as usize },
69674        80usize,
69675        concat!(
69676            "Offset of field: ",
69677            stringify!(_VipsImage),
69678            "::",
69679            stringify!(Xsize)
69680        )
69681    );
69682    assert_eq!(
69683        unsafe { ::std::ptr::addr_of!((*ptr).Ysize) as usize - ptr as usize },
69684        84usize,
69685        concat!(
69686            "Offset of field: ",
69687            stringify!(_VipsImage),
69688            "::",
69689            stringify!(Ysize)
69690        )
69691    );
69692    assert_eq!(
69693        unsafe { ::std::ptr::addr_of!((*ptr).Bands) as usize - ptr as usize },
69694        88usize,
69695        concat!(
69696            "Offset of field: ",
69697            stringify!(_VipsImage),
69698            "::",
69699            stringify!(Bands)
69700        )
69701    );
69702    assert_eq!(
69703        unsafe { ::std::ptr::addr_of!((*ptr).BandFmt) as usize - ptr as usize },
69704        92usize,
69705        concat!(
69706            "Offset of field: ",
69707            stringify!(_VipsImage),
69708            "::",
69709            stringify!(BandFmt)
69710        )
69711    );
69712    assert_eq!(
69713        unsafe { ::std::ptr::addr_of!((*ptr).Coding) as usize - ptr as usize },
69714        96usize,
69715        concat!(
69716            "Offset of field: ",
69717            stringify!(_VipsImage),
69718            "::",
69719            stringify!(Coding)
69720        )
69721    );
69722    assert_eq!(
69723        unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize },
69724        100usize,
69725        concat!(
69726            "Offset of field: ",
69727            stringify!(_VipsImage),
69728            "::",
69729            stringify!(Type)
69730        )
69731    );
69732    assert_eq!(
69733        unsafe { ::std::ptr::addr_of!((*ptr).Xres) as usize - ptr as usize },
69734        104usize,
69735        concat!(
69736            "Offset of field: ",
69737            stringify!(_VipsImage),
69738            "::",
69739            stringify!(Xres)
69740        )
69741    );
69742    assert_eq!(
69743        unsafe { ::std::ptr::addr_of!((*ptr).Yres) as usize - ptr as usize },
69744        112usize,
69745        concat!(
69746            "Offset of field: ",
69747            stringify!(_VipsImage),
69748            "::",
69749            stringify!(Yres)
69750        )
69751    );
69752    assert_eq!(
69753        unsafe { ::std::ptr::addr_of!((*ptr).Xoffset) as usize - ptr as usize },
69754        120usize,
69755        concat!(
69756            "Offset of field: ",
69757            stringify!(_VipsImage),
69758            "::",
69759            stringify!(Xoffset)
69760        )
69761    );
69762    assert_eq!(
69763        unsafe { ::std::ptr::addr_of!((*ptr).Yoffset) as usize - ptr as usize },
69764        124usize,
69765        concat!(
69766            "Offset of field: ",
69767            stringify!(_VipsImage),
69768            "::",
69769            stringify!(Yoffset)
69770        )
69771    );
69772    assert_eq!(
69773        unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize },
69774        128usize,
69775        concat!(
69776            "Offset of field: ",
69777            stringify!(_VipsImage),
69778            "::",
69779            stringify!(Length)
69780        )
69781    );
69782    assert_eq!(
69783        unsafe { ::std::ptr::addr_of!((*ptr).Compression) as usize - ptr as usize },
69784        132usize,
69785        concat!(
69786            "Offset of field: ",
69787            stringify!(_VipsImage),
69788            "::",
69789            stringify!(Compression)
69790        )
69791    );
69792    assert_eq!(
69793        unsafe { ::std::ptr::addr_of!((*ptr).Level) as usize - ptr as usize },
69794        134usize,
69795        concat!(
69796            "Offset of field: ",
69797            stringify!(_VipsImage),
69798            "::",
69799            stringify!(Level)
69800        )
69801    );
69802    assert_eq!(
69803        unsafe { ::std::ptr::addr_of!((*ptr).Bbits) as usize - ptr as usize },
69804        136usize,
69805        concat!(
69806            "Offset of field: ",
69807            stringify!(_VipsImage),
69808            "::",
69809            stringify!(Bbits)
69810        )
69811    );
69812    assert_eq!(
69813        unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize },
69814        144usize,
69815        concat!(
69816            "Offset of field: ",
69817            stringify!(_VipsImage),
69818            "::",
69819            stringify!(time)
69820        )
69821    );
69822    assert_eq!(
69823        unsafe { ::std::ptr::addr_of!((*ptr).Hist) as usize - ptr as usize },
69824        152usize,
69825        concat!(
69826            "Offset of field: ",
69827            stringify!(_VipsImage),
69828            "::",
69829            stringify!(Hist)
69830        )
69831    );
69832    assert_eq!(
69833        unsafe { ::std::ptr::addr_of!((*ptr).filename) as usize - ptr as usize },
69834        160usize,
69835        concat!(
69836            "Offset of field: ",
69837            stringify!(_VipsImage),
69838            "::",
69839            stringify!(filename)
69840        )
69841    );
69842    assert_eq!(
69843        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
69844        168usize,
69845        concat!(
69846            "Offset of field: ",
69847            stringify!(_VipsImage),
69848            "::",
69849            stringify!(data)
69850        )
69851    );
69852    assert_eq!(
69853        unsafe { ::std::ptr::addr_of!((*ptr).kill) as usize - ptr as usize },
69854        176usize,
69855        concat!(
69856            "Offset of field: ",
69857            stringify!(_VipsImage),
69858            "::",
69859            stringify!(kill)
69860        )
69861    );
69862    assert_eq!(
69863        unsafe { ::std::ptr::addr_of!((*ptr).Xres_float) as usize - ptr as usize },
69864        180usize,
69865        concat!(
69866            "Offset of field: ",
69867            stringify!(_VipsImage),
69868            "::",
69869            stringify!(Xres_float)
69870        )
69871    );
69872    assert_eq!(
69873        unsafe { ::std::ptr::addr_of!((*ptr).Yres_float) as usize - ptr as usize },
69874        184usize,
69875        concat!(
69876            "Offset of field: ",
69877            stringify!(_VipsImage),
69878            "::",
69879            stringify!(Yres_float)
69880        )
69881    );
69882    assert_eq!(
69883        unsafe { ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize },
69884        192usize,
69885        concat!(
69886            "Offset of field: ",
69887            stringify!(_VipsImage),
69888            "::",
69889            stringify!(mode)
69890        )
69891    );
69892    assert_eq!(
69893        unsafe { ::std::ptr::addr_of!((*ptr).dtype) as usize - ptr as usize },
69894        200usize,
69895        concat!(
69896            "Offset of field: ",
69897            stringify!(_VipsImage),
69898            "::",
69899            stringify!(dtype)
69900        )
69901    );
69902    assert_eq!(
69903        unsafe { ::std::ptr::addr_of!((*ptr).fd) as usize - ptr as usize },
69904        204usize,
69905        concat!(
69906            "Offset of field: ",
69907            stringify!(_VipsImage),
69908            "::",
69909            stringify!(fd)
69910        )
69911    );
69912    assert_eq!(
69913        unsafe { ::std::ptr::addr_of!((*ptr).baseaddr) as usize - ptr as usize },
69914        208usize,
69915        concat!(
69916            "Offset of field: ",
69917            stringify!(_VipsImage),
69918            "::",
69919            stringify!(baseaddr)
69920        )
69921    );
69922    assert_eq!(
69923        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
69924        216usize,
69925        concat!(
69926            "Offset of field: ",
69927            stringify!(_VipsImage),
69928            "::",
69929            stringify!(length)
69930        )
69931    );
69932    assert_eq!(
69933        unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize },
69934        224usize,
69935        concat!(
69936            "Offset of field: ",
69937            stringify!(_VipsImage),
69938            "::",
69939            stringify!(magic)
69940        )
69941    );
69942    assert_eq!(
69943        unsafe { ::std::ptr::addr_of!((*ptr).start_fn) as usize - ptr as usize },
69944        232usize,
69945        concat!(
69946            "Offset of field: ",
69947            stringify!(_VipsImage),
69948            "::",
69949            stringify!(start_fn)
69950        )
69951    );
69952    assert_eq!(
69953        unsafe { ::std::ptr::addr_of!((*ptr).generate_fn) as usize - ptr as usize },
69954        240usize,
69955        concat!(
69956            "Offset of field: ",
69957            stringify!(_VipsImage),
69958            "::",
69959            stringify!(generate_fn)
69960        )
69961    );
69962    assert_eq!(
69963        unsafe { ::std::ptr::addr_of!((*ptr).stop_fn) as usize - ptr as usize },
69964        248usize,
69965        concat!(
69966            "Offset of field: ",
69967            stringify!(_VipsImage),
69968            "::",
69969            stringify!(stop_fn)
69970        )
69971    );
69972    assert_eq!(
69973        unsafe { ::std::ptr::addr_of!((*ptr).client1) as usize - ptr as usize },
69974        256usize,
69975        concat!(
69976            "Offset of field: ",
69977            stringify!(_VipsImage),
69978            "::",
69979            stringify!(client1)
69980        )
69981    );
69982    assert_eq!(
69983        unsafe { ::std::ptr::addr_of!((*ptr).client2) as usize - ptr as usize },
69984        264usize,
69985        concat!(
69986            "Offset of field: ",
69987            stringify!(_VipsImage),
69988            "::",
69989            stringify!(client2)
69990        )
69991    );
69992    assert_eq!(
69993        unsafe { ::std::ptr::addr_of!((*ptr).sslock) as usize - ptr as usize },
69994        272usize,
69995        concat!(
69996            "Offset of field: ",
69997            stringify!(_VipsImage),
69998            "::",
69999            stringify!(sslock)
70000        )
70001    );
70002    assert_eq!(
70003        unsafe { ::std::ptr::addr_of!((*ptr).regions) as usize - ptr as usize },
70004        280usize,
70005        concat!(
70006            "Offset of field: ",
70007            stringify!(_VipsImage),
70008            "::",
70009            stringify!(regions)
70010        )
70011    );
70012    assert_eq!(
70013        unsafe { ::std::ptr::addr_of!((*ptr).dhint) as usize - ptr as usize },
70014        288usize,
70015        concat!(
70016            "Offset of field: ",
70017            stringify!(_VipsImage),
70018            "::",
70019            stringify!(dhint)
70020        )
70021    );
70022    assert_eq!(
70023        unsafe { ::std::ptr::addr_of!((*ptr).meta) as usize - ptr as usize },
70024        296usize,
70025        concat!(
70026            "Offset of field: ",
70027            stringify!(_VipsImage),
70028            "::",
70029            stringify!(meta)
70030        )
70031    );
70032    assert_eq!(
70033        unsafe { ::std::ptr::addr_of!((*ptr).meta_traverse) as usize - ptr as usize },
70034        304usize,
70035        concat!(
70036            "Offset of field: ",
70037            stringify!(_VipsImage),
70038            "::",
70039            stringify!(meta_traverse)
70040        )
70041    );
70042    assert_eq!(
70043        unsafe { ::std::ptr::addr_of!((*ptr).sizeof_header) as usize - ptr as usize },
70044        312usize,
70045        concat!(
70046            "Offset of field: ",
70047            stringify!(_VipsImage),
70048            "::",
70049            stringify!(sizeof_header)
70050        )
70051    );
70052    assert_eq!(
70053        unsafe { ::std::ptr::addr_of!((*ptr).windows) as usize - ptr as usize },
70054        320usize,
70055        concat!(
70056            "Offset of field: ",
70057            stringify!(_VipsImage),
70058            "::",
70059            stringify!(windows)
70060        )
70061    );
70062    assert_eq!(
70063        unsafe { ::std::ptr::addr_of!((*ptr).upstream) as usize - ptr as usize },
70064        328usize,
70065        concat!(
70066            "Offset of field: ",
70067            stringify!(_VipsImage),
70068            "::",
70069            stringify!(upstream)
70070        )
70071    );
70072    assert_eq!(
70073        unsafe { ::std::ptr::addr_of!((*ptr).downstream) as usize - ptr as usize },
70074        336usize,
70075        concat!(
70076            "Offset of field: ",
70077            stringify!(_VipsImage),
70078            "::",
70079            stringify!(downstream)
70080        )
70081    );
70082    assert_eq!(
70083        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
70084        344usize,
70085        concat!(
70086            "Offset of field: ",
70087            stringify!(_VipsImage),
70088            "::",
70089            stringify!(serial)
70090        )
70091    );
70092    assert_eq!(
70093        unsafe { ::std::ptr::addr_of!((*ptr).history_list) as usize - ptr as usize },
70094        352usize,
70095        concat!(
70096            "Offset of field: ",
70097            stringify!(_VipsImage),
70098            "::",
70099            stringify!(history_list)
70100        )
70101    );
70102    assert_eq!(
70103        unsafe { ::std::ptr::addr_of!((*ptr).progress_signal) as usize - ptr as usize },
70104        360usize,
70105        concat!(
70106            "Offset of field: ",
70107            stringify!(_VipsImage),
70108            "::",
70109            stringify!(progress_signal)
70110        )
70111    );
70112    assert_eq!(
70113        unsafe { ::std::ptr::addr_of!((*ptr).file_length) as usize - ptr as usize },
70114        368usize,
70115        concat!(
70116            "Offset of field: ",
70117            stringify!(_VipsImage),
70118            "::",
70119            stringify!(file_length)
70120        )
70121    );
70122    assert_eq!(
70123        unsafe { ::std::ptr::addr_of!((*ptr).hint_set) as usize - ptr as usize },
70124        376usize,
70125        concat!(
70126            "Offset of field: ",
70127            stringify!(_VipsImage),
70128            "::",
70129            stringify!(hint_set)
70130        )
70131    );
70132    assert_eq!(
70133        unsafe { ::std::ptr::addr_of!((*ptr).delete_on_close) as usize - ptr as usize },
70134        380usize,
70135        concat!(
70136            "Offset of field: ",
70137            stringify!(_VipsImage),
70138            "::",
70139            stringify!(delete_on_close)
70140        )
70141    );
70142    assert_eq!(
70143        unsafe { ::std::ptr::addr_of!((*ptr).delete_on_close_filename) as usize - ptr as usize },
70144        384usize,
70145        concat!(
70146            "Offset of field: ",
70147            stringify!(_VipsImage),
70148            "::",
70149            stringify!(delete_on_close_filename)
70150        )
70151    );
70152}
70153#[repr(C)]
70154#[derive(Debug, Copy, Clone, PartialEq, Eq)]
70155pub struct _VipsImageClass {
70156    pub parent_class: VipsObjectClass,
70157    pub preeval: ::std::option::Option<
70158        unsafe extern "C" fn(
70159            image: *mut VipsImage,
70160            progress: *mut VipsProgress,
70161            data: *mut ::std::os::raw::c_void,
70162        ),
70163    >,
70164    pub eval: ::std::option::Option<
70165        unsafe extern "C" fn(
70166            image: *mut VipsImage,
70167            progress: *mut VipsProgress,
70168            data: *mut ::std::os::raw::c_void,
70169        ),
70170    >,
70171    pub posteval: ::std::option::Option<
70172        unsafe extern "C" fn(
70173            image: *mut VipsImage,
70174            progress: *mut VipsProgress,
70175            data: *mut ::std::os::raw::c_void,
70176        ),
70177    >,
70178    pub written: ::std::option::Option<
70179        unsafe extern "C" fn(
70180            image: *mut VipsImage,
70181            result: *mut ::std::os::raw::c_int,
70182            data: *mut ::std::os::raw::c_void,
70183        ),
70184    >,
70185    pub invalidate: ::std::option::Option<
70186        unsafe extern "C" fn(image: *mut VipsImage, data: *mut ::std::os::raw::c_void),
70187    >,
70188    pub minimise: ::std::option::Option<
70189        unsafe extern "C" fn(image: *mut VipsImage, data: *mut ::std::os::raw::c_void),
70190    >,
70191}
70192#[test]
70193fn bindgen_test_layout__VipsImageClass() {
70194    const UNINIT: ::std::mem::MaybeUninit<_VipsImageClass> = ::std::mem::MaybeUninit::uninit();
70195    let ptr = UNINIT.as_ptr();
70196    assert_eq!(
70197        ::std::mem::size_of::<_VipsImageClass>(),
70198        376usize,
70199        concat!("Size of: ", stringify!(_VipsImageClass))
70200    );
70201    assert_eq!(
70202        ::std::mem::align_of::<_VipsImageClass>(),
70203        8usize,
70204        concat!("Alignment of ", stringify!(_VipsImageClass))
70205    );
70206    assert_eq!(
70207        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
70208        0usize,
70209        concat!(
70210            "Offset of field: ",
70211            stringify!(_VipsImageClass),
70212            "::",
70213            stringify!(parent_class)
70214        )
70215    );
70216    assert_eq!(
70217        unsafe { ::std::ptr::addr_of!((*ptr).preeval) as usize - ptr as usize },
70218        328usize,
70219        concat!(
70220            "Offset of field: ",
70221            stringify!(_VipsImageClass),
70222            "::",
70223            stringify!(preeval)
70224        )
70225    );
70226    assert_eq!(
70227        unsafe { ::std::ptr::addr_of!((*ptr).eval) as usize - ptr as usize },
70228        336usize,
70229        concat!(
70230            "Offset of field: ",
70231            stringify!(_VipsImageClass),
70232            "::",
70233            stringify!(eval)
70234        )
70235    );
70236    assert_eq!(
70237        unsafe { ::std::ptr::addr_of!((*ptr).posteval) as usize - ptr as usize },
70238        344usize,
70239        concat!(
70240            "Offset of field: ",
70241            stringify!(_VipsImageClass),
70242            "::",
70243            stringify!(posteval)
70244        )
70245    );
70246    assert_eq!(
70247        unsafe { ::std::ptr::addr_of!((*ptr).written) as usize - ptr as usize },
70248        352usize,
70249        concat!(
70250            "Offset of field: ",
70251            stringify!(_VipsImageClass),
70252            "::",
70253            stringify!(written)
70254        )
70255    );
70256    assert_eq!(
70257        unsafe { ::std::ptr::addr_of!((*ptr).invalidate) as usize - ptr as usize },
70258        360usize,
70259        concat!(
70260            "Offset of field: ",
70261            stringify!(_VipsImageClass),
70262            "::",
70263            stringify!(invalidate)
70264        )
70265    );
70266    assert_eq!(
70267        unsafe { ::std::ptr::addr_of!((*ptr).minimise) as usize - ptr as usize },
70268        368usize,
70269        concat!(
70270            "Offset of field: ",
70271            stringify!(_VipsImageClass),
70272            "::",
70273            stringify!(minimise)
70274        )
70275    );
70276}
70277pub type VipsImageClass = _VipsImageClass;
70278extern "C" {
70279    pub fn vips_image_get_type() -> GType;
70280}
70281extern "C" {
70282    pub fn vips_progress_set(progress: gboolean);
70283}
70284extern "C" {
70285    pub fn vips_image_invalidate_all(image: *mut VipsImage);
70286}
70287extern "C" {
70288    pub fn vips_image_minimise_all(image: *mut VipsImage);
70289}
70290extern "C" {
70291    pub fn vips_image_is_sequential(image: *mut VipsImage) -> gboolean;
70292}
70293extern "C" {
70294    pub fn vips_image_set_progress(image: *mut VipsImage, progress: gboolean);
70295}
70296extern "C" {
70297    pub fn vips_image_iskilled(image: *mut VipsImage) -> gboolean;
70298}
70299extern "C" {
70300    pub fn vips_image_set_kill(image: *mut VipsImage, kill: gboolean);
70301}
70302extern "C" {
70303    pub fn vips_filename_get_filename(
70304        vips_filename: *const ::std::os::raw::c_char,
70305    ) -> *mut ::std::os::raw::c_char;
70306}
70307extern "C" {
70308    pub fn vips_filename_get_options(
70309        vips_filename: *const ::std::os::raw::c_char,
70310    ) -> *mut ::std::os::raw::c_char;
70311}
70312extern "C" {
70313    pub fn vips_image_new() -> *mut VipsImage;
70314}
70315extern "C" {
70316    pub fn vips_image_new_memory() -> *mut VipsImage;
70317}
70318extern "C" {
70319    pub fn vips_image_memory() -> *mut VipsImage;
70320}
70321extern "C" {
70322    pub fn vips_image_new_from_file(name: *const ::std::os::raw::c_char, ...) -> *mut VipsImage;
70323}
70324extern "C" {
70325    pub fn vips_image_new_from_file_RW(filename: *const ::std::os::raw::c_char) -> *mut VipsImage;
70326}
70327extern "C" {
70328    pub fn vips_image_new_from_file_raw(
70329        filename: *const ::std::os::raw::c_char,
70330        xsize: ::std::os::raw::c_int,
70331        ysize: ::std::os::raw::c_int,
70332        bands: ::std::os::raw::c_int,
70333        offset: guint64,
70334    ) -> *mut VipsImage;
70335}
70336extern "C" {
70337    pub fn vips_image_new_from_memory(
70338        data: *const ::std::os::raw::c_void,
70339        size: size_t,
70340        width: ::std::os::raw::c_int,
70341        height: ::std::os::raw::c_int,
70342        bands: ::std::os::raw::c_int,
70343        format: VipsBandFormat,
70344    ) -> *mut VipsImage;
70345}
70346extern "C" {
70347    pub fn vips_image_new_from_memory_copy(
70348        data: *const ::std::os::raw::c_void,
70349        size: size_t,
70350        width: ::std::os::raw::c_int,
70351        height: ::std::os::raw::c_int,
70352        bands: ::std::os::raw::c_int,
70353        format: VipsBandFormat,
70354    ) -> *mut VipsImage;
70355}
70356extern "C" {
70357    pub fn vips_image_new_from_buffer(
70358        buf: *const ::std::os::raw::c_void,
70359        len: size_t,
70360        option_string: *const ::std::os::raw::c_char,
70361        ...
70362    ) -> *mut VipsImage;
70363}
70364extern "C" {
70365    pub fn vips_image_new_from_source(
70366        source: *mut VipsSource,
70367        option_string: *const ::std::os::raw::c_char,
70368        ...
70369    ) -> *mut VipsImage;
70370}
70371extern "C" {
70372    pub fn vips_image_new_matrix(
70373        width: ::std::os::raw::c_int,
70374        height: ::std::os::raw::c_int,
70375    ) -> *mut VipsImage;
70376}
70377extern "C" {
70378    pub fn vips_image_new_matrixv(
70379        width: ::std::os::raw::c_int,
70380        height: ::std::os::raw::c_int,
70381        ...
70382    ) -> *mut VipsImage;
70383}
70384extern "C" {
70385    pub fn vips_image_new_matrix_from_array(
70386        width: ::std::os::raw::c_int,
70387        height: ::std::os::raw::c_int,
70388        array: *const f64,
70389        size: ::std::os::raw::c_int,
70390    ) -> *mut VipsImage;
70391}
70392extern "C" {
70393    pub fn vips_image_matrix_from_array(
70394        width: ::std::os::raw::c_int,
70395        height: ::std::os::raw::c_int,
70396        array: *const f64,
70397        size: ::std::os::raw::c_int,
70398    ) -> *mut VipsImage;
70399}
70400extern "C" {
70401    pub fn vips_image_new_from_image(
70402        image: *mut VipsImage,
70403        c: *const f64,
70404        n: ::std::os::raw::c_int,
70405    ) -> *mut VipsImage;
70406}
70407extern "C" {
70408    pub fn vips_image_new_from_image1(image: *mut VipsImage, c: f64) -> *mut VipsImage;
70409}
70410extern "C" {
70411    pub fn vips_image_set_delete_on_close(image: *mut VipsImage, delete_on_close: gboolean);
70412}
70413extern "C" {
70414    pub fn vips_get_disc_threshold() -> guint64;
70415}
70416extern "C" {
70417    pub fn vips_image_new_temp_file(format: *const ::std::os::raw::c_char) -> *mut VipsImage;
70418}
70419extern "C" {
70420    pub fn vips_image_write(image: *mut VipsImage, out: *mut VipsImage) -> ::std::os::raw::c_int;
70421}
70422extern "C" {
70423    pub fn vips_image_write_to_file(
70424        image: *mut VipsImage,
70425        name: *const ::std::os::raw::c_char,
70426        ...
70427    ) -> ::std::os::raw::c_int;
70428}
70429extern "C" {
70430    pub fn vips_image_write_to_buffer(
70431        in_: *mut VipsImage,
70432        suffix: *const ::std::os::raw::c_char,
70433        buf: *mut *mut ::std::os::raw::c_void,
70434        size: *mut size_t,
70435        ...
70436    ) -> ::std::os::raw::c_int;
70437}
70438extern "C" {
70439    pub fn vips_image_write_to_target(
70440        in_: *mut VipsImage,
70441        suffix: *const ::std::os::raw::c_char,
70442        target: *mut VipsTarget,
70443        ...
70444    ) -> ::std::os::raw::c_int;
70445}
70446extern "C" {
70447    pub fn vips_image_write_to_memory(
70448        in_: *mut VipsImage,
70449        size: *mut size_t,
70450    ) -> *mut ::std::os::raw::c_void;
70451}
70452extern "C" {
70453    pub fn vips_image_decode_predict(
70454        in_: *mut VipsImage,
70455        bands: *mut ::std::os::raw::c_int,
70456        format: *mut VipsBandFormat,
70457    ) -> ::std::os::raw::c_int;
70458}
70459extern "C" {
70460    pub fn vips_image_decode(
70461        in_: *mut VipsImage,
70462        out: *mut *mut VipsImage,
70463    ) -> ::std::os::raw::c_int;
70464}
70465extern "C" {
70466    pub fn vips_image_encode(
70467        in_: *mut VipsImage,
70468        out: *mut *mut VipsImage,
70469        coding: VipsCoding,
70470    ) -> ::std::os::raw::c_int;
70471}
70472extern "C" {
70473    pub fn vips_image_isMSBfirst(image: *mut VipsImage) -> gboolean;
70474}
70475extern "C" {
70476    pub fn vips_image_isfile(image: *mut VipsImage) -> gboolean;
70477}
70478extern "C" {
70479    pub fn vips_image_ispartial(image: *mut VipsImage) -> gboolean;
70480}
70481extern "C" {
70482    pub fn vips_image_hasalpha(image: *mut VipsImage) -> gboolean;
70483}
70484extern "C" {
70485    pub fn vips_image_copy_memory(image: *mut VipsImage) -> *mut VipsImage;
70486}
70487extern "C" {
70488    pub fn vips_image_wio_input(image: *mut VipsImage) -> ::std::os::raw::c_int;
70489}
70490extern "C" {
70491    pub fn vips_image_pio_input(image: *mut VipsImage) -> ::std::os::raw::c_int;
70492}
70493extern "C" {
70494    pub fn vips_image_pio_output(image: *mut VipsImage) -> ::std::os::raw::c_int;
70495}
70496extern "C" {
70497    pub fn vips_image_inplace(image: *mut VipsImage) -> ::std::os::raw::c_int;
70498}
70499extern "C" {
70500    pub fn vips_image_write_prepare(image: *mut VipsImage) -> ::std::os::raw::c_int;
70501}
70502extern "C" {
70503    pub fn vips_image_write_line(
70504        image: *mut VipsImage,
70505        ypos: ::std::os::raw::c_int,
70506        linebuffer: *mut VipsPel,
70507    ) -> ::std::os::raw::c_int;
70508}
70509extern "C" {
70510    pub fn vips_band_format_isint(format: VipsBandFormat) -> gboolean;
70511}
70512extern "C" {
70513    pub fn vips_band_format_isuint(format: VipsBandFormat) -> gboolean;
70514}
70515extern "C" {
70516    pub fn vips_band_format_is8bit(format: VipsBandFormat) -> gboolean;
70517}
70518extern "C" {
70519    pub fn vips_band_format_isfloat(format: VipsBandFormat) -> gboolean;
70520}
70521extern "C" {
70522    pub fn vips_band_format_iscomplex(format: VipsBandFormat) -> gboolean;
70523}
70524extern "C" {
70525    pub fn vips_system(cmd_format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
70526}
70527extern "C" {
70528    pub fn vips_array_image_new(
70529        array: *mut *mut VipsImage,
70530        n: ::std::os::raw::c_int,
70531    ) -> *mut VipsArrayImage;
70532}
70533extern "C" {
70534    pub fn vips_array_image_newv(n: ::std::os::raw::c_int, ...) -> *mut VipsArrayImage;
70535}
70536extern "C" {
70537    pub fn vips_array_image_new_from_string(
70538        string: *const ::std::os::raw::c_char,
70539        flags: VipsAccess,
70540    ) -> *mut VipsArrayImage;
70541}
70542extern "C" {
70543    pub fn vips_array_image_empty() -> *mut VipsArrayImage;
70544}
70545extern "C" {
70546    pub fn vips_array_image_append(
70547        array: *mut VipsArrayImage,
70548        image: *mut VipsImage,
70549    ) -> *mut VipsArrayImage;
70550}
70551extern "C" {
70552    pub fn vips_array_image_get(
70553        array: *mut VipsArrayImage,
70554        n: *mut ::std::os::raw::c_int,
70555    ) -> *mut *mut VipsImage;
70556}
70557extern "C" {
70558    pub fn vips_value_get_array_image(
70559        value: *const GValue,
70560        n: *mut ::std::os::raw::c_int,
70561    ) -> *mut *mut VipsImage;
70562}
70563extern "C" {
70564    pub fn vips_value_set_array_image(value: *mut GValue, n: ::std::os::raw::c_int);
70565}
70566extern "C" {
70567    pub fn vips_reorder_prepare_many(
70568        image: *mut VipsImage,
70569        regions: *mut *mut VipsRegion,
70570        r: *mut VipsRect,
70571    ) -> ::std::os::raw::c_int;
70572}
70573extern "C" {
70574    pub fn vips_reorder_margin_hint(image: *mut VipsImage, margin: ::std::os::raw::c_int);
70575}
70576extern "C" {
70577    pub fn vips_image_free_buffer(image: *mut VipsImage, buffer: *mut ::std::os::raw::c_void);
70578}
70579extern "C" {
70580    pub fn vips_malloc(object: *mut VipsObject, size: size_t) -> *mut ::std::os::raw::c_void;
70581}
70582extern "C" {
70583    pub fn vips_strdup(
70584        object: *mut VipsObject,
70585        str_: *const ::std::os::raw::c_char,
70586    ) -> *mut ::std::os::raw::c_char;
70587}
70588extern "C" {
70589    pub fn vips_tracked_free(s: *mut ::std::os::raw::c_void);
70590}
70591extern "C" {
70592    pub fn vips_tracked_aligned_free(s: *mut ::std::os::raw::c_void);
70593}
70594extern "C" {
70595    pub fn vips_tracked_malloc(size: size_t) -> *mut ::std::os::raw::c_void;
70596}
70597extern "C" {
70598    pub fn vips_tracked_aligned_alloc(size: size_t, align: size_t) -> *mut ::std::os::raw::c_void;
70599}
70600extern "C" {
70601    pub fn vips_tracked_get_mem() -> size_t;
70602}
70603extern "C" {
70604    pub fn vips_tracked_get_mem_highwater() -> size_t;
70605}
70606extern "C" {
70607    pub fn vips_tracked_get_allocs() -> ::std::os::raw::c_int;
70608}
70609extern "C" {
70610    pub fn vips_tracked_open(
70611        pathname: *const ::std::os::raw::c_char,
70612        flags: ::std::os::raw::c_int,
70613        mode: ::std::os::raw::c_int,
70614    ) -> ::std::os::raw::c_int;
70615}
70616extern "C" {
70617    pub fn vips_tracked_close(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
70618}
70619extern "C" {
70620    pub fn vips_tracked_get_files() -> ::std::os::raw::c_int;
70621}
70622extern "C" {
70623    pub fn vips_error_buffer() -> *const ::std::os::raw::c_char;
70624}
70625extern "C" {
70626    pub fn vips_error_buffer_copy() -> *mut ::std::os::raw::c_char;
70627}
70628extern "C" {
70629    pub fn vips_error_clear();
70630}
70631extern "C" {
70632    pub fn vips_error_freeze();
70633}
70634extern "C" {
70635    pub fn vips_error_thaw();
70636}
70637extern "C" {
70638    pub fn vips_error(
70639        domain: *const ::std::os::raw::c_char,
70640        fmt: *const ::std::os::raw::c_char,
70641        ...
70642    );
70643}
70644extern "C" {
70645    pub fn vips_verror(
70646        domain: *const ::std::os::raw::c_char,
70647        fmt: *const ::std::os::raw::c_char,
70648        ap: va_list,
70649    );
70650}
70651extern "C" {
70652    pub fn vips_error_system(
70653        err: ::std::os::raw::c_int,
70654        domain: *const ::std::os::raw::c_char,
70655        fmt: *const ::std::os::raw::c_char,
70656        ...
70657    );
70658}
70659extern "C" {
70660    pub fn vips_verror_system(
70661        err: ::std::os::raw::c_int,
70662        domain: *const ::std::os::raw::c_char,
70663        fmt: *const ::std::os::raw::c_char,
70664        ap: va_list,
70665    );
70666}
70667extern "C" {
70668    pub fn vips_error_g(error: *mut *mut GError);
70669}
70670extern "C" {
70671    pub fn vips_g_error(error: *mut *mut GError);
70672}
70673extern "C" {
70674    pub fn vips_error_exit(fmt: *const ::std::os::raw::c_char, ...) -> !;
70675}
70676extern "C" {
70677    pub fn vips_check_uncoded(
70678        domain: *const ::std::os::raw::c_char,
70679        im: *mut VipsImage,
70680    ) -> ::std::os::raw::c_int;
70681}
70682extern "C" {
70683    pub fn vips_check_coding(
70684        domain: *const ::std::os::raw::c_char,
70685        im: *mut VipsImage,
70686        coding: VipsCoding,
70687    ) -> ::std::os::raw::c_int;
70688}
70689extern "C" {
70690    pub fn vips_check_coding_known(
70691        domain: *const ::std::os::raw::c_char,
70692        im: *mut VipsImage,
70693    ) -> ::std::os::raw::c_int;
70694}
70695extern "C" {
70696    pub fn vips_check_coding_noneorlabq(
70697        domain: *const ::std::os::raw::c_char,
70698        im: *mut VipsImage,
70699    ) -> ::std::os::raw::c_int;
70700}
70701extern "C" {
70702    pub fn vips_check_coding_same(
70703        domain: *const ::std::os::raw::c_char,
70704        im1: *mut VipsImage,
70705        im2: *mut VipsImage,
70706    ) -> ::std::os::raw::c_int;
70707}
70708extern "C" {
70709    pub fn vips_check_mono(
70710        domain: *const ::std::os::raw::c_char,
70711        im: *mut VipsImage,
70712    ) -> ::std::os::raw::c_int;
70713}
70714extern "C" {
70715    pub fn vips_check_bands(
70716        domain: *const ::std::os::raw::c_char,
70717        im: *mut VipsImage,
70718        bands: ::std::os::raw::c_int,
70719    ) -> ::std::os::raw::c_int;
70720}
70721extern "C" {
70722    pub fn vips_check_bands_1or3(
70723        domain: *const ::std::os::raw::c_char,
70724        im: *mut VipsImage,
70725    ) -> ::std::os::raw::c_int;
70726}
70727extern "C" {
70728    pub fn vips_check_bands_atleast(
70729        domain: *const ::std::os::raw::c_char,
70730        im: *mut VipsImage,
70731        bands: ::std::os::raw::c_int,
70732    ) -> ::std::os::raw::c_int;
70733}
70734extern "C" {
70735    pub fn vips_check_bands_1orn(
70736        domain: *const ::std::os::raw::c_char,
70737        im1: *mut VipsImage,
70738        im2: *mut VipsImage,
70739    ) -> ::std::os::raw::c_int;
70740}
70741extern "C" {
70742    pub fn vips_check_bands_1orn_unary(
70743        domain: *const ::std::os::raw::c_char,
70744        im: *mut VipsImage,
70745        n: ::std::os::raw::c_int,
70746    ) -> ::std::os::raw::c_int;
70747}
70748extern "C" {
70749    pub fn vips_check_bands_same(
70750        domain: *const ::std::os::raw::c_char,
70751        im1: *mut VipsImage,
70752        im2: *mut VipsImage,
70753    ) -> ::std::os::raw::c_int;
70754}
70755extern "C" {
70756    pub fn vips_check_bandno(
70757        domain: *const ::std::os::raw::c_char,
70758        im: *mut VipsImage,
70759        bandno: ::std::os::raw::c_int,
70760    ) -> ::std::os::raw::c_int;
70761}
70762extern "C" {
70763    pub fn vips_check_int(
70764        domain: *const ::std::os::raw::c_char,
70765        im: *mut VipsImage,
70766    ) -> ::std::os::raw::c_int;
70767}
70768extern "C" {
70769    pub fn vips_check_uint(
70770        domain: *const ::std::os::raw::c_char,
70771        im: *mut VipsImage,
70772    ) -> ::std::os::raw::c_int;
70773}
70774extern "C" {
70775    pub fn vips_check_uintorf(
70776        domain: *const ::std::os::raw::c_char,
70777        im: *mut VipsImage,
70778    ) -> ::std::os::raw::c_int;
70779}
70780extern "C" {
70781    pub fn vips_check_noncomplex(
70782        domain: *const ::std::os::raw::c_char,
70783        im: *mut VipsImage,
70784    ) -> ::std::os::raw::c_int;
70785}
70786extern "C" {
70787    pub fn vips_check_complex(
70788        domain: *const ::std::os::raw::c_char,
70789        im: *mut VipsImage,
70790    ) -> ::std::os::raw::c_int;
70791}
70792extern "C" {
70793    pub fn vips_check_twocomponents(
70794        domain: *const ::std::os::raw::c_char,
70795        im: *mut VipsImage,
70796    ) -> ::std::os::raw::c_int;
70797}
70798extern "C" {
70799    pub fn vips_check_format(
70800        domain: *const ::std::os::raw::c_char,
70801        im: *mut VipsImage,
70802        fmt: VipsBandFormat,
70803    ) -> ::std::os::raw::c_int;
70804}
70805extern "C" {
70806    pub fn vips_check_u8or16(
70807        domain: *const ::std::os::raw::c_char,
70808        im: *mut VipsImage,
70809    ) -> ::std::os::raw::c_int;
70810}
70811extern "C" {
70812    pub fn vips_check_8or16(
70813        domain: *const ::std::os::raw::c_char,
70814        im: *mut VipsImage,
70815    ) -> ::std::os::raw::c_int;
70816}
70817extern "C" {
70818    pub fn vips_check_u8or16orf(
70819        domain: *const ::std::os::raw::c_char,
70820        im: *mut VipsImage,
70821    ) -> ::std::os::raw::c_int;
70822}
70823extern "C" {
70824    pub fn vips_check_format_same(
70825        domain: *const ::std::os::raw::c_char,
70826        im1: *mut VipsImage,
70827        im2: *mut VipsImage,
70828    ) -> ::std::os::raw::c_int;
70829}
70830extern "C" {
70831    pub fn vips_check_size_same(
70832        domain: *const ::std::os::raw::c_char,
70833        im1: *mut VipsImage,
70834        im2: *mut VipsImage,
70835    ) -> ::std::os::raw::c_int;
70836}
70837extern "C" {
70838    pub fn vips_check_oddsquare(
70839        domain: *const ::std::os::raw::c_char,
70840        im: *mut VipsImage,
70841    ) -> ::std::os::raw::c_int;
70842}
70843extern "C" {
70844    pub fn vips_check_vector_length(
70845        domain: *const ::std::os::raw::c_char,
70846        n: ::std::os::raw::c_int,
70847        len: ::std::os::raw::c_int,
70848    ) -> ::std::os::raw::c_int;
70849}
70850extern "C" {
70851    pub fn vips_check_vector(
70852        domain: *const ::std::os::raw::c_char,
70853        n: ::std::os::raw::c_int,
70854        im: *mut VipsImage,
70855    ) -> ::std::os::raw::c_int;
70856}
70857extern "C" {
70858    pub fn vips_check_hist(
70859        domain: *const ::std::os::raw::c_char,
70860        im: *mut VipsImage,
70861    ) -> ::std::os::raw::c_int;
70862}
70863extern "C" {
70864    pub fn vips_check_matrix(
70865        domain: *const ::std::os::raw::c_char,
70866        im: *mut VipsImage,
70867        out: *mut *mut VipsImage,
70868    ) -> ::std::os::raw::c_int;
70869}
70870extern "C" {
70871    pub fn vips_check_separable(
70872        domain: *const ::std::os::raw::c_char,
70873        im: *mut VipsImage,
70874    ) -> ::std::os::raw::c_int;
70875}
70876extern "C" {
70877    pub fn vips_check_precision_intfloat(
70878        domain: *const ::std::os::raw::c_char,
70879        precision: VipsPrecision,
70880    ) -> ::std::os::raw::c_int;
70881}
70882pub const VipsFormatFlags_VIPS_FORMAT_NONE: VipsFormatFlags = 0;
70883pub const VipsFormatFlags_VIPS_FORMAT_PARTIAL: VipsFormatFlags = 1;
70884pub const VipsFormatFlags_VIPS_FORMAT_BIGENDIAN: VipsFormatFlags = 2;
70885pub type VipsFormatFlags = ::std::os::raw::c_uint;
70886#[repr(C)]
70887#[derive(Debug, Copy, Clone, PartialEq, Eq)]
70888pub struct _VipsFormat {
70889    pub parent_object: VipsObject,
70890}
70891#[test]
70892fn bindgen_test_layout__VipsFormat() {
70893    const UNINIT: ::std::mem::MaybeUninit<_VipsFormat> = ::std::mem::MaybeUninit::uninit();
70894    let ptr = UNINIT.as_ptr();
70895    assert_eq!(
70896        ::std::mem::size_of::<_VipsFormat>(),
70897        80usize,
70898        concat!("Size of: ", stringify!(_VipsFormat))
70899    );
70900    assert_eq!(
70901        ::std::mem::align_of::<_VipsFormat>(),
70902        8usize,
70903        concat!("Alignment of ", stringify!(_VipsFormat))
70904    );
70905    assert_eq!(
70906        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
70907        0usize,
70908        concat!(
70909            "Offset of field: ",
70910            stringify!(_VipsFormat),
70911            "::",
70912            stringify!(parent_object)
70913        )
70914    );
70915}
70916pub type VipsFormat = _VipsFormat;
70917#[repr(C)]
70918#[derive(Debug, Copy, Clone, PartialEq, Eq)]
70919pub struct _VipsFormatClass {
70920    pub parent_class: VipsObjectClass,
70921    pub is_a: ::std::option::Option<
70922        unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char) -> gboolean,
70923    >,
70924    pub header: ::std::option::Option<
70925        unsafe extern "C" fn(
70926            arg1: *const ::std::os::raw::c_char,
70927            arg2: *mut VipsImage,
70928        ) -> ::std::os::raw::c_int,
70929    >,
70930    pub load: ::std::option::Option<
70931        unsafe extern "C" fn(
70932            arg1: *const ::std::os::raw::c_char,
70933            arg2: *mut VipsImage,
70934        ) -> ::std::os::raw::c_int,
70935    >,
70936    pub save: ::std::option::Option<
70937        unsafe extern "C" fn(
70938            arg1: *mut VipsImage,
70939            arg2: *const ::std::os::raw::c_char,
70940        ) -> ::std::os::raw::c_int,
70941    >,
70942    pub get_flags: ::std::option::Option<
70943        unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char) -> VipsFormatFlags,
70944    >,
70945    pub priority: ::std::os::raw::c_int,
70946    pub suffs: *mut *const ::std::os::raw::c_char,
70947}
70948#[test]
70949fn bindgen_test_layout__VipsFormatClass() {
70950    const UNINIT: ::std::mem::MaybeUninit<_VipsFormatClass> = ::std::mem::MaybeUninit::uninit();
70951    let ptr = UNINIT.as_ptr();
70952    assert_eq!(
70953        ::std::mem::size_of::<_VipsFormatClass>(),
70954        384usize,
70955        concat!("Size of: ", stringify!(_VipsFormatClass))
70956    );
70957    assert_eq!(
70958        ::std::mem::align_of::<_VipsFormatClass>(),
70959        8usize,
70960        concat!("Alignment of ", stringify!(_VipsFormatClass))
70961    );
70962    assert_eq!(
70963        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
70964        0usize,
70965        concat!(
70966            "Offset of field: ",
70967            stringify!(_VipsFormatClass),
70968            "::",
70969            stringify!(parent_class)
70970        )
70971    );
70972    assert_eq!(
70973        unsafe { ::std::ptr::addr_of!((*ptr).is_a) as usize - ptr as usize },
70974        328usize,
70975        concat!(
70976            "Offset of field: ",
70977            stringify!(_VipsFormatClass),
70978            "::",
70979            stringify!(is_a)
70980        )
70981    );
70982    assert_eq!(
70983        unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize },
70984        336usize,
70985        concat!(
70986            "Offset of field: ",
70987            stringify!(_VipsFormatClass),
70988            "::",
70989            stringify!(header)
70990        )
70991    );
70992    assert_eq!(
70993        unsafe { ::std::ptr::addr_of!((*ptr).load) as usize - ptr as usize },
70994        344usize,
70995        concat!(
70996            "Offset of field: ",
70997            stringify!(_VipsFormatClass),
70998            "::",
70999            stringify!(load)
71000        )
71001    );
71002    assert_eq!(
71003        unsafe { ::std::ptr::addr_of!((*ptr).save) as usize - ptr as usize },
71004        352usize,
71005        concat!(
71006            "Offset of field: ",
71007            stringify!(_VipsFormatClass),
71008            "::",
71009            stringify!(save)
71010        )
71011    );
71012    assert_eq!(
71013        unsafe { ::std::ptr::addr_of!((*ptr).get_flags) as usize - ptr as usize },
71014        360usize,
71015        concat!(
71016            "Offset of field: ",
71017            stringify!(_VipsFormatClass),
71018            "::",
71019            stringify!(get_flags)
71020        )
71021    );
71022    assert_eq!(
71023        unsafe { ::std::ptr::addr_of!((*ptr).priority) as usize - ptr as usize },
71024        368usize,
71025        concat!(
71026            "Offset of field: ",
71027            stringify!(_VipsFormatClass),
71028            "::",
71029            stringify!(priority)
71030        )
71031    );
71032    assert_eq!(
71033        unsafe { ::std::ptr::addr_of!((*ptr).suffs) as usize - ptr as usize },
71034        376usize,
71035        concat!(
71036            "Offset of field: ",
71037            stringify!(_VipsFormatClass),
71038            "::",
71039            stringify!(suffs)
71040        )
71041    );
71042}
71043pub type VipsFormatClass = _VipsFormatClass;
71044extern "C" {
71045    pub fn vips_format_get_type() -> GType;
71046}
71047extern "C" {
71048    pub fn vips_format_map(
71049        fn_: VipsSListMap2Fn,
71050        a: *mut ::std::os::raw::c_void,
71051        b: *mut ::std::os::raw::c_void,
71052    ) -> *mut ::std::os::raw::c_void;
71053}
71054extern "C" {
71055    pub fn vips_format_for_file(filename: *const ::std::os::raw::c_char) -> *mut VipsFormatClass;
71056}
71057extern "C" {
71058    pub fn vips_format_for_name(filename: *const ::std::os::raw::c_char) -> *mut VipsFormatClass;
71059}
71060extern "C" {
71061    pub fn vips_format_get_flags(
71062        format: *mut VipsFormatClass,
71063        filename: *const ::std::os::raw::c_char,
71064    ) -> VipsFormatFlags;
71065}
71066extern "C" {
71067    pub fn vips_format_read(
71068        filename: *const ::std::os::raw::c_char,
71069        out: *mut VipsImage,
71070    ) -> ::std::os::raw::c_int;
71071}
71072extern "C" {
71073    pub fn vips_format_write(
71074        in_: *mut VipsImage,
71075        filename: *const ::std::os::raw::c_char,
71076    ) -> ::std::os::raw::c_int;
71077}
71078pub type VipsRegionWrite = ::std::option::Option<
71079    unsafe extern "C" fn(
71080        region: *mut VipsRegion,
71081        area: *mut VipsRect,
71082        a: *mut ::std::os::raw::c_void,
71083    ) -> ::std::os::raw::c_int,
71084>;
71085extern "C" {
71086    pub fn vips_sink_disc(
71087        im: *mut VipsImage,
71088        write_fn: VipsRegionWrite,
71089        a: *mut ::std::os::raw::c_void,
71090    ) -> ::std::os::raw::c_int;
71091}
71092extern "C" {
71093    pub fn vips_sink(
71094        im: *mut VipsImage,
71095        start_fn: VipsStartFn,
71096        generate_fn: VipsGenerateFn,
71097        stop_fn: VipsStopFn,
71098        a: *mut ::std::os::raw::c_void,
71099        b: *mut ::std::os::raw::c_void,
71100    ) -> ::std::os::raw::c_int;
71101}
71102extern "C" {
71103    pub fn vips_sink_tile(
71104        im: *mut VipsImage,
71105        tile_width: ::std::os::raw::c_int,
71106        tile_height: ::std::os::raw::c_int,
71107        start_fn: VipsStartFn,
71108        generate_fn: VipsGenerateFn,
71109        stop_fn: VipsStopFn,
71110        a: *mut ::std::os::raw::c_void,
71111        b: *mut ::std::os::raw::c_void,
71112    ) -> ::std::os::raw::c_int;
71113}
71114pub type VipsSinkNotify = ::std::option::Option<
71115    unsafe extern "C" fn(im: *mut VipsImage, rect: *mut VipsRect, a: *mut ::std::os::raw::c_void),
71116>;
71117extern "C" {
71118    pub fn vips_sink_screen(
71119        in_: *mut VipsImage,
71120        out: *mut VipsImage,
71121        mask: *mut VipsImage,
71122        tile_width: ::std::os::raw::c_int,
71123        tile_height: ::std::os::raw::c_int,
71124        max_tiles: ::std::os::raw::c_int,
71125        priority: ::std::os::raw::c_int,
71126        notify_fn: VipsSinkNotify,
71127        a: *mut ::std::os::raw::c_void,
71128    ) -> ::std::os::raw::c_int;
71129}
71130extern "C" {
71131    pub fn vips_sink_memory(im: *mut VipsImage) -> ::std::os::raw::c_int;
71132}
71133extern "C" {
71134    pub fn vips_start_one(
71135        out: *mut VipsImage,
71136        a: *mut ::std::os::raw::c_void,
71137        b: *mut ::std::os::raw::c_void,
71138    ) -> *mut ::std::os::raw::c_void;
71139}
71140extern "C" {
71141    pub fn vips_stop_one(
71142        seq: *mut ::std::os::raw::c_void,
71143        a: *mut ::std::os::raw::c_void,
71144        b: *mut ::std::os::raw::c_void,
71145    ) -> ::std::os::raw::c_int;
71146}
71147extern "C" {
71148    pub fn vips_start_many(
71149        out: *mut VipsImage,
71150        a: *mut ::std::os::raw::c_void,
71151        b: *mut ::std::os::raw::c_void,
71152    ) -> *mut ::std::os::raw::c_void;
71153}
71154extern "C" {
71155    pub fn vips_stop_many(
71156        seq: *mut ::std::os::raw::c_void,
71157        a: *mut ::std::os::raw::c_void,
71158        b: *mut ::std::os::raw::c_void,
71159    ) -> ::std::os::raw::c_int;
71160}
71161extern "C" {
71162    pub fn vips_allocate_input_array(out: *mut VipsImage, ...) -> *mut *mut VipsImage;
71163}
71164extern "C" {
71165    pub fn vips_image_generate(
71166        image: *mut VipsImage,
71167        start_fn: VipsStartFn,
71168        generate_fn: VipsGenerateFn,
71169        stop_fn: VipsStopFn,
71170        a: *mut ::std::os::raw::c_void,
71171        b: *mut ::std::os::raw::c_void,
71172    ) -> ::std::os::raw::c_int;
71173}
71174extern "C" {
71175    pub fn vips_image_pipeline_array(
71176        image: *mut VipsImage,
71177        hint: VipsDemandStyle,
71178        in_: *mut *mut VipsImage,
71179    ) -> ::std::os::raw::c_int;
71180}
71181extern "C" {
71182    pub fn vips_image_pipelinev(
71183        image: *mut VipsImage,
71184        hint: VipsDemandStyle,
71185        ...
71186    ) -> ::std::os::raw::c_int;
71187}
71188#[repr(C)]
71189#[derive(Debug, Copy, Clone, PartialEq, Eq)]
71190pub struct _VipsInterpolate {
71191    pub parent_object: VipsObject,
71192}
71193#[test]
71194fn bindgen_test_layout__VipsInterpolate() {
71195    const UNINIT: ::std::mem::MaybeUninit<_VipsInterpolate> = ::std::mem::MaybeUninit::uninit();
71196    let ptr = UNINIT.as_ptr();
71197    assert_eq!(
71198        ::std::mem::size_of::<_VipsInterpolate>(),
71199        80usize,
71200        concat!("Size of: ", stringify!(_VipsInterpolate))
71201    );
71202    assert_eq!(
71203        ::std::mem::align_of::<_VipsInterpolate>(),
71204        8usize,
71205        concat!("Alignment of ", stringify!(_VipsInterpolate))
71206    );
71207    assert_eq!(
71208        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
71209        0usize,
71210        concat!(
71211            "Offset of field: ",
71212            stringify!(_VipsInterpolate),
71213            "::",
71214            stringify!(parent_object)
71215        )
71216    );
71217}
71218pub type VipsInterpolate = _VipsInterpolate;
71219pub type VipsInterpolateMethod = ::std::option::Option<
71220    unsafe extern "C" fn(
71221        interpolate: *mut VipsInterpolate,
71222        out: *mut ::std::os::raw::c_void,
71223        in_: *mut VipsRegion,
71224        x: f64,
71225        y: f64,
71226    ),
71227>;
71228#[repr(C)]
71229#[derive(Debug, Copy, Clone, PartialEq, Eq)]
71230pub struct _VipsInterpolateClass {
71231    pub parent_class: VipsObjectClass,
71232    pub interpolate: VipsInterpolateMethod,
71233    pub get_window_size: ::std::option::Option<
71234        unsafe extern "C" fn(interpolate: *mut VipsInterpolate) -> ::std::os::raw::c_int,
71235    >,
71236    pub window_size: ::std::os::raw::c_int,
71237    pub get_window_offset: ::std::option::Option<
71238        unsafe extern "C" fn(interpolate: *mut VipsInterpolate) -> ::std::os::raw::c_int,
71239    >,
71240    pub window_offset: ::std::os::raw::c_int,
71241}
71242#[test]
71243fn bindgen_test_layout__VipsInterpolateClass() {
71244    const UNINIT: ::std::mem::MaybeUninit<_VipsInterpolateClass> =
71245        ::std::mem::MaybeUninit::uninit();
71246    let ptr = UNINIT.as_ptr();
71247    assert_eq!(
71248        ::std::mem::size_of::<_VipsInterpolateClass>(),
71249        368usize,
71250        concat!("Size of: ", stringify!(_VipsInterpolateClass))
71251    );
71252    assert_eq!(
71253        ::std::mem::align_of::<_VipsInterpolateClass>(),
71254        8usize,
71255        concat!("Alignment of ", stringify!(_VipsInterpolateClass))
71256    );
71257    assert_eq!(
71258        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
71259        0usize,
71260        concat!(
71261            "Offset of field: ",
71262            stringify!(_VipsInterpolateClass),
71263            "::",
71264            stringify!(parent_class)
71265        )
71266    );
71267    assert_eq!(
71268        unsafe { ::std::ptr::addr_of!((*ptr).interpolate) as usize - ptr as usize },
71269        328usize,
71270        concat!(
71271            "Offset of field: ",
71272            stringify!(_VipsInterpolateClass),
71273            "::",
71274            stringify!(interpolate)
71275        )
71276    );
71277    assert_eq!(
71278        unsafe { ::std::ptr::addr_of!((*ptr).get_window_size) as usize - ptr as usize },
71279        336usize,
71280        concat!(
71281            "Offset of field: ",
71282            stringify!(_VipsInterpolateClass),
71283            "::",
71284            stringify!(get_window_size)
71285        )
71286    );
71287    assert_eq!(
71288        unsafe { ::std::ptr::addr_of!((*ptr).window_size) as usize - ptr as usize },
71289        344usize,
71290        concat!(
71291            "Offset of field: ",
71292            stringify!(_VipsInterpolateClass),
71293            "::",
71294            stringify!(window_size)
71295        )
71296    );
71297    assert_eq!(
71298        unsafe { ::std::ptr::addr_of!((*ptr).get_window_offset) as usize - ptr as usize },
71299        352usize,
71300        concat!(
71301            "Offset of field: ",
71302            stringify!(_VipsInterpolateClass),
71303            "::",
71304            stringify!(get_window_offset)
71305        )
71306    );
71307    assert_eq!(
71308        unsafe { ::std::ptr::addr_of!((*ptr).window_offset) as usize - ptr as usize },
71309        360usize,
71310        concat!(
71311            "Offset of field: ",
71312            stringify!(_VipsInterpolateClass),
71313            "::",
71314            stringify!(window_offset)
71315        )
71316    );
71317}
71318pub type VipsInterpolateClass = _VipsInterpolateClass;
71319extern "C" {
71320    pub fn vips_interpolate_get_type() -> GType;
71321}
71322extern "C" {
71323    pub fn vips_interpolate(
71324        interpolate: *mut VipsInterpolate,
71325        out: *mut ::std::os::raw::c_void,
71326        in_: *mut VipsRegion,
71327        x: f64,
71328        y: f64,
71329    );
71330}
71331extern "C" {
71332    pub fn vips_interpolate_get_method(interpolate: *mut VipsInterpolate) -> VipsInterpolateMethod;
71333}
71334extern "C" {
71335    pub fn vips_interpolate_get_window_size(
71336        interpolate: *mut VipsInterpolate,
71337    ) -> ::std::os::raw::c_int;
71338}
71339extern "C" {
71340    pub fn vips_interpolate_get_window_offset(
71341        interpolate: *mut VipsInterpolate,
71342    ) -> ::std::os::raw::c_int;
71343}
71344extern "C" {
71345    pub fn vips_interpolate_nearest_static() -> *mut VipsInterpolate;
71346}
71347extern "C" {
71348    pub fn vips_interpolate_bilinear_static() -> *mut VipsInterpolate;
71349}
71350extern "C" {
71351    pub fn vips_interpolate_new(nickname: *const ::std::os::raw::c_char) -> *mut VipsInterpolate;
71352}
71353extern "C" {
71354    pub fn vips_g_mutex_new() -> *mut GMutex;
71355}
71356extern "C" {
71357    pub fn vips_g_mutex_free(arg1: *mut GMutex);
71358}
71359extern "C" {
71360    pub fn vips_g_cond_new() -> *mut GCond;
71361}
71362extern "C" {
71363    pub fn vips_g_cond_free(arg1: *mut GCond);
71364}
71365extern "C" {
71366    pub fn vips_g_thread_new(
71367        arg1: *const ::std::os::raw::c_char,
71368        arg2: GThreadFunc,
71369        arg3: gpointer,
71370    ) -> *mut GThread;
71371}
71372extern "C" {
71373    pub fn vips_thread_isvips() -> gboolean;
71374}
71375extern "C" {
71376    pub fn vips_thread_execute(
71377        domain: *const ::std::os::raw::c_char,
71378        func: GFunc,
71379        data: gpointer,
71380    ) -> ::std::os::raw::c_int;
71381}
71382#[repr(C)]
71383#[derive(Debug, Copy, Clone)]
71384pub struct _VipsThreadset {
71385    _unused: [u8; 0],
71386}
71387pub type VipsThreadset = _VipsThreadset;
71388extern "C" {
71389    pub fn vips_threadset_new(max_threads: ::std::os::raw::c_int) -> *mut VipsThreadset;
71390}
71391extern "C" {
71392    pub fn vips_threadset_run(
71393        set: *mut VipsThreadset,
71394        domain: *const ::std::os::raw::c_char,
71395        func: GFunc,
71396        data: gpointer,
71397    ) -> ::std::os::raw::c_int;
71398}
71399extern "C" {
71400    pub fn vips_threadset_free(set: *mut VipsThreadset);
71401}
71402#[repr(C)]
71403#[derive(Debug, Copy, Clone, PartialEq, Eq)]
71404pub struct VipsSemaphore {
71405    pub name: *mut ::std::os::raw::c_char,
71406    pub v: ::std::os::raw::c_int,
71407    pub mutex: *mut GMutex,
71408    pub cond: *mut GCond,
71409}
71410#[test]
71411fn bindgen_test_layout_VipsSemaphore() {
71412    const UNINIT: ::std::mem::MaybeUninit<VipsSemaphore> = ::std::mem::MaybeUninit::uninit();
71413    let ptr = UNINIT.as_ptr();
71414    assert_eq!(
71415        ::std::mem::size_of::<VipsSemaphore>(),
71416        32usize,
71417        concat!("Size of: ", stringify!(VipsSemaphore))
71418    );
71419    assert_eq!(
71420        ::std::mem::align_of::<VipsSemaphore>(),
71421        8usize,
71422        concat!("Alignment of ", stringify!(VipsSemaphore))
71423    );
71424    assert_eq!(
71425        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
71426        0usize,
71427        concat!(
71428            "Offset of field: ",
71429            stringify!(VipsSemaphore),
71430            "::",
71431            stringify!(name)
71432        )
71433    );
71434    assert_eq!(
71435        unsafe { ::std::ptr::addr_of!((*ptr).v) as usize - ptr as usize },
71436        8usize,
71437        concat!(
71438            "Offset of field: ",
71439            stringify!(VipsSemaphore),
71440            "::",
71441            stringify!(v)
71442        )
71443    );
71444    assert_eq!(
71445        unsafe { ::std::ptr::addr_of!((*ptr).mutex) as usize - ptr as usize },
71446        16usize,
71447        concat!(
71448            "Offset of field: ",
71449            stringify!(VipsSemaphore),
71450            "::",
71451            stringify!(mutex)
71452        )
71453    );
71454    assert_eq!(
71455        unsafe { ::std::ptr::addr_of!((*ptr).cond) as usize - ptr as usize },
71456        24usize,
71457        concat!(
71458            "Offset of field: ",
71459            stringify!(VipsSemaphore),
71460            "::",
71461            stringify!(cond)
71462        )
71463    );
71464}
71465extern "C" {
71466    pub fn vips_semaphore_up(s: *mut VipsSemaphore) -> ::std::os::raw::c_int;
71467}
71468extern "C" {
71469    pub fn vips_semaphore_upn(
71470        s: *mut VipsSemaphore,
71471        n: ::std::os::raw::c_int,
71472    ) -> ::std::os::raw::c_int;
71473}
71474extern "C" {
71475    pub fn vips_semaphore_down(s: *mut VipsSemaphore) -> ::std::os::raw::c_int;
71476}
71477extern "C" {
71478    pub fn vips_semaphore_downn(
71479        s: *mut VipsSemaphore,
71480        n: ::std::os::raw::c_int,
71481    ) -> ::std::os::raw::c_int;
71482}
71483extern "C" {
71484    pub fn vips_semaphore_down_timeout(
71485        s: *mut VipsSemaphore,
71486        timeout: gint64,
71487    ) -> ::std::os::raw::c_int;
71488}
71489extern "C" {
71490    pub fn vips_semaphore_destroy(s: *mut VipsSemaphore);
71491}
71492extern "C" {
71493    pub fn vips_semaphore_init(
71494        s: *mut VipsSemaphore,
71495        v: ::std::os::raw::c_int,
71496        name: *mut ::std::os::raw::c_char,
71497    );
71498}
71499#[repr(C)]
71500#[derive(Debug, Copy, Clone, PartialEq, Eq)]
71501pub struct _VipsThreadState {
71502    pub parent_object: VipsObject,
71503    pub im: *mut VipsImage,
71504    pub reg: *mut VipsRegion,
71505    pub pos: VipsRect,
71506    pub x: ::std::os::raw::c_int,
71507    pub y: ::std::os::raw::c_int,
71508    pub stop: gboolean,
71509    pub a: *mut ::std::os::raw::c_void,
71510    pub stall: gboolean,
71511}
71512#[test]
71513fn bindgen_test_layout__VipsThreadState() {
71514    const UNINIT: ::std::mem::MaybeUninit<_VipsThreadState> = ::std::mem::MaybeUninit::uninit();
71515    let ptr = UNINIT.as_ptr();
71516    assert_eq!(
71517        ::std::mem::size_of::<_VipsThreadState>(),
71518        144usize,
71519        concat!("Size of: ", stringify!(_VipsThreadState))
71520    );
71521    assert_eq!(
71522        ::std::mem::align_of::<_VipsThreadState>(),
71523        8usize,
71524        concat!("Alignment of ", stringify!(_VipsThreadState))
71525    );
71526    assert_eq!(
71527        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
71528        0usize,
71529        concat!(
71530            "Offset of field: ",
71531            stringify!(_VipsThreadState),
71532            "::",
71533            stringify!(parent_object)
71534        )
71535    );
71536    assert_eq!(
71537        unsafe { ::std::ptr::addr_of!((*ptr).im) as usize - ptr as usize },
71538        80usize,
71539        concat!(
71540            "Offset of field: ",
71541            stringify!(_VipsThreadState),
71542            "::",
71543            stringify!(im)
71544        )
71545    );
71546    assert_eq!(
71547        unsafe { ::std::ptr::addr_of!((*ptr).reg) as usize - ptr as usize },
71548        88usize,
71549        concat!(
71550            "Offset of field: ",
71551            stringify!(_VipsThreadState),
71552            "::",
71553            stringify!(reg)
71554        )
71555    );
71556    assert_eq!(
71557        unsafe { ::std::ptr::addr_of!((*ptr).pos) as usize - ptr as usize },
71558        96usize,
71559        concat!(
71560            "Offset of field: ",
71561            stringify!(_VipsThreadState),
71562            "::",
71563            stringify!(pos)
71564        )
71565    );
71566    assert_eq!(
71567        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
71568        112usize,
71569        concat!(
71570            "Offset of field: ",
71571            stringify!(_VipsThreadState),
71572            "::",
71573            stringify!(x)
71574        )
71575    );
71576    assert_eq!(
71577        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
71578        116usize,
71579        concat!(
71580            "Offset of field: ",
71581            stringify!(_VipsThreadState),
71582            "::",
71583            stringify!(y)
71584        )
71585    );
71586    assert_eq!(
71587        unsafe { ::std::ptr::addr_of!((*ptr).stop) as usize - ptr as usize },
71588        120usize,
71589        concat!(
71590            "Offset of field: ",
71591            stringify!(_VipsThreadState),
71592            "::",
71593            stringify!(stop)
71594        )
71595    );
71596    assert_eq!(
71597        unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize },
71598        128usize,
71599        concat!(
71600            "Offset of field: ",
71601            stringify!(_VipsThreadState),
71602            "::",
71603            stringify!(a)
71604        )
71605    );
71606    assert_eq!(
71607        unsafe { ::std::ptr::addr_of!((*ptr).stall) as usize - ptr as usize },
71608        136usize,
71609        concat!(
71610            "Offset of field: ",
71611            stringify!(_VipsThreadState),
71612            "::",
71613            stringify!(stall)
71614        )
71615    );
71616}
71617pub type VipsThreadState = _VipsThreadState;
71618#[repr(C)]
71619#[derive(Debug, Copy, Clone, PartialEq, Eq)]
71620pub struct _VipsThreadStateClass {
71621    pub parent_class: VipsObjectClass,
71622}
71623#[test]
71624fn bindgen_test_layout__VipsThreadStateClass() {
71625    const UNINIT: ::std::mem::MaybeUninit<_VipsThreadStateClass> =
71626        ::std::mem::MaybeUninit::uninit();
71627    let ptr = UNINIT.as_ptr();
71628    assert_eq!(
71629        ::std::mem::size_of::<_VipsThreadStateClass>(),
71630        328usize,
71631        concat!("Size of: ", stringify!(_VipsThreadStateClass))
71632    );
71633    assert_eq!(
71634        ::std::mem::align_of::<_VipsThreadStateClass>(),
71635        8usize,
71636        concat!("Alignment of ", stringify!(_VipsThreadStateClass))
71637    );
71638    assert_eq!(
71639        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
71640        0usize,
71641        concat!(
71642            "Offset of field: ",
71643            stringify!(_VipsThreadStateClass),
71644            "::",
71645            stringify!(parent_class)
71646        )
71647    );
71648}
71649pub type VipsThreadStateClass = _VipsThreadStateClass;
71650extern "C" {
71651    pub fn vips_thread_state_set(
71652        object: *mut VipsObject,
71653        a: *mut ::std::os::raw::c_void,
71654        b: *mut ::std::os::raw::c_void,
71655    ) -> *mut ::std::os::raw::c_void;
71656}
71657extern "C" {
71658    pub fn vips_thread_state_get_type() -> GType;
71659}
71660extern "C" {
71661    pub fn vips_thread_state_new(
71662        im: *mut VipsImage,
71663        a: *mut ::std::os::raw::c_void,
71664    ) -> *mut VipsThreadState;
71665}
71666pub type VipsThreadStartFn = ::std::option::Option<
71667    unsafe extern "C" fn(
71668        im: *mut VipsImage,
71669        a: *mut ::std::os::raw::c_void,
71670    ) -> *mut VipsThreadState,
71671>;
71672pub type VipsThreadpoolAllocateFn = ::std::option::Option<
71673    unsafe extern "C" fn(
71674        state: *mut VipsThreadState,
71675        a: *mut ::std::os::raw::c_void,
71676        stop: *mut gboolean,
71677    ) -> ::std::os::raw::c_int,
71678>;
71679pub type VipsThreadpoolWorkFn = ::std::option::Option<
71680    unsafe extern "C" fn(
71681        state: *mut VipsThreadState,
71682        a: *mut ::std::os::raw::c_void,
71683    ) -> ::std::os::raw::c_int,
71684>;
71685pub type VipsThreadpoolProgressFn = ::std::option::Option<
71686    unsafe extern "C" fn(a: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
71687>;
71688extern "C" {
71689    pub fn vips_threadpool_run(
71690        im: *mut VipsImage,
71691        start: VipsThreadStartFn,
71692        allocate: VipsThreadpoolAllocateFn,
71693        work: VipsThreadpoolWorkFn,
71694        progress: VipsThreadpoolProgressFn,
71695        a: *mut ::std::os::raw::c_void,
71696    ) -> ::std::os::raw::c_int;
71697}
71698extern "C" {
71699    pub fn vips_get_tile_size(
71700        im: *mut VipsImage,
71701        tile_width: *mut ::std::os::raw::c_int,
71702        tile_height: *mut ::std::os::raw::c_int,
71703        n_lines: *mut ::std::os::raw::c_int,
71704    );
71705}
71706extern "C" {
71707    pub fn vips_format_sizeof(format: VipsBandFormat) -> guint64;
71708}
71709extern "C" {
71710    pub fn vips_format_sizeof_unsafe(format: VipsBandFormat) -> guint64;
71711}
71712extern "C" {
71713    pub fn vips_interpretation_max_alpha(interpretation: VipsInterpretation) -> f64;
71714}
71715extern "C" {
71716    pub fn vips_image_get_width(image: *const VipsImage) -> ::std::os::raw::c_int;
71717}
71718extern "C" {
71719    pub fn vips_image_get_height(image: *const VipsImage) -> ::std::os::raw::c_int;
71720}
71721extern "C" {
71722    pub fn vips_image_get_bands(image: *const VipsImage) -> ::std::os::raw::c_int;
71723}
71724extern "C" {
71725    pub fn vips_image_get_format(image: *const VipsImage) -> VipsBandFormat;
71726}
71727extern "C" {
71728    pub fn vips_image_get_format_max(format: VipsBandFormat) -> f64;
71729}
71730extern "C" {
71731    pub fn vips_image_guess_format(image: *const VipsImage) -> VipsBandFormat;
71732}
71733extern "C" {
71734    pub fn vips_image_get_coding(image: *const VipsImage) -> VipsCoding;
71735}
71736extern "C" {
71737    pub fn vips_image_get_interpretation(image: *const VipsImage) -> VipsInterpretation;
71738}
71739extern "C" {
71740    pub fn vips_image_guess_interpretation(image: *const VipsImage) -> VipsInterpretation;
71741}
71742extern "C" {
71743    pub fn vips_image_get_xres(image: *const VipsImage) -> f64;
71744}
71745extern "C" {
71746    pub fn vips_image_get_yres(image: *const VipsImage) -> f64;
71747}
71748extern "C" {
71749    pub fn vips_image_get_xoffset(image: *const VipsImage) -> ::std::os::raw::c_int;
71750}
71751extern "C" {
71752    pub fn vips_image_get_yoffset(image: *const VipsImage) -> ::std::os::raw::c_int;
71753}
71754extern "C" {
71755    pub fn vips_image_get_filename(image: *const VipsImage) -> *const ::std::os::raw::c_char;
71756}
71757extern "C" {
71758    pub fn vips_image_get_mode(image: *const VipsImage) -> *const ::std::os::raw::c_char;
71759}
71760extern "C" {
71761    pub fn vips_image_get_scale(image: *const VipsImage) -> f64;
71762}
71763extern "C" {
71764    pub fn vips_image_get_offset(image: *const VipsImage) -> f64;
71765}
71766extern "C" {
71767    pub fn vips_image_get_page_height(image: *mut VipsImage) -> ::std::os::raw::c_int;
71768}
71769extern "C" {
71770    pub fn vips_image_get_n_pages(image: *mut VipsImage) -> ::std::os::raw::c_int;
71771}
71772extern "C" {
71773    pub fn vips_image_get_n_subifds(image: *mut VipsImage) -> ::std::os::raw::c_int;
71774}
71775extern "C" {
71776    pub fn vips_image_get_orientation(image: *mut VipsImage) -> ::std::os::raw::c_int;
71777}
71778extern "C" {
71779    pub fn vips_image_get_orientation_swap(image: *mut VipsImage) -> gboolean;
71780}
71781extern "C" {
71782    pub fn vips_image_get_concurrency(
71783        image: *mut VipsImage,
71784        default_concurrency: ::std::os::raw::c_int,
71785    ) -> ::std::os::raw::c_int;
71786}
71787extern "C" {
71788    pub fn vips_image_get_data(image: *mut VipsImage) -> *const ::std::os::raw::c_void;
71789}
71790extern "C" {
71791    pub fn vips_image_init_fields(
71792        image: *mut VipsImage,
71793        xsize: ::std::os::raw::c_int,
71794        ysize: ::std::os::raw::c_int,
71795        bands: ::std::os::raw::c_int,
71796        format: VipsBandFormat,
71797        coding: VipsCoding,
71798        interpretation: VipsInterpretation,
71799        xres: f64,
71800        yres: f64,
71801    );
71802}
71803extern "C" {
71804    pub fn vips_image_set(
71805        image: *mut VipsImage,
71806        name: *const ::std::os::raw::c_char,
71807        value: *mut GValue,
71808    );
71809}
71810extern "C" {
71811    pub fn vips_image_get(
71812        image: *const VipsImage,
71813        name: *const ::std::os::raw::c_char,
71814        value_copy: *mut GValue,
71815    ) -> ::std::os::raw::c_int;
71816}
71817extern "C" {
71818    pub fn vips_image_get_as_string(
71819        image: *const VipsImage,
71820        name: *const ::std::os::raw::c_char,
71821        out: *mut *mut ::std::os::raw::c_char,
71822    ) -> ::std::os::raw::c_int;
71823}
71824extern "C" {
71825    pub fn vips_image_get_typeof(
71826        image: *const VipsImage,
71827        name: *const ::std::os::raw::c_char,
71828    ) -> GType;
71829}
71830extern "C" {
71831    pub fn vips_image_remove(
71832        image: *mut VipsImage,
71833        name: *const ::std::os::raw::c_char,
71834    ) -> gboolean;
71835}
71836pub type VipsImageMapFn = ::std::option::Option<
71837    unsafe extern "C" fn(
71838        image: *mut VipsImage,
71839        name: *const ::std::os::raw::c_char,
71840        value: *mut GValue,
71841        a: *mut ::std::os::raw::c_void,
71842    ) -> *mut ::std::os::raw::c_void,
71843>;
71844extern "C" {
71845    pub fn vips_image_map(
71846        image: *mut VipsImage,
71847        fn_: VipsImageMapFn,
71848        a: *mut ::std::os::raw::c_void,
71849    ) -> *mut ::std::os::raw::c_void;
71850}
71851extern "C" {
71852    pub fn vips_image_get_fields(image: *mut VipsImage) -> *mut *mut gchar;
71853}
71854extern "C" {
71855    pub fn vips_image_set_area(
71856        image: *mut VipsImage,
71857        name: *const ::std::os::raw::c_char,
71858        free_fn: VipsCallbackFn,
71859        data: *mut ::std::os::raw::c_void,
71860    );
71861}
71862extern "C" {
71863    pub fn vips_image_get_area(
71864        image: *const VipsImage,
71865        name: *const ::std::os::raw::c_char,
71866        data: *mut *const ::std::os::raw::c_void,
71867    ) -> ::std::os::raw::c_int;
71868}
71869extern "C" {
71870    pub fn vips_image_set_blob(
71871        image: *mut VipsImage,
71872        name: *const ::std::os::raw::c_char,
71873        free_fn: VipsCallbackFn,
71874        data: *const ::std::os::raw::c_void,
71875        length: size_t,
71876    );
71877}
71878extern "C" {
71879    pub fn vips_image_set_blob_copy(
71880        image: *mut VipsImage,
71881        name: *const ::std::os::raw::c_char,
71882        data: *const ::std::os::raw::c_void,
71883        length: size_t,
71884    );
71885}
71886extern "C" {
71887    pub fn vips_image_get_blob(
71888        image: *const VipsImage,
71889        name: *const ::std::os::raw::c_char,
71890        data: *mut *const ::std::os::raw::c_void,
71891        length: *mut size_t,
71892    ) -> ::std::os::raw::c_int;
71893}
71894extern "C" {
71895    pub fn vips_image_get_int(
71896        image: *const VipsImage,
71897        name: *const ::std::os::raw::c_char,
71898        out: *mut ::std::os::raw::c_int,
71899    ) -> ::std::os::raw::c_int;
71900}
71901extern "C" {
71902    pub fn vips_image_set_int(
71903        image: *mut VipsImage,
71904        name: *const ::std::os::raw::c_char,
71905        i: ::std::os::raw::c_int,
71906    );
71907}
71908extern "C" {
71909    pub fn vips_image_get_double(
71910        image: *const VipsImage,
71911        name: *const ::std::os::raw::c_char,
71912        out: *mut f64,
71913    ) -> ::std::os::raw::c_int;
71914}
71915extern "C" {
71916    pub fn vips_image_set_double(
71917        image: *mut VipsImage,
71918        name: *const ::std::os::raw::c_char,
71919        d: f64,
71920    );
71921}
71922extern "C" {
71923    pub fn vips_image_get_string(
71924        image: *const VipsImage,
71925        name: *const ::std::os::raw::c_char,
71926        out: *mut *const ::std::os::raw::c_char,
71927    ) -> ::std::os::raw::c_int;
71928}
71929extern "C" {
71930    pub fn vips_image_set_string(
71931        image: *mut VipsImage,
71932        name: *const ::std::os::raw::c_char,
71933        str_: *const ::std::os::raw::c_char,
71934    );
71935}
71936extern "C" {
71937    pub fn vips_image_print_field(image: *const VipsImage, name: *const ::std::os::raw::c_char);
71938}
71939extern "C" {
71940    pub fn vips_image_get_image(
71941        image: *const VipsImage,
71942        name: *const ::std::os::raw::c_char,
71943        out: *mut *mut VipsImage,
71944    ) -> ::std::os::raw::c_int;
71945}
71946extern "C" {
71947    pub fn vips_image_set_image(
71948        image: *mut VipsImage,
71949        name: *const ::std::os::raw::c_char,
71950        im: *mut VipsImage,
71951    );
71952}
71953extern "C" {
71954    pub fn vips_image_set_array_int(
71955        image: *mut VipsImage,
71956        name: *const ::std::os::raw::c_char,
71957        array: *const ::std::os::raw::c_int,
71958        n: ::std::os::raw::c_int,
71959    );
71960}
71961extern "C" {
71962    pub fn vips_image_get_array_int(
71963        image: *mut VipsImage,
71964        name: *const ::std::os::raw::c_char,
71965        out: *mut *mut ::std::os::raw::c_int,
71966        n: *mut ::std::os::raw::c_int,
71967    ) -> ::std::os::raw::c_int;
71968}
71969extern "C" {
71970    pub fn vips_image_get_array_double(
71971        image: *mut VipsImage,
71972        name: *const ::std::os::raw::c_char,
71973        out: *mut *mut f64,
71974        n: *mut ::std::os::raw::c_int,
71975    ) -> ::std::os::raw::c_int;
71976}
71977extern "C" {
71978    pub fn vips_image_set_array_double(
71979        image: *mut VipsImage,
71980        name: *const ::std::os::raw::c_char,
71981        array: *const f64,
71982        n: ::std::os::raw::c_int,
71983    );
71984}
71985extern "C" {
71986    pub fn vips_image_history_printf(
71987        image: *mut VipsImage,
71988        format: *const ::std::os::raw::c_char,
71989        ...
71990    ) -> ::std::os::raw::c_int;
71991}
71992extern "C" {
71993    pub fn vips_image_history_args(
71994        image: *mut VipsImage,
71995        name: *const ::std::os::raw::c_char,
71996        argc: ::std::os::raw::c_int,
71997        argv: *mut *mut ::std::os::raw::c_char,
71998    ) -> ::std::os::raw::c_int;
71999}
72000extern "C" {
72001    pub fn vips_image_get_history(image: *mut VipsImage) -> *const ::std::os::raw::c_char;
72002}
72003pub const VipsOperationFlags_VIPS_OPERATION_NONE: VipsOperationFlags = 0;
72004pub const VipsOperationFlags_VIPS_OPERATION_SEQUENTIAL: VipsOperationFlags = 1;
72005pub const VipsOperationFlags_VIPS_OPERATION_SEQUENTIAL_UNBUFFERED: VipsOperationFlags = 2;
72006pub const VipsOperationFlags_VIPS_OPERATION_NOCACHE: VipsOperationFlags = 4;
72007pub const VipsOperationFlags_VIPS_OPERATION_DEPRECATED: VipsOperationFlags = 8;
72008pub const VipsOperationFlags_VIPS_OPERATION_UNTRUSTED: VipsOperationFlags = 16;
72009pub const VipsOperationFlags_VIPS_OPERATION_BLOCKED: VipsOperationFlags = 32;
72010pub const VipsOperationFlags_VIPS_OPERATION_REVALIDATE: VipsOperationFlags = 64;
72011pub type VipsOperationFlags = ::std::os::raw::c_uint;
72012pub type VipsOperationBuildFn =
72013    ::std::option::Option<unsafe extern "C" fn(object: *mut VipsObject) -> gboolean>;
72014#[repr(C)]
72015#[derive(Debug, Copy, Clone, PartialEq, Eq)]
72016pub struct _VipsOperation {
72017    pub parent_instance: VipsObject,
72018    pub hash: guint,
72019    pub found_hash: gboolean,
72020    pub pixels: ::std::os::raw::c_int,
72021}
72022#[test]
72023fn bindgen_test_layout__VipsOperation() {
72024    const UNINIT: ::std::mem::MaybeUninit<_VipsOperation> = ::std::mem::MaybeUninit::uninit();
72025    let ptr = UNINIT.as_ptr();
72026    assert_eq!(
72027        ::std::mem::size_of::<_VipsOperation>(),
72028        96usize,
72029        concat!("Size of: ", stringify!(_VipsOperation))
72030    );
72031    assert_eq!(
72032        ::std::mem::align_of::<_VipsOperation>(),
72033        8usize,
72034        concat!("Alignment of ", stringify!(_VipsOperation))
72035    );
72036    assert_eq!(
72037        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
72038        0usize,
72039        concat!(
72040            "Offset of field: ",
72041            stringify!(_VipsOperation),
72042            "::",
72043            stringify!(parent_instance)
72044        )
72045    );
72046    assert_eq!(
72047        unsafe { ::std::ptr::addr_of!((*ptr).hash) as usize - ptr as usize },
72048        80usize,
72049        concat!(
72050            "Offset of field: ",
72051            stringify!(_VipsOperation),
72052            "::",
72053            stringify!(hash)
72054        )
72055    );
72056    assert_eq!(
72057        unsafe { ::std::ptr::addr_of!((*ptr).found_hash) as usize - ptr as usize },
72058        84usize,
72059        concat!(
72060            "Offset of field: ",
72061            stringify!(_VipsOperation),
72062            "::",
72063            stringify!(found_hash)
72064        )
72065    );
72066    assert_eq!(
72067        unsafe { ::std::ptr::addr_of!((*ptr).pixels) as usize - ptr as usize },
72068        88usize,
72069        concat!(
72070            "Offset of field: ",
72071            stringify!(_VipsOperation),
72072            "::",
72073            stringify!(pixels)
72074        )
72075    );
72076}
72077pub type VipsOperation = _VipsOperation;
72078#[repr(C)]
72079#[derive(Debug, Copy, Clone, PartialEq, Eq)]
72080pub struct _VipsOperationClass {
72081    pub parent_class: VipsObjectClass,
72082    pub usage: ::std::option::Option<
72083        unsafe extern "C" fn(cls: *mut _VipsOperationClass, buf: *mut VipsBuf),
72084    >,
72085    pub get_flags: ::std::option::Option<
72086        unsafe extern "C" fn(operation: *mut VipsOperation) -> VipsOperationFlags,
72087    >,
72088    pub flags: VipsOperationFlags,
72089    pub invalidate: ::std::option::Option<unsafe extern "C" fn(operation: *mut VipsOperation)>,
72090}
72091#[test]
72092fn bindgen_test_layout__VipsOperationClass() {
72093    const UNINIT: ::std::mem::MaybeUninit<_VipsOperationClass> = ::std::mem::MaybeUninit::uninit();
72094    let ptr = UNINIT.as_ptr();
72095    assert_eq!(
72096        ::std::mem::size_of::<_VipsOperationClass>(),
72097        360usize,
72098        concat!("Size of: ", stringify!(_VipsOperationClass))
72099    );
72100    assert_eq!(
72101        ::std::mem::align_of::<_VipsOperationClass>(),
72102        8usize,
72103        concat!("Alignment of ", stringify!(_VipsOperationClass))
72104    );
72105    assert_eq!(
72106        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
72107        0usize,
72108        concat!(
72109            "Offset of field: ",
72110            stringify!(_VipsOperationClass),
72111            "::",
72112            stringify!(parent_class)
72113        )
72114    );
72115    assert_eq!(
72116        unsafe { ::std::ptr::addr_of!((*ptr).usage) as usize - ptr as usize },
72117        328usize,
72118        concat!(
72119            "Offset of field: ",
72120            stringify!(_VipsOperationClass),
72121            "::",
72122            stringify!(usage)
72123        )
72124    );
72125    assert_eq!(
72126        unsafe { ::std::ptr::addr_of!((*ptr).get_flags) as usize - ptr as usize },
72127        336usize,
72128        concat!(
72129            "Offset of field: ",
72130            stringify!(_VipsOperationClass),
72131            "::",
72132            stringify!(get_flags)
72133        )
72134    );
72135    assert_eq!(
72136        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
72137        344usize,
72138        concat!(
72139            "Offset of field: ",
72140            stringify!(_VipsOperationClass),
72141            "::",
72142            stringify!(flags)
72143        )
72144    );
72145    assert_eq!(
72146        unsafe { ::std::ptr::addr_of!((*ptr).invalidate) as usize - ptr as usize },
72147        352usize,
72148        concat!(
72149            "Offset of field: ",
72150            stringify!(_VipsOperationClass),
72151            "::",
72152            stringify!(invalidate)
72153        )
72154    );
72155}
72156pub type VipsOperationClass = _VipsOperationClass;
72157extern "C" {
72158    pub fn vips_operation_get_type() -> GType;
72159}
72160extern "C" {
72161    pub fn vips_operation_get_flags(operation: *mut VipsOperation) -> VipsOperationFlags;
72162}
72163extern "C" {
72164    pub fn vips_operation_class_print_usage(operation_class: *mut VipsOperationClass);
72165}
72166extern "C" {
72167    pub fn vips_operation_invalidate(operation: *mut VipsOperation);
72168}
72169extern "C" {
72170    pub fn vips_operation_call_valist(
72171        operation: *mut VipsOperation,
72172        ap: va_list,
72173    ) -> ::std::os::raw::c_int;
72174}
72175extern "C" {
72176    pub fn vips_operation_new(name: *const ::std::os::raw::c_char) -> *mut VipsOperation;
72177}
72178extern "C" {
72179    pub fn vips_call_required_optional(
72180        operation: *mut *mut VipsOperation,
72181        required: va_list,
72182        optional: va_list,
72183    ) -> ::std::os::raw::c_int;
72184}
72185extern "C" {
72186    pub fn vips_call(operation_name: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
72187}
72188extern "C" {
72189    pub fn vips_call_split(
72190        operation_name: *const ::std::os::raw::c_char,
72191        optional: va_list,
72192        ...
72193    ) -> ::std::os::raw::c_int;
72194}
72195extern "C" {
72196    pub fn vips_call_split_option_string(
72197        operation_name: *const ::std::os::raw::c_char,
72198        option_string: *const ::std::os::raw::c_char,
72199        optional: va_list,
72200        ...
72201    ) -> ::std::os::raw::c_int;
72202}
72203extern "C" {
72204    pub fn vips_call_options(group: *mut GOptionGroup, operation: *mut VipsOperation);
72205}
72206extern "C" {
72207    pub fn vips_call_argv(
72208        operation: *mut VipsOperation,
72209        argc: ::std::os::raw::c_int,
72210        argv: *mut *mut ::std::os::raw::c_char,
72211    ) -> ::std::os::raw::c_int;
72212}
72213extern "C" {
72214    pub fn vips_cache_drop_all();
72215}
72216extern "C" {
72217    pub fn vips_cache_operation_lookup(operation: *mut VipsOperation) -> *mut VipsOperation;
72218}
72219extern "C" {
72220    pub fn vips_cache_operation_add(operation: *mut VipsOperation);
72221}
72222extern "C" {
72223    pub fn vips_cache_operation_buildp(operation: *mut *mut VipsOperation)
72224        -> ::std::os::raw::c_int;
72225}
72226extern "C" {
72227    pub fn vips_cache_operation_build(operation: *mut VipsOperation) -> *mut VipsOperation;
72228}
72229extern "C" {
72230    pub fn vips_cache_print();
72231}
72232extern "C" {
72233    pub fn vips_cache_set_max(max: ::std::os::raw::c_int);
72234}
72235extern "C" {
72236    pub fn vips_cache_set_max_mem(max_mem: size_t);
72237}
72238extern "C" {
72239    pub fn vips_cache_get_max() -> ::std::os::raw::c_int;
72240}
72241extern "C" {
72242    pub fn vips_cache_get_size() -> ::std::os::raw::c_int;
72243}
72244extern "C" {
72245    pub fn vips_cache_get_max_mem() -> size_t;
72246}
72247extern "C" {
72248    pub fn vips_cache_get_max_files() -> ::std::os::raw::c_int;
72249}
72250extern "C" {
72251    pub fn vips_cache_set_max_files(max_files: ::std::os::raw::c_int);
72252}
72253extern "C" {
72254    pub fn vips_cache_set_dump(dump: gboolean);
72255}
72256extern "C" {
72257    pub fn vips_cache_set_trace(trace: gboolean);
72258}
72259extern "C" {
72260    pub fn vips_concurrency_set(concurrency: ::std::os::raw::c_int);
72261}
72262extern "C" {
72263    pub fn vips_concurrency_get() -> ::std::os::raw::c_int;
72264}
72265extern "C" {
72266    pub fn vips_operation_block_set(name: *const ::std::os::raw::c_char, state: gboolean);
72267}
72268#[repr(C)]
72269#[derive(Debug, Copy, Clone, PartialEq, Eq)]
72270pub struct _VipsForeign {
72271    pub parent_object: VipsOperation,
72272}
72273#[test]
72274fn bindgen_test_layout__VipsForeign() {
72275    const UNINIT: ::std::mem::MaybeUninit<_VipsForeign> = ::std::mem::MaybeUninit::uninit();
72276    let ptr = UNINIT.as_ptr();
72277    assert_eq!(
72278        ::std::mem::size_of::<_VipsForeign>(),
72279        96usize,
72280        concat!("Size of: ", stringify!(_VipsForeign))
72281    );
72282    assert_eq!(
72283        ::std::mem::align_of::<_VipsForeign>(),
72284        8usize,
72285        concat!("Alignment of ", stringify!(_VipsForeign))
72286    );
72287    assert_eq!(
72288        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
72289        0usize,
72290        concat!(
72291            "Offset of field: ",
72292            stringify!(_VipsForeign),
72293            "::",
72294            stringify!(parent_object)
72295        )
72296    );
72297}
72298pub type VipsForeign = _VipsForeign;
72299#[repr(C)]
72300#[derive(Debug, Copy, Clone, PartialEq, Eq)]
72301pub struct _VipsForeignClass {
72302    pub parent_class: VipsOperationClass,
72303    pub priority: ::std::os::raw::c_int,
72304    pub suffs: *mut *const ::std::os::raw::c_char,
72305}
72306#[test]
72307fn bindgen_test_layout__VipsForeignClass() {
72308    const UNINIT: ::std::mem::MaybeUninit<_VipsForeignClass> = ::std::mem::MaybeUninit::uninit();
72309    let ptr = UNINIT.as_ptr();
72310    assert_eq!(
72311        ::std::mem::size_of::<_VipsForeignClass>(),
72312        376usize,
72313        concat!("Size of: ", stringify!(_VipsForeignClass))
72314    );
72315    assert_eq!(
72316        ::std::mem::align_of::<_VipsForeignClass>(),
72317        8usize,
72318        concat!("Alignment of ", stringify!(_VipsForeignClass))
72319    );
72320    assert_eq!(
72321        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
72322        0usize,
72323        concat!(
72324            "Offset of field: ",
72325            stringify!(_VipsForeignClass),
72326            "::",
72327            stringify!(parent_class)
72328        )
72329    );
72330    assert_eq!(
72331        unsafe { ::std::ptr::addr_of!((*ptr).priority) as usize - ptr as usize },
72332        360usize,
72333        concat!(
72334            "Offset of field: ",
72335            stringify!(_VipsForeignClass),
72336            "::",
72337            stringify!(priority)
72338        )
72339    );
72340    assert_eq!(
72341        unsafe { ::std::ptr::addr_of!((*ptr).suffs) as usize - ptr as usize },
72342        368usize,
72343        concat!(
72344            "Offset of field: ",
72345            stringify!(_VipsForeignClass),
72346            "::",
72347            stringify!(suffs)
72348        )
72349    );
72350}
72351pub type VipsForeignClass = _VipsForeignClass;
72352extern "C" {
72353    pub fn vips_foreign_get_type() -> GType;
72354}
72355extern "C" {
72356    pub fn vips_foreign_map(
72357        base: *const ::std::os::raw::c_char,
72358        fn_: VipsSListMap2Fn,
72359        a: *mut ::std::os::raw::c_void,
72360        b: *mut ::std::os::raw::c_void,
72361    ) -> *mut ::std::os::raw::c_void;
72362}
72363pub const VipsForeignFlags_VIPS_FOREIGN_NONE: VipsForeignFlags = 0;
72364pub const VipsForeignFlags_VIPS_FOREIGN_PARTIAL: VipsForeignFlags = 1;
72365pub const VipsForeignFlags_VIPS_FOREIGN_BIGENDIAN: VipsForeignFlags = 2;
72366pub const VipsForeignFlags_VIPS_FOREIGN_SEQUENTIAL: VipsForeignFlags = 4;
72367pub const VipsForeignFlags_VIPS_FOREIGN_ALL: VipsForeignFlags = 7;
72368pub type VipsForeignFlags = ::std::os::raw::c_uint;
72369pub const VipsFailOn_VIPS_FAIL_ON_NONE: VipsFailOn = 0;
72370pub const VipsFailOn_VIPS_FAIL_ON_TRUNCATED: VipsFailOn = 1;
72371pub const VipsFailOn_VIPS_FAIL_ON_ERROR: VipsFailOn = 2;
72372pub const VipsFailOn_VIPS_FAIL_ON_WARNING: VipsFailOn = 3;
72373pub const VipsFailOn_VIPS_FAIL_ON_LAST: VipsFailOn = 4;
72374#[doc = " VipsFailOn:\n @VIPS_FAIL_ON_NONE: never stop\n @VIPS_FAIL_ON_TRUNCATED: stop on image truncated, nothing else\n @VIPS_FAIL_ON_ERROR: stop on serious error or truncation\n @VIPS_FAIL_ON_WARNING: stop on anything, even warnings\n\n How sensitive loaders are to errors, from never stop (very insensitive), to\n stop on the smallest warning (very sensitive).\n\n Each one implies the ones before it, so #VIPS_FAIL_ON_ERROR implies\n #VIPS_FAIL_ON_TRUNCATED."]
72375pub type VipsFailOn = ::std::os::raw::c_uint;
72376#[repr(C)]
72377#[derive(Debug, Copy, Clone, PartialEq, Eq)]
72378pub struct _VipsForeignLoad {
72379    pub parent_object: VipsForeign,
72380    pub memory: gboolean,
72381    pub access: VipsAccess,
72382    pub flags: VipsForeignFlags,
72383    pub fail_on: VipsFailOn,
72384    pub fail: gboolean,
72385    pub sequential: gboolean,
72386    pub out: *mut VipsImage,
72387    pub real: *mut VipsImage,
72388    pub nocache: gboolean,
72389    pub disc: gboolean,
72390    pub error: gboolean,
72391    pub revalidate: gboolean,
72392}
72393#[test]
72394fn bindgen_test_layout__VipsForeignLoad() {
72395    const UNINIT: ::std::mem::MaybeUninit<_VipsForeignLoad> = ::std::mem::MaybeUninit::uninit();
72396    let ptr = UNINIT.as_ptr();
72397    assert_eq!(
72398        ::std::mem::size_of::<_VipsForeignLoad>(),
72399        152usize,
72400        concat!("Size of: ", stringify!(_VipsForeignLoad))
72401    );
72402    assert_eq!(
72403        ::std::mem::align_of::<_VipsForeignLoad>(),
72404        8usize,
72405        concat!("Alignment of ", stringify!(_VipsForeignLoad))
72406    );
72407    assert_eq!(
72408        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
72409        0usize,
72410        concat!(
72411            "Offset of field: ",
72412            stringify!(_VipsForeignLoad),
72413            "::",
72414            stringify!(parent_object)
72415        )
72416    );
72417    assert_eq!(
72418        unsafe { ::std::ptr::addr_of!((*ptr).memory) as usize - ptr as usize },
72419        96usize,
72420        concat!(
72421            "Offset of field: ",
72422            stringify!(_VipsForeignLoad),
72423            "::",
72424            stringify!(memory)
72425        )
72426    );
72427    assert_eq!(
72428        unsafe { ::std::ptr::addr_of!((*ptr).access) as usize - ptr as usize },
72429        100usize,
72430        concat!(
72431            "Offset of field: ",
72432            stringify!(_VipsForeignLoad),
72433            "::",
72434            stringify!(access)
72435        )
72436    );
72437    assert_eq!(
72438        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
72439        104usize,
72440        concat!(
72441            "Offset of field: ",
72442            stringify!(_VipsForeignLoad),
72443            "::",
72444            stringify!(flags)
72445        )
72446    );
72447    assert_eq!(
72448        unsafe { ::std::ptr::addr_of!((*ptr).fail_on) as usize - ptr as usize },
72449        108usize,
72450        concat!(
72451            "Offset of field: ",
72452            stringify!(_VipsForeignLoad),
72453            "::",
72454            stringify!(fail_on)
72455        )
72456    );
72457    assert_eq!(
72458        unsafe { ::std::ptr::addr_of!((*ptr).fail) as usize - ptr as usize },
72459        112usize,
72460        concat!(
72461            "Offset of field: ",
72462            stringify!(_VipsForeignLoad),
72463            "::",
72464            stringify!(fail)
72465        )
72466    );
72467    assert_eq!(
72468        unsafe { ::std::ptr::addr_of!((*ptr).sequential) as usize - ptr as usize },
72469        116usize,
72470        concat!(
72471            "Offset of field: ",
72472            stringify!(_VipsForeignLoad),
72473            "::",
72474            stringify!(sequential)
72475        )
72476    );
72477    assert_eq!(
72478        unsafe { ::std::ptr::addr_of!((*ptr).out) as usize - ptr as usize },
72479        120usize,
72480        concat!(
72481            "Offset of field: ",
72482            stringify!(_VipsForeignLoad),
72483            "::",
72484            stringify!(out)
72485        )
72486    );
72487    assert_eq!(
72488        unsafe { ::std::ptr::addr_of!((*ptr).real) as usize - ptr as usize },
72489        128usize,
72490        concat!(
72491            "Offset of field: ",
72492            stringify!(_VipsForeignLoad),
72493            "::",
72494            stringify!(real)
72495        )
72496    );
72497    assert_eq!(
72498        unsafe { ::std::ptr::addr_of!((*ptr).nocache) as usize - ptr as usize },
72499        136usize,
72500        concat!(
72501            "Offset of field: ",
72502            stringify!(_VipsForeignLoad),
72503            "::",
72504            stringify!(nocache)
72505        )
72506    );
72507    assert_eq!(
72508        unsafe { ::std::ptr::addr_of!((*ptr).disc) as usize - ptr as usize },
72509        140usize,
72510        concat!(
72511            "Offset of field: ",
72512            stringify!(_VipsForeignLoad),
72513            "::",
72514            stringify!(disc)
72515        )
72516    );
72517    assert_eq!(
72518        unsafe { ::std::ptr::addr_of!((*ptr).error) as usize - ptr as usize },
72519        144usize,
72520        concat!(
72521            "Offset of field: ",
72522            stringify!(_VipsForeignLoad),
72523            "::",
72524            stringify!(error)
72525        )
72526    );
72527    assert_eq!(
72528        unsafe { ::std::ptr::addr_of!((*ptr).revalidate) as usize - ptr as usize },
72529        148usize,
72530        concat!(
72531            "Offset of field: ",
72532            stringify!(_VipsForeignLoad),
72533            "::",
72534            stringify!(revalidate)
72535        )
72536    );
72537}
72538pub type VipsForeignLoad = _VipsForeignLoad;
72539#[repr(C)]
72540#[derive(Debug, Copy, Clone, PartialEq, Eq)]
72541pub struct _VipsForeignLoadClass {
72542    pub parent_class: VipsForeignClass,
72543    pub is_a: ::std::option::Option<
72544        unsafe extern "C" fn(filename: *const ::std::os::raw::c_char) -> gboolean,
72545    >,
72546    pub is_a_buffer: ::std::option::Option<
72547        unsafe extern "C" fn(data: *const ::std::os::raw::c_void, size: size_t) -> gboolean,
72548    >,
72549    pub is_a_source:
72550        ::std::option::Option<unsafe extern "C" fn(source: *mut VipsSource) -> gboolean>,
72551    pub get_flags_filename: ::std::option::Option<
72552        unsafe extern "C" fn(filename: *const ::std::os::raw::c_char) -> VipsForeignFlags,
72553    >,
72554    pub get_flags:
72555        ::std::option::Option<unsafe extern "C" fn(load: *mut VipsForeignLoad) -> VipsForeignFlags>,
72556    pub header: ::std::option::Option<
72557        unsafe extern "C" fn(load: *mut VipsForeignLoad) -> ::std::os::raw::c_int,
72558    >,
72559    pub load: ::std::option::Option<
72560        unsafe extern "C" fn(load: *mut VipsForeignLoad) -> ::std::os::raw::c_int,
72561    >,
72562}
72563#[test]
72564fn bindgen_test_layout__VipsForeignLoadClass() {
72565    const UNINIT: ::std::mem::MaybeUninit<_VipsForeignLoadClass> =
72566        ::std::mem::MaybeUninit::uninit();
72567    let ptr = UNINIT.as_ptr();
72568    assert_eq!(
72569        ::std::mem::size_of::<_VipsForeignLoadClass>(),
72570        432usize,
72571        concat!("Size of: ", stringify!(_VipsForeignLoadClass))
72572    );
72573    assert_eq!(
72574        ::std::mem::align_of::<_VipsForeignLoadClass>(),
72575        8usize,
72576        concat!("Alignment of ", stringify!(_VipsForeignLoadClass))
72577    );
72578    assert_eq!(
72579        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
72580        0usize,
72581        concat!(
72582            "Offset of field: ",
72583            stringify!(_VipsForeignLoadClass),
72584            "::",
72585            stringify!(parent_class)
72586        )
72587    );
72588    assert_eq!(
72589        unsafe { ::std::ptr::addr_of!((*ptr).is_a) as usize - ptr as usize },
72590        376usize,
72591        concat!(
72592            "Offset of field: ",
72593            stringify!(_VipsForeignLoadClass),
72594            "::",
72595            stringify!(is_a)
72596        )
72597    );
72598    assert_eq!(
72599        unsafe { ::std::ptr::addr_of!((*ptr).is_a_buffer) as usize - ptr as usize },
72600        384usize,
72601        concat!(
72602            "Offset of field: ",
72603            stringify!(_VipsForeignLoadClass),
72604            "::",
72605            stringify!(is_a_buffer)
72606        )
72607    );
72608    assert_eq!(
72609        unsafe { ::std::ptr::addr_of!((*ptr).is_a_source) as usize - ptr as usize },
72610        392usize,
72611        concat!(
72612            "Offset of field: ",
72613            stringify!(_VipsForeignLoadClass),
72614            "::",
72615            stringify!(is_a_source)
72616        )
72617    );
72618    assert_eq!(
72619        unsafe { ::std::ptr::addr_of!((*ptr).get_flags_filename) as usize - ptr as usize },
72620        400usize,
72621        concat!(
72622            "Offset of field: ",
72623            stringify!(_VipsForeignLoadClass),
72624            "::",
72625            stringify!(get_flags_filename)
72626        )
72627    );
72628    assert_eq!(
72629        unsafe { ::std::ptr::addr_of!((*ptr).get_flags) as usize - ptr as usize },
72630        408usize,
72631        concat!(
72632            "Offset of field: ",
72633            stringify!(_VipsForeignLoadClass),
72634            "::",
72635            stringify!(get_flags)
72636        )
72637    );
72638    assert_eq!(
72639        unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize },
72640        416usize,
72641        concat!(
72642            "Offset of field: ",
72643            stringify!(_VipsForeignLoadClass),
72644            "::",
72645            stringify!(header)
72646        )
72647    );
72648    assert_eq!(
72649        unsafe { ::std::ptr::addr_of!((*ptr).load) as usize - ptr as usize },
72650        424usize,
72651        concat!(
72652            "Offset of field: ",
72653            stringify!(_VipsForeignLoadClass),
72654            "::",
72655            stringify!(load)
72656        )
72657    );
72658}
72659pub type VipsForeignLoadClass = _VipsForeignLoadClass;
72660extern "C" {
72661    pub fn vips_foreign_load_get_type() -> GType;
72662}
72663extern "C" {
72664    pub fn vips_foreign_find_load(
72665        filename: *const ::std::os::raw::c_char,
72666    ) -> *const ::std::os::raw::c_char;
72667}
72668extern "C" {
72669    pub fn vips_foreign_find_load_buffer(
72670        data: *const ::std::os::raw::c_void,
72671        size: size_t,
72672    ) -> *const ::std::os::raw::c_char;
72673}
72674extern "C" {
72675    pub fn vips_foreign_find_load_source(source: *mut VipsSource) -> *const ::std::os::raw::c_char;
72676}
72677extern "C" {
72678    pub fn vips_foreign_flags(
72679        loader: *const ::std::os::raw::c_char,
72680        filename: *const ::std::os::raw::c_char,
72681    ) -> VipsForeignFlags;
72682}
72683extern "C" {
72684    pub fn vips_foreign_is_a(
72685        loader: *const ::std::os::raw::c_char,
72686        filename: *const ::std::os::raw::c_char,
72687    ) -> gboolean;
72688}
72689extern "C" {
72690    pub fn vips_foreign_is_a_buffer(
72691        loader: *const ::std::os::raw::c_char,
72692        data: *const ::std::os::raw::c_void,
72693        size: size_t,
72694    ) -> gboolean;
72695}
72696extern "C" {
72697    pub fn vips_foreign_is_a_source(
72698        loader: *const ::std::os::raw::c_char,
72699        source: *mut VipsSource,
72700    ) -> gboolean;
72701}
72702extern "C" {
72703    pub fn vips_foreign_load_invalidate(image: *mut VipsImage);
72704}
72705pub const VipsSaveable_VIPS_SAVEABLE_MONO: VipsSaveable = 0;
72706pub const VipsSaveable_VIPS_SAVEABLE_RGB: VipsSaveable = 1;
72707pub const VipsSaveable_VIPS_SAVEABLE_RGBA: VipsSaveable = 2;
72708pub const VipsSaveable_VIPS_SAVEABLE_RGBA_ONLY: VipsSaveable = 3;
72709pub const VipsSaveable_VIPS_SAVEABLE_RGB_CMYK: VipsSaveable = 4;
72710pub const VipsSaveable_VIPS_SAVEABLE_ANY: VipsSaveable = 5;
72711pub const VipsSaveable_VIPS_SAVEABLE_LAST: VipsSaveable = 6;
72712#[doc = " VipsSaveable:\n @VIPS_SAVEABLE_MONO: 1 band (eg. CSV)\n @VIPS_SAVEABLE_RGB: 1 or 3 bands (eg. PPM)\n @VIPS_SAVEABLE_RGBA: 1, 2, 3 or 4 bands (eg. PNG)\n @VIPS_SAVEABLE_RGBA_ONLY: 3 or 4 bands (eg. WEBP)\n @VIPS_SAVEABLE_RGB_CMYK: 1, 3 or 4 bands (eg. JPEG)\n @VIPS_SAVEABLE_ANY: any number of bands (eg. TIFF)\n\n See also: #VipsForeignSave."]
72713pub type VipsSaveable = ::std::os::raw::c_uint;
72714pub const VipsForeignKeep_VIPS_FOREIGN_KEEP_NONE: VipsForeignKeep = 0;
72715pub const VipsForeignKeep_VIPS_FOREIGN_KEEP_EXIF: VipsForeignKeep = 1;
72716pub const VipsForeignKeep_VIPS_FOREIGN_KEEP_XMP: VipsForeignKeep = 2;
72717pub const VipsForeignKeep_VIPS_FOREIGN_KEEP_IPTC: VipsForeignKeep = 4;
72718pub const VipsForeignKeep_VIPS_FOREIGN_KEEP_ICC: VipsForeignKeep = 8;
72719pub const VipsForeignKeep_VIPS_FOREIGN_KEEP_OTHER: VipsForeignKeep = 16;
72720pub const VipsForeignKeep_VIPS_FOREIGN_KEEP_ALL: VipsForeignKeep = 31;
72721#[doc = " VipsForeignKeep:\n @VIPS_FOREIGN_KEEP_NONE: don't attach metadata\n @VIPS_FOREIGN_KEEP_EXIF: keep Exif metadata\n @VIPS_FOREIGN_KEEP_XMP: keep XMP metadata\n @VIPS_FOREIGN_KEEP_IPTC: keep IPTC metadata\n @VIPS_FOREIGN_KEEP_ICC: keep ICC metadata\n @VIPS_FOREIGN_KEEP_OTHER: keep other metadata (e.g. PNG comments and some TIFF tags)\n @VIPS_FOREIGN_KEEP_ALL: keep all metadata\n\n Which metadata to retain."]
72722pub type VipsForeignKeep = ::std::os::raw::c_uint;
72723#[repr(C)]
72724#[derive(Debug, Copy, Clone, PartialEq, Eq)]
72725pub struct _VipsForeignSave {
72726    pub parent_object: VipsForeign,
72727    pub strip: gboolean,
72728    pub keep: VipsForeignKeep,
72729    pub profile: *mut ::std::os::raw::c_char,
72730    pub background: *mut VipsArrayDouble,
72731    pub page_height: ::std::os::raw::c_int,
72732    pub in_: *mut VipsImage,
72733    pub ready: *mut VipsImage,
72734}
72735#[test]
72736fn bindgen_test_layout__VipsForeignSave() {
72737    const UNINIT: ::std::mem::MaybeUninit<_VipsForeignSave> = ::std::mem::MaybeUninit::uninit();
72738    let ptr = UNINIT.as_ptr();
72739    assert_eq!(
72740        ::std::mem::size_of::<_VipsForeignSave>(),
72741        144usize,
72742        concat!("Size of: ", stringify!(_VipsForeignSave))
72743    );
72744    assert_eq!(
72745        ::std::mem::align_of::<_VipsForeignSave>(),
72746        8usize,
72747        concat!("Alignment of ", stringify!(_VipsForeignSave))
72748    );
72749    assert_eq!(
72750        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
72751        0usize,
72752        concat!(
72753            "Offset of field: ",
72754            stringify!(_VipsForeignSave),
72755            "::",
72756            stringify!(parent_object)
72757        )
72758    );
72759    assert_eq!(
72760        unsafe { ::std::ptr::addr_of!((*ptr).strip) as usize - ptr as usize },
72761        96usize,
72762        concat!(
72763            "Offset of field: ",
72764            stringify!(_VipsForeignSave),
72765            "::",
72766            stringify!(strip)
72767        )
72768    );
72769    assert_eq!(
72770        unsafe { ::std::ptr::addr_of!((*ptr).keep) as usize - ptr as usize },
72771        100usize,
72772        concat!(
72773            "Offset of field: ",
72774            stringify!(_VipsForeignSave),
72775            "::",
72776            stringify!(keep)
72777        )
72778    );
72779    assert_eq!(
72780        unsafe { ::std::ptr::addr_of!((*ptr).profile) as usize - ptr as usize },
72781        104usize,
72782        concat!(
72783            "Offset of field: ",
72784            stringify!(_VipsForeignSave),
72785            "::",
72786            stringify!(profile)
72787        )
72788    );
72789    assert_eq!(
72790        unsafe { ::std::ptr::addr_of!((*ptr).background) as usize - ptr as usize },
72791        112usize,
72792        concat!(
72793            "Offset of field: ",
72794            stringify!(_VipsForeignSave),
72795            "::",
72796            stringify!(background)
72797        )
72798    );
72799    assert_eq!(
72800        unsafe { ::std::ptr::addr_of!((*ptr).page_height) as usize - ptr as usize },
72801        120usize,
72802        concat!(
72803            "Offset of field: ",
72804            stringify!(_VipsForeignSave),
72805            "::",
72806            stringify!(page_height)
72807        )
72808    );
72809    assert_eq!(
72810        unsafe { ::std::ptr::addr_of!((*ptr).in_) as usize - ptr as usize },
72811        128usize,
72812        concat!(
72813            "Offset of field: ",
72814            stringify!(_VipsForeignSave),
72815            "::",
72816            stringify!(in_)
72817        )
72818    );
72819    assert_eq!(
72820        unsafe { ::std::ptr::addr_of!((*ptr).ready) as usize - ptr as usize },
72821        136usize,
72822        concat!(
72823            "Offset of field: ",
72824            stringify!(_VipsForeignSave),
72825            "::",
72826            stringify!(ready)
72827        )
72828    );
72829}
72830pub type VipsForeignSave = _VipsForeignSave;
72831#[repr(C)]
72832#[derive(Debug, Copy, Clone, PartialEq, Eq)]
72833pub struct _VipsForeignSaveClass {
72834    pub parent_class: VipsForeignClass,
72835    pub saveable: VipsSaveable,
72836    pub format_table: *mut VipsBandFormat,
72837    pub coding: [gboolean; 7usize],
72838}
72839#[test]
72840fn bindgen_test_layout__VipsForeignSaveClass() {
72841    const UNINIT: ::std::mem::MaybeUninit<_VipsForeignSaveClass> =
72842        ::std::mem::MaybeUninit::uninit();
72843    let ptr = UNINIT.as_ptr();
72844    assert_eq!(
72845        ::std::mem::size_of::<_VipsForeignSaveClass>(),
72846        424usize,
72847        concat!("Size of: ", stringify!(_VipsForeignSaveClass))
72848    );
72849    assert_eq!(
72850        ::std::mem::align_of::<_VipsForeignSaveClass>(),
72851        8usize,
72852        concat!("Alignment of ", stringify!(_VipsForeignSaveClass))
72853    );
72854    assert_eq!(
72855        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
72856        0usize,
72857        concat!(
72858            "Offset of field: ",
72859            stringify!(_VipsForeignSaveClass),
72860            "::",
72861            stringify!(parent_class)
72862        )
72863    );
72864    assert_eq!(
72865        unsafe { ::std::ptr::addr_of!((*ptr).saveable) as usize - ptr as usize },
72866        376usize,
72867        concat!(
72868            "Offset of field: ",
72869            stringify!(_VipsForeignSaveClass),
72870            "::",
72871            stringify!(saveable)
72872        )
72873    );
72874    assert_eq!(
72875        unsafe { ::std::ptr::addr_of!((*ptr).format_table) as usize - ptr as usize },
72876        384usize,
72877        concat!(
72878            "Offset of field: ",
72879            stringify!(_VipsForeignSaveClass),
72880            "::",
72881            stringify!(format_table)
72882        )
72883    );
72884    assert_eq!(
72885        unsafe { ::std::ptr::addr_of!((*ptr).coding) as usize - ptr as usize },
72886        392usize,
72887        concat!(
72888            "Offset of field: ",
72889            stringify!(_VipsForeignSaveClass),
72890            "::",
72891            stringify!(coding)
72892        )
72893    );
72894}
72895pub type VipsForeignSaveClass = _VipsForeignSaveClass;
72896extern "C" {
72897    pub fn vips_foreign_save_get_type() -> GType;
72898}
72899extern "C" {
72900    pub fn vips_foreign_find_save(
72901        filename: *const ::std::os::raw::c_char,
72902    ) -> *const ::std::os::raw::c_char;
72903}
72904extern "C" {
72905    pub fn vips_foreign_get_suffixes() -> *mut *mut gchar;
72906}
72907extern "C" {
72908    pub fn vips_foreign_find_save_buffer(
72909        suffix: *const ::std::os::raw::c_char,
72910    ) -> *const ::std::os::raw::c_char;
72911}
72912extern "C" {
72913    pub fn vips_foreign_find_save_target(
72914        suffix: *const ::std::os::raw::c_char,
72915    ) -> *const ::std::os::raw::c_char;
72916}
72917extern "C" {
72918    pub fn vips_vipsload(
72919        filename: *const ::std::os::raw::c_char,
72920        out: *mut *mut VipsImage,
72921        ...
72922    ) -> ::std::os::raw::c_int;
72923}
72924extern "C" {
72925    pub fn vips_vipsload_source(
72926        source: *mut VipsSource,
72927        out: *mut *mut VipsImage,
72928        ...
72929    ) -> ::std::os::raw::c_int;
72930}
72931extern "C" {
72932    pub fn vips_vipssave(
72933        in_: *mut VipsImage,
72934        filename: *const ::std::os::raw::c_char,
72935        ...
72936    ) -> ::std::os::raw::c_int;
72937}
72938extern "C" {
72939    pub fn vips_vipssave_target(
72940        in_: *mut VipsImage,
72941        target: *mut VipsTarget,
72942        ...
72943    ) -> ::std::os::raw::c_int;
72944}
72945extern "C" {
72946    pub fn vips_openslideload(
72947        filename: *const ::std::os::raw::c_char,
72948        out: *mut *mut VipsImage,
72949        ...
72950    ) -> ::std::os::raw::c_int;
72951}
72952extern "C" {
72953    pub fn vips_openslideload_source(
72954        source: *mut VipsSource,
72955        out: *mut *mut VipsImage,
72956        ...
72957    ) -> ::std::os::raw::c_int;
72958}
72959pub const VipsForeignSubsample_VIPS_FOREIGN_SUBSAMPLE_AUTO: VipsForeignSubsample = 0;
72960pub const VipsForeignSubsample_VIPS_FOREIGN_SUBSAMPLE_ON: VipsForeignSubsample = 1;
72961pub const VipsForeignSubsample_VIPS_FOREIGN_SUBSAMPLE_OFF: VipsForeignSubsample = 2;
72962pub const VipsForeignSubsample_VIPS_FOREIGN_SUBSAMPLE_LAST: VipsForeignSubsample = 3;
72963#[doc = " VipsForeignSubsample:\n @VIPS_FOREIGN_SUBSAMPLE_AUTO: prevent subsampling when quality >= 90\n @VIPS_FOREIGN_SUBSAMPLE_ON: always perform subsampling\n @VIPS_FOREIGN_SUBSAMPLE_OFF: never perform subsampling\n\n Set subsampling mode."]
72964pub type VipsForeignSubsample = ::std::os::raw::c_uint;
72965pub const VipsForeignJpegSubsample_VIPS_FOREIGN_JPEG_SUBSAMPLE_AUTO: VipsForeignJpegSubsample = 0;
72966pub const VipsForeignJpegSubsample_VIPS_FOREIGN_JPEG_SUBSAMPLE_ON: VipsForeignJpegSubsample = 1;
72967pub const VipsForeignJpegSubsample_VIPS_FOREIGN_JPEG_SUBSAMPLE_OFF: VipsForeignJpegSubsample = 2;
72968pub const VipsForeignJpegSubsample_VIPS_FOREIGN_JPEG_SUBSAMPLE_LAST: VipsForeignJpegSubsample = 3;
72969#[doc = " VipsForeignJpegSubsample:\n @VIPS_FOREIGN_JPEG_SUBSAMPLE_AUTO: default preset\n @VIPS_FOREIGN_JPEG_SUBSAMPLE_ON: always perform subsampling\n @VIPS_FOREIGN_JPEG_SUBSAMPLE_OFF: never perform subsampling\n\n Set jpeg subsampling mode.\n\n DEPRECATED: use #VipsForeignSubsample"]
72970pub type VipsForeignJpegSubsample = ::std::os::raw::c_uint;
72971extern "C" {
72972    pub fn vips_jpegload(
72973        filename: *const ::std::os::raw::c_char,
72974        out: *mut *mut VipsImage,
72975        ...
72976    ) -> ::std::os::raw::c_int;
72977}
72978extern "C" {
72979    pub fn vips_jpegload_buffer(
72980        buf: *mut ::std::os::raw::c_void,
72981        len: size_t,
72982        out: *mut *mut VipsImage,
72983        ...
72984    ) -> ::std::os::raw::c_int;
72985}
72986extern "C" {
72987    pub fn vips_jpegload_source(
72988        source: *mut VipsSource,
72989        out: *mut *mut VipsImage,
72990        ...
72991    ) -> ::std::os::raw::c_int;
72992}
72993extern "C" {
72994    pub fn vips_jpegsave_target(
72995        in_: *mut VipsImage,
72996        target: *mut VipsTarget,
72997        ...
72998    ) -> ::std::os::raw::c_int;
72999}
73000extern "C" {
73001    pub fn vips_jpegsave(
73002        in_: *mut VipsImage,
73003        filename: *const ::std::os::raw::c_char,
73004        ...
73005    ) -> ::std::os::raw::c_int;
73006}
73007extern "C" {
73008    pub fn vips_jpegsave_buffer(
73009        in_: *mut VipsImage,
73010        buf: *mut *mut ::std::os::raw::c_void,
73011        len: *mut size_t,
73012        ...
73013    ) -> ::std::os::raw::c_int;
73014}
73015extern "C" {
73016    pub fn vips_jpegsave_mime(in_: *mut VipsImage, ...) -> ::std::os::raw::c_int;
73017}
73018pub const VipsForeignWebpPreset_VIPS_FOREIGN_WEBP_PRESET_DEFAULT: VipsForeignWebpPreset = 0;
73019pub const VipsForeignWebpPreset_VIPS_FOREIGN_WEBP_PRESET_PICTURE: VipsForeignWebpPreset = 1;
73020pub const VipsForeignWebpPreset_VIPS_FOREIGN_WEBP_PRESET_PHOTO: VipsForeignWebpPreset = 2;
73021pub const VipsForeignWebpPreset_VIPS_FOREIGN_WEBP_PRESET_DRAWING: VipsForeignWebpPreset = 3;
73022pub const VipsForeignWebpPreset_VIPS_FOREIGN_WEBP_PRESET_ICON: VipsForeignWebpPreset = 4;
73023pub const VipsForeignWebpPreset_VIPS_FOREIGN_WEBP_PRESET_TEXT: VipsForeignWebpPreset = 5;
73024pub const VipsForeignWebpPreset_VIPS_FOREIGN_WEBP_PRESET_LAST: VipsForeignWebpPreset = 6;
73025#[doc = " VipsForeignWebpPreset:\n @VIPS_FOREIGN_WEBP_PRESET_DEFAULT: default preset\n @VIPS_FOREIGN_WEBP_PRESET_PICTURE: digital picture, like portrait, inner shot\n @VIPS_FOREIGN_WEBP_PRESET_PHOTO: outdoor photograph, with natural lighting\n @VIPS_FOREIGN_WEBP_PRESET_DRAWING: hand or line drawing, with high-contrast details\n @VIPS_FOREIGN_WEBP_PRESET_ICON: small-sized colorful images\n @VIPS_FOREIGN_WEBP_PRESET_TEXT: text-like\n\n Tune lossy encoder settings for different image types."]
73026pub type VipsForeignWebpPreset = ::std::os::raw::c_uint;
73027extern "C" {
73028    pub fn vips_webpload_source(
73029        source: *mut VipsSource,
73030        out: *mut *mut VipsImage,
73031        ...
73032    ) -> ::std::os::raw::c_int;
73033}
73034extern "C" {
73035    pub fn vips_webpload(
73036        filename: *const ::std::os::raw::c_char,
73037        out: *mut *mut VipsImage,
73038        ...
73039    ) -> ::std::os::raw::c_int;
73040}
73041extern "C" {
73042    pub fn vips_webpload_buffer(
73043        buf: *mut ::std::os::raw::c_void,
73044        len: size_t,
73045        out: *mut *mut VipsImage,
73046        ...
73047    ) -> ::std::os::raw::c_int;
73048}
73049extern "C" {
73050    pub fn vips_webpsave_target(
73051        in_: *mut VipsImage,
73052        target: *mut VipsTarget,
73053        ...
73054    ) -> ::std::os::raw::c_int;
73055}
73056extern "C" {
73057    pub fn vips_webpsave(
73058        in_: *mut VipsImage,
73059        filename: *const ::std::os::raw::c_char,
73060        ...
73061    ) -> ::std::os::raw::c_int;
73062}
73063extern "C" {
73064    pub fn vips_webpsave_buffer(
73065        in_: *mut VipsImage,
73066        buf: *mut *mut ::std::os::raw::c_void,
73067        len: *mut size_t,
73068        ...
73069    ) -> ::std::os::raw::c_int;
73070}
73071extern "C" {
73072    pub fn vips_webpsave_mime(in_: *mut VipsImage, ...) -> ::std::os::raw::c_int;
73073}
73074pub const VipsForeignTiffCompression_VIPS_FOREIGN_TIFF_COMPRESSION_NONE:
73075    VipsForeignTiffCompression = 0;
73076pub const VipsForeignTiffCompression_VIPS_FOREIGN_TIFF_COMPRESSION_JPEG:
73077    VipsForeignTiffCompression = 1;
73078pub const VipsForeignTiffCompression_VIPS_FOREIGN_TIFF_COMPRESSION_DEFLATE:
73079    VipsForeignTiffCompression = 2;
73080pub const VipsForeignTiffCompression_VIPS_FOREIGN_TIFF_COMPRESSION_PACKBITS:
73081    VipsForeignTiffCompression = 3;
73082pub const VipsForeignTiffCompression_VIPS_FOREIGN_TIFF_COMPRESSION_CCITTFAX4:
73083    VipsForeignTiffCompression = 4;
73084pub const VipsForeignTiffCompression_VIPS_FOREIGN_TIFF_COMPRESSION_LZW: VipsForeignTiffCompression =
73085    5;
73086pub const VipsForeignTiffCompression_VIPS_FOREIGN_TIFF_COMPRESSION_WEBP:
73087    VipsForeignTiffCompression = 6;
73088pub const VipsForeignTiffCompression_VIPS_FOREIGN_TIFF_COMPRESSION_ZSTD:
73089    VipsForeignTiffCompression = 7;
73090pub const VipsForeignTiffCompression_VIPS_FOREIGN_TIFF_COMPRESSION_JP2K:
73091    VipsForeignTiffCompression = 8;
73092pub const VipsForeignTiffCompression_VIPS_FOREIGN_TIFF_COMPRESSION_LAST:
73093    VipsForeignTiffCompression = 9;
73094#[doc = " VipsForeignTiffCompression:\n @VIPS_FOREIGN_TIFF_COMPRESSION_NONE: no compression\n @VIPS_FOREIGN_TIFF_COMPRESSION_JPEG: jpeg compression\n @VIPS_FOREIGN_TIFF_COMPRESSION_DEFLATE: deflate (zip) compression\n @VIPS_FOREIGN_TIFF_COMPRESSION_PACKBITS: packbits compression\n @VIPS_FOREIGN_TIFF_COMPRESSION_CCITTFAX4: fax4 compression\n @VIPS_FOREIGN_TIFF_COMPRESSION_LZW: LZW compression\n @VIPS_FOREIGN_TIFF_COMPRESSION_WEBP: WEBP compression\n @VIPS_FOREIGN_TIFF_COMPRESSION_ZSTD: ZSTD compression\n @VIPS_FOREIGN_TIFF_COMPRESSION_JP2K: JP2K compression\n\n The compression types supported by the tiff writer.\n\n Use @Q to set the jpeg compression level, default 75.\n\n Use @predictor to set the lzw or deflate prediction, default horizontal.\n\n Use @lossless to set WEBP lossless compression.\n\n Use @level to set webp and zstd compression level."]
73095pub type VipsForeignTiffCompression = ::std::os::raw::c_uint;
73096pub const VipsForeignTiffPredictor_VIPS_FOREIGN_TIFF_PREDICTOR_NONE: VipsForeignTiffPredictor = 1;
73097pub const VipsForeignTiffPredictor_VIPS_FOREIGN_TIFF_PREDICTOR_HORIZONTAL:
73098    VipsForeignTiffPredictor = 2;
73099pub const VipsForeignTiffPredictor_VIPS_FOREIGN_TIFF_PREDICTOR_FLOAT: VipsForeignTiffPredictor = 3;
73100pub const VipsForeignTiffPredictor_VIPS_FOREIGN_TIFF_PREDICTOR_LAST: VipsForeignTiffPredictor = 4;
73101#[doc = " VipsForeignTiffPredictor:\n @VIPS_FOREIGN_TIFF_PREDICTOR_NONE: no prediction\n @VIPS_FOREIGN_TIFF_PREDICTOR_HORIZONTAL: horizontal differencing\n @VIPS_FOREIGN_TIFF_PREDICTOR_FLOAT: float predictor\n\n The predictor can help deflate and lzw compression. The values are fixed by\n the tiff library."]
73102pub type VipsForeignTiffPredictor = ::std::os::raw::c_uint;
73103pub const VipsForeignTiffResunit_VIPS_FOREIGN_TIFF_RESUNIT_CM: VipsForeignTiffResunit = 0;
73104pub const VipsForeignTiffResunit_VIPS_FOREIGN_TIFF_RESUNIT_INCH: VipsForeignTiffResunit = 1;
73105pub const VipsForeignTiffResunit_VIPS_FOREIGN_TIFF_RESUNIT_LAST: VipsForeignTiffResunit = 2;
73106#[doc = " VipsForeignTiffResunit:\n @VIPS_FOREIGN_TIFF_RESUNIT_CM: use centimeters\n @VIPS_FOREIGN_TIFF_RESUNIT_INCH: use inches\n\n Use inches or centimeters as the resolution unit for a tiff file."]
73107pub type VipsForeignTiffResunit = ::std::os::raw::c_uint;
73108extern "C" {
73109    pub fn vips_tiffload(
73110        filename: *const ::std::os::raw::c_char,
73111        out: *mut *mut VipsImage,
73112        ...
73113    ) -> ::std::os::raw::c_int;
73114}
73115extern "C" {
73116    pub fn vips_tiffload_buffer(
73117        buf: *mut ::std::os::raw::c_void,
73118        len: size_t,
73119        out: *mut *mut VipsImage,
73120        ...
73121    ) -> ::std::os::raw::c_int;
73122}
73123extern "C" {
73124    pub fn vips_tiffload_source(
73125        source: *mut VipsSource,
73126        out: *mut *mut VipsImage,
73127        ...
73128    ) -> ::std::os::raw::c_int;
73129}
73130extern "C" {
73131    pub fn vips_tiffsave(
73132        in_: *mut VipsImage,
73133        filename: *const ::std::os::raw::c_char,
73134        ...
73135    ) -> ::std::os::raw::c_int;
73136}
73137extern "C" {
73138    pub fn vips_tiffsave_buffer(
73139        in_: *mut VipsImage,
73140        buf: *mut *mut ::std::os::raw::c_void,
73141        len: *mut size_t,
73142        ...
73143    ) -> ::std::os::raw::c_int;
73144}
73145extern "C" {
73146    pub fn vips_tiffsave_target(
73147        in_: *mut VipsImage,
73148        target: *mut VipsTarget,
73149        ...
73150    ) -> ::std::os::raw::c_int;
73151}
73152extern "C" {
73153    pub fn vips_openexrload(
73154        filename: *const ::std::os::raw::c_char,
73155        out: *mut *mut VipsImage,
73156        ...
73157    ) -> ::std::os::raw::c_int;
73158}
73159extern "C" {
73160    pub fn vips_fitsload(
73161        filename: *const ::std::os::raw::c_char,
73162        out: *mut *mut VipsImage,
73163        ...
73164    ) -> ::std::os::raw::c_int;
73165}
73166extern "C" {
73167    pub fn vips_fitssave(
73168        in_: *mut VipsImage,
73169        filename: *const ::std::os::raw::c_char,
73170        ...
73171    ) -> ::std::os::raw::c_int;
73172}
73173extern "C" {
73174    pub fn vips_analyzeload(
73175        filename: *const ::std::os::raw::c_char,
73176        out: *mut *mut VipsImage,
73177        ...
73178    ) -> ::std::os::raw::c_int;
73179}
73180extern "C" {
73181    pub fn vips_rawload(
73182        filename: *const ::std::os::raw::c_char,
73183        out: *mut *mut VipsImage,
73184        width: ::std::os::raw::c_int,
73185        height: ::std::os::raw::c_int,
73186        bands: ::std::os::raw::c_int,
73187        ...
73188    ) -> ::std::os::raw::c_int;
73189}
73190extern "C" {
73191    pub fn vips_rawsave(
73192        in_: *mut VipsImage,
73193        filename: *const ::std::os::raw::c_char,
73194        ...
73195    ) -> ::std::os::raw::c_int;
73196}
73197extern "C" {
73198    pub fn vips_rawsave_fd(
73199        in_: *mut VipsImage,
73200        fd: ::std::os::raw::c_int,
73201        ...
73202    ) -> ::std::os::raw::c_int;
73203}
73204extern "C" {
73205    pub fn vips_csvload(
73206        filename: *const ::std::os::raw::c_char,
73207        out: *mut *mut VipsImage,
73208        ...
73209    ) -> ::std::os::raw::c_int;
73210}
73211extern "C" {
73212    pub fn vips_csvload_source(
73213        source: *mut VipsSource,
73214        out: *mut *mut VipsImage,
73215        ...
73216    ) -> ::std::os::raw::c_int;
73217}
73218extern "C" {
73219    pub fn vips_csvsave(
73220        in_: *mut VipsImage,
73221        filename: *const ::std::os::raw::c_char,
73222        ...
73223    ) -> ::std::os::raw::c_int;
73224}
73225extern "C" {
73226    pub fn vips_csvsave_target(
73227        in_: *mut VipsImage,
73228        target: *mut VipsTarget,
73229        ...
73230    ) -> ::std::os::raw::c_int;
73231}
73232extern "C" {
73233    pub fn vips_matrixload(
73234        filename: *const ::std::os::raw::c_char,
73235        out: *mut *mut VipsImage,
73236        ...
73237    ) -> ::std::os::raw::c_int;
73238}
73239extern "C" {
73240    pub fn vips_matrixload_source(
73241        source: *mut VipsSource,
73242        out: *mut *mut VipsImage,
73243        ...
73244    ) -> ::std::os::raw::c_int;
73245}
73246extern "C" {
73247    pub fn vips_matrixsave(
73248        in_: *mut VipsImage,
73249        filename: *const ::std::os::raw::c_char,
73250        ...
73251    ) -> ::std::os::raw::c_int;
73252}
73253extern "C" {
73254    pub fn vips_matrixsave_target(
73255        in_: *mut VipsImage,
73256        target: *mut VipsTarget,
73257        ...
73258    ) -> ::std::os::raw::c_int;
73259}
73260extern "C" {
73261    pub fn vips_matrixprint(in_: *mut VipsImage, ...) -> ::std::os::raw::c_int;
73262}
73263extern "C" {
73264    pub fn vips_magickload(
73265        filename: *const ::std::os::raw::c_char,
73266        out: *mut *mut VipsImage,
73267        ...
73268    ) -> ::std::os::raw::c_int;
73269}
73270extern "C" {
73271    pub fn vips_magickload_buffer(
73272        buf: *mut ::std::os::raw::c_void,
73273        len: size_t,
73274        out: *mut *mut VipsImage,
73275        ...
73276    ) -> ::std::os::raw::c_int;
73277}
73278extern "C" {
73279    pub fn vips_magicksave(
73280        in_: *mut VipsImage,
73281        filename: *const ::std::os::raw::c_char,
73282        ...
73283    ) -> ::std::os::raw::c_int;
73284}
73285extern "C" {
73286    pub fn vips_magicksave_buffer(
73287        in_: *mut VipsImage,
73288        buf: *mut *mut ::std::os::raw::c_void,
73289        len: *mut size_t,
73290        ...
73291    ) -> ::std::os::raw::c_int;
73292}
73293pub const VipsForeignPngFilter_VIPS_FOREIGN_PNG_FILTER_NONE: VipsForeignPngFilter = 8;
73294pub const VipsForeignPngFilter_VIPS_FOREIGN_PNG_FILTER_SUB: VipsForeignPngFilter = 16;
73295pub const VipsForeignPngFilter_VIPS_FOREIGN_PNG_FILTER_UP: VipsForeignPngFilter = 32;
73296pub const VipsForeignPngFilter_VIPS_FOREIGN_PNG_FILTER_AVG: VipsForeignPngFilter = 64;
73297pub const VipsForeignPngFilter_VIPS_FOREIGN_PNG_FILTER_PAETH: VipsForeignPngFilter = 128;
73298pub const VipsForeignPngFilter_VIPS_FOREIGN_PNG_FILTER_ALL: VipsForeignPngFilter = 248;
73299#[doc = " VipsForeignPngFilter:\n @VIPS_FOREIGN_PNG_FILTER_NONE: no filtering\n @VIPS_FOREIGN_PNG_FILTER_SUB: difference to the left\n @VIPS_FOREIGN_PNG_FILTER_UP: difference up\n @VIPS_FOREIGN_PNG_FILTER_AVG: average of left and up\n @VIPS_FOREIGN_PNG_FILTER_PAETH: pick best neighbor predictor automatically\n @VIPS_FOREIGN_PNG_FILTER_ALL: adaptive\n\n http://www.w3.org/TR/PNG-Filters.html\n The values mirror those of png.h in libpng."]
73300pub type VipsForeignPngFilter = ::std::os::raw::c_uint;
73301extern "C" {
73302    pub fn vips_pngload_source(
73303        source: *mut VipsSource,
73304        out: *mut *mut VipsImage,
73305        ...
73306    ) -> ::std::os::raw::c_int;
73307}
73308extern "C" {
73309    pub fn vips_pngload(
73310        filename: *const ::std::os::raw::c_char,
73311        out: *mut *mut VipsImage,
73312        ...
73313    ) -> ::std::os::raw::c_int;
73314}
73315extern "C" {
73316    pub fn vips_pngload_buffer(
73317        buf: *mut ::std::os::raw::c_void,
73318        len: size_t,
73319        out: *mut *mut VipsImage,
73320        ...
73321    ) -> ::std::os::raw::c_int;
73322}
73323extern "C" {
73324    pub fn vips_pngsave_target(
73325        in_: *mut VipsImage,
73326        target: *mut VipsTarget,
73327        ...
73328    ) -> ::std::os::raw::c_int;
73329}
73330extern "C" {
73331    pub fn vips_pngsave(
73332        in_: *mut VipsImage,
73333        filename: *const ::std::os::raw::c_char,
73334        ...
73335    ) -> ::std::os::raw::c_int;
73336}
73337extern "C" {
73338    pub fn vips_pngsave_buffer(
73339        in_: *mut VipsImage,
73340        buf: *mut *mut ::std::os::raw::c_void,
73341        len: *mut size_t,
73342        ...
73343    ) -> ::std::os::raw::c_int;
73344}
73345pub const VipsForeignPpmFormat_VIPS_FOREIGN_PPM_FORMAT_PBM: VipsForeignPpmFormat = 0;
73346pub const VipsForeignPpmFormat_VIPS_FOREIGN_PPM_FORMAT_PGM: VipsForeignPpmFormat = 1;
73347pub const VipsForeignPpmFormat_VIPS_FOREIGN_PPM_FORMAT_PPM: VipsForeignPpmFormat = 2;
73348pub const VipsForeignPpmFormat_VIPS_FOREIGN_PPM_FORMAT_PFM: VipsForeignPpmFormat = 3;
73349pub const VipsForeignPpmFormat_VIPS_FOREIGN_PPM_FORMAT_PNM: VipsForeignPpmFormat = 4;
73350pub const VipsForeignPpmFormat_VIPS_FOREIGN_PPM_FORMAT_LAST: VipsForeignPpmFormat = 5;
73351#[doc = " VipsForeignPpmFormat:\n @VIPS_FOREIGN_PPM_FORMAT_PBM: portable bitmap\n @VIPS_FOREIGN_PPM_FORMAT_PGM: portable greymap\n @VIPS_FOREIGN_PPM_FORMAT_PPM: portable pixmap\n @VIPS_FOREIGN_PPM_FORMAT_PFM: portable float map\n @VIPS_FOREIGN_PPM_FORMAT_PNM: portable anymap\n\n The netpbm file format to save as.\n\n #VIPS_FOREIGN_PPM_FORMAT_PBM images are single bit.\n\n #VIPS_FOREIGN_PPM_FORMAT_PGM images are 8, 16, or 32-bits, one band.\n\n #VIPS_FOREIGN_PPM_FORMAT_PPM images are 8, 16, or 32-bits, three bands.\n\n #VIPS_FOREIGN_PPM_FORMAT_PFM images are 32-bit float pixels.\n\n #VIPS_FOREIGN_PPM_FORMAT_PNM images are anymap images -- the image format\n is used to pick the saver.\n"]
73352pub type VipsForeignPpmFormat = ::std::os::raw::c_uint;
73353extern "C" {
73354    pub fn vips_ppmload(
73355        filename: *const ::std::os::raw::c_char,
73356        out: *mut *mut VipsImage,
73357        ...
73358    ) -> ::std::os::raw::c_int;
73359}
73360extern "C" {
73361    pub fn vips_ppmload_source(
73362        source: *mut VipsSource,
73363        out: *mut *mut VipsImage,
73364        ...
73365    ) -> ::std::os::raw::c_int;
73366}
73367extern "C" {
73368    pub fn vips_ppmsave(
73369        in_: *mut VipsImage,
73370        filename: *const ::std::os::raw::c_char,
73371        ...
73372    ) -> ::std::os::raw::c_int;
73373}
73374extern "C" {
73375    pub fn vips_ppmsave_target(
73376        in_: *mut VipsImage,
73377        target: *mut VipsTarget,
73378        ...
73379    ) -> ::std::os::raw::c_int;
73380}
73381extern "C" {
73382    pub fn vips_matload(
73383        filename: *const ::std::os::raw::c_char,
73384        out: *mut *mut VipsImage,
73385        ...
73386    ) -> ::std::os::raw::c_int;
73387}
73388extern "C" {
73389    pub fn vips_radload_source(
73390        source: *mut VipsSource,
73391        out: *mut *mut VipsImage,
73392        ...
73393    ) -> ::std::os::raw::c_int;
73394}
73395extern "C" {
73396    pub fn vips_radload(
73397        filename: *const ::std::os::raw::c_char,
73398        out: *mut *mut VipsImage,
73399        ...
73400    ) -> ::std::os::raw::c_int;
73401}
73402extern "C" {
73403    pub fn vips_radload_buffer(
73404        buf: *mut ::std::os::raw::c_void,
73405        len: size_t,
73406        out: *mut *mut VipsImage,
73407        ...
73408    ) -> ::std::os::raw::c_int;
73409}
73410extern "C" {
73411    pub fn vips_radsave(
73412        in_: *mut VipsImage,
73413        filename: *const ::std::os::raw::c_char,
73414        ...
73415    ) -> ::std::os::raw::c_int;
73416}
73417extern "C" {
73418    pub fn vips_radsave_buffer(
73419        in_: *mut VipsImage,
73420        buf: *mut *mut ::std::os::raw::c_void,
73421        len: *mut size_t,
73422        ...
73423    ) -> ::std::os::raw::c_int;
73424}
73425extern "C" {
73426    pub fn vips_radsave_target(
73427        in_: *mut VipsImage,
73428        target: *mut VipsTarget,
73429        ...
73430    ) -> ::std::os::raw::c_int;
73431}
73432extern "C" {
73433    pub fn vips_pdfload(
73434        filename: *const ::std::os::raw::c_char,
73435        out: *mut *mut VipsImage,
73436        ...
73437    ) -> ::std::os::raw::c_int;
73438}
73439extern "C" {
73440    pub fn vips_pdfload_buffer(
73441        buf: *mut ::std::os::raw::c_void,
73442        len: size_t,
73443        out: *mut *mut VipsImage,
73444        ...
73445    ) -> ::std::os::raw::c_int;
73446}
73447extern "C" {
73448    pub fn vips_pdfload_source(
73449        source: *mut VipsSource,
73450        out: *mut *mut VipsImage,
73451        ...
73452    ) -> ::std::os::raw::c_int;
73453}
73454extern "C" {
73455    pub fn vips_svgload(
73456        filename: *const ::std::os::raw::c_char,
73457        out: *mut *mut VipsImage,
73458        ...
73459    ) -> ::std::os::raw::c_int;
73460}
73461extern "C" {
73462    pub fn vips_svgload_buffer(
73463        buf: *mut ::std::os::raw::c_void,
73464        len: size_t,
73465        out: *mut *mut VipsImage,
73466        ...
73467    ) -> ::std::os::raw::c_int;
73468}
73469extern "C" {
73470    pub fn vips_svgload_string(
73471        str_: *const ::std::os::raw::c_char,
73472        out: *mut *mut VipsImage,
73473        ...
73474    ) -> ::std::os::raw::c_int;
73475}
73476extern "C" {
73477    pub fn vips_svgload_source(
73478        source: *mut VipsSource,
73479        out: *mut *mut VipsImage,
73480        ...
73481    ) -> ::std::os::raw::c_int;
73482}
73483extern "C" {
73484    pub fn vips_gifload(
73485        filename: *const ::std::os::raw::c_char,
73486        out: *mut *mut VipsImage,
73487        ...
73488    ) -> ::std::os::raw::c_int;
73489}
73490extern "C" {
73491    pub fn vips_gifload_buffer(
73492        buf: *mut ::std::os::raw::c_void,
73493        len: size_t,
73494        out: *mut *mut VipsImage,
73495        ...
73496    ) -> ::std::os::raw::c_int;
73497}
73498extern "C" {
73499    pub fn vips_gifload_source(
73500        source: *mut VipsSource,
73501        out: *mut *mut VipsImage,
73502        ...
73503    ) -> ::std::os::raw::c_int;
73504}
73505extern "C" {
73506    pub fn vips_gifsave(
73507        in_: *mut VipsImage,
73508        filename: *const ::std::os::raw::c_char,
73509        ...
73510    ) -> ::std::os::raw::c_int;
73511}
73512extern "C" {
73513    pub fn vips_gifsave_buffer(
73514        in_: *mut VipsImage,
73515        buf: *mut *mut ::std::os::raw::c_void,
73516        len: *mut size_t,
73517        ...
73518    ) -> ::std::os::raw::c_int;
73519}
73520extern "C" {
73521    pub fn vips_gifsave_target(
73522        in_: *mut VipsImage,
73523        target: *mut VipsTarget,
73524        ...
73525    ) -> ::std::os::raw::c_int;
73526}
73527extern "C" {
73528    pub fn vips_heifload(
73529        filename: *const ::std::os::raw::c_char,
73530        out: *mut *mut VipsImage,
73531        ...
73532    ) -> ::std::os::raw::c_int;
73533}
73534extern "C" {
73535    pub fn vips_heifload_buffer(
73536        buf: *mut ::std::os::raw::c_void,
73537        len: size_t,
73538        out: *mut *mut VipsImage,
73539        ...
73540    ) -> ::std::os::raw::c_int;
73541}
73542extern "C" {
73543    pub fn vips_heifload_source(
73544        source: *mut VipsSource,
73545        out: *mut *mut VipsImage,
73546        ...
73547    ) -> ::std::os::raw::c_int;
73548}
73549extern "C" {
73550    pub fn vips_heifsave(
73551        in_: *mut VipsImage,
73552        filename: *const ::std::os::raw::c_char,
73553        ...
73554    ) -> ::std::os::raw::c_int;
73555}
73556extern "C" {
73557    pub fn vips_heifsave_buffer(
73558        in_: *mut VipsImage,
73559        buf: *mut *mut ::std::os::raw::c_void,
73560        len: *mut size_t,
73561        ...
73562    ) -> ::std::os::raw::c_int;
73563}
73564extern "C" {
73565    pub fn vips_heifsave_target(
73566        in_: *mut VipsImage,
73567        target: *mut VipsTarget,
73568        ...
73569    ) -> ::std::os::raw::c_int;
73570}
73571extern "C" {
73572    pub fn vips_niftiload(
73573        filename: *const ::std::os::raw::c_char,
73574        out: *mut *mut VipsImage,
73575        ...
73576    ) -> ::std::os::raw::c_int;
73577}
73578extern "C" {
73579    pub fn vips_niftiload_source(
73580        source: *mut VipsSource,
73581        out: *mut *mut VipsImage,
73582        ...
73583    ) -> ::std::os::raw::c_int;
73584}
73585extern "C" {
73586    pub fn vips_niftisave(
73587        in_: *mut VipsImage,
73588        filename: *const ::std::os::raw::c_char,
73589        ...
73590    ) -> ::std::os::raw::c_int;
73591}
73592extern "C" {
73593    pub fn vips_jp2kload(
73594        filename: *const ::std::os::raw::c_char,
73595        out: *mut *mut VipsImage,
73596        ...
73597    ) -> ::std::os::raw::c_int;
73598}
73599extern "C" {
73600    pub fn vips_jp2kload_buffer(
73601        buf: *mut ::std::os::raw::c_void,
73602        len: size_t,
73603        out: *mut *mut VipsImage,
73604        ...
73605    ) -> ::std::os::raw::c_int;
73606}
73607extern "C" {
73608    pub fn vips_jp2kload_source(
73609        source: *mut VipsSource,
73610        out: *mut *mut VipsImage,
73611        ...
73612    ) -> ::std::os::raw::c_int;
73613}
73614extern "C" {
73615    pub fn vips_jp2ksave(
73616        in_: *mut VipsImage,
73617        filename: *const ::std::os::raw::c_char,
73618        ...
73619    ) -> ::std::os::raw::c_int;
73620}
73621extern "C" {
73622    pub fn vips_jp2ksave_buffer(
73623        in_: *mut VipsImage,
73624        buf: *mut *mut ::std::os::raw::c_void,
73625        len: *mut size_t,
73626        ...
73627    ) -> ::std::os::raw::c_int;
73628}
73629extern "C" {
73630    pub fn vips_jp2ksave_target(
73631        in_: *mut VipsImage,
73632        target: *mut VipsTarget,
73633        ...
73634    ) -> ::std::os::raw::c_int;
73635}
73636extern "C" {
73637    pub fn vips_jxlload_source(
73638        source: *mut VipsSource,
73639        out: *mut *mut VipsImage,
73640        ...
73641    ) -> ::std::os::raw::c_int;
73642}
73643extern "C" {
73644    pub fn vips_jxlload_buffer(
73645        buf: *mut ::std::os::raw::c_void,
73646        len: size_t,
73647        out: *mut *mut VipsImage,
73648        ...
73649    ) -> ::std::os::raw::c_int;
73650}
73651extern "C" {
73652    pub fn vips_jxlload(
73653        filename: *const ::std::os::raw::c_char,
73654        out: *mut *mut VipsImage,
73655        ...
73656    ) -> ::std::os::raw::c_int;
73657}
73658extern "C" {
73659    pub fn vips_jxlsave(
73660        in_: *mut VipsImage,
73661        filename: *const ::std::os::raw::c_char,
73662        ...
73663    ) -> ::std::os::raw::c_int;
73664}
73665extern "C" {
73666    pub fn vips_jxlsave_buffer(
73667        in_: *mut VipsImage,
73668        buf: *mut *mut ::std::os::raw::c_void,
73669        len: *mut size_t,
73670        ...
73671    ) -> ::std::os::raw::c_int;
73672}
73673extern "C" {
73674    pub fn vips_jxlsave_target(
73675        in_: *mut VipsImage,
73676        target: *mut VipsTarget,
73677        ...
73678    ) -> ::std::os::raw::c_int;
73679}
73680pub const VipsForeignDzLayout_VIPS_FOREIGN_DZ_LAYOUT_DZ: VipsForeignDzLayout = 0;
73681pub const VipsForeignDzLayout_VIPS_FOREIGN_DZ_LAYOUT_ZOOMIFY: VipsForeignDzLayout = 1;
73682pub const VipsForeignDzLayout_VIPS_FOREIGN_DZ_LAYOUT_GOOGLE: VipsForeignDzLayout = 2;
73683pub const VipsForeignDzLayout_VIPS_FOREIGN_DZ_LAYOUT_IIIF: VipsForeignDzLayout = 3;
73684pub const VipsForeignDzLayout_VIPS_FOREIGN_DZ_LAYOUT_IIIF3: VipsForeignDzLayout = 4;
73685pub const VipsForeignDzLayout_VIPS_FOREIGN_DZ_LAYOUT_LAST: VipsForeignDzLayout = 5;
73686#[doc = " VipsForeignDzLayout:\n @VIPS_FOREIGN_DZ_LAYOUT_DZ: use DeepZoom directory layout\n @VIPS_FOREIGN_DZ_LAYOUT_ZOOMIFY: use Zoomify directory layout\n @VIPS_FOREIGN_DZ_LAYOUT_GOOGLE: use Google maps directory layout\n @VIPS_FOREIGN_DZ_LAYOUT_IIIF: use IIIF v2 directory layout\n @VIPS_FOREIGN_DZ_LAYOUT_IIIF3: use IIIF v3 directory layout\n\n What directory layout and metadata standard to use."]
73687pub type VipsForeignDzLayout = ::std::os::raw::c_uint;
73688pub const VipsForeignDzDepth_VIPS_FOREIGN_DZ_DEPTH_ONEPIXEL: VipsForeignDzDepth = 0;
73689pub const VipsForeignDzDepth_VIPS_FOREIGN_DZ_DEPTH_ONETILE: VipsForeignDzDepth = 1;
73690pub const VipsForeignDzDepth_VIPS_FOREIGN_DZ_DEPTH_ONE: VipsForeignDzDepth = 2;
73691pub const VipsForeignDzDepth_VIPS_FOREIGN_DZ_DEPTH_LAST: VipsForeignDzDepth = 3;
73692#[doc = " VipsForeignDzDepth:\n @VIPS_FOREIGN_DZ_DEPTH_ONEPIXEL: create layers down to 1x1 pixel\n @VIPS_FOREIGN_DZ_DEPTH_ONETILE: create layers down to 1x1 tile\n @VIPS_FOREIGN_DZ_DEPTH_ONE: only create a single layer\n\n How many pyramid layers to create."]
73693pub type VipsForeignDzDepth = ::std::os::raw::c_uint;
73694pub const VipsForeignDzContainer_VIPS_FOREIGN_DZ_CONTAINER_FS: VipsForeignDzContainer = 0;
73695pub const VipsForeignDzContainer_VIPS_FOREIGN_DZ_CONTAINER_ZIP: VipsForeignDzContainer = 1;
73696pub const VipsForeignDzContainer_VIPS_FOREIGN_DZ_CONTAINER_SZI: VipsForeignDzContainer = 2;
73697pub const VipsForeignDzContainer_VIPS_FOREIGN_DZ_CONTAINER_LAST: VipsForeignDzContainer = 3;
73698#[doc = " VipsForeignDzContainer:\n @VIPS_FOREIGN_DZ_CONTAINER_FS: write tiles to the filesystem\n @VIPS_FOREIGN_DZ_CONTAINER_ZIP: write tiles to a zip file\n @VIPS_FOREIGN_DZ_CONTAINER_SZI: write to a szi file\n\n How many pyramid layers to create."]
73699pub type VipsForeignDzContainer = ::std::os::raw::c_uint;
73700extern "C" {
73701    pub fn vips_dzsave(
73702        in_: *mut VipsImage,
73703        name: *const ::std::os::raw::c_char,
73704        ...
73705    ) -> ::std::os::raw::c_int;
73706}
73707extern "C" {
73708    pub fn vips_dzsave_buffer(
73709        in_: *mut VipsImage,
73710        buf: *mut *mut ::std::os::raw::c_void,
73711        len: *mut size_t,
73712        ...
73713    ) -> ::std::os::raw::c_int;
73714}
73715extern "C" {
73716    pub fn vips_dzsave_target(
73717        in_: *mut VipsImage,
73718        target: *mut VipsTarget,
73719        ...
73720    ) -> ::std::os::raw::c_int;
73721}
73722pub const VipsForeignHeifCompression_VIPS_FOREIGN_HEIF_COMPRESSION_HEVC:
73723    VipsForeignHeifCompression = 1;
73724pub const VipsForeignHeifCompression_VIPS_FOREIGN_HEIF_COMPRESSION_AVC: VipsForeignHeifCompression =
73725    2;
73726pub const VipsForeignHeifCompression_VIPS_FOREIGN_HEIF_COMPRESSION_JPEG:
73727    VipsForeignHeifCompression = 3;
73728pub const VipsForeignHeifCompression_VIPS_FOREIGN_HEIF_COMPRESSION_AV1: VipsForeignHeifCompression =
73729    4;
73730pub const VipsForeignHeifCompression_VIPS_FOREIGN_HEIF_COMPRESSION_LAST:
73731    VipsForeignHeifCompression = 5;
73732#[doc = " VipsForeignHeifCompression:\n @VIPS_FOREIGN_HEIF_COMPRESSION_HEVC: x265\n @VIPS_FOREIGN_HEIF_COMPRESSION_AVC: x264\n @VIPS_FOREIGN_HEIF_COMPRESSION_JPEG: jpeg\n @VIPS_FOREIGN_HEIF_COMPRESSION_AV1: aom\n\n The compression format to use inside a HEIF container.\n\n This is assumed to use the same numbering as %heif_compression_format."]
73733pub type VipsForeignHeifCompression = ::std::os::raw::c_uint;
73734pub const VipsForeignHeifEncoder_VIPS_FOREIGN_HEIF_ENCODER_AUTO: VipsForeignHeifEncoder = 0;
73735pub const VipsForeignHeifEncoder_VIPS_FOREIGN_HEIF_ENCODER_AOM: VipsForeignHeifEncoder = 1;
73736pub const VipsForeignHeifEncoder_VIPS_FOREIGN_HEIF_ENCODER_RAV1E: VipsForeignHeifEncoder = 2;
73737pub const VipsForeignHeifEncoder_VIPS_FOREIGN_HEIF_ENCODER_SVT: VipsForeignHeifEncoder = 3;
73738pub const VipsForeignHeifEncoder_VIPS_FOREIGN_HEIF_ENCODER_X265: VipsForeignHeifEncoder = 4;
73739pub const VipsForeignHeifEncoder_VIPS_FOREIGN_HEIF_ENCODER_LAST: VipsForeignHeifEncoder = 5;
73740#[doc = " VipsForeignHeifEncoder:\n @VIPS_FOREIGN_HEIF_ENCODER_AUTO: auto\n @VIPS_FOREIGN_HEIF_ENCODER_AOM: aom\n @VIPS_FOREIGN_HEIF_ENCODER_RAV1E: RAV1E\n @VIPS_FOREIGN_HEIF_ENCODER_SVT: SVT-AV1\n @VIPS_FOREIGN_HEIF_ENCODER_X265: x265\n\n The selected encoder to use.\n If libheif hasn't been compiled with the selected encoder,\n we will fallback to the default encoder for the compression format.\n"]
73741pub type VipsForeignHeifEncoder = ::std::os::raw::c_uint;
73742extern "C" {
73743    pub fn vips_operation_math_get_type() -> GType;
73744}
73745extern "C" {
73746    pub fn vips_operation_math2_get_type() -> GType;
73747}
73748extern "C" {
73749    pub fn vips_operation_round_get_type() -> GType;
73750}
73751extern "C" {
73752    pub fn vips_operation_relational_get_type() -> GType;
73753}
73754extern "C" {
73755    pub fn vips_operation_boolean_get_type() -> GType;
73756}
73757extern "C" {
73758    pub fn vips_operation_complex_get_type() -> GType;
73759}
73760extern "C" {
73761    pub fn vips_operation_complex2_get_type() -> GType;
73762}
73763extern "C" {
73764    pub fn vips_operation_complexget_get_type() -> GType;
73765}
73766extern "C" {
73767    pub fn vips_precision_get_type() -> GType;
73768}
73769extern "C" {
73770    pub fn vips_intent_get_type() -> GType;
73771}
73772extern "C" {
73773    pub fn vips_pcs_get_type() -> GType;
73774}
73775extern "C" {
73776    pub fn vips_extend_get_type() -> GType;
73777}
73778extern "C" {
73779    pub fn vips_compass_direction_get_type() -> GType;
73780}
73781extern "C" {
73782    pub fn vips_direction_get_type() -> GType;
73783}
73784extern "C" {
73785    pub fn vips_align_get_type() -> GType;
73786}
73787extern "C" {
73788    pub fn vips_angle_get_type() -> GType;
73789}
73790extern "C" {
73791    pub fn vips_angle45_get_type() -> GType;
73792}
73793extern "C" {
73794    pub fn vips_interesting_get_type() -> GType;
73795}
73796extern "C" {
73797    pub fn vips_blend_mode_get_type() -> GType;
73798}
73799extern "C" {
73800    pub fn vips_combine_get_type() -> GType;
73801}
73802extern "C" {
73803    pub fn vips_text_wrap_get_type() -> GType;
73804}
73805extern "C" {
73806    pub fn vips_combine_mode_get_type() -> GType;
73807}
73808extern "C" {
73809    pub fn vips_foreign_flags_get_type() -> GType;
73810}
73811extern "C" {
73812    pub fn vips_fail_on_get_type() -> GType;
73813}
73814extern "C" {
73815    pub fn vips_saveable_get_type() -> GType;
73816}
73817extern "C" {
73818    pub fn vips_foreign_keep_get_type() -> GType;
73819}
73820extern "C" {
73821    pub fn vips_foreign_subsample_get_type() -> GType;
73822}
73823extern "C" {
73824    pub fn vips_foreign_jpeg_subsample_get_type() -> GType;
73825}
73826extern "C" {
73827    pub fn vips_foreign_webp_preset_get_type() -> GType;
73828}
73829extern "C" {
73830    pub fn vips_foreign_tiff_compression_get_type() -> GType;
73831}
73832extern "C" {
73833    pub fn vips_foreign_tiff_predictor_get_type() -> GType;
73834}
73835extern "C" {
73836    pub fn vips_foreign_tiff_resunit_get_type() -> GType;
73837}
73838extern "C" {
73839    pub fn vips_foreign_png_filter_get_type() -> GType;
73840}
73841extern "C" {
73842    pub fn vips_foreign_ppm_format_get_type() -> GType;
73843}
73844extern "C" {
73845    pub fn vips_foreign_dz_layout_get_type() -> GType;
73846}
73847extern "C" {
73848    pub fn vips_foreign_dz_depth_get_type() -> GType;
73849}
73850extern "C" {
73851    pub fn vips_foreign_dz_container_get_type() -> GType;
73852}
73853extern "C" {
73854    pub fn vips_foreign_heif_compression_get_type() -> GType;
73855}
73856extern "C" {
73857    pub fn vips_foreign_heif_encoder_get_type() -> GType;
73858}
73859extern "C" {
73860    pub fn vips_demand_style_get_type() -> GType;
73861}
73862extern "C" {
73863    pub fn vips_image_type_get_type() -> GType;
73864}
73865extern "C" {
73866    pub fn vips_interpretation_get_type() -> GType;
73867}
73868extern "C" {
73869    pub fn vips_band_format_get_type() -> GType;
73870}
73871extern "C" {
73872    pub fn vips_coding_get_type() -> GType;
73873}
73874extern "C" {
73875    pub fn vips_access_get_type() -> GType;
73876}
73877extern "C" {
73878    pub fn vips_operation_morphology_get_type() -> GType;
73879}
73880extern "C" {
73881    pub fn vips_argument_flags_get_type() -> GType;
73882}
73883extern "C" {
73884    pub fn vips_operation_flags_get_type() -> GType;
73885}
73886extern "C" {
73887    pub fn vips_region_shrink_get_type() -> GType;
73888}
73889extern "C" {
73890    pub fn vips_kernel_get_type() -> GType;
73891}
73892extern "C" {
73893    pub fn vips_size_get_type() -> GType;
73894}
73895extern "C" {
73896    pub fn vips_token_get_type() -> GType;
73897}
73898pub const VipsOperationMath_VIPS_OPERATION_MATH_SIN: VipsOperationMath = 0;
73899pub const VipsOperationMath_VIPS_OPERATION_MATH_COS: VipsOperationMath = 1;
73900pub const VipsOperationMath_VIPS_OPERATION_MATH_TAN: VipsOperationMath = 2;
73901pub const VipsOperationMath_VIPS_OPERATION_MATH_ASIN: VipsOperationMath = 3;
73902pub const VipsOperationMath_VIPS_OPERATION_MATH_ACOS: VipsOperationMath = 4;
73903pub const VipsOperationMath_VIPS_OPERATION_MATH_ATAN: VipsOperationMath = 5;
73904pub const VipsOperationMath_VIPS_OPERATION_MATH_LOG: VipsOperationMath = 6;
73905pub const VipsOperationMath_VIPS_OPERATION_MATH_LOG10: VipsOperationMath = 7;
73906pub const VipsOperationMath_VIPS_OPERATION_MATH_EXP: VipsOperationMath = 8;
73907pub const VipsOperationMath_VIPS_OPERATION_MATH_EXP10: VipsOperationMath = 9;
73908pub const VipsOperationMath_VIPS_OPERATION_MATH_SINH: VipsOperationMath = 10;
73909pub const VipsOperationMath_VIPS_OPERATION_MATH_COSH: VipsOperationMath = 11;
73910pub const VipsOperationMath_VIPS_OPERATION_MATH_TANH: VipsOperationMath = 12;
73911pub const VipsOperationMath_VIPS_OPERATION_MATH_ASINH: VipsOperationMath = 13;
73912pub const VipsOperationMath_VIPS_OPERATION_MATH_ACOSH: VipsOperationMath = 14;
73913pub const VipsOperationMath_VIPS_OPERATION_MATH_ATANH: VipsOperationMath = 15;
73914pub const VipsOperationMath_VIPS_OPERATION_MATH_LAST: VipsOperationMath = 16;
73915#[doc = " VipsOperationMath:\n @VIPS_OPERATION_MATH_SIN: sin(), angles in degrees\n @VIPS_OPERATION_MATH_COS: cos(), angles in degrees\n @VIPS_OPERATION_MATH_TAN: tan(), angles in degrees\n @VIPS_OPERATION_MATH_ASIN: asin(), angles in degrees\n @VIPS_OPERATION_MATH_ACOS: acos(), angles in degrees\n @VIPS_OPERATION_MATH_ATAN: atan(), angles in degrees\n @VIPS_OPERATION_MATH_LOG: log base e\n @VIPS_OPERATION_MATH_LOG10: log base 10\n @VIPS_OPERATION_MATH_EXP: e to the something\n @VIPS_OPERATION_MATH_EXP10: 10 to the something\n @VIPS_OPERATION_MATH_SINH: sinh(), angles in radians\n @VIPS_OPERATION_MATH_COSH: cosh(), angles in radians\n @VIPS_OPERATION_MATH_TANH: tanh(), angles in radians\n @VIPS_OPERATION_MATH_ASINH: asinh(), angles in radians\n @VIPS_OPERATION_MATH_ACOSH: acosh(), angles in radians\n @VIPS_OPERATION_MATH_ATANH: atanh(), angles in radians\n\n See also: vips_math()."]
73916pub type VipsOperationMath = ::std::os::raw::c_uint;
73917pub const VipsOperationMath2_VIPS_OPERATION_MATH2_POW: VipsOperationMath2 = 0;
73918pub const VipsOperationMath2_VIPS_OPERATION_MATH2_WOP: VipsOperationMath2 = 1;
73919pub const VipsOperationMath2_VIPS_OPERATION_MATH2_ATAN2: VipsOperationMath2 = 2;
73920pub const VipsOperationMath2_VIPS_OPERATION_MATH2_LAST: VipsOperationMath2 = 3;
73921#[doc = " VipsOperationMath2:\n @VIPS_OPERATION_MATH2_POW: pow(left, right)\n @VIPS_OPERATION_MATH2_WOP: pow(right, left)\n @VIPS_OPERATION_MATH2_ATAN2: atan2(left, right)\n\n See also: vips_math()."]
73922pub type VipsOperationMath2 = ::std::os::raw::c_uint;
73923pub const VipsOperationRound_VIPS_OPERATION_ROUND_RINT: VipsOperationRound = 0;
73924pub const VipsOperationRound_VIPS_OPERATION_ROUND_CEIL: VipsOperationRound = 1;
73925pub const VipsOperationRound_VIPS_OPERATION_ROUND_FLOOR: VipsOperationRound = 2;
73926pub const VipsOperationRound_VIPS_OPERATION_ROUND_LAST: VipsOperationRound = 3;
73927#[doc = " VipsOperationRound:\n @VIPS_OPERATION_ROUND_RINT: round to nearest\n @VIPS_OPERATION_ROUND_FLOOR: largest integral value not greater than\n @VIPS_OPERATION_ROUND_CEIL: the smallest integral value not less than\n\n See also: vips_round()."]
73928pub type VipsOperationRound = ::std::os::raw::c_uint;
73929pub const VipsOperationRelational_VIPS_OPERATION_RELATIONAL_EQUAL: VipsOperationRelational = 0;
73930pub const VipsOperationRelational_VIPS_OPERATION_RELATIONAL_NOTEQ: VipsOperationRelational = 1;
73931pub const VipsOperationRelational_VIPS_OPERATION_RELATIONAL_LESS: VipsOperationRelational = 2;
73932pub const VipsOperationRelational_VIPS_OPERATION_RELATIONAL_LESSEQ: VipsOperationRelational = 3;
73933pub const VipsOperationRelational_VIPS_OPERATION_RELATIONAL_MORE: VipsOperationRelational = 4;
73934pub const VipsOperationRelational_VIPS_OPERATION_RELATIONAL_MOREEQ: VipsOperationRelational = 5;
73935pub const VipsOperationRelational_VIPS_OPERATION_RELATIONAL_LAST: VipsOperationRelational = 6;
73936#[doc = " VipsOperationRelational:\n @VIPS_OPERATION_RELATIONAL_EQUAL: ==\n @VIPS_OPERATION_RELATIONAL_NOTEQ: !=\n @VIPS_OPERATION_RELATIONAL_LESS: <\n @VIPS_OPERATION_RELATIONAL_LESSEQ: <=\n @VIPS_OPERATION_RELATIONAL_MORE: >\n @VIPS_OPERATION_RELATIONAL_MOREEQ: >=\n\n See also: vips_relational()."]
73937pub type VipsOperationRelational = ::std::os::raw::c_uint;
73938pub const VipsOperationBoolean_VIPS_OPERATION_BOOLEAN_AND: VipsOperationBoolean = 0;
73939pub const VipsOperationBoolean_VIPS_OPERATION_BOOLEAN_OR: VipsOperationBoolean = 1;
73940pub const VipsOperationBoolean_VIPS_OPERATION_BOOLEAN_EOR: VipsOperationBoolean = 2;
73941pub const VipsOperationBoolean_VIPS_OPERATION_BOOLEAN_LSHIFT: VipsOperationBoolean = 3;
73942pub const VipsOperationBoolean_VIPS_OPERATION_BOOLEAN_RSHIFT: VipsOperationBoolean = 4;
73943pub const VipsOperationBoolean_VIPS_OPERATION_BOOLEAN_LAST: VipsOperationBoolean = 5;
73944#[doc = " VipsOperationBoolean:\n @VIPS_OPERATION_BOOLEAN_AND: &\n @VIPS_OPERATION_BOOLEAN_OR: |\n @VIPS_OPERATION_BOOLEAN_EOR: ^\n @VIPS_OPERATION_BOOLEAN_LSHIFT: >>\n @VIPS_OPERATION_BOOLEAN_RSHIFT: <<\n\n See also: vips_boolean()."]
73945pub type VipsOperationBoolean = ::std::os::raw::c_uint;
73946pub const VipsOperationComplex_VIPS_OPERATION_COMPLEX_POLAR: VipsOperationComplex = 0;
73947pub const VipsOperationComplex_VIPS_OPERATION_COMPLEX_RECT: VipsOperationComplex = 1;
73948pub const VipsOperationComplex_VIPS_OPERATION_COMPLEX_CONJ: VipsOperationComplex = 2;
73949pub const VipsOperationComplex_VIPS_OPERATION_COMPLEX_LAST: VipsOperationComplex = 3;
73950#[doc = " VipsOperationComplex:\n @VIPS_OPERATION_COMPLEX_POLAR: convert to polar coordinates\n @VIPS_OPERATION_COMPLEX_RECT: convert to rectangular coordinates\n @VIPS_OPERATION_COMPLEX_CONJ: complex conjugate\n\n See also: vips_complex()."]
73951pub type VipsOperationComplex = ::std::os::raw::c_uint;
73952pub const VipsOperationComplex2_VIPS_OPERATION_COMPLEX2_CROSS_PHASE: VipsOperationComplex2 = 0;
73953pub const VipsOperationComplex2_VIPS_OPERATION_COMPLEX2_LAST: VipsOperationComplex2 = 1;
73954#[doc = " VipsOperationComplex2:\n @VIPS_OPERATION_COMPLEX2_CROSS_PHASE: convert to polar coordinates\n\n See also: vips_complex2()."]
73955pub type VipsOperationComplex2 = ::std::os::raw::c_uint;
73956pub const VipsOperationComplexget_VIPS_OPERATION_COMPLEXGET_REAL: VipsOperationComplexget = 0;
73957pub const VipsOperationComplexget_VIPS_OPERATION_COMPLEXGET_IMAG: VipsOperationComplexget = 1;
73958pub const VipsOperationComplexget_VIPS_OPERATION_COMPLEXGET_LAST: VipsOperationComplexget = 2;
73959#[doc = " VipsOperationComplexget:\n @VIPS_OPERATION_COMPLEXGET_REAL: get real component\n @VIPS_OPERATION_COMPLEXGET_IMAG: get imaginary component\n\n See also: vips_complexget()."]
73960pub type VipsOperationComplexget = ::std::os::raw::c_uint;
73961extern "C" {
73962    pub fn vips_add(
73963        left: *mut VipsImage,
73964        right: *mut VipsImage,
73965        out: *mut *mut VipsImage,
73966        ...
73967    ) -> ::std::os::raw::c_int;
73968}
73969extern "C" {
73970    pub fn vips_sum(
73971        in_: *mut *mut VipsImage,
73972        out: *mut *mut VipsImage,
73973        n: ::std::os::raw::c_int,
73974        ...
73975    ) -> ::std::os::raw::c_int;
73976}
73977extern "C" {
73978    pub fn vips_subtract(
73979        in1: *mut VipsImage,
73980        in2: *mut VipsImage,
73981        out: *mut *mut VipsImage,
73982        ...
73983    ) -> ::std::os::raw::c_int;
73984}
73985extern "C" {
73986    pub fn vips_multiply(
73987        left: *mut VipsImage,
73988        right: *mut VipsImage,
73989        out: *mut *mut VipsImage,
73990        ...
73991    ) -> ::std::os::raw::c_int;
73992}
73993extern "C" {
73994    pub fn vips_divide(
73995        left: *mut VipsImage,
73996        right: *mut VipsImage,
73997        out: *mut *mut VipsImage,
73998        ...
73999    ) -> ::std::os::raw::c_int;
74000}
74001extern "C" {
74002    pub fn vips_linear(
74003        in_: *mut VipsImage,
74004        out: *mut *mut VipsImage,
74005        a: *const f64,
74006        b: *const f64,
74007        n: ::std::os::raw::c_int,
74008        ...
74009    ) -> ::std::os::raw::c_int;
74010}
74011extern "C" {
74012    pub fn vips_linear1(
74013        in_: *mut VipsImage,
74014        out: *mut *mut VipsImage,
74015        a: f64,
74016        b: f64,
74017        ...
74018    ) -> ::std::os::raw::c_int;
74019}
74020extern "C" {
74021    pub fn vips_remainder(
74022        left: *mut VipsImage,
74023        right: *mut VipsImage,
74024        out: *mut *mut VipsImage,
74025        ...
74026    ) -> ::std::os::raw::c_int;
74027}
74028extern "C" {
74029    pub fn vips_remainder_const(
74030        in_: *mut VipsImage,
74031        out: *mut *mut VipsImage,
74032        c: *const f64,
74033        n: ::std::os::raw::c_int,
74034        ...
74035    ) -> ::std::os::raw::c_int;
74036}
74037extern "C" {
74038    pub fn vips_remainder_const1(
74039        in_: *mut VipsImage,
74040        out: *mut *mut VipsImage,
74041        c: f64,
74042        ...
74043    ) -> ::std::os::raw::c_int;
74044}
74045extern "C" {
74046    pub fn vips_invert(in_: *mut VipsImage, out: *mut *mut VipsImage, ...)
74047        -> ::std::os::raw::c_int;
74048}
74049extern "C" {
74050    pub fn vips_abs(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74051}
74052extern "C" {
74053    pub fn vips_sign(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74054}
74055extern "C" {
74056    pub fn vips_round(
74057        in_: *mut VipsImage,
74058        out: *mut *mut VipsImage,
74059        round: VipsOperationRound,
74060        ...
74061    ) -> ::std::os::raw::c_int;
74062}
74063extern "C" {
74064    pub fn vips_floor(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74065}
74066extern "C" {
74067    pub fn vips_ceil(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74068}
74069extern "C" {
74070    pub fn vips_rint(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74071}
74072extern "C" {
74073    pub fn vips_math(
74074        in_: *mut VipsImage,
74075        out: *mut *mut VipsImage,
74076        math: VipsOperationMath,
74077        ...
74078    ) -> ::std::os::raw::c_int;
74079}
74080extern "C" {
74081    pub fn vips_sin(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74082}
74083extern "C" {
74084    pub fn vips_cos(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74085}
74086extern "C" {
74087    pub fn vips_tan(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74088}
74089extern "C" {
74090    pub fn vips_asin(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74091}
74092extern "C" {
74093    pub fn vips_acos(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74094}
74095extern "C" {
74096    pub fn vips_atan(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74097}
74098extern "C" {
74099    pub fn vips_exp(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74100}
74101extern "C" {
74102    pub fn vips_exp10(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74103}
74104extern "C" {
74105    pub fn vips_log(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74106}
74107extern "C" {
74108    pub fn vips_log10(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74109}
74110extern "C" {
74111    pub fn vips_sinh(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74112}
74113extern "C" {
74114    pub fn vips_cosh(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74115}
74116extern "C" {
74117    pub fn vips_tanh(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74118}
74119extern "C" {
74120    pub fn vips_asinh(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74121}
74122extern "C" {
74123    pub fn vips_acosh(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74124}
74125extern "C" {
74126    pub fn vips_atanh(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74127}
74128extern "C" {
74129    pub fn vips_complex(
74130        in_: *mut VipsImage,
74131        out: *mut *mut VipsImage,
74132        cmplx: VipsOperationComplex,
74133        ...
74134    ) -> ::std::os::raw::c_int;
74135}
74136extern "C" {
74137    pub fn vips_polar(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74138}
74139extern "C" {
74140    pub fn vips_rect(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74141}
74142extern "C" {
74143    pub fn vips_conj(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74144}
74145extern "C" {
74146    pub fn vips_complex2(
74147        left: *mut VipsImage,
74148        right: *mut VipsImage,
74149        out: *mut *mut VipsImage,
74150        cmplx: VipsOperationComplex2,
74151        ...
74152    ) -> ::std::os::raw::c_int;
74153}
74154extern "C" {
74155    pub fn vips_cross_phase(
74156        left: *mut VipsImage,
74157        right: *mut VipsImage,
74158        out: *mut *mut VipsImage,
74159        ...
74160    ) -> ::std::os::raw::c_int;
74161}
74162extern "C" {
74163    pub fn vips_complexget(
74164        in_: *mut VipsImage,
74165        out: *mut *mut VipsImage,
74166        get: VipsOperationComplexget,
74167        ...
74168    ) -> ::std::os::raw::c_int;
74169}
74170extern "C" {
74171    pub fn vips_real(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74172}
74173extern "C" {
74174    pub fn vips_imag(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74175}
74176extern "C" {
74177    pub fn vips_complexform(
74178        left: *mut VipsImage,
74179        right: *mut VipsImage,
74180        out: *mut *mut VipsImage,
74181        ...
74182    ) -> ::std::os::raw::c_int;
74183}
74184extern "C" {
74185    pub fn vips_relational(
74186        left: *mut VipsImage,
74187        right: *mut VipsImage,
74188        out: *mut *mut VipsImage,
74189        relational: VipsOperationRelational,
74190        ...
74191    ) -> ::std::os::raw::c_int;
74192}
74193extern "C" {
74194    pub fn vips_equal(
74195        left: *mut VipsImage,
74196        right: *mut VipsImage,
74197        out: *mut *mut VipsImage,
74198        ...
74199    ) -> ::std::os::raw::c_int;
74200}
74201extern "C" {
74202    pub fn vips_notequal(
74203        left: *mut VipsImage,
74204        right: *mut VipsImage,
74205        out: *mut *mut VipsImage,
74206        ...
74207    ) -> ::std::os::raw::c_int;
74208}
74209extern "C" {
74210    pub fn vips_less(
74211        left: *mut VipsImage,
74212        right: *mut VipsImage,
74213        out: *mut *mut VipsImage,
74214        ...
74215    ) -> ::std::os::raw::c_int;
74216}
74217extern "C" {
74218    pub fn vips_lesseq(
74219        left: *mut VipsImage,
74220        right: *mut VipsImage,
74221        out: *mut *mut VipsImage,
74222        ...
74223    ) -> ::std::os::raw::c_int;
74224}
74225extern "C" {
74226    pub fn vips_more(
74227        left: *mut VipsImage,
74228        right: *mut VipsImage,
74229        out: *mut *mut VipsImage,
74230        ...
74231    ) -> ::std::os::raw::c_int;
74232}
74233extern "C" {
74234    pub fn vips_moreeq(
74235        left: *mut VipsImage,
74236        right: *mut VipsImage,
74237        out: *mut *mut VipsImage,
74238        ...
74239    ) -> ::std::os::raw::c_int;
74240}
74241extern "C" {
74242    pub fn vips_relational_const(
74243        in_: *mut VipsImage,
74244        out: *mut *mut VipsImage,
74245        relational: VipsOperationRelational,
74246        c: *const f64,
74247        n: ::std::os::raw::c_int,
74248        ...
74249    ) -> ::std::os::raw::c_int;
74250}
74251extern "C" {
74252    pub fn vips_equal_const(
74253        in_: *mut VipsImage,
74254        out: *mut *mut VipsImage,
74255        c: *const f64,
74256        n: ::std::os::raw::c_int,
74257        ...
74258    ) -> ::std::os::raw::c_int;
74259}
74260extern "C" {
74261    pub fn vips_notequal_const(
74262        in_: *mut VipsImage,
74263        out: *mut *mut VipsImage,
74264        c: *const f64,
74265        n: ::std::os::raw::c_int,
74266        ...
74267    ) -> ::std::os::raw::c_int;
74268}
74269extern "C" {
74270    pub fn vips_less_const(
74271        in_: *mut VipsImage,
74272        out: *mut *mut VipsImage,
74273        c: *const f64,
74274        n: ::std::os::raw::c_int,
74275        ...
74276    ) -> ::std::os::raw::c_int;
74277}
74278extern "C" {
74279    pub fn vips_lesseq_const(
74280        in_: *mut VipsImage,
74281        out: *mut *mut VipsImage,
74282        c: *const f64,
74283        n: ::std::os::raw::c_int,
74284        ...
74285    ) -> ::std::os::raw::c_int;
74286}
74287extern "C" {
74288    pub fn vips_more_const(
74289        in_: *mut VipsImage,
74290        out: *mut *mut VipsImage,
74291        c: *const f64,
74292        n: ::std::os::raw::c_int,
74293        ...
74294    ) -> ::std::os::raw::c_int;
74295}
74296extern "C" {
74297    pub fn vips_moreeq_const(
74298        in_: *mut VipsImage,
74299        out: *mut *mut VipsImage,
74300        c: *const f64,
74301        n: ::std::os::raw::c_int,
74302        ...
74303    ) -> ::std::os::raw::c_int;
74304}
74305extern "C" {
74306    pub fn vips_relational_const1(
74307        in_: *mut VipsImage,
74308        out: *mut *mut VipsImage,
74309        relational: VipsOperationRelational,
74310        c: f64,
74311        ...
74312    ) -> ::std::os::raw::c_int;
74313}
74314extern "C" {
74315    pub fn vips_equal_const1(
74316        in_: *mut VipsImage,
74317        out: *mut *mut VipsImage,
74318        c: f64,
74319        ...
74320    ) -> ::std::os::raw::c_int;
74321}
74322extern "C" {
74323    pub fn vips_notequal_const1(
74324        in_: *mut VipsImage,
74325        out: *mut *mut VipsImage,
74326        c: f64,
74327        ...
74328    ) -> ::std::os::raw::c_int;
74329}
74330extern "C" {
74331    pub fn vips_less_const1(
74332        in_: *mut VipsImage,
74333        out: *mut *mut VipsImage,
74334        c: f64,
74335        ...
74336    ) -> ::std::os::raw::c_int;
74337}
74338extern "C" {
74339    pub fn vips_lesseq_const1(
74340        in_: *mut VipsImage,
74341        out: *mut *mut VipsImage,
74342        c: f64,
74343        ...
74344    ) -> ::std::os::raw::c_int;
74345}
74346extern "C" {
74347    pub fn vips_more_const1(
74348        in_: *mut VipsImage,
74349        out: *mut *mut VipsImage,
74350        c: f64,
74351        ...
74352    ) -> ::std::os::raw::c_int;
74353}
74354extern "C" {
74355    pub fn vips_moreeq_const1(
74356        in_: *mut VipsImage,
74357        out: *mut *mut VipsImage,
74358        c: f64,
74359        ...
74360    ) -> ::std::os::raw::c_int;
74361}
74362extern "C" {
74363    pub fn vips_boolean(
74364        left: *mut VipsImage,
74365        right: *mut VipsImage,
74366        out: *mut *mut VipsImage,
74367        boolean: VipsOperationBoolean,
74368        ...
74369    ) -> ::std::os::raw::c_int;
74370}
74371extern "C" {
74372    pub fn vips_andimage(
74373        left: *mut VipsImage,
74374        right: *mut VipsImage,
74375        out: *mut *mut VipsImage,
74376        ...
74377    ) -> ::std::os::raw::c_int;
74378}
74379extern "C" {
74380    pub fn vips_orimage(
74381        left: *mut VipsImage,
74382        right: *mut VipsImage,
74383        out: *mut *mut VipsImage,
74384        ...
74385    ) -> ::std::os::raw::c_int;
74386}
74387extern "C" {
74388    pub fn vips_eorimage(
74389        left: *mut VipsImage,
74390        right: *mut VipsImage,
74391        out: *mut *mut VipsImage,
74392        ...
74393    ) -> ::std::os::raw::c_int;
74394}
74395extern "C" {
74396    pub fn vips_lshift(
74397        left: *mut VipsImage,
74398        right: *mut VipsImage,
74399        out: *mut *mut VipsImage,
74400        ...
74401    ) -> ::std::os::raw::c_int;
74402}
74403extern "C" {
74404    pub fn vips_rshift(
74405        left: *mut VipsImage,
74406        right: *mut VipsImage,
74407        out: *mut *mut VipsImage,
74408        ...
74409    ) -> ::std::os::raw::c_int;
74410}
74411extern "C" {
74412    pub fn vips_boolean_const(
74413        in_: *mut VipsImage,
74414        out: *mut *mut VipsImage,
74415        boolean: VipsOperationBoolean,
74416        c: *const f64,
74417        n: ::std::os::raw::c_int,
74418        ...
74419    ) -> ::std::os::raw::c_int;
74420}
74421extern "C" {
74422    pub fn vips_andimage_const(
74423        in_: *mut VipsImage,
74424        out: *mut *mut VipsImage,
74425        c: *const f64,
74426        n: ::std::os::raw::c_int,
74427        ...
74428    ) -> ::std::os::raw::c_int;
74429}
74430extern "C" {
74431    pub fn vips_orimage_const(
74432        in_: *mut VipsImage,
74433        out: *mut *mut VipsImage,
74434        c: *const f64,
74435        n: ::std::os::raw::c_int,
74436        ...
74437    ) -> ::std::os::raw::c_int;
74438}
74439extern "C" {
74440    pub fn vips_eorimage_const(
74441        in_: *mut VipsImage,
74442        out: *mut *mut VipsImage,
74443        c: *const f64,
74444        n: ::std::os::raw::c_int,
74445        ...
74446    ) -> ::std::os::raw::c_int;
74447}
74448extern "C" {
74449    pub fn vips_lshift_const(
74450        in_: *mut VipsImage,
74451        out: *mut *mut VipsImage,
74452        c: *const f64,
74453        n: ::std::os::raw::c_int,
74454        ...
74455    ) -> ::std::os::raw::c_int;
74456}
74457extern "C" {
74458    pub fn vips_rshift_const(
74459        in_: *mut VipsImage,
74460        out: *mut *mut VipsImage,
74461        c: *const f64,
74462        n: ::std::os::raw::c_int,
74463        ...
74464    ) -> ::std::os::raw::c_int;
74465}
74466extern "C" {
74467    pub fn vips_boolean_const1(
74468        in_: *mut VipsImage,
74469        out: *mut *mut VipsImage,
74470        boolean: VipsOperationBoolean,
74471        c: f64,
74472        ...
74473    ) -> ::std::os::raw::c_int;
74474}
74475extern "C" {
74476    pub fn vips_andimage_const1(
74477        in_: *mut VipsImage,
74478        out: *mut *mut VipsImage,
74479        c: f64,
74480        ...
74481    ) -> ::std::os::raw::c_int;
74482}
74483extern "C" {
74484    pub fn vips_orimage_const1(
74485        in_: *mut VipsImage,
74486        out: *mut *mut VipsImage,
74487        c: f64,
74488        ...
74489    ) -> ::std::os::raw::c_int;
74490}
74491extern "C" {
74492    pub fn vips_eorimage_const1(
74493        in_: *mut VipsImage,
74494        out: *mut *mut VipsImage,
74495        c: f64,
74496        ...
74497    ) -> ::std::os::raw::c_int;
74498}
74499extern "C" {
74500    pub fn vips_lshift_const1(
74501        in_: *mut VipsImage,
74502        out: *mut *mut VipsImage,
74503        c: f64,
74504        ...
74505    ) -> ::std::os::raw::c_int;
74506}
74507extern "C" {
74508    pub fn vips_rshift_const1(
74509        in_: *mut VipsImage,
74510        out: *mut *mut VipsImage,
74511        c: f64,
74512        ...
74513    ) -> ::std::os::raw::c_int;
74514}
74515extern "C" {
74516    pub fn vips_math2(
74517        left: *mut VipsImage,
74518        right: *mut VipsImage,
74519        out: *mut *mut VipsImage,
74520        math2: VipsOperationMath2,
74521        ...
74522    ) -> ::std::os::raw::c_int;
74523}
74524extern "C" {
74525    pub fn vips_pow(
74526        left: *mut VipsImage,
74527        right: *mut VipsImage,
74528        out: *mut *mut VipsImage,
74529        ...
74530    ) -> ::std::os::raw::c_int;
74531}
74532extern "C" {
74533    pub fn vips_wop(
74534        left: *mut VipsImage,
74535        right: *mut VipsImage,
74536        out: *mut *mut VipsImage,
74537        ...
74538    ) -> ::std::os::raw::c_int;
74539}
74540extern "C" {
74541    pub fn vips_atan2(
74542        left: *mut VipsImage,
74543        right: *mut VipsImage,
74544        out: *mut *mut VipsImage,
74545        ...
74546    ) -> ::std::os::raw::c_int;
74547}
74548extern "C" {
74549    pub fn vips_math2_const(
74550        in_: *mut VipsImage,
74551        out: *mut *mut VipsImage,
74552        math2: VipsOperationMath2,
74553        c: *const f64,
74554        n: ::std::os::raw::c_int,
74555        ...
74556    ) -> ::std::os::raw::c_int;
74557}
74558extern "C" {
74559    pub fn vips_pow_const(
74560        in_: *mut VipsImage,
74561        out: *mut *mut VipsImage,
74562        c: *const f64,
74563        n: ::std::os::raw::c_int,
74564        ...
74565    ) -> ::std::os::raw::c_int;
74566}
74567extern "C" {
74568    pub fn vips_wop_const(
74569        in_: *mut VipsImage,
74570        out: *mut *mut VipsImage,
74571        c: *const f64,
74572        n: ::std::os::raw::c_int,
74573        ...
74574    ) -> ::std::os::raw::c_int;
74575}
74576extern "C" {
74577    pub fn vips_atan2_const(
74578        in_: *mut VipsImage,
74579        out: *mut *mut VipsImage,
74580        c: *const f64,
74581        n: ::std::os::raw::c_int,
74582        ...
74583    ) -> ::std::os::raw::c_int;
74584}
74585extern "C" {
74586    pub fn vips_math2_const1(
74587        in_: *mut VipsImage,
74588        out: *mut *mut VipsImage,
74589        math2: VipsOperationMath2,
74590        c: f64,
74591        ...
74592    ) -> ::std::os::raw::c_int;
74593}
74594extern "C" {
74595    pub fn vips_pow_const1(
74596        in_: *mut VipsImage,
74597        out: *mut *mut VipsImage,
74598        c: f64,
74599        ...
74600    ) -> ::std::os::raw::c_int;
74601}
74602extern "C" {
74603    pub fn vips_wop_const1(
74604        in_: *mut VipsImage,
74605        out: *mut *mut VipsImage,
74606        c: f64,
74607        ...
74608    ) -> ::std::os::raw::c_int;
74609}
74610extern "C" {
74611    pub fn vips_atan2_const1(
74612        in_: *mut VipsImage,
74613        out: *mut *mut VipsImage,
74614        c: f64,
74615        ...
74616    ) -> ::std::os::raw::c_int;
74617}
74618extern "C" {
74619    pub fn vips_avg(in_: *mut VipsImage, out: *mut f64, ...) -> ::std::os::raw::c_int;
74620}
74621extern "C" {
74622    pub fn vips_deviate(in_: *mut VipsImage, out: *mut f64, ...) -> ::std::os::raw::c_int;
74623}
74624extern "C" {
74625    pub fn vips_min(in_: *mut VipsImage, out: *mut f64, ...) -> ::std::os::raw::c_int;
74626}
74627extern "C" {
74628    pub fn vips_max(in_: *mut VipsImage, out: *mut f64, ...) -> ::std::os::raw::c_int;
74629}
74630extern "C" {
74631    pub fn vips_stats(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74632}
74633extern "C" {
74634    pub fn vips_measure(
74635        in_: *mut VipsImage,
74636        out: *mut *mut VipsImage,
74637        h: ::std::os::raw::c_int,
74638        v: ::std::os::raw::c_int,
74639        ...
74640    ) -> ::std::os::raw::c_int;
74641}
74642extern "C" {
74643    pub fn vips_find_trim(
74644        in_: *mut VipsImage,
74645        left: *mut ::std::os::raw::c_int,
74646        top: *mut ::std::os::raw::c_int,
74647        width: *mut ::std::os::raw::c_int,
74648        height: *mut ::std::os::raw::c_int,
74649        ...
74650    ) -> ::std::os::raw::c_int;
74651}
74652extern "C" {
74653    pub fn vips_getpoint(
74654        in_: *mut VipsImage,
74655        vector: *mut *mut f64,
74656        n: *mut ::std::os::raw::c_int,
74657        x: ::std::os::raw::c_int,
74658        y: ::std::os::raw::c_int,
74659        ...
74660    ) -> ::std::os::raw::c_int;
74661}
74662extern "C" {
74663    pub fn vips_hist_find(
74664        in_: *mut VipsImage,
74665        out: *mut *mut VipsImage,
74666        ...
74667    ) -> ::std::os::raw::c_int;
74668}
74669extern "C" {
74670    pub fn vips_hist_find_ndim(
74671        in_: *mut VipsImage,
74672        out: *mut *mut VipsImage,
74673        ...
74674    ) -> ::std::os::raw::c_int;
74675}
74676extern "C" {
74677    pub fn vips_hist_find_indexed(
74678        in_: *mut VipsImage,
74679        index: *mut VipsImage,
74680        out: *mut *mut VipsImage,
74681        ...
74682    ) -> ::std::os::raw::c_int;
74683}
74684extern "C" {
74685    pub fn vips_hough_line(
74686        in_: *mut VipsImage,
74687        out: *mut *mut VipsImage,
74688        ...
74689    ) -> ::std::os::raw::c_int;
74690}
74691extern "C" {
74692    pub fn vips_hough_circle(
74693        in_: *mut VipsImage,
74694        out: *mut *mut VipsImage,
74695        ...
74696    ) -> ::std::os::raw::c_int;
74697}
74698extern "C" {
74699    pub fn vips_project(
74700        in_: *mut VipsImage,
74701        columns: *mut *mut VipsImage,
74702        rows: *mut *mut VipsImage,
74703        ...
74704    ) -> ::std::os::raw::c_int;
74705}
74706extern "C" {
74707    pub fn vips_profile(
74708        in_: *mut VipsImage,
74709        columns: *mut *mut VipsImage,
74710        rows: *mut *mut VipsImage,
74711        ...
74712    ) -> ::std::os::raw::c_int;
74713}
74714pub const VipsExtend_VIPS_EXTEND_BLACK: VipsExtend = 0;
74715pub const VipsExtend_VIPS_EXTEND_COPY: VipsExtend = 1;
74716pub const VipsExtend_VIPS_EXTEND_REPEAT: VipsExtend = 2;
74717pub const VipsExtend_VIPS_EXTEND_MIRROR: VipsExtend = 3;
74718pub const VipsExtend_VIPS_EXTEND_WHITE: VipsExtend = 4;
74719pub const VipsExtend_VIPS_EXTEND_BACKGROUND: VipsExtend = 5;
74720pub const VipsExtend_VIPS_EXTEND_LAST: VipsExtend = 6;
74721pub type VipsExtend = ::std::os::raw::c_uint;
74722pub const VipsCompassDirection_VIPS_COMPASS_DIRECTION_CENTRE: VipsCompassDirection = 0;
74723pub const VipsCompassDirection_VIPS_COMPASS_DIRECTION_NORTH: VipsCompassDirection = 1;
74724pub const VipsCompassDirection_VIPS_COMPASS_DIRECTION_EAST: VipsCompassDirection = 2;
74725pub const VipsCompassDirection_VIPS_COMPASS_DIRECTION_SOUTH: VipsCompassDirection = 3;
74726pub const VipsCompassDirection_VIPS_COMPASS_DIRECTION_WEST: VipsCompassDirection = 4;
74727pub const VipsCompassDirection_VIPS_COMPASS_DIRECTION_NORTH_EAST: VipsCompassDirection = 5;
74728pub const VipsCompassDirection_VIPS_COMPASS_DIRECTION_SOUTH_EAST: VipsCompassDirection = 6;
74729pub const VipsCompassDirection_VIPS_COMPASS_DIRECTION_SOUTH_WEST: VipsCompassDirection = 7;
74730pub const VipsCompassDirection_VIPS_COMPASS_DIRECTION_NORTH_WEST: VipsCompassDirection = 8;
74731pub const VipsCompassDirection_VIPS_COMPASS_DIRECTION_LAST: VipsCompassDirection = 9;
74732pub type VipsCompassDirection = ::std::os::raw::c_uint;
74733pub const VipsDirection_VIPS_DIRECTION_HORIZONTAL: VipsDirection = 0;
74734pub const VipsDirection_VIPS_DIRECTION_VERTICAL: VipsDirection = 1;
74735pub const VipsDirection_VIPS_DIRECTION_LAST: VipsDirection = 2;
74736pub type VipsDirection = ::std::os::raw::c_uint;
74737pub const VipsAlign_VIPS_ALIGN_LOW: VipsAlign = 0;
74738pub const VipsAlign_VIPS_ALIGN_CENTRE: VipsAlign = 1;
74739pub const VipsAlign_VIPS_ALIGN_HIGH: VipsAlign = 2;
74740pub const VipsAlign_VIPS_ALIGN_LAST: VipsAlign = 3;
74741pub type VipsAlign = ::std::os::raw::c_uint;
74742pub const VipsAngle_VIPS_ANGLE_D0: VipsAngle = 0;
74743pub const VipsAngle_VIPS_ANGLE_D90: VipsAngle = 1;
74744pub const VipsAngle_VIPS_ANGLE_D180: VipsAngle = 2;
74745pub const VipsAngle_VIPS_ANGLE_D270: VipsAngle = 3;
74746pub const VipsAngle_VIPS_ANGLE_LAST: VipsAngle = 4;
74747pub type VipsAngle = ::std::os::raw::c_uint;
74748pub const VipsAngle45_VIPS_ANGLE45_D0: VipsAngle45 = 0;
74749pub const VipsAngle45_VIPS_ANGLE45_D45: VipsAngle45 = 1;
74750pub const VipsAngle45_VIPS_ANGLE45_D90: VipsAngle45 = 2;
74751pub const VipsAngle45_VIPS_ANGLE45_D135: VipsAngle45 = 3;
74752pub const VipsAngle45_VIPS_ANGLE45_D180: VipsAngle45 = 4;
74753pub const VipsAngle45_VIPS_ANGLE45_D225: VipsAngle45 = 5;
74754pub const VipsAngle45_VIPS_ANGLE45_D270: VipsAngle45 = 6;
74755pub const VipsAngle45_VIPS_ANGLE45_D315: VipsAngle45 = 7;
74756pub const VipsAngle45_VIPS_ANGLE45_LAST: VipsAngle45 = 8;
74757pub type VipsAngle45 = ::std::os::raw::c_uint;
74758pub const VipsInteresting_VIPS_INTERESTING_NONE: VipsInteresting = 0;
74759pub const VipsInteresting_VIPS_INTERESTING_CENTRE: VipsInteresting = 1;
74760pub const VipsInteresting_VIPS_INTERESTING_ENTROPY: VipsInteresting = 2;
74761pub const VipsInteresting_VIPS_INTERESTING_ATTENTION: VipsInteresting = 3;
74762pub const VipsInteresting_VIPS_INTERESTING_LOW: VipsInteresting = 4;
74763pub const VipsInteresting_VIPS_INTERESTING_HIGH: VipsInteresting = 5;
74764pub const VipsInteresting_VIPS_INTERESTING_ALL: VipsInteresting = 6;
74765pub const VipsInteresting_VIPS_INTERESTING_LAST: VipsInteresting = 7;
74766pub type VipsInteresting = ::std::os::raw::c_uint;
74767pub const VipsBlendMode_VIPS_BLEND_MODE_CLEAR: VipsBlendMode = 0;
74768pub const VipsBlendMode_VIPS_BLEND_MODE_SOURCE: VipsBlendMode = 1;
74769pub const VipsBlendMode_VIPS_BLEND_MODE_OVER: VipsBlendMode = 2;
74770pub const VipsBlendMode_VIPS_BLEND_MODE_IN: VipsBlendMode = 3;
74771pub const VipsBlendMode_VIPS_BLEND_MODE_OUT: VipsBlendMode = 4;
74772pub const VipsBlendMode_VIPS_BLEND_MODE_ATOP: VipsBlendMode = 5;
74773pub const VipsBlendMode_VIPS_BLEND_MODE_DEST: VipsBlendMode = 6;
74774pub const VipsBlendMode_VIPS_BLEND_MODE_DEST_OVER: VipsBlendMode = 7;
74775pub const VipsBlendMode_VIPS_BLEND_MODE_DEST_IN: VipsBlendMode = 8;
74776pub const VipsBlendMode_VIPS_BLEND_MODE_DEST_OUT: VipsBlendMode = 9;
74777pub const VipsBlendMode_VIPS_BLEND_MODE_DEST_ATOP: VipsBlendMode = 10;
74778pub const VipsBlendMode_VIPS_BLEND_MODE_XOR: VipsBlendMode = 11;
74779pub const VipsBlendMode_VIPS_BLEND_MODE_ADD: VipsBlendMode = 12;
74780pub const VipsBlendMode_VIPS_BLEND_MODE_SATURATE: VipsBlendMode = 13;
74781pub const VipsBlendMode_VIPS_BLEND_MODE_MULTIPLY: VipsBlendMode = 14;
74782pub const VipsBlendMode_VIPS_BLEND_MODE_SCREEN: VipsBlendMode = 15;
74783pub const VipsBlendMode_VIPS_BLEND_MODE_OVERLAY: VipsBlendMode = 16;
74784pub const VipsBlendMode_VIPS_BLEND_MODE_DARKEN: VipsBlendMode = 17;
74785pub const VipsBlendMode_VIPS_BLEND_MODE_LIGHTEN: VipsBlendMode = 18;
74786pub const VipsBlendMode_VIPS_BLEND_MODE_COLOUR_DODGE: VipsBlendMode = 19;
74787pub const VipsBlendMode_VIPS_BLEND_MODE_COLOUR_BURN: VipsBlendMode = 20;
74788pub const VipsBlendMode_VIPS_BLEND_MODE_HARD_LIGHT: VipsBlendMode = 21;
74789pub const VipsBlendMode_VIPS_BLEND_MODE_SOFT_LIGHT: VipsBlendMode = 22;
74790pub const VipsBlendMode_VIPS_BLEND_MODE_DIFFERENCE: VipsBlendMode = 23;
74791pub const VipsBlendMode_VIPS_BLEND_MODE_EXCLUSION: VipsBlendMode = 24;
74792pub const VipsBlendMode_VIPS_BLEND_MODE_LAST: VipsBlendMode = 25;
74793pub type VipsBlendMode = ::std::os::raw::c_uint;
74794extern "C" {
74795    pub fn vips_copy(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74796}
74797extern "C" {
74798    pub fn vips_tilecache(
74799        in_: *mut VipsImage,
74800        out: *mut *mut VipsImage,
74801        ...
74802    ) -> ::std::os::raw::c_int;
74803}
74804extern "C" {
74805    pub fn vips_linecache(
74806        in_: *mut VipsImage,
74807        out: *mut *mut VipsImage,
74808        ...
74809    ) -> ::std::os::raw::c_int;
74810}
74811extern "C" {
74812    pub fn vips_sequential(
74813        in_: *mut VipsImage,
74814        out: *mut *mut VipsImage,
74815        ...
74816    ) -> ::std::os::raw::c_int;
74817}
74818extern "C" {
74819    pub fn vips_cache(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74820}
74821extern "C" {
74822    pub fn vips_copy_file(
74823        in_: *mut VipsImage,
74824        out: *mut *mut VipsImage,
74825        ...
74826    ) -> ::std::os::raw::c_int;
74827}
74828extern "C" {
74829    pub fn vips_embed(
74830        in_: *mut VipsImage,
74831        out: *mut *mut VipsImage,
74832        x: ::std::os::raw::c_int,
74833        y: ::std::os::raw::c_int,
74834        width: ::std::os::raw::c_int,
74835        height: ::std::os::raw::c_int,
74836        ...
74837    ) -> ::std::os::raw::c_int;
74838}
74839extern "C" {
74840    pub fn vips_gravity(
74841        in_: *mut VipsImage,
74842        out: *mut *mut VipsImage,
74843        direction: VipsCompassDirection,
74844        width: ::std::os::raw::c_int,
74845        height: ::std::os::raw::c_int,
74846        ...
74847    ) -> ::std::os::raw::c_int;
74848}
74849extern "C" {
74850    pub fn vips_flip(
74851        in_: *mut VipsImage,
74852        out: *mut *mut VipsImage,
74853        direction: VipsDirection,
74854        ...
74855    ) -> ::std::os::raw::c_int;
74856}
74857extern "C" {
74858    pub fn vips_insert(
74859        main: *mut VipsImage,
74860        sub: *mut VipsImage,
74861        out: *mut *mut VipsImage,
74862        x: ::std::os::raw::c_int,
74863        y: ::std::os::raw::c_int,
74864        ...
74865    ) -> ::std::os::raw::c_int;
74866}
74867extern "C" {
74868    pub fn vips_join(
74869        in1: *mut VipsImage,
74870        in2: *mut VipsImage,
74871        out: *mut *mut VipsImage,
74872        direction: VipsDirection,
74873        ...
74874    ) -> ::std::os::raw::c_int;
74875}
74876extern "C" {
74877    pub fn vips_arrayjoin(
74878        in_: *mut *mut VipsImage,
74879        out: *mut *mut VipsImage,
74880        n: ::std::os::raw::c_int,
74881        ...
74882    ) -> ::std::os::raw::c_int;
74883}
74884extern "C" {
74885    pub fn vips_extract_area(
74886        in_: *mut VipsImage,
74887        out: *mut *mut VipsImage,
74888        left: ::std::os::raw::c_int,
74889        top: ::std::os::raw::c_int,
74890        width: ::std::os::raw::c_int,
74891        height: ::std::os::raw::c_int,
74892        ...
74893    ) -> ::std::os::raw::c_int;
74894}
74895extern "C" {
74896    pub fn vips_crop(
74897        in_: *mut VipsImage,
74898        out: *mut *mut VipsImage,
74899        left: ::std::os::raw::c_int,
74900        top: ::std::os::raw::c_int,
74901        width: ::std::os::raw::c_int,
74902        height: ::std::os::raw::c_int,
74903        ...
74904    ) -> ::std::os::raw::c_int;
74905}
74906extern "C" {
74907    pub fn vips_smartcrop(
74908        in_: *mut VipsImage,
74909        out: *mut *mut VipsImage,
74910        width: ::std::os::raw::c_int,
74911        height: ::std::os::raw::c_int,
74912        ...
74913    ) -> ::std::os::raw::c_int;
74914}
74915extern "C" {
74916    pub fn vips_extract_band(
74917        in_: *mut VipsImage,
74918        out: *mut *mut VipsImage,
74919        band: ::std::os::raw::c_int,
74920        ...
74921    ) -> ::std::os::raw::c_int;
74922}
74923extern "C" {
74924    pub fn vips_replicate(
74925        in_: *mut VipsImage,
74926        out: *mut *mut VipsImage,
74927        across: ::std::os::raw::c_int,
74928        down: ::std::os::raw::c_int,
74929        ...
74930    ) -> ::std::os::raw::c_int;
74931}
74932extern "C" {
74933    pub fn vips_grid(
74934        in_: *mut VipsImage,
74935        out: *mut *mut VipsImage,
74936        tile_height: ::std::os::raw::c_int,
74937        across: ::std::os::raw::c_int,
74938        down: ::std::os::raw::c_int,
74939        ...
74940    ) -> ::std::os::raw::c_int;
74941}
74942extern "C" {
74943    pub fn vips_transpose3d(
74944        in_: *mut VipsImage,
74945        out: *mut *mut VipsImage,
74946        ...
74947    ) -> ::std::os::raw::c_int;
74948}
74949extern "C" {
74950    pub fn vips_wrap(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74951}
74952extern "C" {
74953    pub fn vips_rot(
74954        in_: *mut VipsImage,
74955        out: *mut *mut VipsImage,
74956        angle: VipsAngle,
74957        ...
74958    ) -> ::std::os::raw::c_int;
74959}
74960extern "C" {
74961    pub fn vips_rot90(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74962}
74963extern "C" {
74964    pub fn vips_rot180(in_: *mut VipsImage, out: *mut *mut VipsImage, ...)
74965        -> ::std::os::raw::c_int;
74966}
74967extern "C" {
74968    pub fn vips_rot270(in_: *mut VipsImage, out: *mut *mut VipsImage, ...)
74969        -> ::std::os::raw::c_int;
74970}
74971extern "C" {
74972    pub fn vips_rot45(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
74973}
74974extern "C" {
74975    pub fn vips_autorot_remove_angle(image: *mut VipsImage);
74976}
74977extern "C" {
74978    pub fn vips_autorot(
74979        in_: *mut VipsImage,
74980        out: *mut *mut VipsImage,
74981        ...
74982    ) -> ::std::os::raw::c_int;
74983}
74984extern "C" {
74985    pub fn vips_zoom(
74986        in_: *mut VipsImage,
74987        out: *mut *mut VipsImage,
74988        xfac: ::std::os::raw::c_int,
74989        yfac: ::std::os::raw::c_int,
74990        ...
74991    ) -> ::std::os::raw::c_int;
74992}
74993extern "C" {
74994    pub fn vips_subsample(
74995        in_: *mut VipsImage,
74996        out: *mut *mut VipsImage,
74997        xfac: ::std::os::raw::c_int,
74998        yfac: ::std::os::raw::c_int,
74999        ...
75000    ) -> ::std::os::raw::c_int;
75001}
75002extern "C" {
75003    pub fn vips_cast(
75004        in_: *mut VipsImage,
75005        out: *mut *mut VipsImage,
75006        format: VipsBandFormat,
75007        ...
75008    ) -> ::std::os::raw::c_int;
75009}
75010extern "C" {
75011    pub fn vips_cast_uchar(
75012        in_: *mut VipsImage,
75013        out: *mut *mut VipsImage,
75014        ...
75015    ) -> ::std::os::raw::c_int;
75016}
75017extern "C" {
75018    pub fn vips_cast_char(
75019        in_: *mut VipsImage,
75020        out: *mut *mut VipsImage,
75021        ...
75022    ) -> ::std::os::raw::c_int;
75023}
75024extern "C" {
75025    pub fn vips_cast_ushort(
75026        in_: *mut VipsImage,
75027        out: *mut *mut VipsImage,
75028        ...
75029    ) -> ::std::os::raw::c_int;
75030}
75031extern "C" {
75032    pub fn vips_cast_short(
75033        in_: *mut VipsImage,
75034        out: *mut *mut VipsImage,
75035        ...
75036    ) -> ::std::os::raw::c_int;
75037}
75038extern "C" {
75039    pub fn vips_cast_uint(
75040        in_: *mut VipsImage,
75041        out: *mut *mut VipsImage,
75042        ...
75043    ) -> ::std::os::raw::c_int;
75044}
75045extern "C" {
75046    pub fn vips_cast_int(
75047        in_: *mut VipsImage,
75048        out: *mut *mut VipsImage,
75049        ...
75050    ) -> ::std::os::raw::c_int;
75051}
75052extern "C" {
75053    pub fn vips_cast_float(
75054        in_: *mut VipsImage,
75055        out: *mut *mut VipsImage,
75056        ...
75057    ) -> ::std::os::raw::c_int;
75058}
75059extern "C" {
75060    pub fn vips_cast_double(
75061        in_: *mut VipsImage,
75062        out: *mut *mut VipsImage,
75063        ...
75064    ) -> ::std::os::raw::c_int;
75065}
75066extern "C" {
75067    pub fn vips_cast_complex(
75068        in_: *mut VipsImage,
75069        out: *mut *mut VipsImage,
75070        ...
75071    ) -> ::std::os::raw::c_int;
75072}
75073extern "C" {
75074    pub fn vips_cast_dpcomplex(
75075        in_: *mut VipsImage,
75076        out: *mut *mut VipsImage,
75077        ...
75078    ) -> ::std::os::raw::c_int;
75079}
75080extern "C" {
75081    pub fn vips_scale(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
75082}
75083extern "C" {
75084    pub fn vips_msb(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
75085}
75086extern "C" {
75087    pub fn vips_byteswap(
75088        in_: *mut VipsImage,
75089        out: *mut *mut VipsImage,
75090        ...
75091    ) -> ::std::os::raw::c_int;
75092}
75093extern "C" {
75094    pub fn vips_bandjoin(
75095        in_: *mut *mut VipsImage,
75096        out: *mut *mut VipsImage,
75097        n: ::std::os::raw::c_int,
75098        ...
75099    ) -> ::std::os::raw::c_int;
75100}
75101extern "C" {
75102    pub fn vips_bandjoin2(
75103        in1: *mut VipsImage,
75104        in2: *mut VipsImage,
75105        out: *mut *mut VipsImage,
75106        ...
75107    ) -> ::std::os::raw::c_int;
75108}
75109extern "C" {
75110    pub fn vips_bandjoin_const(
75111        in_: *mut VipsImage,
75112        out: *mut *mut VipsImage,
75113        c: *mut f64,
75114        n: ::std::os::raw::c_int,
75115        ...
75116    ) -> ::std::os::raw::c_int;
75117}
75118extern "C" {
75119    pub fn vips_bandjoin_const1(
75120        in_: *mut VipsImage,
75121        out: *mut *mut VipsImage,
75122        c: f64,
75123        ...
75124    ) -> ::std::os::raw::c_int;
75125}
75126extern "C" {
75127    pub fn vips_bandrank(
75128        in_: *mut *mut VipsImage,
75129        out: *mut *mut VipsImage,
75130        n: ::std::os::raw::c_int,
75131        ...
75132    ) -> ::std::os::raw::c_int;
75133}
75134extern "C" {
75135    pub fn vips_bandfold(
75136        in_: *mut VipsImage,
75137        out: *mut *mut VipsImage,
75138        ...
75139    ) -> ::std::os::raw::c_int;
75140}
75141extern "C" {
75142    pub fn vips_bandunfold(
75143        in_: *mut VipsImage,
75144        out: *mut *mut VipsImage,
75145        ...
75146    ) -> ::std::os::raw::c_int;
75147}
75148extern "C" {
75149    pub fn vips_bandbool(
75150        in_: *mut VipsImage,
75151        out: *mut *mut VipsImage,
75152        boolean: VipsOperationBoolean,
75153        ...
75154    ) -> ::std::os::raw::c_int;
75155}
75156extern "C" {
75157    pub fn vips_bandand(
75158        in_: *mut VipsImage,
75159        out: *mut *mut VipsImage,
75160        ...
75161    ) -> ::std::os::raw::c_int;
75162}
75163extern "C" {
75164    pub fn vips_bandor(in_: *mut VipsImage, out: *mut *mut VipsImage, ...)
75165        -> ::std::os::raw::c_int;
75166}
75167extern "C" {
75168    pub fn vips_bandeor(
75169        in_: *mut VipsImage,
75170        out: *mut *mut VipsImage,
75171        ...
75172    ) -> ::std::os::raw::c_int;
75173}
75174extern "C" {
75175    pub fn vips_bandmean(
75176        in_: *mut VipsImage,
75177        out: *mut *mut VipsImage,
75178        ...
75179    ) -> ::std::os::raw::c_int;
75180}
75181extern "C" {
75182    pub fn vips_recomb(
75183        in_: *mut VipsImage,
75184        out: *mut *mut VipsImage,
75185        m: *mut VipsImage,
75186        ...
75187    ) -> ::std::os::raw::c_int;
75188}
75189extern "C" {
75190    pub fn vips_ifthenelse(
75191        cond: *mut VipsImage,
75192        in1: *mut VipsImage,
75193        in2: *mut VipsImage,
75194        out: *mut *mut VipsImage,
75195        ...
75196    ) -> ::std::os::raw::c_int;
75197}
75198extern "C" {
75199    pub fn vips_switch(
75200        tests: *mut *mut VipsImage,
75201        out: *mut *mut VipsImage,
75202        n: ::std::os::raw::c_int,
75203        ...
75204    ) -> ::std::os::raw::c_int;
75205}
75206extern "C" {
75207    pub fn vips_flatten(
75208        in_: *mut VipsImage,
75209        out: *mut *mut VipsImage,
75210        ...
75211    ) -> ::std::os::raw::c_int;
75212}
75213extern "C" {
75214    pub fn vips_addalpha(
75215        in_: *mut VipsImage,
75216        out: *mut *mut VipsImage,
75217        ...
75218    ) -> ::std::os::raw::c_int;
75219}
75220extern "C" {
75221    pub fn vips_premultiply(
75222        in_: *mut VipsImage,
75223        out: *mut *mut VipsImage,
75224        ...
75225    ) -> ::std::os::raw::c_int;
75226}
75227extern "C" {
75228    pub fn vips_unpremultiply(
75229        in_: *mut VipsImage,
75230        out: *mut *mut VipsImage,
75231        ...
75232    ) -> ::std::os::raw::c_int;
75233}
75234extern "C" {
75235    pub fn vips_composite(
75236        in_: *mut *mut VipsImage,
75237        out: *mut *mut VipsImage,
75238        n: ::std::os::raw::c_int,
75239        mode: *mut ::std::os::raw::c_int,
75240        ...
75241    ) -> ::std::os::raw::c_int;
75242}
75243extern "C" {
75244    pub fn vips_composite2(
75245        base: *mut VipsImage,
75246        overlay: *mut VipsImage,
75247        out: *mut *mut VipsImage,
75248        mode: VipsBlendMode,
75249        ...
75250    ) -> ::std::os::raw::c_int;
75251}
75252extern "C" {
75253    pub fn vips_falsecolour(
75254        in_: *mut VipsImage,
75255        out: *mut *mut VipsImage,
75256        ...
75257    ) -> ::std::os::raw::c_int;
75258}
75259extern "C" {
75260    pub fn vips_gamma(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
75261}
75262pub const VipsCombine_VIPS_COMBINE_MAX: VipsCombine = 0;
75263pub const VipsCombine_VIPS_COMBINE_SUM: VipsCombine = 1;
75264pub const VipsCombine_VIPS_COMBINE_MIN: VipsCombine = 2;
75265pub const VipsCombine_VIPS_COMBINE_LAST: VipsCombine = 3;
75266pub type VipsCombine = ::std::os::raw::c_uint;
75267extern "C" {
75268    pub fn vips_conv(
75269        in_: *mut VipsImage,
75270        out: *mut *mut VipsImage,
75271        mask: *mut VipsImage,
75272        ...
75273    ) -> ::std::os::raw::c_int;
75274}
75275extern "C" {
75276    pub fn vips_convf(
75277        in_: *mut VipsImage,
75278        out: *mut *mut VipsImage,
75279        mask: *mut VipsImage,
75280        ...
75281    ) -> ::std::os::raw::c_int;
75282}
75283extern "C" {
75284    pub fn vips_convi(
75285        in_: *mut VipsImage,
75286        out: *mut *mut VipsImage,
75287        mask: *mut VipsImage,
75288        ...
75289    ) -> ::std::os::raw::c_int;
75290}
75291extern "C" {
75292    pub fn vips_conva(
75293        in_: *mut VipsImage,
75294        out: *mut *mut VipsImage,
75295        mask: *mut VipsImage,
75296        ...
75297    ) -> ::std::os::raw::c_int;
75298}
75299extern "C" {
75300    pub fn vips_convsep(
75301        in_: *mut VipsImage,
75302        out: *mut *mut VipsImage,
75303        mask: *mut VipsImage,
75304        ...
75305    ) -> ::std::os::raw::c_int;
75306}
75307extern "C" {
75308    pub fn vips_convasep(
75309        in_: *mut VipsImage,
75310        out: *mut *mut VipsImage,
75311        mask: *mut VipsImage,
75312        ...
75313    ) -> ::std::os::raw::c_int;
75314}
75315extern "C" {
75316    pub fn vips_compass(
75317        in_: *mut VipsImage,
75318        out: *mut *mut VipsImage,
75319        mask: *mut VipsImage,
75320        ...
75321    ) -> ::std::os::raw::c_int;
75322}
75323extern "C" {
75324    pub fn vips_gaussblur(
75325        in_: *mut VipsImage,
75326        out: *mut *mut VipsImage,
75327        sigma: f64,
75328        ...
75329    ) -> ::std::os::raw::c_int;
75330}
75331extern "C" {
75332    pub fn vips_sharpen(
75333        in_: *mut VipsImage,
75334        out: *mut *mut VipsImage,
75335        ...
75336    ) -> ::std::os::raw::c_int;
75337}
75338extern "C" {
75339    pub fn vips_spcor(
75340        in_: *mut VipsImage,
75341        ref_: *mut VipsImage,
75342        out: *mut *mut VipsImage,
75343        ...
75344    ) -> ::std::os::raw::c_int;
75345}
75346extern "C" {
75347    pub fn vips_fastcor(
75348        in_: *mut VipsImage,
75349        ref_: *mut VipsImage,
75350        out: *mut *mut VipsImage,
75351        ...
75352    ) -> ::std::os::raw::c_int;
75353}
75354extern "C" {
75355    pub fn vips_sobel(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
75356}
75357extern "C" {
75358    pub fn vips_scharr(in_: *mut VipsImage, out: *mut *mut VipsImage, ...)
75359        -> ::std::os::raw::c_int;
75360}
75361extern "C" {
75362    pub fn vips_prewitt(
75363        in_: *mut VipsImage,
75364        out: *mut *mut VipsImage,
75365        ...
75366    ) -> ::std::os::raw::c_int;
75367}
75368extern "C" {
75369    pub fn vips_canny(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
75370}
75371pub const VipsOperationMorphology_VIPS_OPERATION_MORPHOLOGY_ERODE: VipsOperationMorphology = 0;
75372pub const VipsOperationMorphology_VIPS_OPERATION_MORPHOLOGY_DILATE: VipsOperationMorphology = 1;
75373pub const VipsOperationMorphology_VIPS_OPERATION_MORPHOLOGY_LAST: VipsOperationMorphology = 2;
75374pub type VipsOperationMorphology = ::std::os::raw::c_uint;
75375extern "C" {
75376    pub fn vips_morph(
75377        in_: *mut VipsImage,
75378        out: *mut *mut VipsImage,
75379        mask: *mut VipsImage,
75380        morph: VipsOperationMorphology,
75381        ...
75382    ) -> ::std::os::raw::c_int;
75383}
75384extern "C" {
75385    pub fn vips_rank(
75386        in_: *mut VipsImage,
75387        out: *mut *mut VipsImage,
75388        width: ::std::os::raw::c_int,
75389        height: ::std::os::raw::c_int,
75390        index: ::std::os::raw::c_int,
75391        ...
75392    ) -> ::std::os::raw::c_int;
75393}
75394extern "C" {
75395    pub fn vips_median(
75396        in_: *mut VipsImage,
75397        out: *mut *mut VipsImage,
75398        size: ::std::os::raw::c_int,
75399        ...
75400    ) -> ::std::os::raw::c_int;
75401}
75402extern "C" {
75403    pub fn vips_countlines(
75404        in_: *mut VipsImage,
75405        nolines: *mut f64,
75406        direction: VipsDirection,
75407        ...
75408    ) -> ::std::os::raw::c_int;
75409}
75410extern "C" {
75411    pub fn vips_labelregions(
75412        in_: *mut VipsImage,
75413        mask: *mut *mut VipsImage,
75414        ...
75415    ) -> ::std::os::raw::c_int;
75416}
75417extern "C" {
75418    pub fn vips_fill_nearest(
75419        in_: *mut VipsImage,
75420        out: *mut *mut VipsImage,
75421        ...
75422    ) -> ::std::os::raw::c_int;
75423}
75424extern "C" {
75425    pub fn vips_merge(
75426        ref_: *mut VipsImage,
75427        sec: *mut VipsImage,
75428        out: *mut *mut VipsImage,
75429        direction: VipsDirection,
75430        dx: ::std::os::raw::c_int,
75431        dy: ::std::os::raw::c_int,
75432        ...
75433    ) -> ::std::os::raw::c_int;
75434}
75435extern "C" {
75436    pub fn vips_mosaic(
75437        ref_: *mut VipsImage,
75438        sec: *mut VipsImage,
75439        out: *mut *mut VipsImage,
75440        direction: VipsDirection,
75441        xref: ::std::os::raw::c_int,
75442        yref: ::std::os::raw::c_int,
75443        xsec: ::std::os::raw::c_int,
75444        ysec: ::std::os::raw::c_int,
75445        ...
75446    ) -> ::std::os::raw::c_int;
75447}
75448extern "C" {
75449    pub fn vips_mosaic1(
75450        ref_: *mut VipsImage,
75451        sec: *mut VipsImage,
75452        out: *mut *mut VipsImage,
75453        direction: VipsDirection,
75454        xr1: ::std::os::raw::c_int,
75455        yr1: ::std::os::raw::c_int,
75456        xs1: ::std::os::raw::c_int,
75457        ys1: ::std::os::raw::c_int,
75458        xr2: ::std::os::raw::c_int,
75459        yr2: ::std::os::raw::c_int,
75460        xs2: ::std::os::raw::c_int,
75461        ys2: ::std::os::raw::c_int,
75462        ...
75463    ) -> ::std::os::raw::c_int;
75464}
75465extern "C" {
75466    pub fn vips_match(
75467        ref_: *mut VipsImage,
75468        sec: *mut VipsImage,
75469        out: *mut *mut VipsImage,
75470        xr1: ::std::os::raw::c_int,
75471        yr1: ::std::os::raw::c_int,
75472        xs1: ::std::os::raw::c_int,
75473        ys1: ::std::os::raw::c_int,
75474        xr2: ::std::os::raw::c_int,
75475        yr2: ::std::os::raw::c_int,
75476        xs2: ::std::os::raw::c_int,
75477        ys2: ::std::os::raw::c_int,
75478        ...
75479    ) -> ::std::os::raw::c_int;
75480}
75481extern "C" {
75482    pub fn vips_globalbalance(
75483        in_: *mut VipsImage,
75484        out: *mut *mut VipsImage,
75485        ...
75486    ) -> ::std::os::raw::c_int;
75487}
75488extern "C" {
75489    pub fn vips_remosaic(
75490        in_: *mut VipsImage,
75491        out: *mut *mut VipsImage,
75492        old_str: *const ::std::os::raw::c_char,
75493        new_str: *const ::std::os::raw::c_char,
75494        ...
75495    ) -> ::std::os::raw::c_int;
75496}
75497extern "C" {
75498    pub fn vips_matrixinvert(
75499        m: *mut VipsImage,
75500        out: *mut *mut VipsImage,
75501        ...
75502    ) -> ::std::os::raw::c_int;
75503}
75504extern "C" {
75505    pub fn vips_maplut(
75506        in_: *mut VipsImage,
75507        out: *mut *mut VipsImage,
75508        lut: *mut VipsImage,
75509        ...
75510    ) -> ::std::os::raw::c_int;
75511}
75512extern "C" {
75513    pub fn vips_percent(
75514        in_: *mut VipsImage,
75515        percent: f64,
75516        threshold: *mut ::std::os::raw::c_int,
75517        ...
75518    ) -> ::std::os::raw::c_int;
75519}
75520extern "C" {
75521    pub fn vips_stdif(
75522        in_: *mut VipsImage,
75523        out: *mut *mut VipsImage,
75524        width: ::std::os::raw::c_int,
75525        height: ::std::os::raw::c_int,
75526        ...
75527    ) -> ::std::os::raw::c_int;
75528}
75529extern "C" {
75530    pub fn vips_hist_cum(
75531        in_: *mut VipsImage,
75532        out: *mut *mut VipsImage,
75533        ...
75534    ) -> ::std::os::raw::c_int;
75535}
75536extern "C" {
75537    pub fn vips_hist_norm(
75538        in_: *mut VipsImage,
75539        out: *mut *mut VipsImage,
75540        ...
75541    ) -> ::std::os::raw::c_int;
75542}
75543extern "C" {
75544    pub fn vips_hist_equal(
75545        in_: *mut VipsImage,
75546        out: *mut *mut VipsImage,
75547        ...
75548    ) -> ::std::os::raw::c_int;
75549}
75550extern "C" {
75551    pub fn vips_hist_plot(
75552        in_: *mut VipsImage,
75553        out: *mut *mut VipsImage,
75554        ...
75555    ) -> ::std::os::raw::c_int;
75556}
75557extern "C" {
75558    pub fn vips_hist_match(
75559        in_: *mut VipsImage,
75560        ref_: *mut VipsImage,
75561        out: *mut *mut VipsImage,
75562        ...
75563    ) -> ::std::os::raw::c_int;
75564}
75565extern "C" {
75566    pub fn vips_hist_local(
75567        in_: *mut VipsImage,
75568        out: *mut *mut VipsImage,
75569        width: ::std::os::raw::c_int,
75570        height: ::std::os::raw::c_int,
75571        ...
75572    ) -> ::std::os::raw::c_int;
75573}
75574extern "C" {
75575    pub fn vips_hist_ismonotonic(
75576        in_: *mut VipsImage,
75577        out: *mut gboolean,
75578        ...
75579    ) -> ::std::os::raw::c_int;
75580}
75581extern "C" {
75582    pub fn vips_hist_entropy(in_: *mut VipsImage, out: *mut f64, ...) -> ::std::os::raw::c_int;
75583}
75584extern "C" {
75585    pub fn vips_case(
75586        index: *mut VipsImage,
75587        cases: *mut *mut VipsImage,
75588        out: *mut *mut VipsImage,
75589        n: ::std::os::raw::c_int,
75590        ...
75591    ) -> ::std::os::raw::c_int;
75592}
75593extern "C" {
75594    pub fn vips_fwfft(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
75595}
75596extern "C" {
75597    pub fn vips_invfft(in_: *mut VipsImage, out: *mut *mut VipsImage, ...)
75598        -> ::std::os::raw::c_int;
75599}
75600extern "C" {
75601    pub fn vips_freqmult(
75602        in_: *mut VipsImage,
75603        mask: *mut VipsImage,
75604        out: *mut *mut VipsImage,
75605        ...
75606    ) -> ::std::os::raw::c_int;
75607}
75608extern "C" {
75609    pub fn vips_spectrum(
75610        in_: *mut VipsImage,
75611        out: *mut *mut VipsImage,
75612        ...
75613    ) -> ::std::os::raw::c_int;
75614}
75615extern "C" {
75616    pub fn vips_phasecor(
75617        in1: *mut VipsImage,
75618        in2: *mut VipsImage,
75619        out: *mut *mut VipsImage,
75620        ...
75621    ) -> ::std::os::raw::c_int;
75622}
75623pub const VipsKernel_VIPS_KERNEL_NEAREST: VipsKernel = 0;
75624pub const VipsKernel_VIPS_KERNEL_LINEAR: VipsKernel = 1;
75625pub const VipsKernel_VIPS_KERNEL_CUBIC: VipsKernel = 2;
75626pub const VipsKernel_VIPS_KERNEL_MITCHELL: VipsKernel = 3;
75627pub const VipsKernel_VIPS_KERNEL_LANCZOS2: VipsKernel = 4;
75628pub const VipsKernel_VIPS_KERNEL_LANCZOS3: VipsKernel = 5;
75629pub const VipsKernel_VIPS_KERNEL_LAST: VipsKernel = 6;
75630pub type VipsKernel = ::std::os::raw::c_uint;
75631pub const VipsSize_VIPS_SIZE_BOTH: VipsSize = 0;
75632pub const VipsSize_VIPS_SIZE_UP: VipsSize = 1;
75633pub const VipsSize_VIPS_SIZE_DOWN: VipsSize = 2;
75634pub const VipsSize_VIPS_SIZE_FORCE: VipsSize = 3;
75635pub const VipsSize_VIPS_SIZE_LAST: VipsSize = 4;
75636pub type VipsSize = ::std::os::raw::c_uint;
75637extern "C" {
75638    pub fn vips_shrink(
75639        in_: *mut VipsImage,
75640        out: *mut *mut VipsImage,
75641        hshrink: f64,
75642        vshrink: f64,
75643        ...
75644    ) -> ::std::os::raw::c_int;
75645}
75646extern "C" {
75647    pub fn vips_shrinkh(
75648        in_: *mut VipsImage,
75649        out: *mut *mut VipsImage,
75650        hshrink: ::std::os::raw::c_int,
75651        ...
75652    ) -> ::std::os::raw::c_int;
75653}
75654extern "C" {
75655    pub fn vips_shrinkv(
75656        in_: *mut VipsImage,
75657        out: *mut *mut VipsImage,
75658        vshrink: ::std::os::raw::c_int,
75659        ...
75660    ) -> ::std::os::raw::c_int;
75661}
75662extern "C" {
75663    pub fn vips_reduce(
75664        in_: *mut VipsImage,
75665        out: *mut *mut VipsImage,
75666        hshrink: f64,
75667        vshrink: f64,
75668        ...
75669    ) -> ::std::os::raw::c_int;
75670}
75671extern "C" {
75672    pub fn vips_reduceh(
75673        in_: *mut VipsImage,
75674        out: *mut *mut VipsImage,
75675        hshrink: f64,
75676        ...
75677    ) -> ::std::os::raw::c_int;
75678}
75679extern "C" {
75680    pub fn vips_reducev(
75681        in_: *mut VipsImage,
75682        out: *mut *mut VipsImage,
75683        vshrink: f64,
75684        ...
75685    ) -> ::std::os::raw::c_int;
75686}
75687extern "C" {
75688    pub fn vips_thumbnail(
75689        filename: *const ::std::os::raw::c_char,
75690        out: *mut *mut VipsImage,
75691        width: ::std::os::raw::c_int,
75692        ...
75693    ) -> ::std::os::raw::c_int;
75694}
75695extern "C" {
75696    pub fn vips_thumbnail_buffer(
75697        buf: *mut ::std::os::raw::c_void,
75698        len: size_t,
75699        out: *mut *mut VipsImage,
75700        width: ::std::os::raw::c_int,
75701        ...
75702    ) -> ::std::os::raw::c_int;
75703}
75704extern "C" {
75705    pub fn vips_thumbnail_image(
75706        in_: *mut VipsImage,
75707        out: *mut *mut VipsImage,
75708        width: ::std::os::raw::c_int,
75709        ...
75710    ) -> ::std::os::raw::c_int;
75711}
75712extern "C" {
75713    pub fn vips_thumbnail_source(
75714        source: *mut VipsSource,
75715        out: *mut *mut VipsImage,
75716        width: ::std::os::raw::c_int,
75717        ...
75718    ) -> ::std::os::raw::c_int;
75719}
75720extern "C" {
75721    pub fn vips_similarity(
75722        in_: *mut VipsImage,
75723        out: *mut *mut VipsImage,
75724        ...
75725    ) -> ::std::os::raw::c_int;
75726}
75727extern "C" {
75728    pub fn vips_rotate(
75729        in_: *mut VipsImage,
75730        out: *mut *mut VipsImage,
75731        angle: f64,
75732        ...
75733    ) -> ::std::os::raw::c_int;
75734}
75735extern "C" {
75736    pub fn vips_affine(
75737        in_: *mut VipsImage,
75738        out: *mut *mut VipsImage,
75739        a: f64,
75740        b: f64,
75741        c: f64,
75742        d: f64,
75743        ...
75744    ) -> ::std::os::raw::c_int;
75745}
75746extern "C" {
75747    pub fn vips_resize(
75748        in_: *mut VipsImage,
75749        out: *mut *mut VipsImage,
75750        scale: f64,
75751        ...
75752    ) -> ::std::os::raw::c_int;
75753}
75754extern "C" {
75755    pub fn vips_mapim(
75756        in_: *mut VipsImage,
75757        out: *mut *mut VipsImage,
75758        index: *mut VipsImage,
75759        ...
75760    ) -> ::std::os::raw::c_int;
75761}
75762extern "C" {
75763    pub fn vips_quadratic(
75764        in_: *mut VipsImage,
75765        out: *mut *mut VipsImage,
75766        coeff: *mut VipsImage,
75767        ...
75768    ) -> ::std::os::raw::c_int;
75769}
75770pub const VipsIntent_VIPS_INTENT_PERCEPTUAL: VipsIntent = 0;
75771pub const VipsIntent_VIPS_INTENT_RELATIVE: VipsIntent = 1;
75772pub const VipsIntent_VIPS_INTENT_SATURATION: VipsIntent = 2;
75773pub const VipsIntent_VIPS_INTENT_ABSOLUTE: VipsIntent = 3;
75774pub const VipsIntent_VIPS_INTENT_LAST: VipsIntent = 4;
75775pub type VipsIntent = ::std::os::raw::c_uint;
75776pub const VipsPCS_VIPS_PCS_LAB: VipsPCS = 0;
75777pub const VipsPCS_VIPS_PCS_XYZ: VipsPCS = 1;
75778pub const VipsPCS_VIPS_PCS_LAST: VipsPCS = 2;
75779pub type VipsPCS = ::std::os::raw::c_uint;
75780extern "C" {
75781    pub fn vips_colourspace_issupported(image: *const VipsImage) -> gboolean;
75782}
75783extern "C" {
75784    pub fn vips_colourspace(
75785        in_: *mut VipsImage,
75786        out: *mut *mut VipsImage,
75787        space: VipsInterpretation,
75788        ...
75789    ) -> ::std::os::raw::c_int;
75790}
75791extern "C" {
75792    pub fn vips_LabQ2sRGB(
75793        in_: *mut VipsImage,
75794        out: *mut *mut VipsImage,
75795        ...
75796    ) -> ::std::os::raw::c_int;
75797}
75798extern "C" {
75799    pub fn vips_rad2float(
75800        in_: *mut VipsImage,
75801        out: *mut *mut VipsImage,
75802        ...
75803    ) -> ::std::os::raw::c_int;
75804}
75805extern "C" {
75806    pub fn vips_float2rad(
75807        in_: *mut VipsImage,
75808        out: *mut *mut VipsImage,
75809        ...
75810    ) -> ::std::os::raw::c_int;
75811}
75812extern "C" {
75813    pub fn vips_LabS2LabQ(
75814        in_: *mut VipsImage,
75815        out: *mut *mut VipsImage,
75816        ...
75817    ) -> ::std::os::raw::c_int;
75818}
75819extern "C" {
75820    pub fn vips_LabQ2LabS(
75821        in_: *mut VipsImage,
75822        out: *mut *mut VipsImage,
75823        ...
75824    ) -> ::std::os::raw::c_int;
75825}
75826extern "C" {
75827    pub fn vips_LabQ2Lab(
75828        in_: *mut VipsImage,
75829        out: *mut *mut VipsImage,
75830        ...
75831    ) -> ::std::os::raw::c_int;
75832}
75833extern "C" {
75834    pub fn vips_Lab2LabQ(
75835        in_: *mut VipsImage,
75836        out: *mut *mut VipsImage,
75837        ...
75838    ) -> ::std::os::raw::c_int;
75839}
75840extern "C" {
75841    pub fn vips_LCh2Lab(
75842        in_: *mut VipsImage,
75843        out: *mut *mut VipsImage,
75844        ...
75845    ) -> ::std::os::raw::c_int;
75846}
75847extern "C" {
75848    pub fn vips_Lab2LCh(
75849        in_: *mut VipsImage,
75850        out: *mut *mut VipsImage,
75851        ...
75852    ) -> ::std::os::raw::c_int;
75853}
75854extern "C" {
75855    pub fn vips_Yxy2Lab(
75856        in_: *mut VipsImage,
75857        out: *mut *mut VipsImage,
75858        ...
75859    ) -> ::std::os::raw::c_int;
75860}
75861extern "C" {
75862    pub fn vips_CMC2XYZ(
75863        in_: *mut VipsImage,
75864        out: *mut *mut VipsImage,
75865        ...
75866    ) -> ::std::os::raw::c_int;
75867}
75868extern "C" {
75869    pub fn vips_Lab2XYZ(
75870        in_: *mut VipsImage,
75871        out: *mut *mut VipsImage,
75872        ...
75873    ) -> ::std::os::raw::c_int;
75874}
75875extern "C" {
75876    pub fn vips_XYZ2Lab(
75877        in_: *mut VipsImage,
75878        out: *mut *mut VipsImage,
75879        ...
75880    ) -> ::std::os::raw::c_int;
75881}
75882extern "C" {
75883    pub fn vips_XYZ2scRGB(
75884        in_: *mut VipsImage,
75885        out: *mut *mut VipsImage,
75886        ...
75887    ) -> ::std::os::raw::c_int;
75888}
75889extern "C" {
75890    pub fn vips_scRGB2sRGB(
75891        in_: *mut VipsImage,
75892        out: *mut *mut VipsImage,
75893        ...
75894    ) -> ::std::os::raw::c_int;
75895}
75896extern "C" {
75897    pub fn vips_scRGB2BW(
75898        in_: *mut VipsImage,
75899        out: *mut *mut VipsImage,
75900        ...
75901    ) -> ::std::os::raw::c_int;
75902}
75903extern "C" {
75904    pub fn vips_sRGB2scRGB(
75905        in_: *mut VipsImage,
75906        out: *mut *mut VipsImage,
75907        ...
75908    ) -> ::std::os::raw::c_int;
75909}
75910extern "C" {
75911    pub fn vips_scRGB2XYZ(
75912        in_: *mut VipsImage,
75913        out: *mut *mut VipsImage,
75914        ...
75915    ) -> ::std::os::raw::c_int;
75916}
75917extern "C" {
75918    pub fn vips_HSV2sRGB(
75919        in_: *mut VipsImage,
75920        out: *mut *mut VipsImage,
75921        ...
75922    ) -> ::std::os::raw::c_int;
75923}
75924extern "C" {
75925    pub fn vips_sRGB2HSV(
75926        in_: *mut VipsImage,
75927        out: *mut *mut VipsImage,
75928        ...
75929    ) -> ::std::os::raw::c_int;
75930}
75931extern "C" {
75932    pub fn vips_LCh2CMC(
75933        in_: *mut VipsImage,
75934        out: *mut *mut VipsImage,
75935        ...
75936    ) -> ::std::os::raw::c_int;
75937}
75938extern "C" {
75939    pub fn vips_CMC2LCh(
75940        in_: *mut VipsImage,
75941        out: *mut *mut VipsImage,
75942        ...
75943    ) -> ::std::os::raw::c_int;
75944}
75945extern "C" {
75946    pub fn vips_XYZ2Yxy(
75947        in_: *mut VipsImage,
75948        out: *mut *mut VipsImage,
75949        ...
75950    ) -> ::std::os::raw::c_int;
75951}
75952extern "C" {
75953    pub fn vips_Yxy2XYZ(
75954        in_: *mut VipsImage,
75955        out: *mut *mut VipsImage,
75956        ...
75957    ) -> ::std::os::raw::c_int;
75958}
75959extern "C" {
75960    pub fn vips_LabS2Lab(
75961        in_: *mut VipsImage,
75962        out: *mut *mut VipsImage,
75963        ...
75964    ) -> ::std::os::raw::c_int;
75965}
75966extern "C" {
75967    pub fn vips_Lab2LabS(
75968        in_: *mut VipsImage,
75969        out: *mut *mut VipsImage,
75970        ...
75971    ) -> ::std::os::raw::c_int;
75972}
75973extern "C" {
75974    pub fn vips_CMYK2XYZ(
75975        in_: *mut VipsImage,
75976        out: *mut *mut VipsImage,
75977        ...
75978    ) -> ::std::os::raw::c_int;
75979}
75980extern "C" {
75981    pub fn vips_XYZ2CMYK(
75982        in_: *mut VipsImage,
75983        out: *mut *mut VipsImage,
75984        ...
75985    ) -> ::std::os::raw::c_int;
75986}
75987extern "C" {
75988    pub fn vips_profile_load(
75989        name: *const ::std::os::raw::c_char,
75990        profile: *mut *mut VipsBlob,
75991        ...
75992    ) -> ::std::os::raw::c_int;
75993}
75994extern "C" {
75995    pub fn vips_icc_present() -> ::std::os::raw::c_int;
75996}
75997extern "C" {
75998    pub fn vips_icc_transform(
75999        in_: *mut VipsImage,
76000        out: *mut *mut VipsImage,
76001        output_profile: *const ::std::os::raw::c_char,
76002        ...
76003    ) -> ::std::os::raw::c_int;
76004}
76005extern "C" {
76006    pub fn vips_icc_import(
76007        in_: *mut VipsImage,
76008        out: *mut *mut VipsImage,
76009        ...
76010    ) -> ::std::os::raw::c_int;
76011}
76012extern "C" {
76013    pub fn vips_icc_export(
76014        in_: *mut VipsImage,
76015        out: *mut *mut VipsImage,
76016        ...
76017    ) -> ::std::os::raw::c_int;
76018}
76019extern "C" {
76020    pub fn vips_icc_ac2rc(
76021        in_: *mut VipsImage,
76022        out: *mut *mut VipsImage,
76023        profile_filename: *const ::std::os::raw::c_char,
76024    ) -> ::std::os::raw::c_int;
76025}
76026extern "C" {
76027    pub fn vips_icc_is_compatible_profile(
76028        image: *mut VipsImage,
76029        data: *const ::std::os::raw::c_void,
76030        data_length: size_t,
76031    ) -> gboolean;
76032}
76033extern "C" {
76034    pub fn vips_dE76(
76035        left: *mut VipsImage,
76036        right: *mut VipsImage,
76037        out: *mut *mut VipsImage,
76038        ...
76039    ) -> ::std::os::raw::c_int;
76040}
76041extern "C" {
76042    pub fn vips_dE00(
76043        left: *mut VipsImage,
76044        right: *mut VipsImage,
76045        out: *mut *mut VipsImage,
76046        ...
76047    ) -> ::std::os::raw::c_int;
76048}
76049extern "C" {
76050    pub fn vips_dECMC(
76051        left: *mut VipsImage,
76052        right: *mut VipsImage,
76053        out: *mut *mut VipsImage,
76054        ...
76055    ) -> ::std::os::raw::c_int;
76056}
76057extern "C" {
76058    pub fn vips_col_Lab2XYZ(L: f32, a: f32, b: f32, X: *mut f32, Y: *mut f32, Z: *mut f32);
76059}
76060extern "C" {
76061    pub fn vips_col_XYZ2Lab(X: f32, Y: f32, Z: f32, L: *mut f32, a: *mut f32, b: *mut f32);
76062}
76063extern "C" {
76064    pub fn vips_col_ab2h(a: f64, b: f64) -> f64;
76065}
76066extern "C" {
76067    pub fn vips_col_ab2Ch(a: f32, b: f32, C: *mut f32, h: *mut f32);
76068}
76069extern "C" {
76070    pub fn vips_col_Ch2ab(C: f32, h: f32, a: *mut f32, b: *mut f32);
76071}
76072extern "C" {
76073    pub fn vips_col_L2Lcmc(L: f32) -> f32;
76074}
76075extern "C" {
76076    pub fn vips_col_C2Ccmc(C: f32) -> f32;
76077}
76078extern "C" {
76079    pub fn vips_col_Ch2hcmc(C: f32, h: f32) -> f32;
76080}
76081extern "C" {
76082    pub fn vips_col_make_tables_CMC();
76083}
76084extern "C" {
76085    pub fn vips_col_Lcmc2L(Lcmc: f32) -> f32;
76086}
76087extern "C" {
76088    pub fn vips_col_Ccmc2C(Ccmc: f32) -> f32;
76089}
76090extern "C" {
76091    pub fn vips_col_Chcmc2h(C: f32, hcmc: f32) -> f32;
76092}
76093extern "C" {
76094    pub fn vips_col_sRGB2scRGB_8(
76095        r: ::std::os::raw::c_int,
76096        g: ::std::os::raw::c_int,
76097        b: ::std::os::raw::c_int,
76098        R: *mut f32,
76099        G: *mut f32,
76100        B: *mut f32,
76101    ) -> ::std::os::raw::c_int;
76102}
76103extern "C" {
76104    pub fn vips_col_sRGB2scRGB_16(
76105        r: ::std::os::raw::c_int,
76106        g: ::std::os::raw::c_int,
76107        b: ::std::os::raw::c_int,
76108        R: *mut f32,
76109        G: *mut f32,
76110        B: *mut f32,
76111    ) -> ::std::os::raw::c_int;
76112}
76113extern "C" {
76114    pub fn vips_col_sRGB2scRGB_8_noclip(
76115        r: ::std::os::raw::c_int,
76116        g: ::std::os::raw::c_int,
76117        b: ::std::os::raw::c_int,
76118        R: *mut f32,
76119        G: *mut f32,
76120        B: *mut f32,
76121    ) -> ::std::os::raw::c_int;
76122}
76123extern "C" {
76124    pub fn vips_col_sRGB2scRGB_16_noclip(
76125        r: ::std::os::raw::c_int,
76126        g: ::std::os::raw::c_int,
76127        b: ::std::os::raw::c_int,
76128        R: *mut f32,
76129        G: *mut f32,
76130        B: *mut f32,
76131    ) -> ::std::os::raw::c_int;
76132}
76133extern "C" {
76134    pub fn vips_col_scRGB2XYZ(
76135        R: f32,
76136        G: f32,
76137        B: f32,
76138        X: *mut f32,
76139        Y: *mut f32,
76140        Z: *mut f32,
76141    ) -> ::std::os::raw::c_int;
76142}
76143extern "C" {
76144    pub fn vips_col_XYZ2scRGB(
76145        X: f32,
76146        Y: f32,
76147        Z: f32,
76148        R: *mut f32,
76149        G: *mut f32,
76150        B: *mut f32,
76151    ) -> ::std::os::raw::c_int;
76152}
76153extern "C" {
76154    pub fn vips_col_scRGB2sRGB_8(
76155        R: f32,
76156        G: f32,
76157        B: f32,
76158        r: *mut ::std::os::raw::c_int,
76159        g: *mut ::std::os::raw::c_int,
76160        b: *mut ::std::os::raw::c_int,
76161        og: *mut ::std::os::raw::c_int,
76162    ) -> ::std::os::raw::c_int;
76163}
76164extern "C" {
76165    pub fn vips_col_scRGB2sRGB_16(
76166        R: f32,
76167        G: f32,
76168        B: f32,
76169        r: *mut ::std::os::raw::c_int,
76170        g: *mut ::std::os::raw::c_int,
76171        b: *mut ::std::os::raw::c_int,
76172        og: *mut ::std::os::raw::c_int,
76173    ) -> ::std::os::raw::c_int;
76174}
76175extern "C" {
76176    pub fn vips_col_scRGB2BW_16(
76177        R: f32,
76178        G: f32,
76179        B: f32,
76180        g: *mut ::std::os::raw::c_int,
76181        og: *mut ::std::os::raw::c_int,
76182    ) -> ::std::os::raw::c_int;
76183}
76184extern "C" {
76185    pub fn vips_col_scRGB2BW_8(
76186        R: f32,
76187        G: f32,
76188        B: f32,
76189        g: *mut ::std::os::raw::c_int,
76190        og: *mut ::std::os::raw::c_int,
76191    ) -> ::std::os::raw::c_int;
76192}
76193extern "C" {
76194    pub fn vips_pythagoras(L1: f32, a1: f32, b1: f32, L2: f32, a2: f32, b2: f32) -> f32;
76195}
76196extern "C" {
76197    pub fn vips_col_dE00(L1: f32, a1: f32, b1: f32, L2: f32, a2: f32, b2: f32) -> f32;
76198}
76199pub const VipsCombineMode_VIPS_COMBINE_MODE_SET: VipsCombineMode = 0;
76200pub const VipsCombineMode_VIPS_COMBINE_MODE_ADD: VipsCombineMode = 1;
76201pub const VipsCombineMode_VIPS_COMBINE_MODE_LAST: VipsCombineMode = 2;
76202pub type VipsCombineMode = ::std::os::raw::c_uint;
76203extern "C" {
76204    pub fn vips_draw_rect(
76205        image: *mut VipsImage,
76206        ink: *mut f64,
76207        n: ::std::os::raw::c_int,
76208        left: ::std::os::raw::c_int,
76209        top: ::std::os::raw::c_int,
76210        width: ::std::os::raw::c_int,
76211        height: ::std::os::raw::c_int,
76212        ...
76213    ) -> ::std::os::raw::c_int;
76214}
76215extern "C" {
76216    pub fn vips_draw_rect1(
76217        image: *mut VipsImage,
76218        ink: f64,
76219        left: ::std::os::raw::c_int,
76220        top: ::std::os::raw::c_int,
76221        width: ::std::os::raw::c_int,
76222        height: ::std::os::raw::c_int,
76223        ...
76224    ) -> ::std::os::raw::c_int;
76225}
76226extern "C" {
76227    pub fn vips_draw_point(
76228        image: *mut VipsImage,
76229        ink: *mut f64,
76230        n: ::std::os::raw::c_int,
76231        x: ::std::os::raw::c_int,
76232        y: ::std::os::raw::c_int,
76233        ...
76234    ) -> ::std::os::raw::c_int;
76235}
76236extern "C" {
76237    pub fn vips_draw_point1(
76238        image: *mut VipsImage,
76239        ink: f64,
76240        x: ::std::os::raw::c_int,
76241        y: ::std::os::raw::c_int,
76242        ...
76243    ) -> ::std::os::raw::c_int;
76244}
76245extern "C" {
76246    pub fn vips_draw_image(
76247        image: *mut VipsImage,
76248        sub: *mut VipsImage,
76249        x: ::std::os::raw::c_int,
76250        y: ::std::os::raw::c_int,
76251        ...
76252    ) -> ::std::os::raw::c_int;
76253}
76254extern "C" {
76255    pub fn vips_draw_mask(
76256        image: *mut VipsImage,
76257        ink: *mut f64,
76258        n: ::std::os::raw::c_int,
76259        mask: *mut VipsImage,
76260        x: ::std::os::raw::c_int,
76261        y: ::std::os::raw::c_int,
76262        ...
76263    ) -> ::std::os::raw::c_int;
76264}
76265extern "C" {
76266    pub fn vips_draw_mask1(
76267        image: *mut VipsImage,
76268        ink: f64,
76269        mask: *mut VipsImage,
76270        x: ::std::os::raw::c_int,
76271        y: ::std::os::raw::c_int,
76272        ...
76273    ) -> ::std::os::raw::c_int;
76274}
76275extern "C" {
76276    pub fn vips_draw_line(
76277        image: *mut VipsImage,
76278        ink: *mut f64,
76279        n: ::std::os::raw::c_int,
76280        x1: ::std::os::raw::c_int,
76281        y1: ::std::os::raw::c_int,
76282        x2: ::std::os::raw::c_int,
76283        y2: ::std::os::raw::c_int,
76284        ...
76285    ) -> ::std::os::raw::c_int;
76286}
76287extern "C" {
76288    pub fn vips_draw_line1(
76289        image: *mut VipsImage,
76290        ink: f64,
76291        x1: ::std::os::raw::c_int,
76292        y1: ::std::os::raw::c_int,
76293        x2: ::std::os::raw::c_int,
76294        y2: ::std::os::raw::c_int,
76295        ...
76296    ) -> ::std::os::raw::c_int;
76297}
76298extern "C" {
76299    pub fn vips_draw_circle(
76300        image: *mut VipsImage,
76301        ink: *mut f64,
76302        n: ::std::os::raw::c_int,
76303        cx: ::std::os::raw::c_int,
76304        cy: ::std::os::raw::c_int,
76305        radius: ::std::os::raw::c_int,
76306        ...
76307    ) -> ::std::os::raw::c_int;
76308}
76309extern "C" {
76310    pub fn vips_draw_circle1(
76311        image: *mut VipsImage,
76312        ink: f64,
76313        cx: ::std::os::raw::c_int,
76314        cy: ::std::os::raw::c_int,
76315        radius: ::std::os::raw::c_int,
76316        ...
76317    ) -> ::std::os::raw::c_int;
76318}
76319extern "C" {
76320    pub fn vips_draw_flood(
76321        image: *mut VipsImage,
76322        ink: *mut f64,
76323        n: ::std::os::raw::c_int,
76324        x: ::std::os::raw::c_int,
76325        y: ::std::os::raw::c_int,
76326        ...
76327    ) -> ::std::os::raw::c_int;
76328}
76329extern "C" {
76330    pub fn vips_draw_flood1(
76331        image: *mut VipsImage,
76332        ink: f64,
76333        x: ::std::os::raw::c_int,
76334        y: ::std::os::raw::c_int,
76335        ...
76336    ) -> ::std::os::raw::c_int;
76337}
76338extern "C" {
76339    pub fn vips_draw_smudge(
76340        image: *mut VipsImage,
76341        left: ::std::os::raw::c_int,
76342        top: ::std::os::raw::c_int,
76343        width: ::std::os::raw::c_int,
76344        height: ::std::os::raw::c_int,
76345        ...
76346    ) -> ::std::os::raw::c_int;
76347}
76348pub const VipsTextWrap_VIPS_TEXT_WRAP_WORD: VipsTextWrap = 0;
76349pub const VipsTextWrap_VIPS_TEXT_WRAP_CHAR: VipsTextWrap = 1;
76350pub const VipsTextWrap_VIPS_TEXT_WRAP_WORD_CHAR: VipsTextWrap = 2;
76351pub const VipsTextWrap_VIPS_TEXT_WRAP_NONE: VipsTextWrap = 3;
76352pub const VipsTextWrap_VIPS_TEXT_WRAP_LAST: VipsTextWrap = 4;
76353pub type VipsTextWrap = ::std::os::raw::c_uint;
76354extern "C" {
76355    pub fn vips_black(
76356        out: *mut *mut VipsImage,
76357        width: ::std::os::raw::c_int,
76358        height: ::std::os::raw::c_int,
76359        ...
76360    ) -> ::std::os::raw::c_int;
76361}
76362extern "C" {
76363    pub fn vips_xyz(
76364        out: *mut *mut VipsImage,
76365        width: ::std::os::raw::c_int,
76366        height: ::std::os::raw::c_int,
76367        ...
76368    ) -> ::std::os::raw::c_int;
76369}
76370extern "C" {
76371    pub fn vips_grey(
76372        out: *mut *mut VipsImage,
76373        width: ::std::os::raw::c_int,
76374        height: ::std::os::raw::c_int,
76375        ...
76376    ) -> ::std::os::raw::c_int;
76377}
76378extern "C" {
76379    pub fn vips_gaussmat(
76380        out: *mut *mut VipsImage,
76381        sigma: f64,
76382        min_ampl: f64,
76383        ...
76384    ) -> ::std::os::raw::c_int;
76385}
76386extern "C" {
76387    pub fn vips_logmat(
76388        out: *mut *mut VipsImage,
76389        sigma: f64,
76390        min_ampl: f64,
76391        ...
76392    ) -> ::std::os::raw::c_int;
76393}
76394extern "C" {
76395    pub fn vips_text(
76396        out: *mut *mut VipsImage,
76397        text: *const ::std::os::raw::c_char,
76398        ...
76399    ) -> ::std::os::raw::c_int;
76400}
76401extern "C" {
76402    pub fn vips_gaussnoise(
76403        out: *mut *mut VipsImage,
76404        width: ::std::os::raw::c_int,
76405        height: ::std::os::raw::c_int,
76406        ...
76407    ) -> ::std::os::raw::c_int;
76408}
76409extern "C" {
76410    pub fn vips_eye(
76411        out: *mut *mut VipsImage,
76412        width: ::std::os::raw::c_int,
76413        height: ::std::os::raw::c_int,
76414        ...
76415    ) -> ::std::os::raw::c_int;
76416}
76417extern "C" {
76418    pub fn vips_sines(
76419        out: *mut *mut VipsImage,
76420        width: ::std::os::raw::c_int,
76421        height: ::std::os::raw::c_int,
76422        ...
76423    ) -> ::std::os::raw::c_int;
76424}
76425extern "C" {
76426    pub fn vips_zone(
76427        out: *mut *mut VipsImage,
76428        width: ::std::os::raw::c_int,
76429        height: ::std::os::raw::c_int,
76430        ...
76431    ) -> ::std::os::raw::c_int;
76432}
76433extern "C" {
76434    pub fn vips_identity(out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
76435}
76436extern "C" {
76437    pub fn vips_buildlut(
76438        in_: *mut VipsImage,
76439        out: *mut *mut VipsImage,
76440        ...
76441    ) -> ::std::os::raw::c_int;
76442}
76443extern "C" {
76444    pub fn vips_invertlut(
76445        in_: *mut VipsImage,
76446        out: *mut *mut VipsImage,
76447        ...
76448    ) -> ::std::os::raw::c_int;
76449}
76450extern "C" {
76451    pub fn vips_tonelut(out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
76452}
76453extern "C" {
76454    pub fn vips_mask_ideal(
76455        out: *mut *mut VipsImage,
76456        width: ::std::os::raw::c_int,
76457        height: ::std::os::raw::c_int,
76458        frequency_cutoff: f64,
76459        ...
76460    ) -> ::std::os::raw::c_int;
76461}
76462extern "C" {
76463    pub fn vips_mask_ideal_ring(
76464        out: *mut *mut VipsImage,
76465        width: ::std::os::raw::c_int,
76466        height: ::std::os::raw::c_int,
76467        frequency_cutoff: f64,
76468        ringwidth: f64,
76469        ...
76470    ) -> ::std::os::raw::c_int;
76471}
76472extern "C" {
76473    pub fn vips_mask_ideal_band(
76474        out: *mut *mut VipsImage,
76475        width: ::std::os::raw::c_int,
76476        height: ::std::os::raw::c_int,
76477        frequency_cutoff_x: f64,
76478        frequency_cutoff_y: f64,
76479        radius: f64,
76480        ...
76481    ) -> ::std::os::raw::c_int;
76482}
76483extern "C" {
76484    pub fn vips_mask_butterworth(
76485        out: *mut *mut VipsImage,
76486        width: ::std::os::raw::c_int,
76487        height: ::std::os::raw::c_int,
76488        order: f64,
76489        frequency_cutoff: f64,
76490        amplitude_cutoff: f64,
76491        ...
76492    ) -> ::std::os::raw::c_int;
76493}
76494extern "C" {
76495    pub fn vips_mask_butterworth_ring(
76496        out: *mut *mut VipsImage,
76497        width: ::std::os::raw::c_int,
76498        height: ::std::os::raw::c_int,
76499        order: f64,
76500        frequency_cutoff: f64,
76501        amplitude_cutoff: f64,
76502        ringwidth: f64,
76503        ...
76504    ) -> ::std::os::raw::c_int;
76505}
76506extern "C" {
76507    pub fn vips_mask_butterworth_band(
76508        out: *mut *mut VipsImage,
76509        width: ::std::os::raw::c_int,
76510        height: ::std::os::raw::c_int,
76511        order: f64,
76512        frequency_cutoff_x: f64,
76513        frequency_cutoff_y: f64,
76514        radius: f64,
76515        amplitude_cutoff: f64,
76516        ...
76517    ) -> ::std::os::raw::c_int;
76518}
76519extern "C" {
76520    pub fn vips_mask_gaussian(
76521        out: *mut *mut VipsImage,
76522        width: ::std::os::raw::c_int,
76523        height: ::std::os::raw::c_int,
76524        frequency_cutoff: f64,
76525        amplitude_cutoff: f64,
76526        ...
76527    ) -> ::std::os::raw::c_int;
76528}
76529extern "C" {
76530    pub fn vips_mask_gaussian_ring(
76531        out: *mut *mut VipsImage,
76532        width: ::std::os::raw::c_int,
76533        height: ::std::os::raw::c_int,
76534        frequency_cutoff: f64,
76535        amplitude_cutoff: f64,
76536        ringwidth: f64,
76537        ...
76538    ) -> ::std::os::raw::c_int;
76539}
76540extern "C" {
76541    pub fn vips_mask_gaussian_band(
76542        out: *mut *mut VipsImage,
76543        width: ::std::os::raw::c_int,
76544        height: ::std::os::raw::c_int,
76545        frequency_cutoff_x: f64,
76546        frequency_cutoff_y: f64,
76547        radius: f64,
76548        amplitude_cutoff: f64,
76549        ...
76550    ) -> ::std::os::raw::c_int;
76551}
76552extern "C" {
76553    pub fn vips_mask_fractal(
76554        out: *mut *mut VipsImage,
76555        width: ::std::os::raw::c_int,
76556        height: ::std::os::raw::c_int,
76557        fractal_dimension: f64,
76558        ...
76559    ) -> ::std::os::raw::c_int;
76560}
76561extern "C" {
76562    pub fn vips_fractsurf(
76563        out: *mut *mut VipsImage,
76564        width: ::std::os::raw::c_int,
76565        height: ::std::os::raw::c_int,
76566        fractal_dimension: f64,
76567        ...
76568    ) -> ::std::os::raw::c_int;
76569}
76570extern "C" {
76571    pub fn vips_worley(
76572        out: *mut *mut VipsImage,
76573        width: ::std::os::raw::c_int,
76574        height: ::std::os::raw::c_int,
76575        ...
76576    ) -> ::std::os::raw::c_int;
76577}
76578extern "C" {
76579    pub fn vips_perlin(
76580        out: *mut *mut VipsImage,
76581        width: ::std::os::raw::c_int,
76582        height: ::std::os::raw::c_int,
76583        ...
76584    ) -> ::std::os::raw::c_int;
76585}
76586extern "C" {
76587    pub fn im_video_v4l1(
76588        im: *mut VipsImage,
76589        device: *const ::std::os::raw::c_char,
76590        channel: ::std::os::raw::c_int,
76591        brightness: ::std::os::raw::c_int,
76592        colour: ::std::os::raw::c_int,
76593        contrast: ::std::os::raw::c_int,
76594        hue: ::std::os::raw::c_int,
76595        ngrabs: ::std::os::raw::c_int,
76596    ) -> ::std::os::raw::c_int;
76597}
76598extern "C" {
76599    pub fn im_video_test(
76600        im: *mut VipsImage,
76601        brightness: ::std::os::raw::c_int,
76602        error: ::std::os::raw::c_int,
76603    ) -> ::std::os::raw::c_int;
76604}
76605extern "C" {
76606    pub fn vips_init(argv0: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
76607}
76608extern "C" {
76609    pub fn vips_get_argv0() -> *const ::std::os::raw::c_char;
76610}
76611extern "C" {
76612    pub fn vips_get_prgname() -> *const ::std::os::raw::c_char;
76613}
76614extern "C" {
76615    pub fn vips_shutdown();
76616}
76617extern "C" {
76618    pub fn vips_thread_shutdown();
76619}
76620extern "C" {
76621    pub fn vips_add_option_entries(option_group: *mut GOptionGroup);
76622}
76623extern "C" {
76624    pub fn vips_leak_set(leak: gboolean);
76625}
76626extern "C" {
76627    pub fn vips_block_untrusted_set(state: gboolean);
76628}
76629extern "C" {
76630    pub fn vips_version_string() -> *const ::std::os::raw::c_char;
76631}
76632extern "C" {
76633    pub fn vips_version(flag: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
76634}
76635extern "C" {
76636    pub fn vips_guess_prefix(
76637        argv0: *const ::std::os::raw::c_char,
76638        env_name: *const ::std::os::raw::c_char,
76639    ) -> *const ::std::os::raw::c_char;
76640}
76641extern "C" {
76642    pub fn vips_guess_libdir(
76643        argv0: *const ::std::os::raw::c_char,
76644        env_name: *const ::std::os::raw::c_char,
76645    ) -> *const ::std::os::raw::c_char;
76646}
76647pub type __builtin_va_list = *mut ::std::os::raw::c_char;
76648pub type __uint128_t = u128;