libvips/
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 __BYTE_ORDER: u32 = 1234;
84pub const __LONG_MAX: u64 = 9223372036854775807;
85pub const __LITTLE_ENDIAN: u32 = 1234;
86pub const __BIG_ENDIAN: u32 = 4321;
87pub const __USE_TIME_BITS64: u32 = 1;
88pub const G_ANALYZER_ANALYZING: u32 = 0;
89pub const FALSE: u32 = 0;
90pub const G_HAVE_GNUC_VISIBILITY: u32 = 1;
91pub const _BSD_SOURCE: u32 = 1;
92pub const _XOPEN_SOURCE: u32 = 700;
93pub const CHAR_MIN: u32 = 0;
94pub const CHAR_MAX: u32 = 255;
95pub const CHAR_BIT: u32 = 8;
96pub const SCHAR_MIN: i32 = -128;
97pub const SCHAR_MAX: u32 = 127;
98pub const UCHAR_MAX: u32 = 255;
99pub const SHRT_MIN: i32 = -32768;
100pub const SHRT_MAX: u32 = 32767;
101pub const USHRT_MAX: u32 = 65535;
102pub const INT_MIN: i32 = -2147483648;
103pub const INT_MAX: u32 = 2147483647;
104pub const UINT_MAX: u32 = 4294967295;
105pub const LONG_MAX: u64 = 9223372036854775807;
106pub const ULONG_MAX: i32 = -1;
107pub const LLONG_MAX: u64 = 9223372036854775807;
108pub const ULLONG_MAX: i32 = -1;
109pub const MB_LEN_MAX: u32 = 4;
110pub const PIPE_BUF: u32 = 4096;
111pub const FILESIZEBITS: u32 = 64;
112pub const NAME_MAX: u32 = 255;
113pub const PATH_MAX: u32 = 4096;
114pub const NGROUPS_MAX: u32 = 32;
115pub const ARG_MAX: u32 = 131072;
116pub const IOV_MAX: u32 = 1024;
117pub const SYMLOOP_MAX: u32 = 40;
118pub const WORD_BIT: u32 = 32;
119pub const SSIZE_MAX: u64 = 9223372036854775807;
120pub const TZNAME_MAX: u32 = 6;
121pub const TTY_NAME_MAX: u32 = 32;
122pub const HOST_NAME_MAX: u32 = 255;
123pub const LONG_BIT: u32 = 64;
124pub const PTHREAD_KEYS_MAX: u32 = 128;
125pub const PTHREAD_STACK_MIN: u32 = 2048;
126pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
127pub const SEM_VALUE_MAX: u32 = 2147483647;
128pub const SEM_NSEMS_MAX: u32 = 256;
129pub const DELAYTIMER_MAX: u32 = 2147483647;
130pub const MQ_PRIO_MAX: u32 = 32768;
131pub const LOGIN_NAME_MAX: u32 = 256;
132pub const BC_BASE_MAX: u32 = 99;
133pub const BC_DIM_MAX: u32 = 2048;
134pub const BC_SCALE_MAX: u32 = 99;
135pub const BC_STRING_MAX: u32 = 1000;
136pub const CHARCLASS_NAME_MAX: u32 = 14;
137pub const COLL_WEIGHTS_MAX: u32 = 2;
138pub const EXPR_NEST_MAX: u32 = 32;
139pub const LINE_MAX: u32 = 4096;
140pub const RE_DUP_MAX: u32 = 255;
141pub const NL_ARGMAX: u32 = 9;
142pub const NL_MSGMAX: u32 = 32767;
143pub const NL_SETMAX: u32 = 255;
144pub const NL_TEXTMAX: u32 = 2048;
145pub const NZERO: u32 = 20;
146pub const NL_LANGMAX: u32 = 32;
147pub const NL_NMAX: u32 = 16;
148pub const _POSIX_AIO_LISTIO_MAX: u32 = 2;
149pub const _POSIX_AIO_MAX: u32 = 1;
150pub const _POSIX_ARG_MAX: u32 = 4096;
151pub const _POSIX_CHILD_MAX: u32 = 25;
152pub const _POSIX_CLOCKRES_MIN: u32 = 20000000;
153pub const _POSIX_DELAYTIMER_MAX: u32 = 32;
154pub const _POSIX_HOST_NAME_MAX: u32 = 255;
155pub const _POSIX_LINK_MAX: u32 = 8;
156pub const _POSIX_LOGIN_NAME_MAX: u32 = 9;
157pub const _POSIX_MAX_CANON: u32 = 255;
158pub const _POSIX_MAX_INPUT: u32 = 255;
159pub const _POSIX_MQ_OPEN_MAX: u32 = 8;
160pub const _POSIX_MQ_PRIO_MAX: u32 = 32;
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_RE_DUP_MAX: u32 = 255;
167pub const _POSIX_RTSIG_MAX: u32 = 8;
168pub const _POSIX_SEM_NSEMS_MAX: u32 = 256;
169pub const _POSIX_SEM_VALUE_MAX: u32 = 32767;
170pub const _POSIX_SIGQUEUE_MAX: u32 = 32;
171pub const _POSIX_SSIZE_MAX: u32 = 32767;
172pub const _POSIX_STREAM_MAX: u32 = 8;
173pub const _POSIX_SS_REPL_MAX: u32 = 4;
174pub const _POSIX_SYMLINK_MAX: u32 = 255;
175pub const _POSIX_SYMLOOP_MAX: u32 = 8;
176pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
177pub const _POSIX_THREAD_KEYS_MAX: u32 = 128;
178pub const _POSIX_THREAD_THREADS_MAX: u32 = 64;
179pub const _POSIX_TIMER_MAX: u32 = 32;
180pub const _POSIX_TRACE_EVENT_NAME_MAX: u32 = 30;
181pub const _POSIX_TRACE_NAME_MAX: u32 = 8;
182pub const _POSIX_TRACE_SYS_MAX: u32 = 8;
183pub const _POSIX_TRACE_USER_EVENT_MAX: u32 = 32;
184pub const _POSIX_TTY_NAME_MAX: u32 = 9;
185pub const _POSIX_TZNAME_MAX: u32 = 6;
186pub const _POSIX2_BC_BASE_MAX: u32 = 99;
187pub const _POSIX2_BC_DIM_MAX: u32 = 2048;
188pub const _POSIX2_BC_SCALE_MAX: u32 = 99;
189pub const _POSIX2_BC_STRING_MAX: u32 = 1000;
190pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14;
191pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2;
192pub const _POSIX2_EXPR_NEST_MAX: u32 = 32;
193pub const _POSIX2_LINE_MAX: u32 = 2048;
194pub const _POSIX2_RE_DUP_MAX: u32 = 255;
195pub const _XOPEN_IOV_MAX: u32 = 16;
196pub const _XOPEN_NAME_MAX: u32 = 255;
197pub const _XOPEN_PATH_MAX: u32 = 1024;
198pub const FLT_RADIX: u32 = 2;
199pub const FLT_MANT_DIG: u32 = 24;
200pub const FLT_MIN_EXP: i32 = -125;
201pub const FLT_MAX_EXP: u32 = 128;
202pub const FLT_HAS_SUBNORM: u32 = 1;
203pub const FLT_DIG: u32 = 6;
204pub const FLT_DECIMAL_DIG: u32 = 9;
205pub const FLT_MIN_10_EXP: i32 = -37;
206pub const FLT_MAX_10_EXP: u32 = 38;
207pub const DBL_MANT_DIG: u32 = 53;
208pub const DBL_MIN_EXP: i32 = -1021;
209pub const DBL_MAX_EXP: u32 = 1024;
210pub const DBL_HAS_SUBNORM: u32 = 1;
211pub const DBL_DIG: u32 = 15;
212pub const DBL_DECIMAL_DIG: u32 = 17;
213pub const DBL_MIN_10_EXP: i32 = -307;
214pub const DBL_MAX_10_EXP: u32 = 308;
215pub const LDBL_HAS_SUBNORM: u32 = 1;
216pub const FLT_EVAL_METHOD: u32 = 0;
217pub const LDBL_MANT_DIG: u32 = 113;
218pub const LDBL_MIN_EXP: i32 = -16381;
219pub const LDBL_MAX_EXP: u32 = 16384;
220pub const LDBL_DIG: u32 = 33;
221pub const LDBL_MIN_10_EXP: i32 = -4931;
222pub const LDBL_MAX_10_EXP: u32 = 4932;
223pub const DECIMAL_DIG: u32 = 36;
224pub const G_MINSHORT: i32 = -32768;
225pub const G_MAXSHORT: u32 = 32767;
226pub const G_MAXUSHORT: u32 = 65535;
227pub const G_MININT: i32 = -2147483648;
228pub const G_MAXINT: u32 = 2147483647;
229pub const G_MAXUINT: u32 = 4294967295;
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; 2] = b"l\0";
240pub const G_GINT64_FORMAT: &[u8; 3] = b"li\0";
241pub const G_GUINT64_FORMAT: &[u8; 3] = b"lu\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_MAXSSIZE: u64 = 9223372036854775807;
252pub const G_GOFFSET_MODIFIER: &[u8; 2] = b"l\0";
253pub const G_GOFFSET_FORMAT: &[u8; 3] = b"li\0";
254pub const G_POLLFD_FORMAT: &[u8; 3] = b"%d\0";
255pub const G_GINTPTR_MODIFIER: &[u8; 2] = b"l\0";
256pub const G_GINTPTR_FORMAT: &[u8; 3] = b"li\0";
257pub const G_GUINTPTR_FORMAT: &[u8; 3] = b"lu\0";
258pub const GLIB_MAJOR_VERSION: u32 = 2;
259pub const GLIB_MINOR_VERSION: u32 = 78;
260pub const GLIB_MICRO_VERSION: u32 = 4;
261pub const G_HAVE_ISO_VARARGS: u32 = 1;
262pub const G_HAVE_GROWING_STACK: u32 = 0;
263pub const G_HAVE_GNUC_VARARGS: u32 = 1;
264pub const G_MODULE_SUFFIX: &[u8; 3] = b"so\0";
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 = 10;
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 CLOCKS_PER_SEC: u32 = 1000000;
277pub const TIME_UTC: u32 = 1;
278pub const CLOCK_REALTIME: u32 = 0;
279pub const CLOCK_MONOTONIC: u32 = 1;
280pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2;
281pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3;
282pub const CLOCK_MONOTONIC_RAW: u32 = 4;
283pub const CLOCK_REALTIME_COARSE: u32 = 5;
284pub const CLOCK_MONOTONIC_COARSE: u32 = 6;
285pub const CLOCK_BOOTTIME: u32 = 7;
286pub const CLOCK_REALTIME_ALARM: u32 = 8;
287pub const CLOCK_BOOTTIME_ALARM: u32 = 9;
288pub const CLOCK_SGI_CYCLE: u32 = 10;
289pub const CLOCK_TAI: u32 = 11;
290pub const TIMER_ABSTIME: u32 = 1;
291pub const G_E: f64 = 2.718281828459045;
292pub const G_LN2: f64 = 0.6931471805599453;
293pub const G_LN10: f64 = 2.302585092994046;
294pub const G_PI: f64 = 3.141592653589793;
295pub const G_PI_2: f64 = 1.5707963267948966;
296pub const G_PI_4: f64 = 0.7853981633974483;
297pub const G_SQRT2: f64 = 1.4142135623730951;
298pub const G_LITTLE_ENDIAN: u32 = 1234;
299pub const G_BIG_ENDIAN: u32 = 4321;
300pub const G_PDP_ENDIAN: u32 = 3412;
301pub const G_IEEE754_FLOAT_BIAS: u32 = 127;
302pub const G_IEEE754_DOUBLE_BIAS: u32 = 1023;
303pub const G_LOG_2_BASE_10: f64 = 0.3010299956639812;
304pub const EXIT_FAILURE: u32 = 1;
305pub const EXIT_SUCCESS: u32 = 0;
306pub const RAND_MAX: u32 = 2147483647;
307pub const WNOHANG: u32 = 1;
308pub const WUNTRACED: u32 = 2;
309pub const SIG_BLOCK: u32 = 0;
310pub const SIG_UNBLOCK: u32 = 1;
311pub const SIG_SETMASK: u32 = 2;
312pub const SI_ASYNCNL: i32 = -60;
313pub const SI_TKILL: i32 = -6;
314pub const SI_SIGIO: i32 = -5;
315pub const SI_ASYNCIO: i32 = -4;
316pub const SI_MESGQ: i32 = -3;
317pub const SI_TIMER: i32 = -2;
318pub const SI_QUEUE: i32 = -1;
319pub const SI_USER: u32 = 0;
320pub const SI_KERNEL: u32 = 128;
321pub const MINSIGSTKSZ: u32 = 6144;
322pub const SIGSTKSZ: u32 = 12288;
323pub const FPSIMD_MAGIC: u32 = 1179680769;
324pub const ESR_MAGIC: u32 = 1163088385;
325pub const EXTRA_MAGIC: u32 = 1163416577;
326pub const SVE_MAGIC: u32 = 1398162689;
327pub const SVE_VQ_BYTES: u32 = 16;
328pub const SVE_VQ_MIN: u32 = 1;
329pub const SVE_VQ_MAX: u32 = 512;
330pub const SVE_VL_MIN: u32 = 16;
331pub const SVE_VL_MAX: u32 = 8192;
332pub const SVE_NUM_ZREGS: u32 = 32;
333pub const SVE_NUM_PREGS: u32 = 16;
334pub const SA_NOCLDSTOP: u32 = 1;
335pub const SA_NOCLDWAIT: u32 = 2;
336pub const SA_SIGINFO: u32 = 4;
337pub const SA_ONSTACK: u32 = 134217728;
338pub const SA_RESTART: u32 = 268435456;
339pub const SA_NODEFER: u32 = 1073741824;
340pub const SA_RESETHAND: u32 = 2147483648;
341pub const SA_RESTORER: u32 = 67108864;
342pub const SIGHUP: u32 = 1;
343pub const SIGINT: u32 = 2;
344pub const SIGQUIT: u32 = 3;
345pub const SIGILL: u32 = 4;
346pub const SIGTRAP: u32 = 5;
347pub const SIGABRT: u32 = 6;
348pub const SIGIOT: u32 = 6;
349pub const SIGBUS: u32 = 7;
350pub const SIGFPE: u32 = 8;
351pub const SIGKILL: u32 = 9;
352pub const SIGUSR1: u32 = 10;
353pub const SIGSEGV: u32 = 11;
354pub const SIGUSR2: u32 = 12;
355pub const SIGPIPE: u32 = 13;
356pub const SIGALRM: u32 = 14;
357pub const SIGTERM: u32 = 15;
358pub const SIGSTKFLT: u32 = 16;
359pub const SIGCHLD: u32 = 17;
360pub const SIGCONT: u32 = 18;
361pub const SIGSTOP: u32 = 19;
362pub const SIGTSTP: u32 = 20;
363pub const SIGTTIN: u32 = 21;
364pub const SIGTTOU: u32 = 22;
365pub const SIGURG: u32 = 23;
366pub const SIGXCPU: u32 = 24;
367pub const SIGXFSZ: u32 = 25;
368pub const SIGVTALRM: u32 = 26;
369pub const SIGPROF: u32 = 27;
370pub const SIGWINCH: u32 = 28;
371pub const SIGIO: u32 = 29;
372pub const SIGPOLL: u32 = 29;
373pub const SIGPWR: u32 = 30;
374pub const SIGSYS: u32 = 31;
375pub const SIGUNUSED: u32 = 31;
376pub const _NSIG: u32 = 65;
377pub const FPE_INTDIV: u32 = 1;
378pub const FPE_INTOVF: u32 = 2;
379pub const FPE_FLTDIV: u32 = 3;
380pub const FPE_FLTOVF: u32 = 4;
381pub const FPE_FLTUND: u32 = 5;
382pub const FPE_FLTRES: u32 = 6;
383pub const FPE_FLTINV: u32 = 7;
384pub const FPE_FLTSUB: u32 = 8;
385pub const ILL_ILLOPC: u32 = 1;
386pub const ILL_ILLOPN: u32 = 2;
387pub const ILL_ILLADR: u32 = 3;
388pub const ILL_ILLTRP: u32 = 4;
389pub const ILL_PRVOPC: u32 = 5;
390pub const ILL_PRVREG: u32 = 6;
391pub const ILL_COPROC: u32 = 7;
392pub const ILL_BADSTK: u32 = 8;
393pub const SEGV_MAPERR: u32 = 1;
394pub const SEGV_ACCERR: u32 = 2;
395pub const SEGV_BNDERR: u32 = 3;
396pub const SEGV_PKUERR: u32 = 4;
397pub const SEGV_MTEAERR: u32 = 8;
398pub const SEGV_MTESERR: u32 = 9;
399pub const BUS_ADRALN: u32 = 1;
400pub const BUS_ADRERR: u32 = 2;
401pub const BUS_OBJERR: u32 = 3;
402pub const BUS_MCEERR_AR: u32 = 4;
403pub const BUS_MCEERR_AO: u32 = 5;
404pub const CLD_EXITED: u32 = 1;
405pub const CLD_KILLED: u32 = 2;
406pub const CLD_DUMPED: u32 = 3;
407pub const CLD_TRAPPED: u32 = 4;
408pub const CLD_STOPPED: u32 = 5;
409pub const CLD_CONTINUED: u32 = 6;
410pub const SA_UNSUPPORTED: u32 = 1024;
411pub const SA_EXPOSE_TAGBITS: u32 = 2048;
412pub const SIGEV_SIGNAL: u32 = 0;
413pub const SIGEV_NONE: u32 = 1;
414pub const SIGEV_THREAD: u32 = 2;
415pub const SIGEV_THREAD_ID: u32 = 4;
416pub const TRAP_BRKPT: u32 = 1;
417pub const TRAP_TRACE: u32 = 2;
418pub const TRAP_BRANCH: u32 = 3;
419pub const TRAP_HWBKPT: u32 = 4;
420pub const TRAP_UNK: u32 = 5;
421pub const POLL_IN: u32 = 1;
422pub const POLL_OUT: u32 = 2;
423pub const POLL_MSG: u32 = 3;
424pub const POLL_ERR: u32 = 4;
425pub const POLL_PRI: u32 = 5;
426pub const POLL_HUP: u32 = 6;
427pub const SS_ONSTACK: u32 = 1;
428pub const SS_DISABLE: u32 = 2;
429pub const SS_AUTODISARM: u32 = 2147483648;
430pub const SS_FLAG_BITS: u32 = 2147483648;
431pub const NSIG: u32 = 65;
432pub const SYS_SECCOMP: u32 = 1;
433pub const SYS_USER_DISPATCH: u32 = 2;
434pub const G_DATALIST_FLAGS_MASK: u32 = 3;
435pub const G_DATE_BAD_JULIAN: u32 = 0;
436pub const G_DATE_BAD_DAY: u32 = 0;
437pub const G_DATE_BAD_YEAR: u32 = 0;
438pub const DT_UNKNOWN: u32 = 0;
439pub const DT_FIFO: u32 = 1;
440pub const DT_CHR: u32 = 2;
441pub const DT_DIR: u32 = 4;
442pub const DT_BLK: u32 = 6;
443pub const DT_REG: u32 = 8;
444pub const DT_LNK: u32 = 10;
445pub const DT_SOCK: u32 = 12;
446pub const DT_WHT: u32 = 14;
447pub const G_MEM_ALIGN: u32 = 8;
448pub const G_HOOK_FLAG_USER_SHIFT: u32 = 4;
449pub const G_PRIORITY_HIGH: i32 = -100;
450pub const G_PRIORITY_DEFAULT: u32 = 0;
451pub const G_PRIORITY_HIGH_IDLE: u32 = 100;
452pub const G_PRIORITY_DEFAULT_IDLE: u32 = 200;
453pub const G_PRIORITY_LOW: u32 = 300;
454pub const G_SOURCE_REMOVE: u32 = 0;
455pub const G_UNICHAR_MAX_DECOMPOSITION_LENGTH: u32 = 18;
456pub const G_STR_DELIMITERS: &[u8; 8] = b"_-|> <.\0";
457pub const G_ASCII_DTOSTR_BUF_SIZE: u32 = 39;
458pub const G_KEY_FILE_DESKTOP_GROUP: &[u8; 14] = b"Desktop Entry\0";
459pub const G_KEY_FILE_DESKTOP_KEY_TYPE: &[u8; 5] = b"Type\0";
460pub const G_KEY_FILE_DESKTOP_KEY_VERSION: &[u8; 8] = b"Version\0";
461pub const G_KEY_FILE_DESKTOP_KEY_NAME: &[u8; 5] = b"Name\0";
462pub const G_KEY_FILE_DESKTOP_KEY_GENERIC_NAME: &[u8; 12] = b"GenericName\0";
463pub const G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY: &[u8; 10] = b"NoDisplay\0";
464pub const G_KEY_FILE_DESKTOP_KEY_COMMENT: &[u8; 8] = b"Comment\0";
465pub const G_KEY_FILE_DESKTOP_KEY_ICON: &[u8; 5] = b"Icon\0";
466pub const G_KEY_FILE_DESKTOP_KEY_HIDDEN: &[u8; 7] = b"Hidden\0";
467pub const G_KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN: &[u8; 11] = b"OnlyShowIn\0";
468pub const G_KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN: &[u8; 10] = b"NotShowIn\0";
469pub const G_KEY_FILE_DESKTOP_KEY_TRY_EXEC: &[u8; 8] = b"TryExec\0";
470pub const G_KEY_FILE_DESKTOP_KEY_EXEC: &[u8; 5] = b"Exec\0";
471pub const G_KEY_FILE_DESKTOP_KEY_PATH: &[u8; 5] = b"Path\0";
472pub const G_KEY_FILE_DESKTOP_KEY_TERMINAL: &[u8; 9] = b"Terminal\0";
473pub const G_KEY_FILE_DESKTOP_KEY_MIME_TYPE: &[u8; 9] = b"MimeType\0";
474pub const G_KEY_FILE_DESKTOP_KEY_CATEGORIES: &[u8; 11] = b"Categories\0";
475pub const G_KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY: &[u8; 14] = b"StartupNotify\0";
476pub const G_KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS: &[u8; 15] = b"StartupWMClass\0";
477pub const G_KEY_FILE_DESKTOP_KEY_URL: &[u8; 4] = b"URL\0";
478pub const G_KEY_FILE_DESKTOP_KEY_DBUS_ACTIVATABLE: &[u8; 16] = b"DBusActivatable\0";
479pub const G_KEY_FILE_DESKTOP_KEY_ACTIONS: &[u8; 8] = b"Actions\0";
480pub const G_KEY_FILE_DESKTOP_TYPE_APPLICATION: &[u8; 12] = b"Application\0";
481pub const G_KEY_FILE_DESKTOP_TYPE_LINK: &[u8; 5] = b"Link\0";
482pub const G_KEY_FILE_DESKTOP_TYPE_DIRECTORY: &[u8; 10] = b"Directory\0";
483pub const G_LOG_LEVEL_USER_SHIFT: u32 = 8;
484pub const G_OPTION_REMAINING: &[u8; 1] = b"\0";
485pub const G_CSET_A_2_Z: &[u8; 27] = b"ABCDEFGHIJKLMNOPQRSTUVWXYZ\0";
486pub const G_CSET_a_2_z: &[u8; 27] = b"abcdefghijklmnopqrstuvwxyz\0";
487pub const G_CSET_DIGITS: &[u8; 11] = b"0123456789\0";
488pub 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" ;
489pub 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" ;
490pub const EPERM: u32 = 1;
491pub const ENOENT: u32 = 2;
492pub const ESRCH: u32 = 3;
493pub const EINTR: u32 = 4;
494pub const EIO: u32 = 5;
495pub const ENXIO: u32 = 6;
496pub const E2BIG: u32 = 7;
497pub const ENOEXEC: u32 = 8;
498pub const EBADF: u32 = 9;
499pub const ECHILD: u32 = 10;
500pub const EAGAIN: u32 = 11;
501pub const ENOMEM: u32 = 12;
502pub const EACCES: u32 = 13;
503pub const EFAULT: u32 = 14;
504pub const ENOTBLK: u32 = 15;
505pub const EBUSY: u32 = 16;
506pub const EEXIST: u32 = 17;
507pub const EXDEV: u32 = 18;
508pub const ENODEV: u32 = 19;
509pub const ENOTDIR: u32 = 20;
510pub const EISDIR: u32 = 21;
511pub const EINVAL: u32 = 22;
512pub const ENFILE: u32 = 23;
513pub const EMFILE: u32 = 24;
514pub const ENOTTY: u32 = 25;
515pub const ETXTBSY: u32 = 26;
516pub const EFBIG: u32 = 27;
517pub const ENOSPC: u32 = 28;
518pub const ESPIPE: u32 = 29;
519pub const EROFS: u32 = 30;
520pub const EMLINK: u32 = 31;
521pub const EPIPE: u32 = 32;
522pub const EDOM: u32 = 33;
523pub const ERANGE: u32 = 34;
524pub const EDEADLK: u32 = 35;
525pub const ENAMETOOLONG: u32 = 36;
526pub const ENOLCK: u32 = 37;
527pub const ENOSYS: u32 = 38;
528pub const ENOTEMPTY: u32 = 39;
529pub const ELOOP: u32 = 40;
530pub const EWOULDBLOCK: u32 = 11;
531pub const ENOMSG: u32 = 42;
532pub const EIDRM: u32 = 43;
533pub const ECHRNG: u32 = 44;
534pub const EL2NSYNC: u32 = 45;
535pub const EL3HLT: u32 = 46;
536pub const EL3RST: u32 = 47;
537pub const ELNRNG: u32 = 48;
538pub const EUNATCH: u32 = 49;
539pub const ENOCSI: u32 = 50;
540pub const EL2HLT: u32 = 51;
541pub const EBADE: u32 = 52;
542pub const EBADR: u32 = 53;
543pub const EXFULL: u32 = 54;
544pub const ENOANO: u32 = 55;
545pub const EBADRQC: u32 = 56;
546pub const EBADSLT: u32 = 57;
547pub const EDEADLOCK: u32 = 35;
548pub const EBFONT: u32 = 59;
549pub const ENOSTR: u32 = 60;
550pub const ENODATA: u32 = 61;
551pub const ETIME: u32 = 62;
552pub const ENOSR: u32 = 63;
553pub const ENONET: u32 = 64;
554pub const ENOPKG: u32 = 65;
555pub const EREMOTE: u32 = 66;
556pub const ENOLINK: u32 = 67;
557pub const EADV: u32 = 68;
558pub const ESRMNT: u32 = 69;
559pub const ECOMM: u32 = 70;
560pub const EPROTO: u32 = 71;
561pub const EMULTIHOP: u32 = 72;
562pub const EDOTDOT: u32 = 73;
563pub const EBADMSG: u32 = 74;
564pub const EOVERFLOW: u32 = 75;
565pub const ENOTUNIQ: u32 = 76;
566pub const EBADFD: u32 = 77;
567pub const EREMCHG: u32 = 78;
568pub const ELIBACC: u32 = 79;
569pub const ELIBBAD: u32 = 80;
570pub const ELIBSCN: u32 = 81;
571pub const ELIBMAX: u32 = 82;
572pub const ELIBEXEC: u32 = 83;
573pub const EILSEQ: u32 = 84;
574pub const ERESTART: u32 = 85;
575pub const ESTRPIPE: u32 = 86;
576pub const EUSERS: u32 = 87;
577pub const ENOTSOCK: u32 = 88;
578pub const EDESTADDRREQ: u32 = 89;
579pub const EMSGSIZE: u32 = 90;
580pub const EPROTOTYPE: u32 = 91;
581pub const ENOPROTOOPT: u32 = 92;
582pub const EPROTONOSUPPORT: u32 = 93;
583pub const ESOCKTNOSUPPORT: u32 = 94;
584pub const EOPNOTSUPP: u32 = 95;
585pub const ENOTSUP: u32 = 95;
586pub const EPFNOSUPPORT: u32 = 96;
587pub const EAFNOSUPPORT: u32 = 97;
588pub const EADDRINUSE: u32 = 98;
589pub const EADDRNOTAVAIL: u32 = 99;
590pub const ENETDOWN: u32 = 100;
591pub const ENETUNREACH: u32 = 101;
592pub const ENETRESET: u32 = 102;
593pub const ECONNABORTED: u32 = 103;
594pub const ECONNRESET: u32 = 104;
595pub const ENOBUFS: u32 = 105;
596pub const EISCONN: u32 = 106;
597pub const ENOTCONN: u32 = 107;
598pub const ESHUTDOWN: u32 = 108;
599pub const ETOOMANYREFS: u32 = 109;
600pub const ETIMEDOUT: u32 = 110;
601pub const ECONNREFUSED: u32 = 111;
602pub const EHOSTDOWN: u32 = 112;
603pub const EHOSTUNREACH: u32 = 113;
604pub const EALREADY: u32 = 114;
605pub const EINPROGRESS: u32 = 115;
606pub const ESTALE: u32 = 116;
607pub const EUCLEAN: u32 = 117;
608pub const ENOTNAM: u32 = 118;
609pub const ENAVAIL: u32 = 119;
610pub const EISNAM: u32 = 120;
611pub const EREMOTEIO: u32 = 121;
612pub const EDQUOT: u32 = 122;
613pub const ENOMEDIUM: u32 = 123;
614pub const EMEDIUMTYPE: u32 = 124;
615pub const ECANCELED: u32 = 125;
616pub const ENOKEY: u32 = 126;
617pub const EKEYEXPIRED: u32 = 127;
618pub const EKEYREVOKED: u32 = 128;
619pub const EKEYREJECTED: u32 = 129;
620pub const EOWNERDEAD: u32 = 130;
621pub const ENOTRECOVERABLE: u32 = 131;
622pub const ERFKILL: u32 = 132;
623pub const EHWPOISON: u32 = 133;
624pub const G_TEST_OPTION_ISOLATE_DIRS: &[u8; 13] = b"isolate_dirs\0";
625pub const G_USEC_PER_SEC: u32 = 1000000;
626pub const G_URI_RESERVED_CHARS_GENERIC_DELIMITERS: &[u8; 8] = b":/?#[]@\0";
627pub const G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS: &[u8; 12] = b"!$&'()*+,;=\0";
628pub const G_URI_RESERVED_CHARS_ALLOWED_IN_PATH_ELEMENT: &[u8; 14] = b"!$&'()*+,;=:@\0";
629pub const G_URI_RESERVED_CHARS_ALLOWED_IN_PATH: &[u8; 15] = b"!$&'()*+,;=:@/\0";
630pub const G_URI_RESERVED_CHARS_ALLOWED_IN_USERINFO: &[u8; 13] = b"!$&'()*+,;=:\0";
631pub const G_ALLOC_ONLY: u32 = 1;
632pub const G_ALLOC_AND_FREE: u32 = 2;
633pub const G_ALLOCATOR_LIST: u32 = 1;
634pub const G_ALLOCATOR_SLIST: u32 = 2;
635pub const G_ALLOCATOR_NODE: u32 = 3;
636pub const __PDP_ENDIAN: u32 = 3412;
637pub const BIG_ENDIAN: u32 = 4321;
638pub const LITTLE_ENDIAN: u32 = 1234;
639pub const PDP_ENDIAN: u32 = 3412;
640pub const BYTE_ORDER: u32 = 1234;
641pub const FD_SETSIZE: u32 = 1024;
642pub const SCHED_OTHER: u32 = 0;
643pub const SCHED_FIFO: u32 = 1;
644pub const SCHED_RR: u32 = 2;
645pub const SCHED_BATCH: u32 = 3;
646pub const SCHED_IDLE: u32 = 5;
647pub const SCHED_DEADLINE: u32 = 6;
648pub const SCHED_RESET_ON_FORK: u32 = 1073741824;
649pub const PTHREAD_CREATE_JOINABLE: u32 = 0;
650pub const PTHREAD_CREATE_DETACHED: u32 = 1;
651pub const PTHREAD_MUTEX_NORMAL: u32 = 0;
652pub const PTHREAD_MUTEX_DEFAULT: u32 = 0;
653pub const PTHREAD_MUTEX_RECURSIVE: u32 = 1;
654pub const PTHREAD_MUTEX_ERRORCHECK: u32 = 2;
655pub const PTHREAD_MUTEX_STALLED: u32 = 0;
656pub const PTHREAD_MUTEX_ROBUST: u32 = 1;
657pub const PTHREAD_PRIO_NONE: u32 = 0;
658pub const PTHREAD_PRIO_INHERIT: u32 = 1;
659pub const PTHREAD_PRIO_PROTECT: u32 = 2;
660pub const PTHREAD_INHERIT_SCHED: u32 = 0;
661pub const PTHREAD_EXPLICIT_SCHED: u32 = 1;
662pub const PTHREAD_SCOPE_SYSTEM: u32 = 0;
663pub const PTHREAD_SCOPE_PROCESS: u32 = 1;
664pub const PTHREAD_PROCESS_PRIVATE: u32 = 0;
665pub const PTHREAD_PROCESS_SHARED: u32 = 1;
666pub const PTHREAD_ONCE_INIT: u32 = 0;
667pub const PTHREAD_CANCEL_ENABLE: u32 = 0;
668pub const PTHREAD_CANCEL_DISABLE: u32 = 1;
669pub const PTHREAD_CANCEL_MASKED: u32 = 2;
670pub const PTHREAD_CANCEL_DEFERRED: u32 = 0;
671pub const PTHREAD_CANCEL_ASYNCHRONOUS: u32 = 1;
672pub const PTHREAD_BARRIER_SERIAL_THREAD: i32 = -1;
673pub const EOF: i32 = -1;
674pub const SEEK_SET: u32 = 0;
675pub const SEEK_CUR: u32 = 1;
676pub const SEEK_END: u32 = 2;
677pub const _IOFBF: u32 = 0;
678pub const _IOLBF: u32 = 1;
679pub const _IONBF: u32 = 2;
680pub const BUFSIZ: u32 = 1024;
681pub const FILENAME_MAX: u32 = 4096;
682pub const FOPEN_MAX: u32 = 1000;
683pub const TMP_MAX: u32 = 10000;
684pub const L_tmpnam: u32 = 20;
685pub const L_ctermid: u32 = 20;
686pub const P_tmpdir: &[u8; 5] = b"/tmp\0";
687pub const L_cuserid: u32 = 20;
688pub const S_IFMT: u32 = 61440;
689pub const S_IFDIR: u32 = 16384;
690pub const S_IFCHR: u32 = 8192;
691pub const S_IFBLK: u32 = 24576;
692pub const S_IFREG: u32 = 32768;
693pub const S_IFIFO: u32 = 4096;
694pub const S_IFLNK: u32 = 40960;
695pub const S_IFSOCK: u32 = 49152;
696pub const S_ISUID: u32 = 2048;
697pub const S_ISGID: u32 = 1024;
698pub const S_ISVTX: u32 = 512;
699pub const S_IRUSR: u32 = 256;
700pub const S_IWUSR: u32 = 128;
701pub const S_IXUSR: u32 = 64;
702pub const S_IRWXU: u32 = 448;
703pub const S_IRGRP: u32 = 32;
704pub const S_IWGRP: u32 = 16;
705pub const S_IXGRP: u32 = 8;
706pub const S_IRWXG: u32 = 56;
707pub const S_IROTH: u32 = 4;
708pub const S_IWOTH: u32 = 2;
709pub const S_IXOTH: u32 = 1;
710pub const S_IRWXO: u32 = 7;
711pub const UTIME_NOW: u32 = 1073741823;
712pub const UTIME_OMIT: u32 = 1073741822;
713pub const S_IREAD: u32 = 256;
714pub const S_IWRITE: u32 = 128;
715pub const S_IEXEC: u32 = 64;
716pub const G_TYPE_FUNDAMENTAL_SHIFT: u32 = 2;
717pub const G_TYPE_FUNDAMENTAL_MAX: u32 = 1020;
718pub const G_TYPE_RESERVED_GLIB_FIRST: u32 = 22;
719pub const G_TYPE_RESERVED_GLIB_LAST: u32 = 31;
720pub const G_TYPE_RESERVED_BSE_FIRST: u32 = 32;
721pub const G_TYPE_RESERVED_BSE_LAST: u32 = 48;
722pub const G_TYPE_RESERVED_USER_FIRST: u32 = 49;
723pub const G_VALUE_NOCOPY_CONTENTS: u32 = 134217728;
724pub const G_PARAM_MASK: u32 = 255;
725pub const G_PARAM_USER_SHIFT: u32 = 8;
726pub const G_SIGNAL_FLAGS_MASK: u32 = 511;
727pub const G_SIGNAL_MATCH_MASK: u32 = 63;
728pub const STDIN_FILENO: u32 = 0;
729pub const STDOUT_FILENO: u32 = 1;
730pub const STDERR_FILENO: u32 = 2;
731pub const SEEK_DATA: u32 = 3;
732pub const SEEK_HOLE: u32 = 4;
733pub const F_OK: u32 = 0;
734pub const R_OK: u32 = 4;
735pub const W_OK: u32 = 2;
736pub const X_OK: u32 = 1;
737pub const F_ULOCK: u32 = 0;
738pub const F_LOCK: u32 = 1;
739pub const F_TLOCK: u32 = 2;
740pub const F_TEST: u32 = 3;
741pub const L_SET: u32 = 0;
742pub const L_INCR: u32 = 1;
743pub const L_XTND: u32 = 2;
744pub const POSIX_CLOSE_RESTART: u32 = 0;
745pub const _XOPEN_VERSION: u32 = 700;
746pub const _XOPEN_UNIX: u32 = 1;
747pub const _XOPEN_ENH_I18N: u32 = 1;
748pub const _POSIX_VERSION: u32 = 200809;
749pub const _POSIX2_VERSION: u32 = 200809;
750pub const _POSIX_ADVISORY_INFO: u32 = 200809;
751pub const _POSIX_CHOWN_RESTRICTED: u32 = 1;
752pub const _POSIX_IPV6: u32 = 200809;
753pub const _POSIX_JOB_CONTROL: u32 = 1;
754pub const _POSIX_MAPPED_FILES: u32 = 200809;
755pub const _POSIX_MEMLOCK: u32 = 200809;
756pub const _POSIX_MEMLOCK_RANGE: u32 = 200809;
757pub const _POSIX_MEMORY_PROTECTION: u32 = 200809;
758pub const _POSIX_MESSAGE_PASSING: u32 = 200809;
759pub const _POSIX_FSYNC: u32 = 200809;
760pub const _POSIX_NO_TRUNC: u32 = 1;
761pub const _POSIX_RAW_SOCKETS: u32 = 200809;
762pub const _POSIX_REALTIME_SIGNALS: u32 = 200809;
763pub const _POSIX_REGEXP: u32 = 1;
764pub const _POSIX_SAVED_IDS: u32 = 1;
765pub const _POSIX_SHELL: u32 = 1;
766pub const _POSIX_SPAWN: u32 = 200809;
767pub const _POSIX_VDISABLE: u32 = 0;
768pub const _POSIX_THREADS: u32 = 200809;
769pub const _POSIX_THREAD_PROCESS_SHARED: u32 = 200809;
770pub const _POSIX_THREAD_SAFE_FUNCTIONS: u32 = 200809;
771pub const _POSIX_THREAD_ATTR_STACKADDR: u32 = 200809;
772pub const _POSIX_THREAD_ATTR_STACKSIZE: u32 = 200809;
773pub const _POSIX_THREAD_PRIORITY_SCHEDULING: u32 = 200809;
774pub const _POSIX_THREAD_CPUTIME: u32 = 200809;
775pub const _POSIX_TIMERS: u32 = 200809;
776pub const _POSIX_TIMEOUTS: u32 = 200809;
777pub const _POSIX_MONOTONIC_CLOCK: u32 = 200809;
778pub const _POSIX_CPUTIME: u32 = 200809;
779pub const _POSIX_CLOCK_SELECTION: u32 = 200809;
780pub const _POSIX_BARRIERS: u32 = 200809;
781pub const _POSIX_SPIN_LOCKS: u32 = 200809;
782pub const _POSIX_READER_WRITER_LOCKS: u32 = 200809;
783pub const _POSIX_ASYNCHRONOUS_IO: u32 = 200809;
784pub const _POSIX_SEMAPHORES: u32 = 200809;
785pub const _POSIX_SHARED_MEMORY_OBJECTS: u32 = 200809;
786pub const _POSIX2_C_BIND: u32 = 200809;
787pub const _POSIX_V6_LP64_OFF64: u32 = 1;
788pub const _POSIX_V7_LP64_OFF64: u32 = 1;
789pub const _PC_LINK_MAX: u32 = 0;
790pub const _PC_MAX_CANON: u32 = 1;
791pub const _PC_MAX_INPUT: u32 = 2;
792pub const _PC_NAME_MAX: u32 = 3;
793pub const _PC_PATH_MAX: u32 = 4;
794pub const _PC_PIPE_BUF: u32 = 5;
795pub const _PC_CHOWN_RESTRICTED: u32 = 6;
796pub const _PC_NO_TRUNC: u32 = 7;
797pub const _PC_VDISABLE: u32 = 8;
798pub const _PC_SYNC_IO: u32 = 9;
799pub const _PC_ASYNC_IO: u32 = 10;
800pub const _PC_PRIO_IO: u32 = 11;
801pub const _PC_SOCK_MAXBUF: u32 = 12;
802pub const _PC_FILESIZEBITS: u32 = 13;
803pub const _PC_REC_INCR_XFER_SIZE: u32 = 14;
804pub const _PC_REC_MAX_XFER_SIZE: u32 = 15;
805pub const _PC_REC_MIN_XFER_SIZE: u32 = 16;
806pub const _PC_REC_XFER_ALIGN: u32 = 17;
807pub const _PC_ALLOC_SIZE_MIN: u32 = 18;
808pub const _PC_SYMLINK_MAX: u32 = 19;
809pub const _PC_2_SYMLINKS: u32 = 20;
810pub const _SC_ARG_MAX: u32 = 0;
811pub const _SC_CHILD_MAX: u32 = 1;
812pub const _SC_CLK_TCK: u32 = 2;
813pub const _SC_NGROUPS_MAX: u32 = 3;
814pub const _SC_OPEN_MAX: u32 = 4;
815pub const _SC_STREAM_MAX: u32 = 5;
816pub const _SC_TZNAME_MAX: u32 = 6;
817pub const _SC_JOB_CONTROL: u32 = 7;
818pub const _SC_SAVED_IDS: u32 = 8;
819pub const _SC_REALTIME_SIGNALS: u32 = 9;
820pub const _SC_PRIORITY_SCHEDULING: u32 = 10;
821pub const _SC_TIMERS: u32 = 11;
822pub const _SC_ASYNCHRONOUS_IO: u32 = 12;
823pub const _SC_PRIORITIZED_IO: u32 = 13;
824pub const _SC_SYNCHRONIZED_IO: u32 = 14;
825pub const _SC_FSYNC: u32 = 15;
826pub const _SC_MAPPED_FILES: u32 = 16;
827pub const _SC_MEMLOCK: u32 = 17;
828pub const _SC_MEMLOCK_RANGE: u32 = 18;
829pub const _SC_MEMORY_PROTECTION: u32 = 19;
830pub const _SC_MESSAGE_PASSING: u32 = 20;
831pub const _SC_SEMAPHORES: u32 = 21;
832pub const _SC_SHARED_MEMORY_OBJECTS: u32 = 22;
833pub const _SC_AIO_LISTIO_MAX: u32 = 23;
834pub const _SC_AIO_MAX: u32 = 24;
835pub const _SC_AIO_PRIO_DELTA_MAX: u32 = 25;
836pub const _SC_DELAYTIMER_MAX: u32 = 26;
837pub const _SC_MQ_OPEN_MAX: u32 = 27;
838pub const _SC_MQ_PRIO_MAX: u32 = 28;
839pub const _SC_VERSION: u32 = 29;
840pub const _SC_PAGE_SIZE: u32 = 30;
841pub const _SC_PAGESIZE: u32 = 30;
842pub const _SC_RTSIG_MAX: u32 = 31;
843pub const _SC_SEM_NSEMS_MAX: u32 = 32;
844pub const _SC_SEM_VALUE_MAX: u32 = 33;
845pub const _SC_SIGQUEUE_MAX: u32 = 34;
846pub const _SC_TIMER_MAX: u32 = 35;
847pub const _SC_BC_BASE_MAX: u32 = 36;
848pub const _SC_BC_DIM_MAX: u32 = 37;
849pub const _SC_BC_SCALE_MAX: u32 = 38;
850pub const _SC_BC_STRING_MAX: u32 = 39;
851pub const _SC_COLL_WEIGHTS_MAX: u32 = 40;
852pub const _SC_EXPR_NEST_MAX: u32 = 42;
853pub const _SC_LINE_MAX: u32 = 43;
854pub const _SC_RE_DUP_MAX: u32 = 44;
855pub const _SC_2_VERSION: u32 = 46;
856pub const _SC_2_C_BIND: u32 = 47;
857pub const _SC_2_C_DEV: u32 = 48;
858pub const _SC_2_FORT_DEV: u32 = 49;
859pub const _SC_2_FORT_RUN: u32 = 50;
860pub const _SC_2_SW_DEV: u32 = 51;
861pub const _SC_2_LOCALEDEF: u32 = 52;
862pub const _SC_UIO_MAXIOV: u32 = 60;
863pub const _SC_IOV_MAX: u32 = 60;
864pub const _SC_THREADS: u32 = 67;
865pub const _SC_THREAD_SAFE_FUNCTIONS: u32 = 68;
866pub const _SC_GETGR_R_SIZE_MAX: u32 = 69;
867pub const _SC_GETPW_R_SIZE_MAX: u32 = 70;
868pub const _SC_LOGIN_NAME_MAX: u32 = 71;
869pub const _SC_TTY_NAME_MAX: u32 = 72;
870pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: u32 = 73;
871pub const _SC_THREAD_KEYS_MAX: u32 = 74;
872pub const _SC_THREAD_STACK_MIN: u32 = 75;
873pub const _SC_THREAD_THREADS_MAX: u32 = 76;
874pub const _SC_THREAD_ATTR_STACKADDR: u32 = 77;
875pub const _SC_THREAD_ATTR_STACKSIZE: u32 = 78;
876pub const _SC_THREAD_PRIORITY_SCHEDULING: u32 = 79;
877pub const _SC_THREAD_PRIO_INHERIT: u32 = 80;
878pub const _SC_THREAD_PRIO_PROTECT: u32 = 81;
879pub const _SC_THREAD_PROCESS_SHARED: u32 = 82;
880pub const _SC_NPROCESSORS_CONF: u32 = 83;
881pub const _SC_NPROCESSORS_ONLN: u32 = 84;
882pub const _SC_PHYS_PAGES: u32 = 85;
883pub const _SC_AVPHYS_PAGES: u32 = 86;
884pub const _SC_ATEXIT_MAX: u32 = 87;
885pub const _SC_PASS_MAX: u32 = 88;
886pub const _SC_XOPEN_VERSION: u32 = 89;
887pub const _SC_XOPEN_XCU_VERSION: u32 = 90;
888pub const _SC_XOPEN_UNIX: u32 = 91;
889pub const _SC_XOPEN_CRYPT: u32 = 92;
890pub const _SC_XOPEN_ENH_I18N: u32 = 93;
891pub const _SC_XOPEN_SHM: u32 = 94;
892pub const _SC_2_CHAR_TERM: u32 = 95;
893pub const _SC_2_UPE: u32 = 97;
894pub const _SC_XOPEN_XPG2: u32 = 98;
895pub const _SC_XOPEN_XPG3: u32 = 99;
896pub const _SC_XOPEN_XPG4: u32 = 100;
897pub const _SC_NZERO: u32 = 109;
898pub const _SC_XBS5_ILP32_OFF32: u32 = 125;
899pub const _SC_XBS5_ILP32_OFFBIG: u32 = 126;
900pub const _SC_XBS5_LP64_OFF64: u32 = 127;
901pub const _SC_XBS5_LPBIG_OFFBIG: u32 = 128;
902pub const _SC_XOPEN_LEGACY: u32 = 129;
903pub const _SC_XOPEN_REALTIME: u32 = 130;
904pub const _SC_XOPEN_REALTIME_THREADS: u32 = 131;
905pub const _SC_ADVISORY_INFO: u32 = 132;
906pub const _SC_BARRIERS: u32 = 133;
907pub const _SC_CLOCK_SELECTION: u32 = 137;
908pub const _SC_CPUTIME: u32 = 138;
909pub const _SC_THREAD_CPUTIME: u32 = 139;
910pub const _SC_MONOTONIC_CLOCK: u32 = 149;
911pub const _SC_READER_WRITER_LOCKS: u32 = 153;
912pub const _SC_SPIN_LOCKS: u32 = 154;
913pub const _SC_REGEXP: u32 = 155;
914pub const _SC_SHELL: u32 = 157;
915pub const _SC_SPAWN: u32 = 159;
916pub const _SC_SPORADIC_SERVER: u32 = 160;
917pub const _SC_THREAD_SPORADIC_SERVER: u32 = 161;
918pub const _SC_TIMEOUTS: u32 = 164;
919pub const _SC_TYPED_MEMORY_OBJECTS: u32 = 165;
920pub const _SC_2_PBS: u32 = 168;
921pub const _SC_2_PBS_ACCOUNTING: u32 = 169;
922pub const _SC_2_PBS_LOCATE: u32 = 170;
923pub const _SC_2_PBS_MESSAGE: u32 = 171;
924pub const _SC_2_PBS_TRACK: u32 = 172;
925pub const _SC_SYMLOOP_MAX: u32 = 173;
926pub const _SC_STREAMS: u32 = 174;
927pub const _SC_2_PBS_CHECKPOINT: u32 = 175;
928pub const _SC_V6_ILP32_OFF32: u32 = 176;
929pub const _SC_V6_ILP32_OFFBIG: u32 = 177;
930pub const _SC_V6_LP64_OFF64: u32 = 178;
931pub const _SC_V6_LPBIG_OFFBIG: u32 = 179;
932pub const _SC_HOST_NAME_MAX: u32 = 180;
933pub const _SC_TRACE: u32 = 181;
934pub const _SC_TRACE_EVENT_FILTER: u32 = 182;
935pub const _SC_TRACE_INHERIT: u32 = 183;
936pub const _SC_TRACE_LOG: u32 = 184;
937pub const _SC_IPV6: u32 = 235;
938pub const _SC_RAW_SOCKETS: u32 = 236;
939pub const _SC_V7_ILP32_OFF32: u32 = 237;
940pub const _SC_V7_ILP32_OFFBIG: u32 = 238;
941pub const _SC_V7_LP64_OFF64: u32 = 239;
942pub const _SC_V7_LPBIG_OFFBIG: u32 = 240;
943pub const _SC_SS_REPL_MAX: u32 = 241;
944pub const _SC_TRACE_EVENT_NAME_MAX: u32 = 242;
945pub const _SC_TRACE_NAME_MAX: u32 = 243;
946pub const _SC_TRACE_SYS_MAX: u32 = 244;
947pub const _SC_TRACE_USER_EVENT_MAX: u32 = 245;
948pub const _SC_XOPEN_STREAMS: u32 = 246;
949pub const _SC_THREAD_ROBUST_PRIO_INHERIT: u32 = 247;
950pub const _SC_THREAD_ROBUST_PRIO_PROTECT: u32 = 248;
951pub const _SC_MINSIGSTKSZ: u32 = 249;
952pub const _SC_SIGSTKSZ: u32 = 250;
953pub const _CS_PATH: u32 = 0;
954pub const _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS: u32 = 1;
955pub const _CS_GNU_LIBC_VERSION: u32 = 2;
956pub const _CS_GNU_LIBPTHREAD_VERSION: u32 = 3;
957pub const _CS_POSIX_V5_WIDTH_RESTRICTED_ENVS: u32 = 4;
958pub const _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS: u32 = 5;
959pub const _CS_POSIX_V6_ILP32_OFF32_CFLAGS: u32 = 1116;
960pub const _CS_POSIX_V6_ILP32_OFF32_LDFLAGS: u32 = 1117;
961pub const _CS_POSIX_V6_ILP32_OFF32_LIBS: u32 = 1118;
962pub const _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS: u32 = 1119;
963pub const _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS: u32 = 1120;
964pub const _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS: u32 = 1121;
965pub const _CS_POSIX_V6_ILP32_OFFBIG_LIBS: u32 = 1122;
966pub const _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS: u32 = 1123;
967pub const _CS_POSIX_V6_LP64_OFF64_CFLAGS: u32 = 1124;
968pub const _CS_POSIX_V6_LP64_OFF64_LDFLAGS: u32 = 1125;
969pub const _CS_POSIX_V6_LP64_OFF64_LIBS: u32 = 1126;
970pub const _CS_POSIX_V6_LP64_OFF64_LINTFLAGS: u32 = 1127;
971pub const _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS: u32 = 1128;
972pub const _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS: u32 = 1129;
973pub const _CS_POSIX_V6_LPBIG_OFFBIG_LIBS: u32 = 1130;
974pub const _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS: u32 = 1131;
975pub const _CS_POSIX_V7_ILP32_OFF32_CFLAGS: u32 = 1132;
976pub const _CS_POSIX_V7_ILP32_OFF32_LDFLAGS: u32 = 1133;
977pub const _CS_POSIX_V7_ILP32_OFF32_LIBS: u32 = 1134;
978pub const _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS: u32 = 1135;
979pub const _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS: u32 = 1136;
980pub const _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS: u32 = 1137;
981pub const _CS_POSIX_V7_ILP32_OFFBIG_LIBS: u32 = 1138;
982pub const _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS: u32 = 1139;
983pub const _CS_POSIX_V7_LP64_OFF64_CFLAGS: u32 = 1140;
984pub const _CS_POSIX_V7_LP64_OFF64_LDFLAGS: u32 = 1141;
985pub const _CS_POSIX_V7_LP64_OFF64_LIBS: u32 = 1142;
986pub const _CS_POSIX_V7_LP64_OFF64_LINTFLAGS: u32 = 1143;
987pub const _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS: u32 = 1144;
988pub const _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS: u32 = 1145;
989pub const _CS_POSIX_V7_LPBIG_OFFBIG_LIBS: u32 = 1146;
990pub const _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS: u32 = 1147;
991pub const _CS_V6_ENV: u32 = 1148;
992pub const _CS_V7_ENV: u32 = 1149;
993pub const _CS_POSIX_V7_THREADS_CFLAGS: u32 = 1150;
994pub const _CS_POSIX_V7_THREADS_LDFLAGS: u32 = 1151;
995pub const G_DEBUG_CONTROLLER_EXTENSION_POINT_NAME: &[u8; 21] = b"gio-debug-controller\0";
996pub const G_DRIVE_IDENTIFIER_KIND_UNIX_DEVICE: &[u8; 12] = b"unix-device\0";
997pub const G_FILE_ATTRIBUTE_STANDARD_TYPE: &[u8; 15] = b"standard::type\0";
998pub const G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN: &[u8; 20] = b"standard::is-hidden\0";
999pub const G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP: &[u8; 20] = b"standard::is-backup\0";
1000pub const G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK: &[u8; 21] = b"standard::is-symlink\0";
1001pub const G_FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL: &[u8; 21] = b"standard::is-virtual\0";
1002pub const G_FILE_ATTRIBUTE_STANDARD_IS_VOLATILE: &[u8; 22] = b"standard::is-volatile\0";
1003pub const G_FILE_ATTRIBUTE_STANDARD_NAME: &[u8; 15] = b"standard::name\0";
1004pub const G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME: &[u8; 23] = b"standard::display-name\0";
1005pub const G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME: &[u8; 20] = b"standard::edit-name\0";
1006pub const G_FILE_ATTRIBUTE_STANDARD_COPY_NAME: &[u8; 20] = b"standard::copy-name\0";
1007pub const G_FILE_ATTRIBUTE_STANDARD_DESCRIPTION: &[u8; 22] = b"standard::description\0";
1008pub const G_FILE_ATTRIBUTE_STANDARD_ICON: &[u8; 15] = b"standard::icon\0";
1009pub const G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON: &[u8; 24] = b"standard::symbolic-icon\0";
1010pub const G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE: &[u8; 23] = b"standard::content-type\0";
1011pub const G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE: &[u8; 28] = b"standard::fast-content-type\0";
1012pub const G_FILE_ATTRIBUTE_STANDARD_SIZE: &[u8; 15] = b"standard::size\0";
1013pub const G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE: &[u8; 25] = b"standard::allocated-size\0";
1014pub const G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET: &[u8; 25] = b"standard::symlink-target\0";
1015pub const G_FILE_ATTRIBUTE_STANDARD_TARGET_URI: &[u8; 21] = b"standard::target-uri\0";
1016pub const G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER: &[u8; 21] = b"standard::sort-order\0";
1017pub const G_FILE_ATTRIBUTE_ETAG_VALUE: &[u8; 12] = b"etag::value\0";
1018pub const G_FILE_ATTRIBUTE_ID_FILE: &[u8; 9] = b"id::file\0";
1019pub const G_FILE_ATTRIBUTE_ID_FILESYSTEM: &[u8; 15] = b"id::filesystem\0";
1020pub const G_FILE_ATTRIBUTE_ACCESS_CAN_READ: &[u8; 17] = b"access::can-read\0";
1021pub const G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE: &[u8; 18] = b"access::can-write\0";
1022pub const G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE: &[u8; 20] = b"access::can-execute\0";
1023pub const G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE: &[u8; 19] = b"access::can-delete\0";
1024pub const G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH: &[u8; 18] = b"access::can-trash\0";
1025pub const G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME: &[u8; 19] = b"access::can-rename\0";
1026pub const G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT: &[u8; 21] = b"mountable::can-mount\0";
1027pub const G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT: &[u8; 23] = b"mountable::can-unmount\0";
1028pub const G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT: &[u8; 21] = b"mountable::can-eject\0";
1029pub const G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE: &[u8; 23] = b"mountable::unix-device\0";
1030pub const G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE: &[u8; 28] = b"mountable::unix-device-file\0";
1031pub const G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI: &[u8; 19] = b"mountable::hal-udi\0";
1032pub const G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START: &[u8; 21] = b"mountable::can-start\0";
1033pub const G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED: &[u8; 30] =
1034    b"mountable::can-start-degraded\0";
1035pub const G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP: &[u8; 20] = b"mountable::can-stop\0";
1036pub const G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE: &[u8; 27] = b"mountable::start-stop-type\0";
1037pub const G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL: &[u8; 20] = b"mountable::can-poll\0";
1038pub const G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC: &[u8; 36] =
1039    b"mountable::is-media-check-automatic\0";
1040pub const G_FILE_ATTRIBUTE_TIME_MODIFIED: &[u8; 15] = b"time::modified\0";
1041pub const G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC: &[u8; 20] = b"time::modified-usec\0";
1042pub const G_FILE_ATTRIBUTE_TIME_MODIFIED_NSEC: &[u8; 20] = b"time::modified-nsec\0";
1043pub const G_FILE_ATTRIBUTE_TIME_ACCESS: &[u8; 13] = b"time::access\0";
1044pub const G_FILE_ATTRIBUTE_TIME_ACCESS_USEC: &[u8; 18] = b"time::access-usec\0";
1045pub const G_FILE_ATTRIBUTE_TIME_ACCESS_NSEC: &[u8; 18] = b"time::access-nsec\0";
1046pub const G_FILE_ATTRIBUTE_TIME_CHANGED: &[u8; 14] = b"time::changed\0";
1047pub const G_FILE_ATTRIBUTE_TIME_CHANGED_USEC: &[u8; 19] = b"time::changed-usec\0";
1048pub const G_FILE_ATTRIBUTE_TIME_CHANGED_NSEC: &[u8; 19] = b"time::changed-nsec\0";
1049pub const G_FILE_ATTRIBUTE_TIME_CREATED: &[u8; 14] = b"time::created\0";
1050pub const G_FILE_ATTRIBUTE_TIME_CREATED_USEC: &[u8; 19] = b"time::created-usec\0";
1051pub const G_FILE_ATTRIBUTE_TIME_CREATED_NSEC: &[u8; 19] = b"time::created-nsec\0";
1052pub const G_FILE_ATTRIBUTE_UNIX_DEVICE: &[u8; 13] = b"unix::device\0";
1053pub const G_FILE_ATTRIBUTE_UNIX_INODE: &[u8; 12] = b"unix::inode\0";
1054pub const G_FILE_ATTRIBUTE_UNIX_MODE: &[u8; 11] = b"unix::mode\0";
1055pub const G_FILE_ATTRIBUTE_UNIX_NLINK: &[u8; 12] = b"unix::nlink\0";
1056pub const G_FILE_ATTRIBUTE_UNIX_UID: &[u8; 10] = b"unix::uid\0";
1057pub const G_FILE_ATTRIBUTE_UNIX_GID: &[u8; 10] = b"unix::gid\0";
1058pub const G_FILE_ATTRIBUTE_UNIX_RDEV: &[u8; 11] = b"unix::rdev\0";
1059pub const G_FILE_ATTRIBUTE_UNIX_BLOCK_SIZE: &[u8; 17] = b"unix::block-size\0";
1060pub const G_FILE_ATTRIBUTE_UNIX_BLOCKS: &[u8; 13] = b"unix::blocks\0";
1061pub const G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT: &[u8; 20] = b"unix::is-mountpoint\0";
1062pub const G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE: &[u8; 16] = b"dos::is-archive\0";
1063pub const G_FILE_ATTRIBUTE_DOS_IS_SYSTEM: &[u8; 15] = b"dos::is-system\0";
1064pub const G_FILE_ATTRIBUTE_DOS_IS_MOUNTPOINT: &[u8; 19] = b"dos::is-mountpoint\0";
1065pub const G_FILE_ATTRIBUTE_DOS_REPARSE_POINT_TAG: &[u8; 23] = b"dos::reparse-point-tag\0";
1066pub const G_FILE_ATTRIBUTE_OWNER_USER: &[u8; 12] = b"owner::user\0";
1067pub const G_FILE_ATTRIBUTE_OWNER_USER_REAL: &[u8; 17] = b"owner::user-real\0";
1068pub const G_FILE_ATTRIBUTE_OWNER_GROUP: &[u8; 13] = b"owner::group\0";
1069pub const G_FILE_ATTRIBUTE_THUMBNAIL_PATH: &[u8; 16] = b"thumbnail::path\0";
1070pub const G_FILE_ATTRIBUTE_THUMBNAILING_FAILED: &[u8; 18] = b"thumbnail::failed\0";
1071pub const G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID: &[u8; 20] = b"thumbnail::is-valid\0";
1072pub const G_FILE_ATTRIBUTE_THUMBNAIL_PATH_NORMAL: &[u8; 23] = b"thumbnail::path-normal\0";
1073pub const G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_NORMAL: &[u8; 25] = b"thumbnail::failed-normal\0";
1074pub const G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_NORMAL: &[u8; 27] = b"thumbnail::is-valid-normal\0";
1075pub const G_FILE_ATTRIBUTE_THUMBNAIL_PATH_LARGE: &[u8; 22] = b"thumbnail::path-large\0";
1076pub const G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_LARGE: &[u8; 24] = b"thumbnail::failed-large\0";
1077pub const G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_LARGE: &[u8; 26] = b"thumbnail::is-valid-large\0";
1078pub const G_FILE_ATTRIBUTE_THUMBNAIL_PATH_XLARGE: &[u8; 23] = b"thumbnail::path-xlarge\0";
1079pub const G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_XLARGE: &[u8; 25] = b"thumbnail::failed-xlarge\0";
1080pub const G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_XLARGE: &[u8; 27] = b"thumbnail::is-valid-xlarge\0";
1081pub const G_FILE_ATTRIBUTE_THUMBNAIL_PATH_XXLARGE: &[u8; 24] = b"thumbnail::path-xxlarge\0";
1082pub const G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_XXLARGE: &[u8; 26] = b"thumbnail::failed-xxlarge\0";
1083pub const G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_XXLARGE: &[u8; 28] = b"thumbnail::is-valid-xxlarge\0";
1084pub const G_FILE_ATTRIBUTE_PREVIEW_ICON: &[u8; 14] = b"preview::icon\0";
1085pub const G_FILE_ATTRIBUTE_FILESYSTEM_SIZE: &[u8; 17] = b"filesystem::size\0";
1086pub const G_FILE_ATTRIBUTE_FILESYSTEM_FREE: &[u8; 17] = b"filesystem::free\0";
1087pub const G_FILE_ATTRIBUTE_FILESYSTEM_USED: &[u8; 17] = b"filesystem::used\0";
1088pub const G_FILE_ATTRIBUTE_FILESYSTEM_TYPE: &[u8; 17] = b"filesystem::type\0";
1089pub const G_FILE_ATTRIBUTE_FILESYSTEM_READONLY: &[u8; 21] = b"filesystem::readonly\0";
1090pub const G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW: &[u8; 24] = b"filesystem::use-preview\0";
1091pub const G_FILE_ATTRIBUTE_FILESYSTEM_REMOTE: &[u8; 19] = b"filesystem::remote\0";
1092pub const G_FILE_ATTRIBUTE_GVFS_BACKEND: &[u8; 14] = b"gvfs::backend\0";
1093pub const G_FILE_ATTRIBUTE_SELINUX_CONTEXT: &[u8; 17] = b"selinux::context\0";
1094pub const G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT: &[u8; 18] = b"trash::item-count\0";
1095pub const G_FILE_ATTRIBUTE_TRASH_ORIG_PATH: &[u8; 17] = b"trash::orig-path\0";
1096pub const G_FILE_ATTRIBUTE_TRASH_DELETION_DATE: &[u8; 21] = b"trash::deletion-date\0";
1097pub const G_FILE_ATTRIBUTE_RECENT_MODIFIED: &[u8; 17] = b"recent::modified\0";
1098pub const G_MEMORY_MONITOR_EXTENSION_POINT_NAME: &[u8; 19] = b"gio-memory-monitor\0";
1099pub const G_MENU_ATTRIBUTE_ACTION: &[u8; 7] = b"action\0";
1100pub const G_MENU_ATTRIBUTE_ACTION_NAMESPACE: &[u8; 17] = b"action-namespace\0";
1101pub const G_MENU_ATTRIBUTE_TARGET: &[u8; 7] = b"target\0";
1102pub const G_MENU_ATTRIBUTE_LABEL: &[u8; 6] = b"label\0";
1103pub const G_MENU_ATTRIBUTE_ICON: &[u8; 5] = b"icon\0";
1104pub const G_MENU_LINK_SUBMENU: &[u8; 8] = b"submenu\0";
1105pub const G_MENU_LINK_SECTION: &[u8; 8] = b"section\0";
1106pub const G_VOLUME_MONITOR_EXTENSION_POINT_NAME: &[u8; 19] = b"gio-volume-monitor\0";
1107pub const G_NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME: &[u8; 26] = b"gio-native-volume-monitor\0";
1108pub const G_NETWORK_MONITOR_EXTENSION_POINT_NAME: &[u8; 20] = b"gio-network-monitor\0";
1109pub const G_POWER_PROFILE_MONITOR_EXTENSION_POINT_NAME: &[u8; 26] = b"gio-power-profile-monitor\0";
1110pub const G_PROXY_EXTENSION_POINT_NAME: &[u8; 10] = b"gio-proxy\0";
1111pub const G_PROXY_RESOLVER_EXTENSION_POINT_NAME: &[u8; 19] = b"gio-proxy-resolver\0";
1112pub const G_TLS_BACKEND_EXTENSION_POINT_NAME: &[u8; 16] = b"gio-tls-backend\0";
1113pub const G_TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER: &[u8; 18] = b"1.3.6.1.5.5.7.3.1\0";
1114pub const G_TLS_DATABASE_PURPOSE_AUTHENTICATE_CLIENT: &[u8; 18] = b"1.3.6.1.5.5.7.3.2\0";
1115pub const G_VFS_EXTENSION_POINT_NAME: &[u8; 8] = b"gio-vfs\0";
1116pub const G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE: &[u8; 12] = b"unix-device\0";
1117pub const G_VOLUME_IDENTIFIER_KIND_LABEL: &[u8; 6] = b"label\0";
1118pub const G_VOLUME_IDENTIFIER_KIND_UUID: &[u8; 5] = b"uuid\0";
1119pub const G_VOLUME_IDENTIFIER_KIND_NFS_MOUNT: &[u8; 10] = b"nfs-mount\0";
1120pub const G_VOLUME_IDENTIFIER_KIND_CLASS: &[u8; 6] = b"class\0";
1121pub const MATH_ERRNO: u32 = 1;
1122pub const MATH_ERREXCEPT: u32 = 2;
1123pub const math_errhandling: u32 = 2;
1124pub const FP_ILOGBNAN: i32 = -2147483648;
1125pub const FP_ILOGB0: i32 = -2147483648;
1126pub const FP_FAST_FMA: u32 = 1;
1127pub const FP_FAST_FMAF: u32 = 1;
1128pub const M_E: f64 = 2.718281828459045;
1129pub const M_LOG2E: f64 = 1.4426950408889634;
1130pub const M_LOG10E: f64 = 0.4342944819032518;
1131pub const M_LN2: f64 = 0.6931471805599453;
1132pub const M_LN10: f64 = 2.302585092994046;
1133pub const M_PI: f64 = 3.141592653589793;
1134pub const M_PI_2: f64 = 1.5707963267948966;
1135pub const M_PI_4: f64 = 0.7853981633974483;
1136pub const M_1_PI: f64 = 0.3183098861837907;
1137pub const M_2_PI: f64 = 0.6366197723675814;
1138pub const M_2_SQRTPI: f64 = 1.1283791670955126;
1139pub const M_SQRT2: f64 = 1.4142135623730951;
1140pub const M_SQRT1_2: f64 = 0.7071067811865476;
1141pub const VIPS_PI: f64 = 3.141592653589793;
1142pub const VIPS_PATH_MAX: u32 = 4096;
1143pub const VIPS_TARGET_BUFFER_SIZE: u32 = 8500;
1144pub const VIPS_TARGET_CUSTOM_BUFFER_SIZE: u32 = 4096;
1145pub const VIPS_SBUF_BUFFER_SIZE: u32 = 4096;
1146pub const VIPS_VERSION: &[u8; 7] = b"8.15.0\0";
1147pub const VIPS_VERSION_STRING: &[u8; 7] = b"8.15.0\0";
1148pub const VIPS_MAJOR_VERSION: u32 = 8;
1149pub const VIPS_MINOR_VERSION: u32 = 15;
1150pub const VIPS_MICRO_VERSION: u32 = 0;
1151pub const VIPS_LIBRARY_CURRENT: u32 = 59;
1152pub const VIPS_LIBRARY_REVISION: u32 = 0;
1153pub const VIPS_LIBRARY_AGE: u32 = 17;
1154pub const VIPS_CONFIG : & [u8 ; 1296] = 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: false\naccelerate loops with ORC: true\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: false (dynamic module: false)\nJPEG2000 load/save with OpenJPEG: false\nPNG load/save with libspng: false\nPNG load/save with libpng: true\nselected quantisation package: imagequant\nTIFF load/save with libtiff: true\nimage pyramid save with libarchive: false\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: false (dynamic module: false)\nSVG load with librsvg: true\nEXR load with OpenEXR: false\nOpenSlide load: false (dynamic module: false)\nMatlab load with libmatio: false\nNIfTI load/save with niftiio: false\nFITS load/save with cfitsio: false\nGIF save with cgif: true\nselected Magick package: none (dynamic module: false)\nMagick API version: none\nMagick load: false\nMagick save: false\0" ;
1155pub const VIPS_ENABLE_DEPRECATED: u32 = 1;
1156pub const VIPS_SPARE: u32 = 8;
1157pub const VIPS__WINDOW_MARGIN_PIXELS: u32 = 128;
1158pub const VIPS__WINDOW_MARGIN_BYTES: u32 = 10485760;
1159pub const VIPS_SIZEOF_HEADER: u32 = 64;
1160pub const VIPS__TILE_WIDTH: u32 = 128;
1161pub const VIPS__TILE_HEIGHT: u32 = 128;
1162pub const VIPS__THINSTRIP_HEIGHT: u32 = 1;
1163pub const VIPS__FATSTRIP_HEIGHT: u32 = 16;
1164pub const VIPS_MAGIC_INTEL: u32 = 3064394248;
1165pub const VIPS_MAGIC_SPARC: u32 = 150120118;
1166pub const VIPS_MAX_COORD: u32 = 10000000;
1167pub const VIPS_TRANSFORM_SHIFT: u32 = 6;
1168pub const VIPS_TRANSFORM_SCALE: u32 = 64;
1169pub const VIPS_INTERPOLATE_SHIFT: u32 = 12;
1170pub const VIPS_INTERPOLATE_SCALE: u32 = 4096;
1171pub const VIPS_META_EXIF_NAME: &[u8; 10] = b"exif-data\0";
1172pub const VIPS_META_XMP_NAME: &[u8; 9] = b"xmp-data\0";
1173pub const VIPS_META_IPTC_NAME: &[u8; 10] = b"iptc-data\0";
1174pub const VIPS_META_PHOTOSHOP_NAME: &[u8; 15] = b"photoshop-data\0";
1175pub const VIPS_META_ICC_NAME: &[u8; 17] = b"icc-profile-data\0";
1176pub const VIPS_META_IMAGEDESCRIPTION: &[u8; 18] = b"image-description\0";
1177pub const VIPS_META_RESOLUTION_UNIT: &[u8; 16] = b"resolution-unit\0";
1178pub const VIPS_META_BITS_PER_SAMPLE: &[u8; 16] = b"bits-per-sample\0";
1179pub const VIPS_META_LOADER: &[u8; 12] = b"vips-loader\0";
1180pub const VIPS_META_SEQUENTIAL: &[u8; 16] = b"vips-sequential\0";
1181pub const VIPS_META_ORIENTATION: &[u8; 12] = b"orientation\0";
1182pub const VIPS_META_PAGE_HEIGHT: &[u8; 12] = b"page-height\0";
1183pub const VIPS_META_N_PAGES: &[u8; 8] = b"n-pages\0";
1184pub const VIPS_META_N_SUBIFDS: &[u8; 10] = b"n-subifds\0";
1185pub const VIPS_META_CONCURRENCY: &[u8; 12] = b"concurrency\0";
1186pub const VIPS_D93_X0: f64 = 89.74;
1187pub const VIPS_D93_Y0: f64 = 100.0;
1188pub const VIPS_D93_Z0: f64 = 130.77;
1189pub const VIPS_D75_X0: f64 = 94.9682;
1190pub const VIPS_D75_Y0: f64 = 100.0;
1191pub const VIPS_D75_Z0: f64 = 122.571;
1192pub const VIPS_D65_X0: f64 = 95.047;
1193pub const VIPS_D65_Y0: f64 = 100.0;
1194pub const VIPS_D65_Z0: f64 = 108.8827;
1195pub const VIPS_D55_X0: f64 = 95.6831;
1196pub const VIPS_D55_Y0: f64 = 100.0;
1197pub const VIPS_D55_Z0: f64 = 92.0871;
1198pub const VIPS_D50_X0: f64 = 96.425;
1199pub const VIPS_D50_Y0: f64 = 100.0;
1200pub const VIPS_D50_Z0: f64 = 82.468;
1201pub const VIPS_A_X0: f64 = 109.8503;
1202pub const VIPS_A_Y0: f64 = 100.0;
1203pub const VIPS_A_Z0: f64 = 35.5849;
1204pub const VIPS_B_X0: f64 = 99.072;
1205pub const VIPS_B_Y0: f64 = 100.0;
1206pub const VIPS_B_Z0: f64 = 85.223;
1207pub const VIPS_C_X0: f64 = 98.07;
1208pub const VIPS_C_Y0: f64 = 100.0;
1209pub const VIPS_C_Z0: f64 = 118.23;
1210pub const VIPS_E_X0: f64 = 100.0;
1211pub const VIPS_E_Y0: f64 = 100.0;
1212pub const VIPS_E_Z0: f64 = 100.0;
1213pub const VIPS_D3250_X0: f64 = 105.659;
1214pub const VIPS_D3250_Y0: f64 = 100.0;
1215pub const VIPS_D3250_Z0: f64 = 45.8501;
1216pub type wchar_t = ::std::os::raw::c_uint;
1217pub type size_t = ::std::os::raw::c_ulong;
1218extern "C" {
1219    pub fn __flt_rounds() -> ::std::os::raw::c_int;
1220}
1221pub type gint8 = ::std::os::raw::c_schar;
1222pub type guint8 = ::std::os::raw::c_uchar;
1223pub type gint16 = ::std::os::raw::c_short;
1224pub type guint16 = ::std::os::raw::c_ushort;
1225pub type gint32 = ::std::os::raw::c_int;
1226pub type guint32 = ::std::os::raw::c_uint;
1227pub type gint64 = ::std::os::raw::c_long;
1228pub type guint64 = ::std::os::raw::c_ulong;
1229pub type gssize = ::std::os::raw::c_long;
1230pub type gsize = ::std::os::raw::c_ulong;
1231pub type goffset = gint64;
1232pub type gintptr = ::std::os::raw::c_long;
1233pub type guintptr = ::std::os::raw::c_ulong;
1234pub type GPid = ::std::os::raw::c_int;
1235pub type time_t = ::std::os::raw::c_long;
1236pub type timer_t = *mut ::std::os::raw::c_void;
1237pub type clockid_t = ::std::os::raw::c_int;
1238pub type clock_t = ::std::os::raw::c_long;
1239#[repr(C)]
1240#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1241pub struct timespec {
1242    pub tv_sec: time_t,
1243    pub tv_nsec: ::std::os::raw::c_long,
1244}
1245#[test]
1246fn bindgen_test_layout_timespec() {
1247    const UNINIT: ::std::mem::MaybeUninit<timespec> = ::std::mem::MaybeUninit::uninit();
1248    let ptr = UNINIT.as_ptr();
1249    assert_eq!(
1250        ::std::mem::size_of::<timespec>(),
1251        16usize,
1252        concat!("Size of: ", stringify!(timespec))
1253    );
1254    assert_eq!(
1255        ::std::mem::align_of::<timespec>(),
1256        8usize,
1257        concat!("Alignment of ", stringify!(timespec))
1258    );
1259    assert_eq!(
1260        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
1261        0usize,
1262        concat!(
1263            "Offset of field: ",
1264            stringify!(timespec),
1265            "::",
1266            stringify!(tv_sec)
1267        )
1268    );
1269    assert_eq!(
1270        unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
1271        8usize,
1272        concat!(
1273            "Offset of field: ",
1274            stringify!(timespec),
1275            "::",
1276            stringify!(tv_nsec)
1277        )
1278    );
1279}
1280pub type pid_t = ::std::os::raw::c_int;
1281#[repr(C)]
1282#[derive(Debug, Copy, Clone)]
1283pub struct __locale_struct {
1284    _unused: [u8; 0],
1285}
1286pub type locale_t = *mut __locale_struct;
1287#[repr(C)]
1288#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1289pub struct tm {
1290    pub tm_sec: ::std::os::raw::c_int,
1291    pub tm_min: ::std::os::raw::c_int,
1292    pub tm_hour: ::std::os::raw::c_int,
1293    pub tm_mday: ::std::os::raw::c_int,
1294    pub tm_mon: ::std::os::raw::c_int,
1295    pub tm_year: ::std::os::raw::c_int,
1296    pub tm_wday: ::std::os::raw::c_int,
1297    pub tm_yday: ::std::os::raw::c_int,
1298    pub tm_isdst: ::std::os::raw::c_int,
1299    pub tm_gmtoff: ::std::os::raw::c_long,
1300    pub tm_zone: *const ::std::os::raw::c_char,
1301}
1302#[test]
1303fn bindgen_test_layout_tm() {
1304    const UNINIT: ::std::mem::MaybeUninit<tm> = ::std::mem::MaybeUninit::uninit();
1305    let ptr = UNINIT.as_ptr();
1306    assert_eq!(
1307        ::std::mem::size_of::<tm>(),
1308        56usize,
1309        concat!("Size of: ", stringify!(tm))
1310    );
1311    assert_eq!(
1312        ::std::mem::align_of::<tm>(),
1313        8usize,
1314        concat!("Alignment of ", stringify!(tm))
1315    );
1316    assert_eq!(
1317        unsafe { ::std::ptr::addr_of!((*ptr).tm_sec) as usize - ptr as usize },
1318        0usize,
1319        concat!(
1320            "Offset of field: ",
1321            stringify!(tm),
1322            "::",
1323            stringify!(tm_sec)
1324        )
1325    );
1326    assert_eq!(
1327        unsafe { ::std::ptr::addr_of!((*ptr).tm_min) as usize - ptr as usize },
1328        4usize,
1329        concat!(
1330            "Offset of field: ",
1331            stringify!(tm),
1332            "::",
1333            stringify!(tm_min)
1334        )
1335    );
1336    assert_eq!(
1337        unsafe { ::std::ptr::addr_of!((*ptr).tm_hour) as usize - ptr as usize },
1338        8usize,
1339        concat!(
1340            "Offset of field: ",
1341            stringify!(tm),
1342            "::",
1343            stringify!(tm_hour)
1344        )
1345    );
1346    assert_eq!(
1347        unsafe { ::std::ptr::addr_of!((*ptr).tm_mday) as usize - ptr as usize },
1348        12usize,
1349        concat!(
1350            "Offset of field: ",
1351            stringify!(tm),
1352            "::",
1353            stringify!(tm_mday)
1354        )
1355    );
1356    assert_eq!(
1357        unsafe { ::std::ptr::addr_of!((*ptr).tm_mon) as usize - ptr as usize },
1358        16usize,
1359        concat!(
1360            "Offset of field: ",
1361            stringify!(tm),
1362            "::",
1363            stringify!(tm_mon)
1364        )
1365    );
1366    assert_eq!(
1367        unsafe { ::std::ptr::addr_of!((*ptr).tm_year) as usize - ptr as usize },
1368        20usize,
1369        concat!(
1370            "Offset of field: ",
1371            stringify!(tm),
1372            "::",
1373            stringify!(tm_year)
1374        )
1375    );
1376    assert_eq!(
1377        unsafe { ::std::ptr::addr_of!((*ptr).tm_wday) as usize - ptr as usize },
1378        24usize,
1379        concat!(
1380            "Offset of field: ",
1381            stringify!(tm),
1382            "::",
1383            stringify!(tm_wday)
1384        )
1385    );
1386    assert_eq!(
1387        unsafe { ::std::ptr::addr_of!((*ptr).tm_yday) as usize - ptr as usize },
1388        28usize,
1389        concat!(
1390            "Offset of field: ",
1391            stringify!(tm),
1392            "::",
1393            stringify!(tm_yday)
1394        )
1395    );
1396    assert_eq!(
1397        unsafe { ::std::ptr::addr_of!((*ptr).tm_isdst) as usize - ptr as usize },
1398        32usize,
1399        concat!(
1400            "Offset of field: ",
1401            stringify!(tm),
1402            "::",
1403            stringify!(tm_isdst)
1404        )
1405    );
1406    assert_eq!(
1407        unsafe { ::std::ptr::addr_of!((*ptr).tm_gmtoff) as usize - ptr as usize },
1408        40usize,
1409        concat!(
1410            "Offset of field: ",
1411            stringify!(tm),
1412            "::",
1413            stringify!(tm_gmtoff)
1414        )
1415    );
1416    assert_eq!(
1417        unsafe { ::std::ptr::addr_of!((*ptr).tm_zone) as usize - ptr as usize },
1418        48usize,
1419        concat!(
1420            "Offset of field: ",
1421            stringify!(tm),
1422            "::",
1423            stringify!(tm_zone)
1424        )
1425    );
1426}
1427extern "C" {
1428    pub fn clock() -> clock_t;
1429}
1430extern "C" {
1431    pub fn time(arg1: *mut time_t) -> time_t;
1432}
1433extern "C" {
1434    pub fn difftime(arg1: time_t, arg2: time_t) -> f64;
1435}
1436extern "C" {
1437    pub fn mktime(arg1: *mut tm) -> time_t;
1438}
1439extern "C" {
1440    pub fn strftime(
1441        arg1: *mut ::std::os::raw::c_char,
1442        arg2: size_t,
1443        arg3: *const ::std::os::raw::c_char,
1444        arg4: *const tm,
1445    ) -> size_t;
1446}
1447extern "C" {
1448    pub fn gmtime(arg1: *const time_t) -> *mut tm;
1449}
1450extern "C" {
1451    pub fn localtime(arg1: *const time_t) -> *mut tm;
1452}
1453extern "C" {
1454    pub fn asctime(arg1: *const tm) -> *mut ::std::os::raw::c_char;
1455}
1456extern "C" {
1457    pub fn ctime(arg1: *const time_t) -> *mut ::std::os::raw::c_char;
1458}
1459extern "C" {
1460    pub fn timespec_get(arg1: *mut timespec, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1461}
1462extern "C" {
1463    pub fn strftime_l(
1464        arg1: *mut ::std::os::raw::c_char,
1465        arg2: size_t,
1466        arg3: *const ::std::os::raw::c_char,
1467        arg4: *const tm,
1468        arg5: locale_t,
1469    ) -> size_t;
1470}
1471extern "C" {
1472    pub fn gmtime_r(arg1: *const time_t, arg2: *mut tm) -> *mut tm;
1473}
1474extern "C" {
1475    pub fn localtime_r(arg1: *const time_t, arg2: *mut tm) -> *mut tm;
1476}
1477extern "C" {
1478    pub fn asctime_r(
1479        arg1: *const tm,
1480        arg2: *mut ::std::os::raw::c_char,
1481    ) -> *mut ::std::os::raw::c_char;
1482}
1483extern "C" {
1484    pub fn ctime_r(
1485        arg1: *const time_t,
1486        arg2: *mut ::std::os::raw::c_char,
1487    ) -> *mut ::std::os::raw::c_char;
1488}
1489extern "C" {
1490    pub fn tzset();
1491}
1492#[repr(C)]
1493#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1494pub struct itimerspec {
1495    pub it_interval: timespec,
1496    pub it_value: timespec,
1497}
1498#[test]
1499fn bindgen_test_layout_itimerspec() {
1500    const UNINIT: ::std::mem::MaybeUninit<itimerspec> = ::std::mem::MaybeUninit::uninit();
1501    let ptr = UNINIT.as_ptr();
1502    assert_eq!(
1503        ::std::mem::size_of::<itimerspec>(),
1504        32usize,
1505        concat!("Size of: ", stringify!(itimerspec))
1506    );
1507    assert_eq!(
1508        ::std::mem::align_of::<itimerspec>(),
1509        8usize,
1510        concat!("Alignment of ", stringify!(itimerspec))
1511    );
1512    assert_eq!(
1513        unsafe { ::std::ptr::addr_of!((*ptr).it_interval) as usize - ptr as usize },
1514        0usize,
1515        concat!(
1516            "Offset of field: ",
1517            stringify!(itimerspec),
1518            "::",
1519            stringify!(it_interval)
1520        )
1521    );
1522    assert_eq!(
1523        unsafe { ::std::ptr::addr_of!((*ptr).it_value) as usize - ptr as usize },
1524        16usize,
1525        concat!(
1526            "Offset of field: ",
1527            stringify!(itimerspec),
1528            "::",
1529            stringify!(it_value)
1530        )
1531    );
1532}
1533extern "C" {
1534    pub fn nanosleep(arg1: *const timespec, arg2: *mut timespec) -> ::std::os::raw::c_int;
1535}
1536extern "C" {
1537    pub fn clock_getres(arg1: clockid_t, arg2: *mut timespec) -> ::std::os::raw::c_int;
1538}
1539extern "C" {
1540    pub fn clock_gettime(arg1: clockid_t, arg2: *mut timespec) -> ::std::os::raw::c_int;
1541}
1542extern "C" {
1543    pub fn clock_settime(arg1: clockid_t, arg2: *const timespec) -> ::std::os::raw::c_int;
1544}
1545extern "C" {
1546    pub fn clock_nanosleep(
1547        arg1: clockid_t,
1548        arg2: ::std::os::raw::c_int,
1549        arg3: *const timespec,
1550        arg4: *mut timespec,
1551    ) -> ::std::os::raw::c_int;
1552}
1553extern "C" {
1554    pub fn clock_getcpuclockid(arg1: pid_t, arg2: *mut clockid_t) -> ::std::os::raw::c_int;
1555}
1556extern "C" {
1557    pub fn timer_create(
1558        arg1: clockid_t,
1559        arg2: *mut sigevent,
1560        arg3: *mut timer_t,
1561    ) -> ::std::os::raw::c_int;
1562}
1563extern "C" {
1564    pub fn timer_delete(arg1: timer_t) -> ::std::os::raw::c_int;
1565}
1566extern "C" {
1567    pub fn timer_settime(
1568        arg1: timer_t,
1569        arg2: ::std::os::raw::c_int,
1570        arg3: *const itimerspec,
1571        arg4: *mut itimerspec,
1572    ) -> ::std::os::raw::c_int;
1573}
1574extern "C" {
1575    pub fn timer_gettime(arg1: timer_t, arg2: *mut itimerspec) -> ::std::os::raw::c_int;
1576}
1577extern "C" {
1578    pub fn timer_getoverrun(arg1: timer_t) -> ::std::os::raw::c_int;
1579}
1580extern "C" {
1581    pub static mut tzname: [*mut ::std::os::raw::c_char; 2usize];
1582}
1583extern "C" {
1584    pub fn strptime(
1585        arg1: *const ::std::os::raw::c_char,
1586        arg2: *const ::std::os::raw::c_char,
1587        arg3: *mut tm,
1588    ) -> *mut ::std::os::raw::c_char;
1589}
1590extern "C" {
1591    pub static mut daylight: ::std::os::raw::c_int;
1592}
1593extern "C" {
1594    pub static mut timezone: ::std::os::raw::c_long;
1595}
1596extern "C" {
1597    pub static mut getdate_err: ::std::os::raw::c_int;
1598}
1599extern "C" {
1600    pub fn getdate(arg1: *const ::std::os::raw::c_char) -> *mut tm;
1601}
1602extern "C" {
1603    pub fn stime(arg1: *const time_t) -> ::std::os::raw::c_int;
1604}
1605extern "C" {
1606    pub fn timegm(arg1: *mut tm) -> time_t;
1607}
1608pub type gchar = ::std::os::raw::c_char;
1609pub type gshort = ::std::os::raw::c_short;
1610pub type glong = ::std::os::raw::c_long;
1611pub type gint = ::std::os::raw::c_int;
1612pub type gboolean = gint;
1613pub type guchar = ::std::os::raw::c_uchar;
1614pub type gushort = ::std::os::raw::c_ushort;
1615pub type gulong = ::std::os::raw::c_ulong;
1616pub type guint = ::std::os::raw::c_uint;
1617pub type gfloat = f32;
1618pub type gdouble = f64;
1619pub type gpointer = *mut ::std::os::raw::c_void;
1620pub type gconstpointer = *const ::std::os::raw::c_void;
1621pub type GCompareFunc =
1622    ::std::option::Option<unsafe extern "C" fn(a: gconstpointer, b: gconstpointer) -> gint>;
1623pub type GCompareDataFunc = ::std::option::Option<
1624    unsafe extern "C" fn(a: gconstpointer, b: gconstpointer, user_data: gpointer) -> gint,
1625>;
1626pub type GEqualFunc =
1627    ::std::option::Option<unsafe extern "C" fn(a: gconstpointer, b: gconstpointer) -> gboolean>;
1628pub type GEqualFuncFull = ::std::option::Option<
1629    unsafe extern "C" fn(a: gconstpointer, b: gconstpointer, user_data: gpointer) -> gboolean,
1630>;
1631pub type GDestroyNotify = ::std::option::Option<unsafe extern "C" fn(data: gpointer)>;
1632pub type GFunc = ::std::option::Option<unsafe extern "C" fn(data: gpointer, user_data: gpointer)>;
1633pub type GHashFunc = ::std::option::Option<unsafe extern "C" fn(key: gconstpointer) -> guint>;
1634pub type GHFunc = ::std::option::Option<
1635    unsafe extern "C" fn(key: gpointer, value: gpointer, user_data: gpointer),
1636>;
1637pub type GCopyFunc =
1638    ::std::option::Option<unsafe extern "C" fn(src: gconstpointer, data: gpointer) -> gpointer>;
1639pub type GFreeFunc = ::std::option::Option<unsafe extern "C" fn(data: gpointer)>;
1640pub type GTranslateFunc =
1641    ::std::option::Option<unsafe extern "C" fn(str_: *const gchar, data: gpointer) -> *const gchar>;
1642pub type GDoubleIEEE754 = _GDoubleIEEE754;
1643pub type GFloatIEEE754 = _GFloatIEEE754;
1644#[repr(C)]
1645#[derive(Copy, Clone)]
1646pub union _GFloatIEEE754 {
1647    pub v_float: gfloat,
1648    pub mpn: _GFloatIEEE754__bindgen_ty_1,
1649}
1650#[repr(C)]
1651#[repr(align(4))]
1652#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1653pub struct _GFloatIEEE754__bindgen_ty_1 {
1654    pub _bitfield_align_1: [u32; 0],
1655    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
1656}
1657#[test]
1658fn bindgen_test_layout__GFloatIEEE754__bindgen_ty_1() {
1659    assert_eq!(
1660        ::std::mem::size_of::<_GFloatIEEE754__bindgen_ty_1>(),
1661        4usize,
1662        concat!("Size of: ", stringify!(_GFloatIEEE754__bindgen_ty_1))
1663    );
1664    assert_eq!(
1665        ::std::mem::align_of::<_GFloatIEEE754__bindgen_ty_1>(),
1666        4usize,
1667        concat!("Alignment of ", stringify!(_GFloatIEEE754__bindgen_ty_1))
1668    );
1669}
1670impl _GFloatIEEE754__bindgen_ty_1 {
1671    #[inline]
1672    pub fn mantissa(&self) -> guint {
1673        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 23u8) as u32) }
1674    }
1675    #[inline]
1676    pub fn set_mantissa(&mut self, val: guint) {
1677        unsafe {
1678            let val: u32 = ::std::mem::transmute(val);
1679            self._bitfield_1.set(0usize, 23u8, val as u64)
1680        }
1681    }
1682    #[inline]
1683    pub fn biased_exponent(&self) -> guint {
1684        unsafe { ::std::mem::transmute(self._bitfield_1.get(23usize, 8u8) as u32) }
1685    }
1686    #[inline]
1687    pub fn set_biased_exponent(&mut self, val: guint) {
1688        unsafe {
1689            let val: u32 = ::std::mem::transmute(val);
1690            self._bitfield_1.set(23usize, 8u8, val as u64)
1691        }
1692    }
1693    #[inline]
1694    pub fn sign(&self) -> guint {
1695        unsafe { ::std::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) }
1696    }
1697    #[inline]
1698    pub fn set_sign(&mut self, val: guint) {
1699        unsafe {
1700            let val: u32 = ::std::mem::transmute(val);
1701            self._bitfield_1.set(31usize, 1u8, val as u64)
1702        }
1703    }
1704    #[inline]
1705    pub fn new_bitfield_1(
1706        mantissa: guint,
1707        biased_exponent: guint,
1708        sign: guint,
1709    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
1710        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
1711        __bindgen_bitfield_unit.set(0usize, 23u8, {
1712            let mantissa: u32 = unsafe { ::std::mem::transmute(mantissa) };
1713            mantissa as u64
1714        });
1715        __bindgen_bitfield_unit.set(23usize, 8u8, {
1716            let biased_exponent: u32 = unsafe { ::std::mem::transmute(biased_exponent) };
1717            biased_exponent as u64
1718        });
1719        __bindgen_bitfield_unit.set(31usize, 1u8, {
1720            let sign: u32 = unsafe { ::std::mem::transmute(sign) };
1721            sign as u64
1722        });
1723        __bindgen_bitfield_unit
1724    }
1725}
1726#[test]
1727fn bindgen_test_layout__GFloatIEEE754() {
1728    const UNINIT: ::std::mem::MaybeUninit<_GFloatIEEE754> = ::std::mem::MaybeUninit::uninit();
1729    let ptr = UNINIT.as_ptr();
1730    assert_eq!(
1731        ::std::mem::size_of::<_GFloatIEEE754>(),
1732        4usize,
1733        concat!("Size of: ", stringify!(_GFloatIEEE754))
1734    );
1735    assert_eq!(
1736        ::std::mem::align_of::<_GFloatIEEE754>(),
1737        4usize,
1738        concat!("Alignment of ", stringify!(_GFloatIEEE754))
1739    );
1740    assert_eq!(
1741        unsafe { ::std::ptr::addr_of!((*ptr).v_float) as usize - ptr as usize },
1742        0usize,
1743        concat!(
1744            "Offset of field: ",
1745            stringify!(_GFloatIEEE754),
1746            "::",
1747            stringify!(v_float)
1748        )
1749    );
1750    assert_eq!(
1751        unsafe { ::std::ptr::addr_of!((*ptr).mpn) as usize - ptr as usize },
1752        0usize,
1753        concat!(
1754            "Offset of field: ",
1755            stringify!(_GFloatIEEE754),
1756            "::",
1757            stringify!(mpn)
1758        )
1759    );
1760}
1761impl ::std::fmt::Debug for _GFloatIEEE754 {
1762    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1763        write!(f, "_GFloatIEEE754 {{ union }}")
1764    }
1765}
1766#[repr(C)]
1767#[derive(Copy, Clone)]
1768pub union _GDoubleIEEE754 {
1769    pub v_double: gdouble,
1770    pub mpn: _GDoubleIEEE754__bindgen_ty_1,
1771}
1772#[repr(C)]
1773#[repr(align(4))]
1774#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1775pub struct _GDoubleIEEE754__bindgen_ty_1 {
1776    pub _bitfield_align_1: [u32; 0],
1777    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
1778}
1779#[test]
1780fn bindgen_test_layout__GDoubleIEEE754__bindgen_ty_1() {
1781    assert_eq!(
1782        ::std::mem::size_of::<_GDoubleIEEE754__bindgen_ty_1>(),
1783        8usize,
1784        concat!("Size of: ", stringify!(_GDoubleIEEE754__bindgen_ty_1))
1785    );
1786    assert_eq!(
1787        ::std::mem::align_of::<_GDoubleIEEE754__bindgen_ty_1>(),
1788        4usize,
1789        concat!("Alignment of ", stringify!(_GDoubleIEEE754__bindgen_ty_1))
1790    );
1791}
1792impl _GDoubleIEEE754__bindgen_ty_1 {
1793    #[inline]
1794    pub fn mantissa_low(&self) -> guint {
1795        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 32u8) as u32) }
1796    }
1797    #[inline]
1798    pub fn set_mantissa_low(&mut self, val: guint) {
1799        unsafe {
1800            let val: u32 = ::std::mem::transmute(val);
1801            self._bitfield_1.set(0usize, 32u8, val as u64)
1802        }
1803    }
1804    #[inline]
1805    pub fn mantissa_high(&self) -> guint {
1806        unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 20u8) as u32) }
1807    }
1808    #[inline]
1809    pub fn set_mantissa_high(&mut self, val: guint) {
1810        unsafe {
1811            let val: u32 = ::std::mem::transmute(val);
1812            self._bitfield_1.set(32usize, 20u8, val as u64)
1813        }
1814    }
1815    #[inline]
1816    pub fn biased_exponent(&self) -> guint {
1817        unsafe { ::std::mem::transmute(self._bitfield_1.get(52usize, 11u8) as u32) }
1818    }
1819    #[inline]
1820    pub fn set_biased_exponent(&mut self, val: guint) {
1821        unsafe {
1822            let val: u32 = ::std::mem::transmute(val);
1823            self._bitfield_1.set(52usize, 11u8, val as u64)
1824        }
1825    }
1826    #[inline]
1827    pub fn sign(&self) -> guint {
1828        unsafe { ::std::mem::transmute(self._bitfield_1.get(63usize, 1u8) as u32) }
1829    }
1830    #[inline]
1831    pub fn set_sign(&mut self, val: guint) {
1832        unsafe {
1833            let val: u32 = ::std::mem::transmute(val);
1834            self._bitfield_1.set(63usize, 1u8, val as u64)
1835        }
1836    }
1837    #[inline]
1838    pub fn new_bitfield_1(
1839        mantissa_low: guint,
1840        mantissa_high: guint,
1841        biased_exponent: guint,
1842        sign: guint,
1843    ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
1844        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
1845        __bindgen_bitfield_unit.set(0usize, 32u8, {
1846            let mantissa_low: u32 = unsafe { ::std::mem::transmute(mantissa_low) };
1847            mantissa_low as u64
1848        });
1849        __bindgen_bitfield_unit.set(32usize, 20u8, {
1850            let mantissa_high: u32 = unsafe { ::std::mem::transmute(mantissa_high) };
1851            mantissa_high as u64
1852        });
1853        __bindgen_bitfield_unit.set(52usize, 11u8, {
1854            let biased_exponent: u32 = unsafe { ::std::mem::transmute(biased_exponent) };
1855            biased_exponent as u64
1856        });
1857        __bindgen_bitfield_unit.set(63usize, 1u8, {
1858            let sign: u32 = unsafe { ::std::mem::transmute(sign) };
1859            sign as u64
1860        });
1861        __bindgen_bitfield_unit
1862    }
1863}
1864#[test]
1865fn bindgen_test_layout__GDoubleIEEE754() {
1866    const UNINIT: ::std::mem::MaybeUninit<_GDoubleIEEE754> = ::std::mem::MaybeUninit::uninit();
1867    let ptr = UNINIT.as_ptr();
1868    assert_eq!(
1869        ::std::mem::size_of::<_GDoubleIEEE754>(),
1870        8usize,
1871        concat!("Size of: ", stringify!(_GDoubleIEEE754))
1872    );
1873    assert_eq!(
1874        ::std::mem::align_of::<_GDoubleIEEE754>(),
1875        8usize,
1876        concat!("Alignment of ", stringify!(_GDoubleIEEE754))
1877    );
1878    assert_eq!(
1879        unsafe { ::std::ptr::addr_of!((*ptr).v_double) as usize - ptr as usize },
1880        0usize,
1881        concat!(
1882            "Offset of field: ",
1883            stringify!(_GDoubleIEEE754),
1884            "::",
1885            stringify!(v_double)
1886        )
1887    );
1888    assert_eq!(
1889        unsafe { ::std::ptr::addr_of!((*ptr).mpn) as usize - ptr as usize },
1890        0usize,
1891        concat!(
1892            "Offset of field: ",
1893            stringify!(_GDoubleIEEE754),
1894            "::",
1895            stringify!(mpn)
1896        )
1897    );
1898}
1899impl ::std::fmt::Debug for _GDoubleIEEE754 {
1900    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1901        write!(f, "_GDoubleIEEE754 {{ union }}")
1902    }
1903}
1904pub type GTimeVal = _GTimeVal;
1905#[repr(C)]
1906#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1907pub struct _GTimeVal {
1908    pub tv_sec: glong,
1909    pub tv_usec: glong,
1910}
1911#[test]
1912fn bindgen_test_layout__GTimeVal() {
1913    const UNINIT: ::std::mem::MaybeUninit<_GTimeVal> = ::std::mem::MaybeUninit::uninit();
1914    let ptr = UNINIT.as_ptr();
1915    assert_eq!(
1916        ::std::mem::size_of::<_GTimeVal>(),
1917        16usize,
1918        concat!("Size of: ", stringify!(_GTimeVal))
1919    );
1920    assert_eq!(
1921        ::std::mem::align_of::<_GTimeVal>(),
1922        8usize,
1923        concat!("Alignment of ", stringify!(_GTimeVal))
1924    );
1925    assert_eq!(
1926        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
1927        0usize,
1928        concat!(
1929            "Offset of field: ",
1930            stringify!(_GTimeVal),
1931            "::",
1932            stringify!(tv_sec)
1933        )
1934    );
1935    assert_eq!(
1936        unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
1937        8usize,
1938        concat!(
1939            "Offset of field: ",
1940            stringify!(_GTimeVal),
1941            "::",
1942            stringify!(tv_usec)
1943        )
1944    );
1945}
1946pub type grefcount = gint;
1947pub type gatomicrefcount = gint;
1948extern "C" {
1949    pub fn memcpy(
1950        arg1: *mut ::std::os::raw::c_void,
1951        arg2: *const ::std::os::raw::c_void,
1952        arg3: ::std::os::raw::c_ulong,
1953    ) -> *mut ::std::os::raw::c_void;
1954}
1955extern "C" {
1956    pub fn memmove(
1957        arg1: *mut ::std::os::raw::c_void,
1958        arg2: *const ::std::os::raw::c_void,
1959        arg3: ::std::os::raw::c_ulong,
1960    ) -> *mut ::std::os::raw::c_void;
1961}
1962extern "C" {
1963    pub fn memset(
1964        arg1: *mut ::std::os::raw::c_void,
1965        arg2: ::std::os::raw::c_int,
1966        arg3: ::std::os::raw::c_ulong,
1967    ) -> *mut ::std::os::raw::c_void;
1968}
1969extern "C" {
1970    pub fn memcmp(
1971        arg1: *const ::std::os::raw::c_void,
1972        arg2: *const ::std::os::raw::c_void,
1973        arg3: ::std::os::raw::c_ulong,
1974    ) -> ::std::os::raw::c_int;
1975}
1976extern "C" {
1977    pub fn memchr(
1978        arg1: *const ::std::os::raw::c_void,
1979        arg2: ::std::os::raw::c_int,
1980        arg3: ::std::os::raw::c_ulong,
1981    ) -> *mut ::std::os::raw::c_void;
1982}
1983extern "C" {
1984    pub fn strcpy(
1985        arg1: *mut ::std::os::raw::c_char,
1986        arg2: *const ::std::os::raw::c_char,
1987    ) -> *mut ::std::os::raw::c_char;
1988}
1989extern "C" {
1990    pub fn strncpy(
1991        arg1: *mut ::std::os::raw::c_char,
1992        arg2: *const ::std::os::raw::c_char,
1993        arg3: ::std::os::raw::c_ulong,
1994    ) -> *mut ::std::os::raw::c_char;
1995}
1996extern "C" {
1997    pub fn strcat(
1998        arg1: *mut ::std::os::raw::c_char,
1999        arg2: *const ::std::os::raw::c_char,
2000    ) -> *mut ::std::os::raw::c_char;
2001}
2002extern "C" {
2003    pub fn strncat(
2004        arg1: *mut ::std::os::raw::c_char,
2005        arg2: *const ::std::os::raw::c_char,
2006        arg3: ::std::os::raw::c_ulong,
2007    ) -> *mut ::std::os::raw::c_char;
2008}
2009extern "C" {
2010    pub fn strcmp(
2011        arg1: *const ::std::os::raw::c_char,
2012        arg2: *const ::std::os::raw::c_char,
2013    ) -> ::std::os::raw::c_int;
2014}
2015extern "C" {
2016    pub fn strncmp(
2017        arg1: *const ::std::os::raw::c_char,
2018        arg2: *const ::std::os::raw::c_char,
2019        arg3: ::std::os::raw::c_ulong,
2020    ) -> ::std::os::raw::c_int;
2021}
2022extern "C" {
2023    pub fn strcoll(
2024        arg1: *const ::std::os::raw::c_char,
2025        arg2: *const ::std::os::raw::c_char,
2026    ) -> ::std::os::raw::c_int;
2027}
2028extern "C" {
2029    pub fn strxfrm(
2030        arg1: *mut ::std::os::raw::c_char,
2031        arg2: *const ::std::os::raw::c_char,
2032        arg3: ::std::os::raw::c_ulong,
2033    ) -> ::std::os::raw::c_ulong;
2034}
2035extern "C" {
2036    pub fn strchr(
2037        arg1: *const ::std::os::raw::c_char,
2038        arg2: ::std::os::raw::c_int,
2039    ) -> *mut ::std::os::raw::c_char;
2040}
2041extern "C" {
2042    pub fn strrchr(
2043        arg1: *const ::std::os::raw::c_char,
2044        arg2: ::std::os::raw::c_int,
2045    ) -> *mut ::std::os::raw::c_char;
2046}
2047extern "C" {
2048    pub fn strcspn(
2049        arg1: *const ::std::os::raw::c_char,
2050        arg2: *const ::std::os::raw::c_char,
2051    ) -> ::std::os::raw::c_ulong;
2052}
2053extern "C" {
2054    pub fn strspn(
2055        arg1: *const ::std::os::raw::c_char,
2056        arg2: *const ::std::os::raw::c_char,
2057    ) -> ::std::os::raw::c_ulong;
2058}
2059extern "C" {
2060    pub fn strpbrk(
2061        arg1: *const ::std::os::raw::c_char,
2062        arg2: *const ::std::os::raw::c_char,
2063    ) -> *mut ::std::os::raw::c_char;
2064}
2065extern "C" {
2066    pub fn strstr(
2067        arg1: *const ::std::os::raw::c_char,
2068        arg2: *const ::std::os::raw::c_char,
2069    ) -> *mut ::std::os::raw::c_char;
2070}
2071extern "C" {
2072    pub fn strtok(
2073        arg1: *mut ::std::os::raw::c_char,
2074        arg2: *const ::std::os::raw::c_char,
2075    ) -> *mut ::std::os::raw::c_char;
2076}
2077extern "C" {
2078    pub fn strlen(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong;
2079}
2080extern "C" {
2081    pub fn strerror(arg1: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
2082}
2083extern "C" {
2084    pub fn bcmp(
2085        arg1: *const ::std::os::raw::c_void,
2086        arg2: *const ::std::os::raw::c_void,
2087        arg3: ::std::os::raw::c_ulong,
2088    ) -> ::std::os::raw::c_int;
2089}
2090extern "C" {
2091    pub fn bcopy(
2092        arg1: *const ::std::os::raw::c_void,
2093        arg2: *mut ::std::os::raw::c_void,
2094        arg3: size_t,
2095    );
2096}
2097extern "C" {
2098    pub fn bzero(arg1: *mut ::std::os::raw::c_void, arg2: ::std::os::raw::c_ulong);
2099}
2100extern "C" {
2101    pub fn index(
2102        arg1: *const ::std::os::raw::c_char,
2103        arg2: ::std::os::raw::c_int,
2104    ) -> *mut ::std::os::raw::c_char;
2105}
2106extern "C" {
2107    pub fn rindex(
2108        arg1: *const ::std::os::raw::c_char,
2109        arg2: ::std::os::raw::c_int,
2110    ) -> *mut ::std::os::raw::c_char;
2111}
2112extern "C" {
2113    pub fn ffs(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2114}
2115extern "C" {
2116    pub fn ffsl(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
2117}
2118extern "C" {
2119    pub fn ffsll(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int;
2120}
2121extern "C" {
2122    pub fn strcasecmp(
2123        arg1: *const ::std::os::raw::c_char,
2124        arg2: *const ::std::os::raw::c_char,
2125    ) -> ::std::os::raw::c_int;
2126}
2127extern "C" {
2128    pub fn strncasecmp(
2129        arg1: *const ::std::os::raw::c_char,
2130        arg2: *const ::std::os::raw::c_char,
2131        arg3: ::std::os::raw::c_ulong,
2132    ) -> ::std::os::raw::c_int;
2133}
2134extern "C" {
2135    pub fn strcasecmp_l(
2136        arg1: *const ::std::os::raw::c_char,
2137        arg2: *const ::std::os::raw::c_char,
2138        arg3: locale_t,
2139    ) -> ::std::os::raw::c_int;
2140}
2141extern "C" {
2142    pub fn strncasecmp_l(
2143        arg1: *const ::std::os::raw::c_char,
2144        arg2: *const ::std::os::raw::c_char,
2145        arg3: size_t,
2146        arg4: locale_t,
2147    ) -> ::std::os::raw::c_int;
2148}
2149extern "C" {
2150    pub fn strtok_r(
2151        arg1: *mut ::std::os::raw::c_char,
2152        arg2: *const ::std::os::raw::c_char,
2153        arg3: *mut *mut ::std::os::raw::c_char,
2154    ) -> *mut ::std::os::raw::c_char;
2155}
2156extern "C" {
2157    pub fn strerror_r(
2158        arg1: ::std::os::raw::c_int,
2159        arg2: *mut ::std::os::raw::c_char,
2160        arg3: size_t,
2161    ) -> ::std::os::raw::c_int;
2162}
2163extern "C" {
2164    pub fn stpcpy(
2165        arg1: *mut ::std::os::raw::c_char,
2166        arg2: *const ::std::os::raw::c_char,
2167    ) -> *mut ::std::os::raw::c_char;
2168}
2169extern "C" {
2170    pub fn stpncpy(
2171        arg1: *mut ::std::os::raw::c_char,
2172        arg2: *const ::std::os::raw::c_char,
2173        arg3: ::std::os::raw::c_ulong,
2174    ) -> *mut ::std::os::raw::c_char;
2175}
2176extern "C" {
2177    pub fn strnlen(arg1: *const ::std::os::raw::c_char, arg2: size_t) -> size_t;
2178}
2179extern "C" {
2180    pub fn strdup(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
2181}
2182extern "C" {
2183    pub fn strndup(
2184        arg1: *const ::std::os::raw::c_char,
2185        arg2: ::std::os::raw::c_ulong,
2186    ) -> *mut ::std::os::raw::c_char;
2187}
2188extern "C" {
2189    pub fn strsignal(arg1: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
2190}
2191extern "C" {
2192    pub fn strerror_l(arg1: ::std::os::raw::c_int, arg2: locale_t) -> *mut ::std::os::raw::c_char;
2193}
2194extern "C" {
2195    pub fn strcoll_l(
2196        arg1: *const ::std::os::raw::c_char,
2197        arg2: *const ::std::os::raw::c_char,
2198        arg3: locale_t,
2199    ) -> ::std::os::raw::c_int;
2200}
2201extern "C" {
2202    pub fn strxfrm_l(
2203        arg1: *mut ::std::os::raw::c_char,
2204        arg2: *const ::std::os::raw::c_char,
2205        arg3: size_t,
2206        arg4: locale_t,
2207    ) -> size_t;
2208}
2209extern "C" {
2210    pub fn memmem(
2211        arg1: *const ::std::os::raw::c_void,
2212        arg2: size_t,
2213        arg3: *const ::std::os::raw::c_void,
2214        arg4: size_t,
2215    ) -> *mut ::std::os::raw::c_void;
2216}
2217extern "C" {
2218    pub fn memccpy(
2219        arg1: *mut ::std::os::raw::c_void,
2220        arg2: *const ::std::os::raw::c_void,
2221        arg3: ::std::os::raw::c_int,
2222        arg4: ::std::os::raw::c_ulong,
2223    ) -> *mut ::std::os::raw::c_void;
2224}
2225extern "C" {
2226    pub fn strsep(
2227        arg1: *mut *mut ::std::os::raw::c_char,
2228        arg2: *const ::std::os::raw::c_char,
2229    ) -> *mut ::std::os::raw::c_char;
2230}
2231extern "C" {
2232    pub fn strlcat(
2233        arg1: *mut ::std::os::raw::c_char,
2234        arg2: *const ::std::os::raw::c_char,
2235        arg3: ::std::os::raw::c_ulong,
2236    ) -> ::std::os::raw::c_ulong;
2237}
2238extern "C" {
2239    pub fn strlcpy(
2240        arg1: *mut ::std::os::raw::c_char,
2241        arg2: *const ::std::os::raw::c_char,
2242        arg3: ::std::os::raw::c_ulong,
2243    ) -> ::std::os::raw::c_ulong;
2244}
2245extern "C" {
2246    pub fn explicit_bzero(arg1: *mut ::std::os::raw::c_void, arg2: size_t);
2247}
2248#[repr(C)]
2249#[derive(Debug, Copy, Clone)]
2250pub struct _GBytes {
2251    _unused: [u8; 0],
2252}
2253pub type GBytes = _GBytes;
2254pub type GArray = _GArray;
2255pub type GByteArray = _GByteArray;
2256pub type GPtrArray = _GPtrArray;
2257#[repr(C)]
2258#[derive(Debug, Copy, Clone, PartialEq, Eq)]
2259pub struct _GArray {
2260    pub data: *mut gchar,
2261    pub len: guint,
2262}
2263#[test]
2264fn bindgen_test_layout__GArray() {
2265    const UNINIT: ::std::mem::MaybeUninit<_GArray> = ::std::mem::MaybeUninit::uninit();
2266    let ptr = UNINIT.as_ptr();
2267    assert_eq!(
2268        ::std::mem::size_of::<_GArray>(),
2269        16usize,
2270        concat!("Size of: ", stringify!(_GArray))
2271    );
2272    assert_eq!(
2273        ::std::mem::align_of::<_GArray>(),
2274        8usize,
2275        concat!("Alignment of ", stringify!(_GArray))
2276    );
2277    assert_eq!(
2278        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
2279        0usize,
2280        concat!(
2281            "Offset of field: ",
2282            stringify!(_GArray),
2283            "::",
2284            stringify!(data)
2285        )
2286    );
2287    assert_eq!(
2288        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
2289        8usize,
2290        concat!(
2291            "Offset of field: ",
2292            stringify!(_GArray),
2293            "::",
2294            stringify!(len)
2295        )
2296    );
2297}
2298#[repr(C)]
2299#[derive(Debug, Copy, Clone, PartialEq, Eq)]
2300pub struct _GByteArray {
2301    pub data: *mut guint8,
2302    pub len: guint,
2303}
2304#[test]
2305fn bindgen_test_layout__GByteArray() {
2306    const UNINIT: ::std::mem::MaybeUninit<_GByteArray> = ::std::mem::MaybeUninit::uninit();
2307    let ptr = UNINIT.as_ptr();
2308    assert_eq!(
2309        ::std::mem::size_of::<_GByteArray>(),
2310        16usize,
2311        concat!("Size of: ", stringify!(_GByteArray))
2312    );
2313    assert_eq!(
2314        ::std::mem::align_of::<_GByteArray>(),
2315        8usize,
2316        concat!("Alignment of ", stringify!(_GByteArray))
2317    );
2318    assert_eq!(
2319        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
2320        0usize,
2321        concat!(
2322            "Offset of field: ",
2323            stringify!(_GByteArray),
2324            "::",
2325            stringify!(data)
2326        )
2327    );
2328    assert_eq!(
2329        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
2330        8usize,
2331        concat!(
2332            "Offset of field: ",
2333            stringify!(_GByteArray),
2334            "::",
2335            stringify!(len)
2336        )
2337    );
2338}
2339#[repr(C)]
2340#[derive(Debug, Copy, Clone, PartialEq, Eq)]
2341pub struct _GPtrArray {
2342    pub pdata: *mut gpointer,
2343    pub len: guint,
2344}
2345#[test]
2346fn bindgen_test_layout__GPtrArray() {
2347    const UNINIT: ::std::mem::MaybeUninit<_GPtrArray> = ::std::mem::MaybeUninit::uninit();
2348    let ptr = UNINIT.as_ptr();
2349    assert_eq!(
2350        ::std::mem::size_of::<_GPtrArray>(),
2351        16usize,
2352        concat!("Size of: ", stringify!(_GPtrArray))
2353    );
2354    assert_eq!(
2355        ::std::mem::align_of::<_GPtrArray>(),
2356        8usize,
2357        concat!("Alignment of ", stringify!(_GPtrArray))
2358    );
2359    assert_eq!(
2360        unsafe { ::std::ptr::addr_of!((*ptr).pdata) as usize - ptr as usize },
2361        0usize,
2362        concat!(
2363            "Offset of field: ",
2364            stringify!(_GPtrArray),
2365            "::",
2366            stringify!(pdata)
2367        )
2368    );
2369    assert_eq!(
2370        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
2371        8usize,
2372        concat!(
2373            "Offset of field: ",
2374            stringify!(_GPtrArray),
2375            "::",
2376            stringify!(len)
2377        )
2378    );
2379}
2380extern "C" {
2381    pub fn g_array_new(
2382        zero_terminated: gboolean,
2383        clear_: gboolean,
2384        element_size: guint,
2385    ) -> *mut GArray;
2386}
2387extern "C" {
2388    pub fn g_array_new_take(
2389        data: gpointer,
2390        len: gsize,
2391        clear: gboolean,
2392        element_size: gsize,
2393    ) -> *mut GArray;
2394}
2395extern "C" {
2396    pub fn g_array_new_take_zero_terminated(
2397        data: gpointer,
2398        clear: gboolean,
2399        element_size: gsize,
2400    ) -> *mut GArray;
2401}
2402extern "C" {
2403    pub fn g_array_steal(array: *mut GArray, len: *mut gsize) -> gpointer;
2404}
2405extern "C" {
2406    pub fn g_array_sized_new(
2407        zero_terminated: gboolean,
2408        clear_: gboolean,
2409        element_size: guint,
2410        reserved_size: guint,
2411    ) -> *mut GArray;
2412}
2413extern "C" {
2414    pub fn g_array_copy(array: *mut GArray) -> *mut GArray;
2415}
2416extern "C" {
2417    pub fn g_array_free(array: *mut GArray, free_segment: gboolean) -> *mut gchar;
2418}
2419extern "C" {
2420    pub fn g_array_ref(array: *mut GArray) -> *mut GArray;
2421}
2422extern "C" {
2423    pub fn g_array_unref(array: *mut GArray);
2424}
2425extern "C" {
2426    pub fn g_array_get_element_size(array: *mut GArray) -> guint;
2427}
2428extern "C" {
2429    pub fn g_array_append_vals(array: *mut GArray, data: gconstpointer, len: guint) -> *mut GArray;
2430}
2431extern "C" {
2432    pub fn g_array_prepend_vals(array: *mut GArray, data: gconstpointer, len: guint)
2433        -> *mut GArray;
2434}
2435extern "C" {
2436    pub fn g_array_insert_vals(
2437        array: *mut GArray,
2438        index_: guint,
2439        data: gconstpointer,
2440        len: guint,
2441    ) -> *mut GArray;
2442}
2443extern "C" {
2444    pub fn g_array_set_size(array: *mut GArray, length: guint) -> *mut GArray;
2445}
2446extern "C" {
2447    pub fn g_array_remove_index(array: *mut GArray, index_: guint) -> *mut GArray;
2448}
2449extern "C" {
2450    pub fn g_array_remove_index_fast(array: *mut GArray, index_: guint) -> *mut GArray;
2451}
2452extern "C" {
2453    pub fn g_array_remove_range(array: *mut GArray, index_: guint, length: guint) -> *mut GArray;
2454}
2455extern "C" {
2456    pub fn g_array_sort(array: *mut GArray, compare_func: GCompareFunc);
2457}
2458extern "C" {
2459    pub fn g_array_sort_with_data(
2460        array: *mut GArray,
2461        compare_func: GCompareDataFunc,
2462        user_data: gpointer,
2463    );
2464}
2465extern "C" {
2466    pub fn g_array_binary_search(
2467        array: *mut GArray,
2468        target: gconstpointer,
2469        compare_func: GCompareFunc,
2470        out_match_index: *mut guint,
2471    ) -> gboolean;
2472}
2473extern "C" {
2474    pub fn g_array_set_clear_func(array: *mut GArray, clear_func: GDestroyNotify);
2475}
2476extern "C" {
2477    pub fn g_ptr_array_new() -> *mut GPtrArray;
2478}
2479extern "C" {
2480    pub fn g_ptr_array_new_with_free_func(element_free_func: GDestroyNotify) -> *mut GPtrArray;
2481}
2482extern "C" {
2483    pub fn g_ptr_array_new_take(
2484        data: *mut gpointer,
2485        len: gsize,
2486        element_free_func: GDestroyNotify,
2487    ) -> *mut GPtrArray;
2488}
2489extern "C" {
2490    pub fn g_ptr_array_new_from_array(
2491        data: *mut gpointer,
2492        len: gsize,
2493        copy_func: GCopyFunc,
2494        copy_func_user_data: gpointer,
2495        element_free_func: GDestroyNotify,
2496    ) -> *mut GPtrArray;
2497}
2498extern "C" {
2499    pub fn g_ptr_array_steal(array: *mut GPtrArray, len: *mut gsize) -> *mut gpointer;
2500}
2501extern "C" {
2502    pub fn g_ptr_array_copy(
2503        array: *mut GPtrArray,
2504        func: GCopyFunc,
2505        user_data: gpointer,
2506    ) -> *mut GPtrArray;
2507}
2508extern "C" {
2509    pub fn g_ptr_array_sized_new(reserved_size: guint) -> *mut GPtrArray;
2510}
2511extern "C" {
2512    pub fn g_ptr_array_new_full(
2513        reserved_size: guint,
2514        element_free_func: GDestroyNotify,
2515    ) -> *mut GPtrArray;
2516}
2517extern "C" {
2518    pub fn g_ptr_array_new_null_terminated(
2519        reserved_size: guint,
2520        element_free_func: GDestroyNotify,
2521        null_terminated: gboolean,
2522    ) -> *mut GPtrArray;
2523}
2524extern "C" {
2525    pub fn g_ptr_array_new_take_null_terminated(
2526        data: *mut gpointer,
2527        element_free_func: GDestroyNotify,
2528    ) -> *mut GPtrArray;
2529}
2530extern "C" {
2531    pub fn g_ptr_array_new_from_null_terminated_array(
2532        data: *mut gpointer,
2533        copy_func: GCopyFunc,
2534        copy_func_user_data: gpointer,
2535        element_free_func: GDestroyNotify,
2536    ) -> *mut GPtrArray;
2537}
2538extern "C" {
2539    pub fn g_ptr_array_free(array: *mut GPtrArray, free_seg: gboolean) -> *mut gpointer;
2540}
2541extern "C" {
2542    pub fn g_ptr_array_ref(array: *mut GPtrArray) -> *mut GPtrArray;
2543}
2544extern "C" {
2545    pub fn g_ptr_array_unref(array: *mut GPtrArray);
2546}
2547extern "C" {
2548    pub fn g_ptr_array_set_free_func(array: *mut GPtrArray, element_free_func: GDestroyNotify);
2549}
2550extern "C" {
2551    pub fn g_ptr_array_set_size(array: *mut GPtrArray, length: gint);
2552}
2553extern "C" {
2554    pub fn g_ptr_array_remove_index(array: *mut GPtrArray, index_: guint) -> gpointer;
2555}
2556extern "C" {
2557    pub fn g_ptr_array_remove_index_fast(array: *mut GPtrArray, index_: guint) -> gpointer;
2558}
2559extern "C" {
2560    pub fn g_ptr_array_steal_index(array: *mut GPtrArray, index_: guint) -> gpointer;
2561}
2562extern "C" {
2563    pub fn g_ptr_array_steal_index_fast(array: *mut GPtrArray, index_: guint) -> gpointer;
2564}
2565extern "C" {
2566    pub fn g_ptr_array_remove(array: *mut GPtrArray, data: gpointer) -> gboolean;
2567}
2568extern "C" {
2569    pub fn g_ptr_array_remove_fast(array: *mut GPtrArray, data: gpointer) -> gboolean;
2570}
2571extern "C" {
2572    pub fn g_ptr_array_remove_range(
2573        array: *mut GPtrArray,
2574        index_: guint,
2575        length: guint,
2576    ) -> *mut GPtrArray;
2577}
2578extern "C" {
2579    pub fn g_ptr_array_add(array: *mut GPtrArray, data: gpointer);
2580}
2581extern "C" {
2582    pub fn g_ptr_array_extend(
2583        array_to_extend: *mut GPtrArray,
2584        array: *mut GPtrArray,
2585        func: GCopyFunc,
2586        user_data: gpointer,
2587    );
2588}
2589extern "C" {
2590    pub fn g_ptr_array_extend_and_steal(array_to_extend: *mut GPtrArray, array: *mut GPtrArray);
2591}
2592extern "C" {
2593    pub fn g_ptr_array_insert(array: *mut GPtrArray, index_: gint, data: gpointer);
2594}
2595extern "C" {
2596    pub fn g_ptr_array_sort(array: *mut GPtrArray, compare_func: GCompareFunc);
2597}
2598extern "C" {
2599    pub fn g_ptr_array_sort_with_data(
2600        array: *mut GPtrArray,
2601        compare_func: GCompareDataFunc,
2602        user_data: gpointer,
2603    );
2604}
2605extern "C" {
2606    pub fn g_ptr_array_sort_values(array: *mut GPtrArray, compare_func: GCompareFunc);
2607}
2608extern "C" {
2609    pub fn g_ptr_array_sort_values_with_data(
2610        array: *mut GPtrArray,
2611        compare_func: GCompareDataFunc,
2612        user_data: gpointer,
2613    );
2614}
2615extern "C" {
2616    pub fn g_ptr_array_foreach(array: *mut GPtrArray, func: GFunc, user_data: gpointer);
2617}
2618extern "C" {
2619    pub fn g_ptr_array_find(
2620        haystack: *mut GPtrArray,
2621        needle: gconstpointer,
2622        index_: *mut guint,
2623    ) -> gboolean;
2624}
2625extern "C" {
2626    pub fn g_ptr_array_find_with_equal_func(
2627        haystack: *mut GPtrArray,
2628        needle: gconstpointer,
2629        equal_func: GEqualFunc,
2630        index_: *mut guint,
2631    ) -> gboolean;
2632}
2633extern "C" {
2634    pub fn g_ptr_array_is_null_terminated(array: *mut GPtrArray) -> gboolean;
2635}
2636extern "C" {
2637    pub fn g_byte_array_new() -> *mut GByteArray;
2638}
2639extern "C" {
2640    pub fn g_byte_array_new_take(data: *mut guint8, len: gsize) -> *mut GByteArray;
2641}
2642extern "C" {
2643    pub fn g_byte_array_steal(array: *mut GByteArray, len: *mut gsize) -> *mut guint8;
2644}
2645extern "C" {
2646    pub fn g_byte_array_sized_new(reserved_size: guint) -> *mut GByteArray;
2647}
2648extern "C" {
2649    pub fn g_byte_array_free(array: *mut GByteArray, free_segment: gboolean) -> *mut guint8;
2650}
2651extern "C" {
2652    pub fn g_byte_array_free_to_bytes(array: *mut GByteArray) -> *mut GBytes;
2653}
2654extern "C" {
2655    pub fn g_byte_array_ref(array: *mut GByteArray) -> *mut GByteArray;
2656}
2657extern "C" {
2658    pub fn g_byte_array_unref(array: *mut GByteArray);
2659}
2660extern "C" {
2661    pub fn g_byte_array_append(
2662        array: *mut GByteArray,
2663        data: *const guint8,
2664        len: guint,
2665    ) -> *mut GByteArray;
2666}
2667extern "C" {
2668    pub fn g_byte_array_prepend(
2669        array: *mut GByteArray,
2670        data: *const guint8,
2671        len: guint,
2672    ) -> *mut GByteArray;
2673}
2674extern "C" {
2675    pub fn g_byte_array_set_size(array: *mut GByteArray, length: guint) -> *mut GByteArray;
2676}
2677extern "C" {
2678    pub fn g_byte_array_remove_index(array: *mut GByteArray, index_: guint) -> *mut GByteArray;
2679}
2680extern "C" {
2681    pub fn g_byte_array_remove_index_fast(array: *mut GByteArray, index_: guint)
2682        -> *mut GByteArray;
2683}
2684extern "C" {
2685    pub fn g_byte_array_remove_range(
2686        array: *mut GByteArray,
2687        index_: guint,
2688        length: guint,
2689    ) -> *mut GByteArray;
2690}
2691extern "C" {
2692    pub fn g_byte_array_sort(array: *mut GByteArray, compare_func: GCompareFunc);
2693}
2694extern "C" {
2695    pub fn g_byte_array_sort_with_data(
2696        array: *mut GByteArray,
2697        compare_func: GCompareDataFunc,
2698        user_data: gpointer,
2699    );
2700}
2701extern "C" {
2702    pub fn g_atomic_int_get(atomic: *const gint) -> gint;
2703}
2704extern "C" {
2705    pub fn g_atomic_int_set(atomic: *mut gint, newval: gint);
2706}
2707extern "C" {
2708    pub fn g_atomic_int_inc(atomic: *mut gint);
2709}
2710extern "C" {
2711    pub fn g_atomic_int_dec_and_test(atomic: *mut gint) -> gboolean;
2712}
2713extern "C" {
2714    pub fn g_atomic_int_compare_and_exchange(
2715        atomic: *mut gint,
2716        oldval: gint,
2717        newval: gint,
2718    ) -> gboolean;
2719}
2720extern "C" {
2721    pub fn g_atomic_int_compare_and_exchange_full(
2722        atomic: *mut gint,
2723        oldval: gint,
2724        newval: gint,
2725        preval: *mut gint,
2726    ) -> gboolean;
2727}
2728extern "C" {
2729    pub fn g_atomic_int_exchange(atomic: *mut gint, newval: gint) -> gint;
2730}
2731extern "C" {
2732    pub fn g_atomic_int_add(atomic: *mut gint, val: gint) -> gint;
2733}
2734extern "C" {
2735    pub fn g_atomic_int_and(atomic: *mut guint, val: guint) -> guint;
2736}
2737extern "C" {
2738    pub fn g_atomic_int_or(atomic: *mut guint, val: guint) -> guint;
2739}
2740extern "C" {
2741    pub fn g_atomic_int_xor(atomic: *mut guint, val: guint) -> guint;
2742}
2743extern "C" {
2744    pub fn g_atomic_pointer_get(atomic: *const ::std::os::raw::c_void) -> gpointer;
2745}
2746extern "C" {
2747    pub fn g_atomic_pointer_set(atomic: *mut ::std::os::raw::c_void, newval: gpointer);
2748}
2749extern "C" {
2750    pub fn g_atomic_pointer_compare_and_exchange(
2751        atomic: *mut ::std::os::raw::c_void,
2752        oldval: gpointer,
2753        newval: gpointer,
2754    ) -> gboolean;
2755}
2756extern "C" {
2757    pub fn g_atomic_pointer_compare_and_exchange_full(
2758        atomic: *mut ::std::os::raw::c_void,
2759        oldval: gpointer,
2760        newval: gpointer,
2761        preval: *mut ::std::os::raw::c_void,
2762    ) -> gboolean;
2763}
2764extern "C" {
2765    pub fn g_atomic_pointer_exchange(
2766        atomic: *mut ::std::os::raw::c_void,
2767        newval: gpointer,
2768    ) -> gpointer;
2769}
2770extern "C" {
2771    pub fn g_atomic_pointer_add(atomic: *mut ::std::os::raw::c_void, val: gssize) -> gssize;
2772}
2773extern "C" {
2774    pub fn g_atomic_pointer_and(atomic: *mut ::std::os::raw::c_void, val: gsize) -> gsize;
2775}
2776extern "C" {
2777    pub fn g_atomic_pointer_or(atomic: *mut ::std::os::raw::c_void, val: gsize) -> gsize;
2778}
2779extern "C" {
2780    pub fn g_atomic_pointer_xor(atomic: *mut ::std::os::raw::c_void, val: gsize) -> gsize;
2781}
2782extern "C" {
2783    pub fn g_atomic_int_exchange_and_add(atomic: *mut gint, val: gint) -> gint;
2784}
2785pub type va_list = [u64; 4usize];
2786pub type GQuark = guint32;
2787extern "C" {
2788    pub fn g_quark_try_string(string: *const gchar) -> GQuark;
2789}
2790extern "C" {
2791    pub fn g_quark_from_static_string(string: *const gchar) -> GQuark;
2792}
2793extern "C" {
2794    pub fn g_quark_from_string(string: *const gchar) -> GQuark;
2795}
2796extern "C" {
2797    pub fn g_quark_to_string(quark: GQuark) -> *const gchar;
2798}
2799extern "C" {
2800    pub fn g_intern_string(string: *const gchar) -> *const gchar;
2801}
2802extern "C" {
2803    pub fn g_intern_static_string(string: *const gchar) -> *const gchar;
2804}
2805pub type GError = _GError;
2806#[repr(C)]
2807#[derive(Debug, Copy, Clone, PartialEq, Eq)]
2808pub struct _GError {
2809    pub domain: GQuark,
2810    pub code: gint,
2811    pub message: *mut gchar,
2812}
2813#[test]
2814fn bindgen_test_layout__GError() {
2815    const UNINIT: ::std::mem::MaybeUninit<_GError> = ::std::mem::MaybeUninit::uninit();
2816    let ptr = UNINIT.as_ptr();
2817    assert_eq!(
2818        ::std::mem::size_of::<_GError>(),
2819        16usize,
2820        concat!("Size of: ", stringify!(_GError))
2821    );
2822    assert_eq!(
2823        ::std::mem::align_of::<_GError>(),
2824        8usize,
2825        concat!("Alignment of ", stringify!(_GError))
2826    );
2827    assert_eq!(
2828        unsafe { ::std::ptr::addr_of!((*ptr).domain) as usize - ptr as usize },
2829        0usize,
2830        concat!(
2831            "Offset of field: ",
2832            stringify!(_GError),
2833            "::",
2834            stringify!(domain)
2835        )
2836    );
2837    assert_eq!(
2838        unsafe { ::std::ptr::addr_of!((*ptr).code) as usize - ptr as usize },
2839        4usize,
2840        concat!(
2841            "Offset of field: ",
2842            stringify!(_GError),
2843            "::",
2844            stringify!(code)
2845        )
2846    );
2847    assert_eq!(
2848        unsafe { ::std::ptr::addr_of!((*ptr).message) as usize - ptr as usize },
2849        8usize,
2850        concat!(
2851            "Offset of field: ",
2852            stringify!(_GError),
2853            "::",
2854            stringify!(message)
2855        )
2856    );
2857}
2858pub type GErrorInitFunc = ::std::option::Option<unsafe extern "C" fn(error: *mut GError)>;
2859pub type GErrorCopyFunc =
2860    ::std::option::Option<unsafe extern "C" fn(src_error: *const GError, dest_error: *mut GError)>;
2861pub type GErrorClearFunc = ::std::option::Option<unsafe extern "C" fn(error: *mut GError)>;
2862extern "C" {
2863    pub fn g_error_domain_register_static(
2864        error_type_name: *const ::std::os::raw::c_char,
2865        error_type_private_size: gsize,
2866        error_type_init: GErrorInitFunc,
2867        error_type_copy: GErrorCopyFunc,
2868        error_type_clear: GErrorClearFunc,
2869    ) -> GQuark;
2870}
2871extern "C" {
2872    pub fn g_error_domain_register(
2873        error_type_name: *const ::std::os::raw::c_char,
2874        error_type_private_size: gsize,
2875        error_type_init: GErrorInitFunc,
2876        error_type_copy: GErrorCopyFunc,
2877        error_type_clear: GErrorClearFunc,
2878    ) -> GQuark;
2879}
2880extern "C" {
2881    pub fn g_error_new(domain: GQuark, code: gint, format: *const gchar, ...) -> *mut GError;
2882}
2883extern "C" {
2884    pub fn g_error_new_literal(domain: GQuark, code: gint, message: *const gchar) -> *mut GError;
2885}
2886extern "C" {
2887    pub fn g_error_new_valist(
2888        domain: GQuark,
2889        code: gint,
2890        format: *const gchar,
2891        args: va_list,
2892    ) -> *mut GError;
2893}
2894extern "C" {
2895    pub fn g_error_free(error: *mut GError);
2896}
2897extern "C" {
2898    pub fn g_error_copy(error: *const GError) -> *mut GError;
2899}
2900extern "C" {
2901    pub fn g_error_matches(error: *const GError, domain: GQuark, code: gint) -> gboolean;
2902}
2903extern "C" {
2904    pub fn g_set_error(
2905        err: *mut *mut GError,
2906        domain: GQuark,
2907        code: gint,
2908        format: *const gchar,
2909        ...
2910    );
2911}
2912extern "C" {
2913    pub fn g_set_error_literal(
2914        err: *mut *mut GError,
2915        domain: GQuark,
2916        code: gint,
2917        message: *const gchar,
2918    );
2919}
2920extern "C" {
2921    pub fn g_propagate_error(dest: *mut *mut GError, src: *mut GError);
2922}
2923extern "C" {
2924    pub fn g_clear_error(err: *mut *mut GError);
2925}
2926extern "C" {
2927    pub fn g_prefix_error(err: *mut *mut GError, format: *const gchar, ...);
2928}
2929extern "C" {
2930    pub fn g_prefix_error_literal(err: *mut *mut GError, prefix: *const gchar);
2931}
2932extern "C" {
2933    pub fn g_propagate_prefixed_error(
2934        dest: *mut *mut GError,
2935        src: *mut GError,
2936        format: *const gchar,
2937        ...
2938    );
2939}
2940extern "C" {
2941    pub fn g_get_user_name() -> *const gchar;
2942}
2943extern "C" {
2944    pub fn g_get_real_name() -> *const gchar;
2945}
2946extern "C" {
2947    pub fn g_get_home_dir() -> *const gchar;
2948}
2949extern "C" {
2950    pub fn g_get_tmp_dir() -> *const gchar;
2951}
2952extern "C" {
2953    pub fn g_get_host_name() -> *const gchar;
2954}
2955extern "C" {
2956    pub fn g_get_prgname() -> *const gchar;
2957}
2958extern "C" {
2959    pub fn g_set_prgname(prgname: *const gchar);
2960}
2961extern "C" {
2962    pub fn g_get_application_name() -> *const gchar;
2963}
2964extern "C" {
2965    pub fn g_set_application_name(application_name: *const gchar);
2966}
2967extern "C" {
2968    pub fn g_get_os_info(key_name: *const gchar) -> *mut gchar;
2969}
2970extern "C" {
2971    pub fn g_reload_user_special_dirs_cache();
2972}
2973extern "C" {
2974    pub fn g_get_user_data_dir() -> *const gchar;
2975}
2976extern "C" {
2977    pub fn g_get_user_config_dir() -> *const gchar;
2978}
2979extern "C" {
2980    pub fn g_get_user_cache_dir() -> *const gchar;
2981}
2982extern "C" {
2983    pub fn g_get_user_state_dir() -> *const gchar;
2984}
2985extern "C" {
2986    pub fn g_get_system_data_dirs() -> *const *const gchar;
2987}
2988extern "C" {
2989    pub fn g_get_system_config_dirs() -> *const *const gchar;
2990}
2991extern "C" {
2992    pub fn g_get_user_runtime_dir() -> *const gchar;
2993}
2994pub const GUserDirectory_G_USER_DIRECTORY_DESKTOP: GUserDirectory = 0;
2995pub const GUserDirectory_G_USER_DIRECTORY_DOCUMENTS: GUserDirectory = 1;
2996pub const GUserDirectory_G_USER_DIRECTORY_DOWNLOAD: GUserDirectory = 2;
2997pub const GUserDirectory_G_USER_DIRECTORY_MUSIC: GUserDirectory = 3;
2998pub const GUserDirectory_G_USER_DIRECTORY_PICTURES: GUserDirectory = 4;
2999pub const GUserDirectory_G_USER_DIRECTORY_PUBLIC_SHARE: GUserDirectory = 5;
3000pub const GUserDirectory_G_USER_DIRECTORY_TEMPLATES: GUserDirectory = 6;
3001pub const GUserDirectory_G_USER_DIRECTORY_VIDEOS: GUserDirectory = 7;
3002pub const GUserDirectory_G_USER_N_DIRECTORIES: GUserDirectory = 8;
3003pub type GUserDirectory = ::std::os::raw::c_uint;
3004extern "C" {
3005    pub fn g_get_user_special_dir(directory: GUserDirectory) -> *const gchar;
3006}
3007pub type GDebugKey = _GDebugKey;
3008#[repr(C)]
3009#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3010pub struct _GDebugKey {
3011    pub key: *const gchar,
3012    pub value: guint,
3013}
3014#[test]
3015fn bindgen_test_layout__GDebugKey() {
3016    const UNINIT: ::std::mem::MaybeUninit<_GDebugKey> = ::std::mem::MaybeUninit::uninit();
3017    let ptr = UNINIT.as_ptr();
3018    assert_eq!(
3019        ::std::mem::size_of::<_GDebugKey>(),
3020        16usize,
3021        concat!("Size of: ", stringify!(_GDebugKey))
3022    );
3023    assert_eq!(
3024        ::std::mem::align_of::<_GDebugKey>(),
3025        8usize,
3026        concat!("Alignment of ", stringify!(_GDebugKey))
3027    );
3028    assert_eq!(
3029        unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
3030        0usize,
3031        concat!(
3032            "Offset of field: ",
3033            stringify!(_GDebugKey),
3034            "::",
3035            stringify!(key)
3036        )
3037    );
3038    assert_eq!(
3039        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
3040        8usize,
3041        concat!(
3042            "Offset of field: ",
3043            stringify!(_GDebugKey),
3044            "::",
3045            stringify!(value)
3046        )
3047    );
3048}
3049extern "C" {
3050    pub fn g_parse_debug_string(
3051        string: *const gchar,
3052        keys: *const GDebugKey,
3053        nkeys: guint,
3054    ) -> guint;
3055}
3056extern "C" {
3057    pub fn g_snprintf(string: *mut gchar, n: gulong, format: *const gchar, ...) -> gint;
3058}
3059extern "C" {
3060    pub fn g_vsnprintf(string: *mut gchar, n: gulong, format: *const gchar, args: va_list) -> gint;
3061}
3062extern "C" {
3063    pub fn g_nullify_pointer(nullify_location: *mut gpointer);
3064}
3065pub const GFormatSizeFlags_G_FORMAT_SIZE_DEFAULT: GFormatSizeFlags = 0;
3066pub const GFormatSizeFlags_G_FORMAT_SIZE_LONG_FORMAT: GFormatSizeFlags = 1;
3067pub const GFormatSizeFlags_G_FORMAT_SIZE_IEC_UNITS: GFormatSizeFlags = 2;
3068pub const GFormatSizeFlags_G_FORMAT_SIZE_BITS: GFormatSizeFlags = 4;
3069pub const GFormatSizeFlags_G_FORMAT_SIZE_ONLY_VALUE: GFormatSizeFlags = 8;
3070pub const GFormatSizeFlags_G_FORMAT_SIZE_ONLY_UNIT: GFormatSizeFlags = 16;
3071pub type GFormatSizeFlags = ::std::os::raw::c_uint;
3072extern "C" {
3073    pub fn g_format_size_full(size: guint64, flags: GFormatSizeFlags) -> *mut gchar;
3074}
3075extern "C" {
3076    pub fn g_format_size(size: guint64) -> *mut gchar;
3077}
3078extern "C" {
3079    pub fn g_format_size_for_display(size: goffset) -> *mut gchar;
3080}
3081pub type GVoidFunc = ::std::option::Option<unsafe extern "C" fn()>;
3082extern "C" {
3083    pub fn g_atexit(func: GVoidFunc);
3084}
3085extern "C" {
3086    pub fn g_find_program_in_path(program: *const gchar) -> *mut gchar;
3087}
3088extern "C" {
3089    pub fn g_bit_nth_lsf(mask: gulong, nth_bit: gint) -> gint;
3090}
3091extern "C" {
3092    pub fn g_bit_nth_msf(mask: gulong, nth_bit: gint) -> gint;
3093}
3094extern "C" {
3095    pub fn g_bit_storage(number: gulong) -> guint;
3096}
3097extern "C" {
3098    pub fn atoi(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3099}
3100extern "C" {
3101    pub fn atol(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
3102}
3103extern "C" {
3104    pub fn atoll(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
3105}
3106extern "C" {
3107    pub fn atof(arg1: *const ::std::os::raw::c_char) -> f64;
3108}
3109extern "C" {
3110    pub fn strtof(
3111        arg1: *const ::std::os::raw::c_char,
3112        arg2: *mut *mut ::std::os::raw::c_char,
3113    ) -> f32;
3114}
3115extern "C" {
3116    pub fn strtod(
3117        arg1: *const ::std::os::raw::c_char,
3118        arg2: *mut *mut ::std::os::raw::c_char,
3119    ) -> f64;
3120}
3121extern "C" {
3122    pub fn strtold(
3123        arg1: *const ::std::os::raw::c_char,
3124        arg2: *mut *mut ::std::os::raw::c_char,
3125    ) -> u128;
3126}
3127extern "C" {
3128    pub fn strtol(
3129        arg1: *const ::std::os::raw::c_char,
3130        arg2: *mut *mut ::std::os::raw::c_char,
3131        arg3: ::std::os::raw::c_int,
3132    ) -> ::std::os::raw::c_long;
3133}
3134extern "C" {
3135    pub fn strtoul(
3136        arg1: *const ::std::os::raw::c_char,
3137        arg2: *mut *mut ::std::os::raw::c_char,
3138        arg3: ::std::os::raw::c_int,
3139    ) -> ::std::os::raw::c_ulong;
3140}
3141extern "C" {
3142    pub fn strtoll(
3143        arg1: *const ::std::os::raw::c_char,
3144        arg2: *mut *mut ::std::os::raw::c_char,
3145        arg3: ::std::os::raw::c_int,
3146    ) -> ::std::os::raw::c_longlong;
3147}
3148extern "C" {
3149    pub fn strtoull(
3150        arg1: *const ::std::os::raw::c_char,
3151        arg2: *mut *mut ::std::os::raw::c_char,
3152        arg3: ::std::os::raw::c_int,
3153    ) -> ::std::os::raw::c_ulonglong;
3154}
3155extern "C" {
3156    pub fn rand() -> ::std::os::raw::c_int;
3157}
3158extern "C" {
3159    pub fn srand(arg1: ::std::os::raw::c_uint);
3160}
3161extern "C" {
3162    pub fn malloc(arg1: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
3163}
3164extern "C" {
3165    pub fn calloc(
3166        arg1: ::std::os::raw::c_ulong,
3167        arg2: ::std::os::raw::c_ulong,
3168    ) -> *mut ::std::os::raw::c_void;
3169}
3170extern "C" {
3171    pub fn realloc(
3172        arg1: *mut ::std::os::raw::c_void,
3173        arg2: ::std::os::raw::c_ulong,
3174    ) -> *mut ::std::os::raw::c_void;
3175}
3176extern "C" {
3177    pub fn free(arg1: *mut ::std::os::raw::c_void);
3178}
3179extern "C" {
3180    pub fn aligned_alloc(
3181        arg1: ::std::os::raw::c_ulong,
3182        arg2: ::std::os::raw::c_ulong,
3183    ) -> *mut ::std::os::raw::c_void;
3184}
3185extern "C" {
3186    pub fn abort() -> !;
3187}
3188extern "C" {
3189    pub fn atexit(arg1: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
3190}
3191extern "C" {
3192    pub fn exit(arg1: ::std::os::raw::c_int) -> !;
3193}
3194extern "C" {
3195    pub fn _Exit(arg1: ::std::os::raw::c_int) -> !;
3196}
3197extern "C" {
3198    pub fn at_quick_exit(
3199        arg1: ::std::option::Option<unsafe extern "C" fn()>,
3200    ) -> ::std::os::raw::c_int;
3201}
3202extern "C" {
3203    pub fn quick_exit(arg1: ::std::os::raw::c_int);
3204}
3205extern "C" {
3206    pub fn getenv(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3207}
3208extern "C" {
3209    pub fn system(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3210}
3211extern "C" {
3212    pub fn bsearch(
3213        arg1: *const ::std::os::raw::c_void,
3214        arg2: *const ::std::os::raw::c_void,
3215        arg3: size_t,
3216        arg4: size_t,
3217        arg5: ::std::option::Option<
3218            unsafe extern "C" fn(
3219                arg1: *const ::std::os::raw::c_void,
3220                arg2: *const ::std::os::raw::c_void,
3221            ) -> ::std::os::raw::c_int,
3222        >,
3223    ) -> *mut ::std::os::raw::c_void;
3224}
3225extern "C" {
3226    pub fn qsort(
3227        arg1: *mut ::std::os::raw::c_void,
3228        arg2: size_t,
3229        arg3: size_t,
3230        arg4: ::std::option::Option<
3231            unsafe extern "C" fn(
3232                arg1: *const ::std::os::raw::c_void,
3233                arg2: *const ::std::os::raw::c_void,
3234            ) -> ::std::os::raw::c_int,
3235        >,
3236    );
3237}
3238extern "C" {
3239    pub fn abs(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3240}
3241extern "C" {
3242    pub fn labs(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
3243}
3244extern "C" {
3245    pub fn llabs(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
3246}
3247#[repr(C)]
3248#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3249pub struct div_t {
3250    pub quot: ::std::os::raw::c_int,
3251    pub rem: ::std::os::raw::c_int,
3252}
3253#[test]
3254fn bindgen_test_layout_div_t() {
3255    const UNINIT: ::std::mem::MaybeUninit<div_t> = ::std::mem::MaybeUninit::uninit();
3256    let ptr = UNINIT.as_ptr();
3257    assert_eq!(
3258        ::std::mem::size_of::<div_t>(),
3259        8usize,
3260        concat!("Size of: ", stringify!(div_t))
3261    );
3262    assert_eq!(
3263        ::std::mem::align_of::<div_t>(),
3264        4usize,
3265        concat!("Alignment of ", stringify!(div_t))
3266    );
3267    assert_eq!(
3268        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
3269        0usize,
3270        concat!(
3271            "Offset of field: ",
3272            stringify!(div_t),
3273            "::",
3274            stringify!(quot)
3275        )
3276    );
3277    assert_eq!(
3278        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
3279        4usize,
3280        concat!(
3281            "Offset of field: ",
3282            stringify!(div_t),
3283            "::",
3284            stringify!(rem)
3285        )
3286    );
3287}
3288#[repr(C)]
3289#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3290pub struct ldiv_t {
3291    pub quot: ::std::os::raw::c_long,
3292    pub rem: ::std::os::raw::c_long,
3293}
3294#[test]
3295fn bindgen_test_layout_ldiv_t() {
3296    const UNINIT: ::std::mem::MaybeUninit<ldiv_t> = ::std::mem::MaybeUninit::uninit();
3297    let ptr = UNINIT.as_ptr();
3298    assert_eq!(
3299        ::std::mem::size_of::<ldiv_t>(),
3300        16usize,
3301        concat!("Size of: ", stringify!(ldiv_t))
3302    );
3303    assert_eq!(
3304        ::std::mem::align_of::<ldiv_t>(),
3305        8usize,
3306        concat!("Alignment of ", stringify!(ldiv_t))
3307    );
3308    assert_eq!(
3309        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
3310        0usize,
3311        concat!(
3312            "Offset of field: ",
3313            stringify!(ldiv_t),
3314            "::",
3315            stringify!(quot)
3316        )
3317    );
3318    assert_eq!(
3319        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
3320        8usize,
3321        concat!(
3322            "Offset of field: ",
3323            stringify!(ldiv_t),
3324            "::",
3325            stringify!(rem)
3326        )
3327    );
3328}
3329#[repr(C)]
3330#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3331pub struct lldiv_t {
3332    pub quot: ::std::os::raw::c_longlong,
3333    pub rem: ::std::os::raw::c_longlong,
3334}
3335#[test]
3336fn bindgen_test_layout_lldiv_t() {
3337    const UNINIT: ::std::mem::MaybeUninit<lldiv_t> = ::std::mem::MaybeUninit::uninit();
3338    let ptr = UNINIT.as_ptr();
3339    assert_eq!(
3340        ::std::mem::size_of::<lldiv_t>(),
3341        16usize,
3342        concat!("Size of: ", stringify!(lldiv_t))
3343    );
3344    assert_eq!(
3345        ::std::mem::align_of::<lldiv_t>(),
3346        8usize,
3347        concat!("Alignment of ", stringify!(lldiv_t))
3348    );
3349    assert_eq!(
3350        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
3351        0usize,
3352        concat!(
3353            "Offset of field: ",
3354            stringify!(lldiv_t),
3355            "::",
3356            stringify!(quot)
3357        )
3358    );
3359    assert_eq!(
3360        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
3361        8usize,
3362        concat!(
3363            "Offset of field: ",
3364            stringify!(lldiv_t),
3365            "::",
3366            stringify!(rem)
3367        )
3368    );
3369}
3370extern "C" {
3371    pub fn div(arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int) -> div_t;
3372}
3373extern "C" {
3374    pub fn ldiv(arg1: ::std::os::raw::c_long, arg2: ::std::os::raw::c_long) -> ldiv_t;
3375}
3376extern "C" {
3377    pub fn lldiv(arg1: ::std::os::raw::c_longlong, arg2: ::std::os::raw::c_longlong) -> lldiv_t;
3378}
3379extern "C" {
3380    pub fn mblen(arg1: *const ::std::os::raw::c_char, arg2: size_t) -> ::std::os::raw::c_int;
3381}
3382extern "C" {
3383    pub fn mbtowc(
3384        arg1: *mut wchar_t,
3385        arg2: *const ::std::os::raw::c_char,
3386        arg3: size_t,
3387    ) -> ::std::os::raw::c_int;
3388}
3389extern "C" {
3390    pub fn wctomb(arg1: *mut ::std::os::raw::c_char, arg2: wchar_t) -> ::std::os::raw::c_int;
3391}
3392extern "C" {
3393    pub fn mbstowcs(
3394        arg1: *mut wchar_t,
3395        arg2: *const ::std::os::raw::c_char,
3396        arg3: size_t,
3397    ) -> size_t;
3398}
3399extern "C" {
3400    pub fn wcstombs(
3401        arg1: *mut ::std::os::raw::c_char,
3402        arg2: *const wchar_t,
3403        arg3: size_t,
3404    ) -> size_t;
3405}
3406extern "C" {
3407    pub fn __ctype_get_mb_cur_max() -> size_t;
3408}
3409extern "C" {
3410    pub fn posix_memalign(
3411        arg1: *mut *mut ::std::os::raw::c_void,
3412        arg2: size_t,
3413        arg3: size_t,
3414    ) -> ::std::os::raw::c_int;
3415}
3416extern "C" {
3417    pub fn setenv(
3418        arg1: *const ::std::os::raw::c_char,
3419        arg2: *const ::std::os::raw::c_char,
3420        arg3: ::std::os::raw::c_int,
3421    ) -> ::std::os::raw::c_int;
3422}
3423extern "C" {
3424    pub fn unsetenv(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3425}
3426extern "C" {
3427    pub fn mkstemp(arg1: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3428}
3429extern "C" {
3430    pub fn mkostemp(
3431        arg1: *mut ::std::os::raw::c_char,
3432        arg2: ::std::os::raw::c_int,
3433    ) -> ::std::os::raw::c_int;
3434}
3435extern "C" {
3436    pub fn mkdtemp(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3437}
3438extern "C" {
3439    pub fn getsubopt(
3440        arg1: *mut *mut ::std::os::raw::c_char,
3441        arg2: *const *mut ::std::os::raw::c_char,
3442        arg3: *mut *mut ::std::os::raw::c_char,
3443    ) -> ::std::os::raw::c_int;
3444}
3445extern "C" {
3446    pub fn rand_r(arg1: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
3447}
3448extern "C" {
3449    pub fn realpath(
3450        arg1: *const ::std::os::raw::c_char,
3451        arg2: *mut ::std::os::raw::c_char,
3452    ) -> *mut ::std::os::raw::c_char;
3453}
3454extern "C" {
3455    pub fn random() -> ::std::os::raw::c_long;
3456}
3457extern "C" {
3458    pub fn srandom(arg1: ::std::os::raw::c_uint);
3459}
3460extern "C" {
3461    pub fn initstate(
3462        arg1: ::std::os::raw::c_uint,
3463        arg2: *mut ::std::os::raw::c_char,
3464        arg3: size_t,
3465    ) -> *mut ::std::os::raw::c_char;
3466}
3467extern "C" {
3468    pub fn setstate(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3469}
3470extern "C" {
3471    pub fn putenv(arg1: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3472}
3473extern "C" {
3474    pub fn posix_openpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3475}
3476extern "C" {
3477    pub fn grantpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3478}
3479extern "C" {
3480    pub fn unlockpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3481}
3482extern "C" {
3483    pub fn ptsname(arg1: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
3484}
3485extern "C" {
3486    pub fn l64a(arg1: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char;
3487}
3488extern "C" {
3489    pub fn a64l(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
3490}
3491extern "C" {
3492    pub fn setkey(arg1: *const ::std::os::raw::c_char);
3493}
3494extern "C" {
3495    pub fn drand48() -> f64;
3496}
3497extern "C" {
3498    pub fn erand48(arg1: *mut ::std::os::raw::c_ushort) -> f64;
3499}
3500extern "C" {
3501    pub fn lrand48() -> ::std::os::raw::c_long;
3502}
3503extern "C" {
3504    pub fn nrand48(arg1: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
3505}
3506extern "C" {
3507    pub fn mrand48() -> ::std::os::raw::c_long;
3508}
3509extern "C" {
3510    pub fn jrand48(arg1: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
3511}
3512extern "C" {
3513    pub fn srand48(arg1: ::std::os::raw::c_long);
3514}
3515extern "C" {
3516    pub fn seed48(arg1: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
3517}
3518extern "C" {
3519    pub fn lcong48(arg1: *mut ::std::os::raw::c_ushort);
3520}
3521extern "C" {
3522    pub fn __builtin_alloca(arg1: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
3523}
3524extern "C" {
3525    pub fn mktemp(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3526}
3527extern "C" {
3528    pub fn mkstemps(
3529        arg1: *mut ::std::os::raw::c_char,
3530        arg2: ::std::os::raw::c_int,
3531    ) -> ::std::os::raw::c_int;
3532}
3533extern "C" {
3534    pub fn mkostemps(
3535        arg1: *mut ::std::os::raw::c_char,
3536        arg2: ::std::os::raw::c_int,
3537        arg3: ::std::os::raw::c_int,
3538    ) -> ::std::os::raw::c_int;
3539}
3540extern "C" {
3541    pub fn valloc(arg1: size_t) -> *mut ::std::os::raw::c_void;
3542}
3543extern "C" {
3544    pub fn memalign(
3545        arg1: ::std::os::raw::c_ulong,
3546        arg2: ::std::os::raw::c_ulong,
3547    ) -> *mut ::std::os::raw::c_void;
3548}
3549extern "C" {
3550    pub fn getloadavg(arg1: *mut f64, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3551}
3552extern "C" {
3553    pub fn clearenv() -> ::std::os::raw::c_int;
3554}
3555extern "C" {
3556    pub fn reallocarray(
3557        arg1: *mut ::std::os::raw::c_void,
3558        arg2: size_t,
3559        arg3: size_t,
3560    ) -> *mut ::std::os::raw::c_void;
3561}
3562extern "C" {
3563    pub fn qsort_r(
3564        arg1: *mut ::std::os::raw::c_void,
3565        arg2: size_t,
3566        arg3: size_t,
3567        arg4: ::std::option::Option<
3568            unsafe extern "C" fn(
3569                arg1: *const ::std::os::raw::c_void,
3570                arg2: *const ::std::os::raw::c_void,
3571                arg3: *mut ::std::os::raw::c_void,
3572            ) -> ::std::os::raw::c_int,
3573        >,
3574        arg5: *mut ::std::os::raw::c_void,
3575    );
3576}
3577extern "C" {
3578    pub fn g_thread_error_quark() -> GQuark;
3579}
3580pub const GThreadError_G_THREAD_ERROR_AGAIN: GThreadError = 0;
3581pub type GThreadError = ::std::os::raw::c_uint;
3582pub type GThreadFunc = ::std::option::Option<unsafe extern "C" fn(data: gpointer) -> gpointer>;
3583pub type GThread = _GThread;
3584pub type GMutex = _GMutex;
3585pub type GRecMutex = _GRecMutex;
3586pub type GRWLock = _GRWLock;
3587pub type GCond = _GCond;
3588pub type GPrivate = _GPrivate;
3589pub type GOnce = _GOnce;
3590#[repr(C)]
3591#[derive(Copy, Clone)]
3592pub union _GMutex {
3593    pub p: gpointer,
3594    pub i: [guint; 2usize],
3595}
3596#[test]
3597fn bindgen_test_layout__GMutex() {
3598    const UNINIT: ::std::mem::MaybeUninit<_GMutex> = ::std::mem::MaybeUninit::uninit();
3599    let ptr = UNINIT.as_ptr();
3600    assert_eq!(
3601        ::std::mem::size_of::<_GMutex>(),
3602        8usize,
3603        concat!("Size of: ", stringify!(_GMutex))
3604    );
3605    assert_eq!(
3606        ::std::mem::align_of::<_GMutex>(),
3607        8usize,
3608        concat!("Alignment of ", stringify!(_GMutex))
3609    );
3610    assert_eq!(
3611        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
3612        0usize,
3613        concat!(
3614            "Offset of field: ",
3615            stringify!(_GMutex),
3616            "::",
3617            stringify!(p)
3618        )
3619    );
3620    assert_eq!(
3621        unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize },
3622        0usize,
3623        concat!(
3624            "Offset of field: ",
3625            stringify!(_GMutex),
3626            "::",
3627            stringify!(i)
3628        )
3629    );
3630}
3631impl ::std::fmt::Debug for _GMutex {
3632    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3633        write!(f, "_GMutex {{ union }}")
3634    }
3635}
3636#[repr(C)]
3637#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3638pub struct _GRWLock {
3639    pub p: gpointer,
3640    pub i: [guint; 2usize],
3641}
3642#[test]
3643fn bindgen_test_layout__GRWLock() {
3644    const UNINIT: ::std::mem::MaybeUninit<_GRWLock> = ::std::mem::MaybeUninit::uninit();
3645    let ptr = UNINIT.as_ptr();
3646    assert_eq!(
3647        ::std::mem::size_of::<_GRWLock>(),
3648        16usize,
3649        concat!("Size of: ", stringify!(_GRWLock))
3650    );
3651    assert_eq!(
3652        ::std::mem::align_of::<_GRWLock>(),
3653        8usize,
3654        concat!("Alignment of ", stringify!(_GRWLock))
3655    );
3656    assert_eq!(
3657        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
3658        0usize,
3659        concat!(
3660            "Offset of field: ",
3661            stringify!(_GRWLock),
3662            "::",
3663            stringify!(p)
3664        )
3665    );
3666    assert_eq!(
3667        unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize },
3668        8usize,
3669        concat!(
3670            "Offset of field: ",
3671            stringify!(_GRWLock),
3672            "::",
3673            stringify!(i)
3674        )
3675    );
3676}
3677#[repr(C)]
3678#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3679pub struct _GCond {
3680    pub p: gpointer,
3681    pub i: [guint; 2usize],
3682}
3683#[test]
3684fn bindgen_test_layout__GCond() {
3685    const UNINIT: ::std::mem::MaybeUninit<_GCond> = ::std::mem::MaybeUninit::uninit();
3686    let ptr = UNINIT.as_ptr();
3687    assert_eq!(
3688        ::std::mem::size_of::<_GCond>(),
3689        16usize,
3690        concat!("Size of: ", stringify!(_GCond))
3691    );
3692    assert_eq!(
3693        ::std::mem::align_of::<_GCond>(),
3694        8usize,
3695        concat!("Alignment of ", stringify!(_GCond))
3696    );
3697    assert_eq!(
3698        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
3699        0usize,
3700        concat!("Offset of field: ", stringify!(_GCond), "::", stringify!(p))
3701    );
3702    assert_eq!(
3703        unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize },
3704        8usize,
3705        concat!("Offset of field: ", stringify!(_GCond), "::", stringify!(i))
3706    );
3707}
3708#[repr(C)]
3709#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3710pub struct _GRecMutex {
3711    pub p: gpointer,
3712    pub i: [guint; 2usize],
3713}
3714#[test]
3715fn bindgen_test_layout__GRecMutex() {
3716    const UNINIT: ::std::mem::MaybeUninit<_GRecMutex> = ::std::mem::MaybeUninit::uninit();
3717    let ptr = UNINIT.as_ptr();
3718    assert_eq!(
3719        ::std::mem::size_of::<_GRecMutex>(),
3720        16usize,
3721        concat!("Size of: ", stringify!(_GRecMutex))
3722    );
3723    assert_eq!(
3724        ::std::mem::align_of::<_GRecMutex>(),
3725        8usize,
3726        concat!("Alignment of ", stringify!(_GRecMutex))
3727    );
3728    assert_eq!(
3729        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
3730        0usize,
3731        concat!(
3732            "Offset of field: ",
3733            stringify!(_GRecMutex),
3734            "::",
3735            stringify!(p)
3736        )
3737    );
3738    assert_eq!(
3739        unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize },
3740        8usize,
3741        concat!(
3742            "Offset of field: ",
3743            stringify!(_GRecMutex),
3744            "::",
3745            stringify!(i)
3746        )
3747    );
3748}
3749#[repr(C)]
3750#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3751pub struct _GPrivate {
3752    pub p: gpointer,
3753    pub notify: GDestroyNotify,
3754    pub future: [gpointer; 2usize],
3755}
3756#[test]
3757fn bindgen_test_layout__GPrivate() {
3758    const UNINIT: ::std::mem::MaybeUninit<_GPrivate> = ::std::mem::MaybeUninit::uninit();
3759    let ptr = UNINIT.as_ptr();
3760    assert_eq!(
3761        ::std::mem::size_of::<_GPrivate>(),
3762        32usize,
3763        concat!("Size of: ", stringify!(_GPrivate))
3764    );
3765    assert_eq!(
3766        ::std::mem::align_of::<_GPrivate>(),
3767        8usize,
3768        concat!("Alignment of ", stringify!(_GPrivate))
3769    );
3770    assert_eq!(
3771        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
3772        0usize,
3773        concat!(
3774            "Offset of field: ",
3775            stringify!(_GPrivate),
3776            "::",
3777            stringify!(p)
3778        )
3779    );
3780    assert_eq!(
3781        unsafe { ::std::ptr::addr_of!((*ptr).notify) as usize - ptr as usize },
3782        8usize,
3783        concat!(
3784            "Offset of field: ",
3785            stringify!(_GPrivate),
3786            "::",
3787            stringify!(notify)
3788        )
3789    );
3790    assert_eq!(
3791        unsafe { ::std::ptr::addr_of!((*ptr).future) as usize - ptr as usize },
3792        16usize,
3793        concat!(
3794            "Offset of field: ",
3795            stringify!(_GPrivate),
3796            "::",
3797            stringify!(future)
3798        )
3799    );
3800}
3801pub const GOnceStatus_G_ONCE_STATUS_NOTCALLED: GOnceStatus = 0;
3802pub const GOnceStatus_G_ONCE_STATUS_PROGRESS: GOnceStatus = 1;
3803pub const GOnceStatus_G_ONCE_STATUS_READY: GOnceStatus = 2;
3804pub type GOnceStatus = ::std::os::raw::c_uint;
3805#[repr(C)]
3806#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3807pub struct _GOnce {
3808    pub status: GOnceStatus,
3809    pub retval: gpointer,
3810}
3811#[test]
3812fn bindgen_test_layout__GOnce() {
3813    const UNINIT: ::std::mem::MaybeUninit<_GOnce> = ::std::mem::MaybeUninit::uninit();
3814    let ptr = UNINIT.as_ptr();
3815    assert_eq!(
3816        ::std::mem::size_of::<_GOnce>(),
3817        16usize,
3818        concat!("Size of: ", stringify!(_GOnce))
3819    );
3820    assert_eq!(
3821        ::std::mem::align_of::<_GOnce>(),
3822        8usize,
3823        concat!("Alignment of ", stringify!(_GOnce))
3824    );
3825    assert_eq!(
3826        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
3827        0usize,
3828        concat!(
3829            "Offset of field: ",
3830            stringify!(_GOnce),
3831            "::",
3832            stringify!(status)
3833        )
3834    );
3835    assert_eq!(
3836        unsafe { ::std::ptr::addr_of!((*ptr).retval) as usize - ptr as usize },
3837        8usize,
3838        concat!(
3839            "Offset of field: ",
3840            stringify!(_GOnce),
3841            "::",
3842            stringify!(retval)
3843        )
3844    );
3845}
3846extern "C" {
3847    pub fn g_thread_ref(thread: *mut GThread) -> *mut GThread;
3848}
3849extern "C" {
3850    pub fn g_thread_unref(thread: *mut GThread);
3851}
3852extern "C" {
3853    pub fn g_thread_new(name: *const gchar, func: GThreadFunc, data: gpointer) -> *mut GThread;
3854}
3855extern "C" {
3856    pub fn g_thread_try_new(
3857        name: *const gchar,
3858        func: GThreadFunc,
3859        data: gpointer,
3860        error: *mut *mut GError,
3861    ) -> *mut GThread;
3862}
3863extern "C" {
3864    pub fn g_thread_self() -> *mut GThread;
3865}
3866extern "C" {
3867    pub fn g_thread_exit(retval: gpointer) -> !;
3868}
3869extern "C" {
3870    pub fn g_thread_join(thread: *mut GThread) -> gpointer;
3871}
3872extern "C" {
3873    pub fn g_thread_yield();
3874}
3875extern "C" {
3876    pub fn g_mutex_init(mutex: *mut GMutex);
3877}
3878extern "C" {
3879    pub fn g_mutex_clear(mutex: *mut GMutex);
3880}
3881extern "C" {
3882    pub fn g_mutex_lock(mutex: *mut GMutex);
3883}
3884extern "C" {
3885    pub fn g_mutex_trylock(mutex: *mut GMutex) -> gboolean;
3886}
3887extern "C" {
3888    pub fn g_mutex_unlock(mutex: *mut GMutex);
3889}
3890extern "C" {
3891    pub fn g_rw_lock_init(rw_lock: *mut GRWLock);
3892}
3893extern "C" {
3894    pub fn g_rw_lock_clear(rw_lock: *mut GRWLock);
3895}
3896extern "C" {
3897    pub fn g_rw_lock_writer_lock(rw_lock: *mut GRWLock);
3898}
3899extern "C" {
3900    pub fn g_rw_lock_writer_trylock(rw_lock: *mut GRWLock) -> gboolean;
3901}
3902extern "C" {
3903    pub fn g_rw_lock_writer_unlock(rw_lock: *mut GRWLock);
3904}
3905extern "C" {
3906    pub fn g_rw_lock_reader_lock(rw_lock: *mut GRWLock);
3907}
3908extern "C" {
3909    pub fn g_rw_lock_reader_trylock(rw_lock: *mut GRWLock) -> gboolean;
3910}
3911extern "C" {
3912    pub fn g_rw_lock_reader_unlock(rw_lock: *mut GRWLock);
3913}
3914extern "C" {
3915    pub fn g_rec_mutex_init(rec_mutex: *mut GRecMutex);
3916}
3917extern "C" {
3918    pub fn g_rec_mutex_clear(rec_mutex: *mut GRecMutex);
3919}
3920extern "C" {
3921    pub fn g_rec_mutex_lock(rec_mutex: *mut GRecMutex);
3922}
3923extern "C" {
3924    pub fn g_rec_mutex_trylock(rec_mutex: *mut GRecMutex) -> gboolean;
3925}
3926extern "C" {
3927    pub fn g_rec_mutex_unlock(rec_mutex: *mut GRecMutex);
3928}
3929extern "C" {
3930    pub fn g_cond_init(cond: *mut GCond);
3931}
3932extern "C" {
3933    pub fn g_cond_clear(cond: *mut GCond);
3934}
3935extern "C" {
3936    pub fn g_cond_wait(cond: *mut GCond, mutex: *mut GMutex);
3937}
3938extern "C" {
3939    pub fn g_cond_signal(cond: *mut GCond);
3940}
3941extern "C" {
3942    pub fn g_cond_broadcast(cond: *mut GCond);
3943}
3944extern "C" {
3945    pub fn g_cond_wait_until(cond: *mut GCond, mutex: *mut GMutex, end_time: gint64) -> gboolean;
3946}
3947extern "C" {
3948    pub fn g_private_get(key: *mut GPrivate) -> gpointer;
3949}
3950extern "C" {
3951    pub fn g_private_set(key: *mut GPrivate, value: gpointer);
3952}
3953extern "C" {
3954    pub fn g_private_replace(key: *mut GPrivate, value: gpointer);
3955}
3956extern "C" {
3957    pub fn g_once_impl(once: *mut GOnce, func: GThreadFunc, arg: gpointer) -> gpointer;
3958}
3959extern "C" {
3960    pub fn g_once_init_enter(location: *mut ::std::os::raw::c_void) -> gboolean;
3961}
3962extern "C" {
3963    pub fn g_once_init_leave(location: *mut ::std::os::raw::c_void, result: gsize);
3964}
3965extern "C" {
3966    pub fn g_get_num_processors() -> guint;
3967}
3968pub type GMutexLocker = ::std::os::raw::c_void;
3969pub type GRecMutexLocker = ::std::os::raw::c_void;
3970pub type GRWLockWriterLocker = ::std::os::raw::c_void;
3971pub type GRWLockReaderLocker = ::std::os::raw::c_void;
3972#[repr(C)]
3973#[derive(Debug, Copy, Clone)]
3974pub struct _GAsyncQueue {
3975    _unused: [u8; 0],
3976}
3977pub type GAsyncQueue = _GAsyncQueue;
3978extern "C" {
3979    pub fn g_async_queue_new() -> *mut GAsyncQueue;
3980}
3981extern "C" {
3982    pub fn g_async_queue_new_full(item_free_func: GDestroyNotify) -> *mut GAsyncQueue;
3983}
3984extern "C" {
3985    pub fn g_async_queue_lock(queue: *mut GAsyncQueue);
3986}
3987extern "C" {
3988    pub fn g_async_queue_unlock(queue: *mut GAsyncQueue);
3989}
3990extern "C" {
3991    pub fn g_async_queue_ref(queue: *mut GAsyncQueue) -> *mut GAsyncQueue;
3992}
3993extern "C" {
3994    pub fn g_async_queue_unref(queue: *mut GAsyncQueue);
3995}
3996extern "C" {
3997    pub fn g_async_queue_ref_unlocked(queue: *mut GAsyncQueue);
3998}
3999extern "C" {
4000    pub fn g_async_queue_unref_and_unlock(queue: *mut GAsyncQueue);
4001}
4002extern "C" {
4003    pub fn g_async_queue_push(queue: *mut GAsyncQueue, data: gpointer);
4004}
4005extern "C" {
4006    pub fn g_async_queue_push_unlocked(queue: *mut GAsyncQueue, data: gpointer);
4007}
4008extern "C" {
4009    pub fn g_async_queue_push_sorted(
4010        queue: *mut GAsyncQueue,
4011        data: gpointer,
4012        func: GCompareDataFunc,
4013        user_data: gpointer,
4014    );
4015}
4016extern "C" {
4017    pub fn g_async_queue_push_sorted_unlocked(
4018        queue: *mut GAsyncQueue,
4019        data: gpointer,
4020        func: GCompareDataFunc,
4021        user_data: gpointer,
4022    );
4023}
4024extern "C" {
4025    pub fn g_async_queue_pop(queue: *mut GAsyncQueue) -> gpointer;
4026}
4027extern "C" {
4028    pub fn g_async_queue_pop_unlocked(queue: *mut GAsyncQueue) -> gpointer;
4029}
4030extern "C" {
4031    pub fn g_async_queue_try_pop(queue: *mut GAsyncQueue) -> gpointer;
4032}
4033extern "C" {
4034    pub fn g_async_queue_try_pop_unlocked(queue: *mut GAsyncQueue) -> gpointer;
4035}
4036extern "C" {
4037    pub fn g_async_queue_timeout_pop(queue: *mut GAsyncQueue, timeout: guint64) -> gpointer;
4038}
4039extern "C" {
4040    pub fn g_async_queue_timeout_pop_unlocked(
4041        queue: *mut GAsyncQueue,
4042        timeout: guint64,
4043    ) -> gpointer;
4044}
4045extern "C" {
4046    pub fn g_async_queue_length(queue: *mut GAsyncQueue) -> gint;
4047}
4048extern "C" {
4049    pub fn g_async_queue_length_unlocked(queue: *mut GAsyncQueue) -> gint;
4050}
4051extern "C" {
4052    pub fn g_async_queue_sort(queue: *mut GAsyncQueue, func: GCompareDataFunc, user_data: gpointer);
4053}
4054extern "C" {
4055    pub fn g_async_queue_sort_unlocked(
4056        queue: *mut GAsyncQueue,
4057        func: GCompareDataFunc,
4058        user_data: gpointer,
4059    );
4060}
4061extern "C" {
4062    pub fn g_async_queue_remove(queue: *mut GAsyncQueue, item: gpointer) -> gboolean;
4063}
4064extern "C" {
4065    pub fn g_async_queue_remove_unlocked(queue: *mut GAsyncQueue, item: gpointer) -> gboolean;
4066}
4067extern "C" {
4068    pub fn g_async_queue_push_front(queue: *mut GAsyncQueue, item: gpointer);
4069}
4070extern "C" {
4071    pub fn g_async_queue_push_front_unlocked(queue: *mut GAsyncQueue, item: gpointer);
4072}
4073extern "C" {
4074    pub fn g_async_queue_timed_pop(queue: *mut GAsyncQueue, end_time: *mut GTimeVal) -> gpointer;
4075}
4076extern "C" {
4077    pub fn g_async_queue_timed_pop_unlocked(
4078        queue: *mut GAsyncQueue,
4079        end_time: *mut GTimeVal,
4080    ) -> gpointer;
4081}
4082pub type uid_t = ::std::os::raw::c_uint;
4083#[repr(C)]
4084#[derive(Debug, Copy, Clone)]
4085pub struct __pthread {
4086    _unused: [u8; 0],
4087}
4088pub type pthread_t = *mut __pthread;
4089#[repr(C)]
4090#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4091pub struct __sigset_t {
4092    pub __bits: [::std::os::raw::c_ulong; 16usize],
4093}
4094#[test]
4095fn bindgen_test_layout___sigset_t() {
4096    const UNINIT: ::std::mem::MaybeUninit<__sigset_t> = ::std::mem::MaybeUninit::uninit();
4097    let ptr = UNINIT.as_ptr();
4098    assert_eq!(
4099        ::std::mem::size_of::<__sigset_t>(),
4100        128usize,
4101        concat!("Size of: ", stringify!(__sigset_t))
4102    );
4103    assert_eq!(
4104        ::std::mem::align_of::<__sigset_t>(),
4105        8usize,
4106        concat!("Alignment of ", stringify!(__sigset_t))
4107    );
4108    assert_eq!(
4109        unsafe { ::std::ptr::addr_of!((*ptr).__bits) as usize - ptr as usize },
4110        0usize,
4111        concat!(
4112            "Offset of field: ",
4113            stringify!(__sigset_t),
4114            "::",
4115            stringify!(__bits)
4116        )
4117    );
4118}
4119pub type sigset_t = __sigset_t;
4120#[repr(C)]
4121#[derive(Copy, Clone)]
4122pub struct pthread_attr_t {
4123    pub __u: pthread_attr_t__bindgen_ty_1,
4124}
4125#[repr(C)]
4126#[derive(Copy, Clone)]
4127pub union pthread_attr_t__bindgen_ty_1 {
4128    pub __i: [::std::os::raw::c_int; 14usize],
4129    pub __vi: [::std::os::raw::c_int; 14usize],
4130    pub __s: [::std::os::raw::c_ulong; 7usize],
4131}
4132#[test]
4133fn bindgen_test_layout_pthread_attr_t__bindgen_ty_1() {
4134    const UNINIT: ::std::mem::MaybeUninit<pthread_attr_t__bindgen_ty_1> =
4135        ::std::mem::MaybeUninit::uninit();
4136    let ptr = UNINIT.as_ptr();
4137    assert_eq!(
4138        ::std::mem::size_of::<pthread_attr_t__bindgen_ty_1>(),
4139        56usize,
4140        concat!("Size of: ", stringify!(pthread_attr_t__bindgen_ty_1))
4141    );
4142    assert_eq!(
4143        ::std::mem::align_of::<pthread_attr_t__bindgen_ty_1>(),
4144        8usize,
4145        concat!("Alignment of ", stringify!(pthread_attr_t__bindgen_ty_1))
4146    );
4147    assert_eq!(
4148        unsafe { ::std::ptr::addr_of!((*ptr).__i) as usize - ptr as usize },
4149        0usize,
4150        concat!(
4151            "Offset of field: ",
4152            stringify!(pthread_attr_t__bindgen_ty_1),
4153            "::",
4154            stringify!(__i)
4155        )
4156    );
4157    assert_eq!(
4158        unsafe { ::std::ptr::addr_of!((*ptr).__vi) as usize - ptr as usize },
4159        0usize,
4160        concat!(
4161            "Offset of field: ",
4162            stringify!(pthread_attr_t__bindgen_ty_1),
4163            "::",
4164            stringify!(__vi)
4165        )
4166    );
4167    assert_eq!(
4168        unsafe { ::std::ptr::addr_of!((*ptr).__s) as usize - ptr as usize },
4169        0usize,
4170        concat!(
4171            "Offset of field: ",
4172            stringify!(pthread_attr_t__bindgen_ty_1),
4173            "::",
4174            stringify!(__s)
4175        )
4176    );
4177}
4178impl ::std::fmt::Debug for pthread_attr_t__bindgen_ty_1 {
4179    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4180        write!(f, "pthread_attr_t__bindgen_ty_1 {{ union }}")
4181    }
4182}
4183#[test]
4184fn bindgen_test_layout_pthread_attr_t() {
4185    const UNINIT: ::std::mem::MaybeUninit<pthread_attr_t> = ::std::mem::MaybeUninit::uninit();
4186    let ptr = UNINIT.as_ptr();
4187    assert_eq!(
4188        ::std::mem::size_of::<pthread_attr_t>(),
4189        56usize,
4190        concat!("Size of: ", stringify!(pthread_attr_t))
4191    );
4192    assert_eq!(
4193        ::std::mem::align_of::<pthread_attr_t>(),
4194        8usize,
4195        concat!("Alignment of ", stringify!(pthread_attr_t))
4196    );
4197    assert_eq!(
4198        unsafe { ::std::ptr::addr_of!((*ptr).__u) as usize - ptr as usize },
4199        0usize,
4200        concat!(
4201            "Offset of field: ",
4202            stringify!(pthread_attr_t),
4203            "::",
4204            stringify!(__u)
4205        )
4206    );
4207}
4208impl ::std::fmt::Debug for pthread_attr_t {
4209    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4210        write!(f, "pthread_attr_t {{ __u: {:?} }}", self.__u)
4211    }
4212}
4213pub type stack_t = sigaltstack;
4214pub type greg_t = ::std::os::raw::c_ulong;
4215pub type gregset_t = [::std::os::raw::c_ulong; 34usize];
4216#[repr(C)]
4217#[repr(align(16))]
4218#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4219pub struct fpregset_t {
4220    pub vregs: [__uint128_t; 32usize],
4221    pub fpsr: ::std::os::raw::c_uint,
4222    pub fpcr: ::std::os::raw::c_uint,
4223}
4224#[test]
4225fn bindgen_test_layout_fpregset_t() {
4226    const UNINIT: ::std::mem::MaybeUninit<fpregset_t> = ::std::mem::MaybeUninit::uninit();
4227    let ptr = UNINIT.as_ptr();
4228    assert_eq!(
4229        ::std::mem::size_of::<fpregset_t>(),
4230        528usize,
4231        concat!("Size of: ", stringify!(fpregset_t))
4232    );
4233    assert_eq!(
4234        ::std::mem::align_of::<fpregset_t>(),
4235        16usize,
4236        concat!("Alignment of ", stringify!(fpregset_t))
4237    );
4238    assert_eq!(
4239        unsafe { ::std::ptr::addr_of!((*ptr).vregs) as usize - ptr as usize },
4240        0usize,
4241        concat!(
4242            "Offset of field: ",
4243            stringify!(fpregset_t),
4244            "::",
4245            stringify!(vregs)
4246        )
4247    );
4248    assert_eq!(
4249        unsafe { ::std::ptr::addr_of!((*ptr).fpsr) as usize - ptr as usize },
4250        512usize,
4251        concat!(
4252            "Offset of field: ",
4253            stringify!(fpregset_t),
4254            "::",
4255            stringify!(fpsr)
4256        )
4257    );
4258    assert_eq!(
4259        unsafe { ::std::ptr::addr_of!((*ptr).fpcr) as usize - ptr as usize },
4260        516usize,
4261        concat!(
4262            "Offset of field: ",
4263            stringify!(fpregset_t),
4264            "::",
4265            stringify!(fpcr)
4266        )
4267    );
4268}
4269#[repr(C)]
4270#[repr(align(16))]
4271#[derive(Debug, Copy, Clone, PartialEq)]
4272pub struct sigcontext {
4273    pub fault_address: ::std::os::raw::c_ulong,
4274    pub regs: [::std::os::raw::c_ulong; 31usize],
4275    pub sp: ::std::os::raw::c_ulong,
4276    pub pc: ::std::os::raw::c_ulong,
4277    pub pstate: ::std::os::raw::c_ulong,
4278    pub __bindgen_padding_0: u64,
4279    pub __reserved: [u128; 256usize],
4280}
4281#[test]
4282fn bindgen_test_layout_sigcontext() {
4283    const UNINIT: ::std::mem::MaybeUninit<sigcontext> = ::std::mem::MaybeUninit::uninit();
4284    let ptr = UNINIT.as_ptr();
4285    assert_eq!(
4286        ::std::mem::size_of::<sigcontext>(),
4287        4384usize,
4288        concat!("Size of: ", stringify!(sigcontext))
4289    );
4290    assert_eq!(
4291        ::std::mem::align_of::<sigcontext>(),
4292        16usize,
4293        concat!("Alignment of ", stringify!(sigcontext))
4294    );
4295    assert_eq!(
4296        unsafe { ::std::ptr::addr_of!((*ptr).fault_address) as usize - ptr as usize },
4297        0usize,
4298        concat!(
4299            "Offset of field: ",
4300            stringify!(sigcontext),
4301            "::",
4302            stringify!(fault_address)
4303        )
4304    );
4305    assert_eq!(
4306        unsafe { ::std::ptr::addr_of!((*ptr).regs) as usize - ptr as usize },
4307        8usize,
4308        concat!(
4309            "Offset of field: ",
4310            stringify!(sigcontext),
4311            "::",
4312            stringify!(regs)
4313        )
4314    );
4315    assert_eq!(
4316        unsafe { ::std::ptr::addr_of!((*ptr).sp) as usize - ptr as usize },
4317        256usize,
4318        concat!(
4319            "Offset of field: ",
4320            stringify!(sigcontext),
4321            "::",
4322            stringify!(sp)
4323        )
4324    );
4325    assert_eq!(
4326        unsafe { ::std::ptr::addr_of!((*ptr).pc) as usize - ptr as usize },
4327        264usize,
4328        concat!(
4329            "Offset of field: ",
4330            stringify!(sigcontext),
4331            "::",
4332            stringify!(pc)
4333        )
4334    );
4335    assert_eq!(
4336        unsafe { ::std::ptr::addr_of!((*ptr).pstate) as usize - ptr as usize },
4337        272usize,
4338        concat!(
4339            "Offset of field: ",
4340            stringify!(sigcontext),
4341            "::",
4342            stringify!(pstate)
4343        )
4344    );
4345    assert_eq!(
4346        unsafe { ::std::ptr::addr_of!((*ptr).__reserved) as usize - ptr as usize },
4347        288usize,
4348        concat!(
4349            "Offset of field: ",
4350            stringify!(sigcontext),
4351            "::",
4352            stringify!(__reserved)
4353        )
4354    );
4355}
4356pub type mcontext_t = sigcontext;
4357#[repr(C)]
4358#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4359pub struct _aarch64_ctx {
4360    pub magic: ::std::os::raw::c_uint,
4361    pub size: ::std::os::raw::c_uint,
4362}
4363#[test]
4364fn bindgen_test_layout__aarch64_ctx() {
4365    const UNINIT: ::std::mem::MaybeUninit<_aarch64_ctx> = ::std::mem::MaybeUninit::uninit();
4366    let ptr = UNINIT.as_ptr();
4367    assert_eq!(
4368        ::std::mem::size_of::<_aarch64_ctx>(),
4369        8usize,
4370        concat!("Size of: ", stringify!(_aarch64_ctx))
4371    );
4372    assert_eq!(
4373        ::std::mem::align_of::<_aarch64_ctx>(),
4374        4usize,
4375        concat!("Alignment of ", stringify!(_aarch64_ctx))
4376    );
4377    assert_eq!(
4378        unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize },
4379        0usize,
4380        concat!(
4381            "Offset of field: ",
4382            stringify!(_aarch64_ctx),
4383            "::",
4384            stringify!(magic)
4385        )
4386    );
4387    assert_eq!(
4388        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
4389        4usize,
4390        concat!(
4391            "Offset of field: ",
4392            stringify!(_aarch64_ctx),
4393            "::",
4394            stringify!(size)
4395        )
4396    );
4397}
4398#[repr(C)]
4399#[repr(align(16))]
4400#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4401pub struct fpsimd_context {
4402    pub head: _aarch64_ctx,
4403    pub fpsr: ::std::os::raw::c_uint,
4404    pub fpcr: ::std::os::raw::c_uint,
4405    pub vregs: [__uint128_t; 32usize],
4406}
4407#[test]
4408fn bindgen_test_layout_fpsimd_context() {
4409    const UNINIT: ::std::mem::MaybeUninit<fpsimd_context> = ::std::mem::MaybeUninit::uninit();
4410    let ptr = UNINIT.as_ptr();
4411    assert_eq!(
4412        ::std::mem::size_of::<fpsimd_context>(),
4413        528usize,
4414        concat!("Size of: ", stringify!(fpsimd_context))
4415    );
4416    assert_eq!(
4417        ::std::mem::align_of::<fpsimd_context>(),
4418        16usize,
4419        concat!("Alignment of ", stringify!(fpsimd_context))
4420    );
4421    assert_eq!(
4422        unsafe { ::std::ptr::addr_of!((*ptr).head) as usize - ptr as usize },
4423        0usize,
4424        concat!(
4425            "Offset of field: ",
4426            stringify!(fpsimd_context),
4427            "::",
4428            stringify!(head)
4429        )
4430    );
4431    assert_eq!(
4432        unsafe { ::std::ptr::addr_of!((*ptr).fpsr) as usize - ptr as usize },
4433        8usize,
4434        concat!(
4435            "Offset of field: ",
4436            stringify!(fpsimd_context),
4437            "::",
4438            stringify!(fpsr)
4439        )
4440    );
4441    assert_eq!(
4442        unsafe { ::std::ptr::addr_of!((*ptr).fpcr) as usize - ptr as usize },
4443        12usize,
4444        concat!(
4445            "Offset of field: ",
4446            stringify!(fpsimd_context),
4447            "::",
4448            stringify!(fpcr)
4449        )
4450    );
4451    assert_eq!(
4452        unsafe { ::std::ptr::addr_of!((*ptr).vregs) as usize - ptr as usize },
4453        16usize,
4454        concat!(
4455            "Offset of field: ",
4456            stringify!(fpsimd_context),
4457            "::",
4458            stringify!(vregs)
4459        )
4460    );
4461}
4462#[repr(C)]
4463#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4464pub struct esr_context {
4465    pub head: _aarch64_ctx,
4466    pub esr: ::std::os::raw::c_ulong,
4467}
4468#[test]
4469fn bindgen_test_layout_esr_context() {
4470    const UNINIT: ::std::mem::MaybeUninit<esr_context> = ::std::mem::MaybeUninit::uninit();
4471    let ptr = UNINIT.as_ptr();
4472    assert_eq!(
4473        ::std::mem::size_of::<esr_context>(),
4474        16usize,
4475        concat!("Size of: ", stringify!(esr_context))
4476    );
4477    assert_eq!(
4478        ::std::mem::align_of::<esr_context>(),
4479        8usize,
4480        concat!("Alignment of ", stringify!(esr_context))
4481    );
4482    assert_eq!(
4483        unsafe { ::std::ptr::addr_of!((*ptr).head) as usize - ptr as usize },
4484        0usize,
4485        concat!(
4486            "Offset of field: ",
4487            stringify!(esr_context),
4488            "::",
4489            stringify!(head)
4490        )
4491    );
4492    assert_eq!(
4493        unsafe { ::std::ptr::addr_of!((*ptr).esr) as usize - ptr as usize },
4494        8usize,
4495        concat!(
4496            "Offset of field: ",
4497            stringify!(esr_context),
4498            "::",
4499            stringify!(esr)
4500        )
4501    );
4502}
4503#[repr(C)]
4504#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4505pub struct extra_context {
4506    pub head: _aarch64_ctx,
4507    pub datap: ::std::os::raw::c_ulong,
4508    pub size: ::std::os::raw::c_uint,
4509    pub __reserved: [::std::os::raw::c_uint; 3usize],
4510}
4511#[test]
4512fn bindgen_test_layout_extra_context() {
4513    const UNINIT: ::std::mem::MaybeUninit<extra_context> = ::std::mem::MaybeUninit::uninit();
4514    let ptr = UNINIT.as_ptr();
4515    assert_eq!(
4516        ::std::mem::size_of::<extra_context>(),
4517        32usize,
4518        concat!("Size of: ", stringify!(extra_context))
4519    );
4520    assert_eq!(
4521        ::std::mem::align_of::<extra_context>(),
4522        8usize,
4523        concat!("Alignment of ", stringify!(extra_context))
4524    );
4525    assert_eq!(
4526        unsafe { ::std::ptr::addr_of!((*ptr).head) as usize - ptr as usize },
4527        0usize,
4528        concat!(
4529            "Offset of field: ",
4530            stringify!(extra_context),
4531            "::",
4532            stringify!(head)
4533        )
4534    );
4535    assert_eq!(
4536        unsafe { ::std::ptr::addr_of!((*ptr).datap) as usize - ptr as usize },
4537        8usize,
4538        concat!(
4539            "Offset of field: ",
4540            stringify!(extra_context),
4541            "::",
4542            stringify!(datap)
4543        )
4544    );
4545    assert_eq!(
4546        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
4547        16usize,
4548        concat!(
4549            "Offset of field: ",
4550            stringify!(extra_context),
4551            "::",
4552            stringify!(size)
4553        )
4554    );
4555    assert_eq!(
4556        unsafe { ::std::ptr::addr_of!((*ptr).__reserved) as usize - ptr as usize },
4557        20usize,
4558        concat!(
4559            "Offset of field: ",
4560            stringify!(extra_context),
4561            "::",
4562            stringify!(__reserved)
4563        )
4564    );
4565}
4566#[repr(C)]
4567#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4568pub struct sve_context {
4569    pub head: _aarch64_ctx,
4570    pub vl: ::std::os::raw::c_ushort,
4571    pub __reserved: [::std::os::raw::c_ushort; 3usize],
4572}
4573#[test]
4574fn bindgen_test_layout_sve_context() {
4575    const UNINIT: ::std::mem::MaybeUninit<sve_context> = ::std::mem::MaybeUninit::uninit();
4576    let ptr = UNINIT.as_ptr();
4577    assert_eq!(
4578        ::std::mem::size_of::<sve_context>(),
4579        16usize,
4580        concat!("Size of: ", stringify!(sve_context))
4581    );
4582    assert_eq!(
4583        ::std::mem::align_of::<sve_context>(),
4584        4usize,
4585        concat!("Alignment of ", stringify!(sve_context))
4586    );
4587    assert_eq!(
4588        unsafe { ::std::ptr::addr_of!((*ptr).head) as usize - ptr as usize },
4589        0usize,
4590        concat!(
4591            "Offset of field: ",
4592            stringify!(sve_context),
4593            "::",
4594            stringify!(head)
4595        )
4596    );
4597    assert_eq!(
4598        unsafe { ::std::ptr::addr_of!((*ptr).vl) as usize - ptr as usize },
4599        8usize,
4600        concat!(
4601            "Offset of field: ",
4602            stringify!(sve_context),
4603            "::",
4604            stringify!(vl)
4605        )
4606    );
4607    assert_eq!(
4608        unsafe { ::std::ptr::addr_of!((*ptr).__reserved) as usize - ptr as usize },
4609        10usize,
4610        concat!(
4611            "Offset of field: ",
4612            stringify!(sve_context),
4613            "::",
4614            stringify!(__reserved)
4615        )
4616    );
4617}
4618#[repr(C)]
4619#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4620pub struct sigaltstack {
4621    pub ss_sp: *mut ::std::os::raw::c_void,
4622    pub ss_flags: ::std::os::raw::c_int,
4623    pub ss_size: size_t,
4624}
4625#[test]
4626fn bindgen_test_layout_sigaltstack() {
4627    const UNINIT: ::std::mem::MaybeUninit<sigaltstack> = ::std::mem::MaybeUninit::uninit();
4628    let ptr = UNINIT.as_ptr();
4629    assert_eq!(
4630        ::std::mem::size_of::<sigaltstack>(),
4631        24usize,
4632        concat!("Size of: ", stringify!(sigaltstack))
4633    );
4634    assert_eq!(
4635        ::std::mem::align_of::<sigaltstack>(),
4636        8usize,
4637        concat!("Alignment of ", stringify!(sigaltstack))
4638    );
4639    assert_eq!(
4640        unsafe { ::std::ptr::addr_of!((*ptr).ss_sp) as usize - ptr as usize },
4641        0usize,
4642        concat!(
4643            "Offset of field: ",
4644            stringify!(sigaltstack),
4645            "::",
4646            stringify!(ss_sp)
4647        )
4648    );
4649    assert_eq!(
4650        unsafe { ::std::ptr::addr_of!((*ptr).ss_flags) as usize - ptr as usize },
4651        8usize,
4652        concat!(
4653            "Offset of field: ",
4654            stringify!(sigaltstack),
4655            "::",
4656            stringify!(ss_flags)
4657        )
4658    );
4659    assert_eq!(
4660        unsafe { ::std::ptr::addr_of!((*ptr).ss_size) as usize - ptr as usize },
4661        16usize,
4662        concat!(
4663            "Offset of field: ",
4664            stringify!(sigaltstack),
4665            "::",
4666            stringify!(ss_size)
4667        )
4668    );
4669}
4670#[repr(C)]
4671#[repr(align(16))]
4672#[derive(Debug, Copy, Clone, PartialEq)]
4673pub struct __ucontext {
4674    pub uc_flags: ::std::os::raw::c_ulong,
4675    pub uc_link: *mut __ucontext,
4676    pub uc_stack: stack_t,
4677    pub uc_sigmask: sigset_t,
4678    pub __bindgen_padding_0: u64,
4679    pub uc_mcontext: mcontext_t,
4680}
4681#[test]
4682fn bindgen_test_layout___ucontext() {
4683    const UNINIT: ::std::mem::MaybeUninit<__ucontext> = ::std::mem::MaybeUninit::uninit();
4684    let ptr = UNINIT.as_ptr();
4685    assert_eq!(
4686        ::std::mem::size_of::<__ucontext>(),
4687        4560usize,
4688        concat!("Size of: ", stringify!(__ucontext))
4689    );
4690    assert_eq!(
4691        ::std::mem::align_of::<__ucontext>(),
4692        16usize,
4693        concat!("Alignment of ", stringify!(__ucontext))
4694    );
4695    assert_eq!(
4696        unsafe { ::std::ptr::addr_of!((*ptr).uc_flags) as usize - ptr as usize },
4697        0usize,
4698        concat!(
4699            "Offset of field: ",
4700            stringify!(__ucontext),
4701            "::",
4702            stringify!(uc_flags)
4703        )
4704    );
4705    assert_eq!(
4706        unsafe { ::std::ptr::addr_of!((*ptr).uc_link) as usize - ptr as usize },
4707        8usize,
4708        concat!(
4709            "Offset of field: ",
4710            stringify!(__ucontext),
4711            "::",
4712            stringify!(uc_link)
4713        )
4714    );
4715    assert_eq!(
4716        unsafe { ::std::ptr::addr_of!((*ptr).uc_stack) as usize - ptr as usize },
4717        16usize,
4718        concat!(
4719            "Offset of field: ",
4720            stringify!(__ucontext),
4721            "::",
4722            stringify!(uc_stack)
4723        )
4724    );
4725    assert_eq!(
4726        unsafe { ::std::ptr::addr_of!((*ptr).uc_sigmask) as usize - ptr as usize },
4727        40usize,
4728        concat!(
4729            "Offset of field: ",
4730            stringify!(__ucontext),
4731            "::",
4732            stringify!(uc_sigmask)
4733        )
4734    );
4735    assert_eq!(
4736        unsafe { ::std::ptr::addr_of!((*ptr).uc_mcontext) as usize - ptr as usize },
4737        176usize,
4738        concat!(
4739            "Offset of field: ",
4740            stringify!(__ucontext),
4741            "::",
4742            stringify!(uc_mcontext)
4743        )
4744    );
4745}
4746pub type ucontext_t = __ucontext;
4747#[repr(C)]
4748#[derive(Copy, Clone)]
4749pub union sigval {
4750    pub sival_int: ::std::os::raw::c_int,
4751    pub sival_ptr: *mut ::std::os::raw::c_void,
4752}
4753#[test]
4754fn bindgen_test_layout_sigval() {
4755    const UNINIT: ::std::mem::MaybeUninit<sigval> = ::std::mem::MaybeUninit::uninit();
4756    let ptr = UNINIT.as_ptr();
4757    assert_eq!(
4758        ::std::mem::size_of::<sigval>(),
4759        8usize,
4760        concat!("Size of: ", stringify!(sigval))
4761    );
4762    assert_eq!(
4763        ::std::mem::align_of::<sigval>(),
4764        8usize,
4765        concat!("Alignment of ", stringify!(sigval))
4766    );
4767    assert_eq!(
4768        unsafe { ::std::ptr::addr_of!((*ptr).sival_int) as usize - ptr as usize },
4769        0usize,
4770        concat!(
4771            "Offset of field: ",
4772            stringify!(sigval),
4773            "::",
4774            stringify!(sival_int)
4775        )
4776    );
4777    assert_eq!(
4778        unsafe { ::std::ptr::addr_of!((*ptr).sival_ptr) as usize - ptr as usize },
4779        0usize,
4780        concat!(
4781            "Offset of field: ",
4782            stringify!(sigval),
4783            "::",
4784            stringify!(sival_ptr)
4785        )
4786    );
4787}
4788impl ::std::fmt::Debug for sigval {
4789    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4790        write!(f, "sigval {{ union }}")
4791    }
4792}
4793#[repr(C)]
4794#[derive(Copy, Clone)]
4795pub struct siginfo_t {
4796    pub si_signo: ::std::os::raw::c_int,
4797    pub si_errno: ::std::os::raw::c_int,
4798    pub si_code: ::std::os::raw::c_int,
4799    pub __si_fields: siginfo_t__bindgen_ty_1,
4800}
4801#[repr(C)]
4802#[derive(Copy, Clone)]
4803pub union siginfo_t__bindgen_ty_1 {
4804    pub __pad: [::std::os::raw::c_char; 112usize],
4805    pub __si_common: siginfo_t__bindgen_ty_1__bindgen_ty_1,
4806    pub __sigfault: siginfo_t__bindgen_ty_1__bindgen_ty_2,
4807    pub __sigpoll: siginfo_t__bindgen_ty_1__bindgen_ty_3,
4808    pub __sigsys: siginfo_t__bindgen_ty_1__bindgen_ty_4,
4809}
4810#[repr(C)]
4811#[derive(Copy, Clone)]
4812pub struct siginfo_t__bindgen_ty_1__bindgen_ty_1 {
4813    pub __first: siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
4814    pub __second: siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2,
4815}
4816#[repr(C)]
4817#[derive(Copy, Clone)]
4818pub union siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
4819    pub __piduid: siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
4820    pub __timer: siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2,
4821}
4822#[repr(C)]
4823#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4824pub struct siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
4825    pub si_pid: pid_t,
4826    pub si_uid: uid_t,
4827}
4828#[test]
4829fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() {
4830    const UNINIT: ::std::mem::MaybeUninit<
4831        siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
4832    > = ::std::mem::MaybeUninit::uninit();
4833    let ptr = UNINIT.as_ptr();
4834    assert_eq!(
4835        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(),
4836        8usize,
4837        concat!(
4838            "Size of: ",
4839            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1)
4840        )
4841    );
4842    assert_eq!(
4843        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(),
4844        4usize,
4845        concat!(
4846            "Alignment of ",
4847            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1)
4848        )
4849    );
4850    assert_eq!(
4851        unsafe { ::std::ptr::addr_of!((*ptr).si_pid) as usize - ptr as usize },
4852        0usize,
4853        concat!(
4854            "Offset of field: ",
4855            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1),
4856            "::",
4857            stringify!(si_pid)
4858        )
4859    );
4860    assert_eq!(
4861        unsafe { ::std::ptr::addr_of!((*ptr).si_uid) as usize - ptr as usize },
4862        4usize,
4863        concat!(
4864            "Offset of field: ",
4865            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1),
4866            "::",
4867            stringify!(si_uid)
4868        )
4869    );
4870}
4871#[repr(C)]
4872#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4873pub struct siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2 {
4874    pub si_timerid: ::std::os::raw::c_int,
4875    pub si_overrun: ::std::os::raw::c_int,
4876}
4877#[test]
4878fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2() {
4879    const UNINIT: ::std::mem::MaybeUninit<
4880        siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2,
4881    > = ::std::mem::MaybeUninit::uninit();
4882    let ptr = UNINIT.as_ptr();
4883    assert_eq!(
4884        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2>(),
4885        8usize,
4886        concat!(
4887            "Size of: ",
4888            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2)
4889        )
4890    );
4891    assert_eq!(
4892        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2>(),
4893        4usize,
4894        concat!(
4895            "Alignment of ",
4896            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2)
4897        )
4898    );
4899    assert_eq!(
4900        unsafe { ::std::ptr::addr_of!((*ptr).si_timerid) as usize - ptr as usize },
4901        0usize,
4902        concat!(
4903            "Offset of field: ",
4904            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2),
4905            "::",
4906            stringify!(si_timerid)
4907        )
4908    );
4909    assert_eq!(
4910        unsafe { ::std::ptr::addr_of!((*ptr).si_overrun) as usize - ptr as usize },
4911        4usize,
4912        concat!(
4913            "Offset of field: ",
4914            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2),
4915            "::",
4916            stringify!(si_overrun)
4917        )
4918    );
4919}
4920#[test]
4921fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() {
4922    const UNINIT: ::std::mem::MaybeUninit<siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1> =
4923        ::std::mem::MaybeUninit::uninit();
4924    let ptr = UNINIT.as_ptr();
4925    assert_eq!(
4926        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(),
4927        8usize,
4928        concat!(
4929            "Size of: ",
4930            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1)
4931        )
4932    );
4933    assert_eq!(
4934        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(),
4935        4usize,
4936        concat!(
4937            "Alignment of ",
4938            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1)
4939        )
4940    );
4941    assert_eq!(
4942        unsafe { ::std::ptr::addr_of!((*ptr).__piduid) as usize - ptr as usize },
4943        0usize,
4944        concat!(
4945            "Offset of field: ",
4946            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1),
4947            "::",
4948            stringify!(__piduid)
4949        )
4950    );
4951    assert_eq!(
4952        unsafe { ::std::ptr::addr_of!((*ptr).__timer) as usize - ptr as usize },
4953        0usize,
4954        concat!(
4955            "Offset of field: ",
4956            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1),
4957            "::",
4958            stringify!(__timer)
4959        )
4960    );
4961}
4962impl ::std::fmt::Debug for siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
4963    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4964        write!(
4965            f,
4966            "siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {{ union }}"
4967        )
4968    }
4969}
4970#[repr(C)]
4971#[derive(Copy, Clone)]
4972pub union siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2 {
4973    pub si_value: sigval,
4974    pub __sigchld: siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1,
4975}
4976#[repr(C)]
4977#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4978pub struct siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 {
4979    pub si_status: ::std::os::raw::c_int,
4980    pub si_utime: clock_t,
4981    pub si_stime: clock_t,
4982}
4983#[test]
4984fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1() {
4985    const UNINIT: ::std::mem::MaybeUninit<
4986        siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1,
4987    > = ::std::mem::MaybeUninit::uninit();
4988    let ptr = UNINIT.as_ptr();
4989    assert_eq!(
4990        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1>(),
4991        24usize,
4992        concat!(
4993            "Size of: ",
4994            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1)
4995        )
4996    );
4997    assert_eq!(
4998        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1>(),
4999        8usize,
5000        concat!(
5001            "Alignment of ",
5002            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1)
5003        )
5004    );
5005    assert_eq!(
5006        unsafe { ::std::ptr::addr_of!((*ptr).si_status) as usize - ptr as usize },
5007        0usize,
5008        concat!(
5009            "Offset of field: ",
5010            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1),
5011            "::",
5012            stringify!(si_status)
5013        )
5014    );
5015    assert_eq!(
5016        unsafe { ::std::ptr::addr_of!((*ptr).si_utime) as usize - ptr as usize },
5017        8usize,
5018        concat!(
5019            "Offset of field: ",
5020            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1),
5021            "::",
5022            stringify!(si_utime)
5023        )
5024    );
5025    assert_eq!(
5026        unsafe { ::std::ptr::addr_of!((*ptr).si_stime) as usize - ptr as usize },
5027        16usize,
5028        concat!(
5029            "Offset of field: ",
5030            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1),
5031            "::",
5032            stringify!(si_stime)
5033        )
5034    );
5035}
5036#[test]
5037fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2() {
5038    const UNINIT: ::std::mem::MaybeUninit<siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2> =
5039        ::std::mem::MaybeUninit::uninit();
5040    let ptr = UNINIT.as_ptr();
5041    assert_eq!(
5042        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2>(),
5043        24usize,
5044        concat!(
5045            "Size of: ",
5046            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2)
5047        )
5048    );
5049    assert_eq!(
5050        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2>(),
5051        8usize,
5052        concat!(
5053            "Alignment of ",
5054            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2)
5055        )
5056    );
5057    assert_eq!(
5058        unsafe { ::std::ptr::addr_of!((*ptr).si_value) as usize - ptr as usize },
5059        0usize,
5060        concat!(
5061            "Offset of field: ",
5062            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2),
5063            "::",
5064            stringify!(si_value)
5065        )
5066    );
5067    assert_eq!(
5068        unsafe { ::std::ptr::addr_of!((*ptr).__sigchld) as usize - ptr as usize },
5069        0usize,
5070        concat!(
5071            "Offset of field: ",
5072            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2),
5073            "::",
5074            stringify!(__sigchld)
5075        )
5076    );
5077}
5078impl ::std::fmt::Debug for siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2 {
5079    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5080        write!(
5081            f,
5082            "siginfo_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2 {{ union }}"
5083        )
5084    }
5085}
5086#[test]
5087fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_1() {
5088    const UNINIT: ::std::mem::MaybeUninit<siginfo_t__bindgen_ty_1__bindgen_ty_1> =
5089        ::std::mem::MaybeUninit::uninit();
5090    let ptr = UNINIT.as_ptr();
5091    assert_eq!(
5092        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_1>(),
5093        32usize,
5094        concat!(
5095            "Size of: ",
5096            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1)
5097        )
5098    );
5099    assert_eq!(
5100        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_1>(),
5101        8usize,
5102        concat!(
5103            "Alignment of ",
5104            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1)
5105        )
5106    );
5107    assert_eq!(
5108        unsafe { ::std::ptr::addr_of!((*ptr).__first) as usize - ptr as usize },
5109        0usize,
5110        concat!(
5111            "Offset of field: ",
5112            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1),
5113            "::",
5114            stringify!(__first)
5115        )
5116    );
5117    assert_eq!(
5118        unsafe { ::std::ptr::addr_of!((*ptr).__second) as usize - ptr as usize },
5119        8usize,
5120        concat!(
5121            "Offset of field: ",
5122            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1),
5123            "::",
5124            stringify!(__second)
5125        )
5126    );
5127}
5128impl ::std::fmt::Debug for siginfo_t__bindgen_ty_1__bindgen_ty_1 {
5129    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5130        write!(
5131            f,
5132            "siginfo_t__bindgen_ty_1__bindgen_ty_1 {{ __first: {:?}, __second: {:?} }}",
5133            self.__first, self.__second
5134        )
5135    }
5136}
5137#[repr(C)]
5138#[derive(Copy, Clone)]
5139pub struct siginfo_t__bindgen_ty_1__bindgen_ty_2 {
5140    pub si_addr: *mut ::std::os::raw::c_void,
5141    pub si_addr_lsb: ::std::os::raw::c_short,
5142    pub __first: siginfo_t__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1,
5143}
5144#[repr(C)]
5145#[derive(Copy, Clone)]
5146pub union siginfo_t__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 {
5147    pub __addr_bnd: siginfo_t__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1,
5148    pub si_pkey: ::std::os::raw::c_uint,
5149}
5150#[repr(C)]
5151#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5152pub struct siginfo_t__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 {
5153    pub si_lower: *mut ::std::os::raw::c_void,
5154    pub si_upper: *mut ::std::os::raw::c_void,
5155}
5156#[test]
5157fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1() {
5158    const UNINIT: ::std::mem::MaybeUninit<
5159        siginfo_t__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1,
5160    > = ::std::mem::MaybeUninit::uninit();
5161    let ptr = UNINIT.as_ptr();
5162    assert_eq!(
5163        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1>(),
5164        16usize,
5165        concat!(
5166            "Size of: ",
5167            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1)
5168        )
5169    );
5170    assert_eq!(
5171        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1>(),
5172        8usize,
5173        concat!(
5174            "Alignment of ",
5175            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1)
5176        )
5177    );
5178    assert_eq!(
5179        unsafe { ::std::ptr::addr_of!((*ptr).si_lower) as usize - ptr as usize },
5180        0usize,
5181        concat!(
5182            "Offset of field: ",
5183            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1),
5184            "::",
5185            stringify!(si_lower)
5186        )
5187    );
5188    assert_eq!(
5189        unsafe { ::std::ptr::addr_of!((*ptr).si_upper) as usize - ptr as usize },
5190        8usize,
5191        concat!(
5192            "Offset of field: ",
5193            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1),
5194            "::",
5195            stringify!(si_upper)
5196        )
5197    );
5198}
5199#[test]
5200fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1() {
5201    const UNINIT: ::std::mem::MaybeUninit<siginfo_t__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1> =
5202        ::std::mem::MaybeUninit::uninit();
5203    let ptr = UNINIT.as_ptr();
5204    assert_eq!(
5205        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1>(),
5206        16usize,
5207        concat!(
5208            "Size of: ",
5209            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1)
5210        )
5211    );
5212    assert_eq!(
5213        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1>(),
5214        8usize,
5215        concat!(
5216            "Alignment of ",
5217            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1)
5218        )
5219    );
5220    assert_eq!(
5221        unsafe { ::std::ptr::addr_of!((*ptr).__addr_bnd) as usize - ptr as usize },
5222        0usize,
5223        concat!(
5224            "Offset of field: ",
5225            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1),
5226            "::",
5227            stringify!(__addr_bnd)
5228        )
5229    );
5230    assert_eq!(
5231        unsafe { ::std::ptr::addr_of!((*ptr).si_pkey) as usize - ptr as usize },
5232        0usize,
5233        concat!(
5234            "Offset of field: ",
5235            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1),
5236            "::",
5237            stringify!(si_pkey)
5238        )
5239    );
5240}
5241impl ::std::fmt::Debug for siginfo_t__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 {
5242    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5243        write!(
5244            f,
5245            "siginfo_t__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 {{ union }}"
5246        )
5247    }
5248}
5249#[test]
5250fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_2() {
5251    const UNINIT: ::std::mem::MaybeUninit<siginfo_t__bindgen_ty_1__bindgen_ty_2> =
5252        ::std::mem::MaybeUninit::uninit();
5253    let ptr = UNINIT.as_ptr();
5254    assert_eq!(
5255        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_2>(),
5256        32usize,
5257        concat!(
5258            "Size of: ",
5259            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2)
5260        )
5261    );
5262    assert_eq!(
5263        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_2>(),
5264        8usize,
5265        concat!(
5266            "Alignment of ",
5267            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2)
5268        )
5269    );
5270    assert_eq!(
5271        unsafe { ::std::ptr::addr_of!((*ptr).si_addr) as usize - ptr as usize },
5272        0usize,
5273        concat!(
5274            "Offset of field: ",
5275            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2),
5276            "::",
5277            stringify!(si_addr)
5278        )
5279    );
5280    assert_eq!(
5281        unsafe { ::std::ptr::addr_of!((*ptr).si_addr_lsb) as usize - ptr as usize },
5282        8usize,
5283        concat!(
5284            "Offset of field: ",
5285            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2),
5286            "::",
5287            stringify!(si_addr_lsb)
5288        )
5289    );
5290    assert_eq!(
5291        unsafe { ::std::ptr::addr_of!((*ptr).__first) as usize - ptr as usize },
5292        16usize,
5293        concat!(
5294            "Offset of field: ",
5295            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2),
5296            "::",
5297            stringify!(__first)
5298        )
5299    );
5300}
5301impl ::std::fmt::Debug for siginfo_t__bindgen_ty_1__bindgen_ty_2 {
5302    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5303        write ! (f , "siginfo_t__bindgen_ty_1__bindgen_ty_2 {{ si_addr: {:?}, si_addr_lsb: {:?}, __first: {:?} }}" , self . si_addr , self . si_addr_lsb , self . __first)
5304    }
5305}
5306#[repr(C)]
5307#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5308pub struct siginfo_t__bindgen_ty_1__bindgen_ty_3 {
5309    pub si_band: ::std::os::raw::c_long,
5310    pub si_fd: ::std::os::raw::c_int,
5311}
5312#[test]
5313fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_3() {
5314    const UNINIT: ::std::mem::MaybeUninit<siginfo_t__bindgen_ty_1__bindgen_ty_3> =
5315        ::std::mem::MaybeUninit::uninit();
5316    let ptr = UNINIT.as_ptr();
5317    assert_eq!(
5318        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_3>(),
5319        16usize,
5320        concat!(
5321            "Size of: ",
5322            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3)
5323        )
5324    );
5325    assert_eq!(
5326        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_3>(),
5327        8usize,
5328        concat!(
5329            "Alignment of ",
5330            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3)
5331        )
5332    );
5333    assert_eq!(
5334        unsafe { ::std::ptr::addr_of!((*ptr).si_band) as usize - ptr as usize },
5335        0usize,
5336        concat!(
5337            "Offset of field: ",
5338            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3),
5339            "::",
5340            stringify!(si_band)
5341        )
5342    );
5343    assert_eq!(
5344        unsafe { ::std::ptr::addr_of!((*ptr).si_fd) as usize - ptr as usize },
5345        8usize,
5346        concat!(
5347            "Offset of field: ",
5348            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3),
5349            "::",
5350            stringify!(si_fd)
5351        )
5352    );
5353}
5354#[repr(C)]
5355#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5356pub struct siginfo_t__bindgen_ty_1__bindgen_ty_4 {
5357    pub si_call_addr: *mut ::std::os::raw::c_void,
5358    pub si_syscall: ::std::os::raw::c_int,
5359    pub si_arch: ::std::os::raw::c_uint,
5360}
5361#[test]
5362fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_4() {
5363    const UNINIT: ::std::mem::MaybeUninit<siginfo_t__bindgen_ty_1__bindgen_ty_4> =
5364        ::std::mem::MaybeUninit::uninit();
5365    let ptr = UNINIT.as_ptr();
5366    assert_eq!(
5367        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_4>(),
5368        16usize,
5369        concat!(
5370            "Size of: ",
5371            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4)
5372        )
5373    );
5374    assert_eq!(
5375        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_4>(),
5376        8usize,
5377        concat!(
5378            "Alignment of ",
5379            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4)
5380        )
5381    );
5382    assert_eq!(
5383        unsafe { ::std::ptr::addr_of!((*ptr).si_call_addr) as usize - ptr as usize },
5384        0usize,
5385        concat!(
5386            "Offset of field: ",
5387            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
5388            "::",
5389            stringify!(si_call_addr)
5390        )
5391    );
5392    assert_eq!(
5393        unsafe { ::std::ptr::addr_of!((*ptr).si_syscall) as usize - ptr as usize },
5394        8usize,
5395        concat!(
5396            "Offset of field: ",
5397            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
5398            "::",
5399            stringify!(si_syscall)
5400        )
5401    );
5402    assert_eq!(
5403        unsafe { ::std::ptr::addr_of!((*ptr).si_arch) as usize - ptr as usize },
5404        12usize,
5405        concat!(
5406            "Offset of field: ",
5407            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
5408            "::",
5409            stringify!(si_arch)
5410        )
5411    );
5412}
5413#[test]
5414fn bindgen_test_layout_siginfo_t__bindgen_ty_1() {
5415    const UNINIT: ::std::mem::MaybeUninit<siginfo_t__bindgen_ty_1> =
5416        ::std::mem::MaybeUninit::uninit();
5417    let ptr = UNINIT.as_ptr();
5418    assert_eq!(
5419        ::std::mem::size_of::<siginfo_t__bindgen_ty_1>(),
5420        112usize,
5421        concat!("Size of: ", stringify!(siginfo_t__bindgen_ty_1))
5422    );
5423    assert_eq!(
5424        ::std::mem::align_of::<siginfo_t__bindgen_ty_1>(),
5425        8usize,
5426        concat!("Alignment of ", stringify!(siginfo_t__bindgen_ty_1))
5427    );
5428    assert_eq!(
5429        unsafe { ::std::ptr::addr_of!((*ptr).__pad) as usize - ptr as usize },
5430        0usize,
5431        concat!(
5432            "Offset of field: ",
5433            stringify!(siginfo_t__bindgen_ty_1),
5434            "::",
5435            stringify!(__pad)
5436        )
5437    );
5438    assert_eq!(
5439        unsafe { ::std::ptr::addr_of!((*ptr).__si_common) as usize - ptr as usize },
5440        0usize,
5441        concat!(
5442            "Offset of field: ",
5443            stringify!(siginfo_t__bindgen_ty_1),
5444            "::",
5445            stringify!(__si_common)
5446        )
5447    );
5448    assert_eq!(
5449        unsafe { ::std::ptr::addr_of!((*ptr).__sigfault) as usize - ptr as usize },
5450        0usize,
5451        concat!(
5452            "Offset of field: ",
5453            stringify!(siginfo_t__bindgen_ty_1),
5454            "::",
5455            stringify!(__sigfault)
5456        )
5457    );
5458    assert_eq!(
5459        unsafe { ::std::ptr::addr_of!((*ptr).__sigpoll) as usize - ptr as usize },
5460        0usize,
5461        concat!(
5462            "Offset of field: ",
5463            stringify!(siginfo_t__bindgen_ty_1),
5464            "::",
5465            stringify!(__sigpoll)
5466        )
5467    );
5468    assert_eq!(
5469        unsafe { ::std::ptr::addr_of!((*ptr).__sigsys) as usize - ptr as usize },
5470        0usize,
5471        concat!(
5472            "Offset of field: ",
5473            stringify!(siginfo_t__bindgen_ty_1),
5474            "::",
5475            stringify!(__sigsys)
5476        )
5477    );
5478}
5479impl ::std::fmt::Debug for siginfo_t__bindgen_ty_1 {
5480    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5481        write!(f, "siginfo_t__bindgen_ty_1 {{ union }}")
5482    }
5483}
5484#[test]
5485fn bindgen_test_layout_siginfo_t() {
5486    const UNINIT: ::std::mem::MaybeUninit<siginfo_t> = ::std::mem::MaybeUninit::uninit();
5487    let ptr = UNINIT.as_ptr();
5488    assert_eq!(
5489        ::std::mem::size_of::<siginfo_t>(),
5490        128usize,
5491        concat!("Size of: ", stringify!(siginfo_t))
5492    );
5493    assert_eq!(
5494        ::std::mem::align_of::<siginfo_t>(),
5495        8usize,
5496        concat!("Alignment of ", stringify!(siginfo_t))
5497    );
5498    assert_eq!(
5499        unsafe { ::std::ptr::addr_of!((*ptr).si_signo) as usize - ptr as usize },
5500        0usize,
5501        concat!(
5502            "Offset of field: ",
5503            stringify!(siginfo_t),
5504            "::",
5505            stringify!(si_signo)
5506        )
5507    );
5508    assert_eq!(
5509        unsafe { ::std::ptr::addr_of!((*ptr).si_errno) as usize - ptr as usize },
5510        4usize,
5511        concat!(
5512            "Offset of field: ",
5513            stringify!(siginfo_t),
5514            "::",
5515            stringify!(si_errno)
5516        )
5517    );
5518    assert_eq!(
5519        unsafe { ::std::ptr::addr_of!((*ptr).si_code) as usize - ptr as usize },
5520        8usize,
5521        concat!(
5522            "Offset of field: ",
5523            stringify!(siginfo_t),
5524            "::",
5525            stringify!(si_code)
5526        )
5527    );
5528    assert_eq!(
5529        unsafe { ::std::ptr::addr_of!((*ptr).__si_fields) as usize - ptr as usize },
5530        16usize,
5531        concat!(
5532            "Offset of field: ",
5533            stringify!(siginfo_t),
5534            "::",
5535            stringify!(__si_fields)
5536        )
5537    );
5538}
5539impl ::std::fmt::Debug for siginfo_t {
5540    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5541        write!(
5542            f,
5543            "siginfo_t {{ si_signo: {:?}, si_errno: {:?}, si_code: {:?}, __si_fields: {:?} }}",
5544            self.si_signo, self.si_errno, self.si_code, self.__si_fields
5545        )
5546    }
5547}
5548#[repr(C)]
5549#[derive(Copy, Clone)]
5550pub struct sigaction {
5551    pub __sa_handler: sigaction__bindgen_ty_1,
5552    pub sa_mask: sigset_t,
5553    pub sa_flags: ::std::os::raw::c_int,
5554    pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
5555}
5556#[repr(C)]
5557#[derive(Copy, Clone)]
5558pub union sigaction__bindgen_ty_1 {
5559    pub sa_handler: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
5560    pub sa_sigaction: ::std::option::Option<
5561        unsafe extern "C" fn(
5562            arg1: ::std::os::raw::c_int,
5563            arg2: *mut siginfo_t,
5564            arg3: *mut ::std::os::raw::c_void,
5565        ),
5566    >,
5567}
5568#[test]
5569fn bindgen_test_layout_sigaction__bindgen_ty_1() {
5570    const UNINIT: ::std::mem::MaybeUninit<sigaction__bindgen_ty_1> =
5571        ::std::mem::MaybeUninit::uninit();
5572    let ptr = UNINIT.as_ptr();
5573    assert_eq!(
5574        ::std::mem::size_of::<sigaction__bindgen_ty_1>(),
5575        8usize,
5576        concat!("Size of: ", stringify!(sigaction__bindgen_ty_1))
5577    );
5578    assert_eq!(
5579        ::std::mem::align_of::<sigaction__bindgen_ty_1>(),
5580        8usize,
5581        concat!("Alignment of ", stringify!(sigaction__bindgen_ty_1))
5582    );
5583    assert_eq!(
5584        unsafe { ::std::ptr::addr_of!((*ptr).sa_handler) as usize - ptr as usize },
5585        0usize,
5586        concat!(
5587            "Offset of field: ",
5588            stringify!(sigaction__bindgen_ty_1),
5589            "::",
5590            stringify!(sa_handler)
5591        )
5592    );
5593    assert_eq!(
5594        unsafe { ::std::ptr::addr_of!((*ptr).sa_sigaction) as usize - ptr as usize },
5595        0usize,
5596        concat!(
5597            "Offset of field: ",
5598            stringify!(sigaction__bindgen_ty_1),
5599            "::",
5600            stringify!(sa_sigaction)
5601        )
5602    );
5603}
5604impl ::std::fmt::Debug for sigaction__bindgen_ty_1 {
5605    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5606        write!(f, "sigaction__bindgen_ty_1 {{ union }}")
5607    }
5608}
5609#[test]
5610fn bindgen_test_layout_sigaction() {
5611    const UNINIT: ::std::mem::MaybeUninit<sigaction> = ::std::mem::MaybeUninit::uninit();
5612    let ptr = UNINIT.as_ptr();
5613    assert_eq!(
5614        ::std::mem::size_of::<sigaction>(),
5615        152usize,
5616        concat!("Size of: ", stringify!(sigaction))
5617    );
5618    assert_eq!(
5619        ::std::mem::align_of::<sigaction>(),
5620        8usize,
5621        concat!("Alignment of ", stringify!(sigaction))
5622    );
5623    assert_eq!(
5624        unsafe { ::std::ptr::addr_of!((*ptr).__sa_handler) as usize - ptr as usize },
5625        0usize,
5626        concat!(
5627            "Offset of field: ",
5628            stringify!(sigaction),
5629            "::",
5630            stringify!(__sa_handler)
5631        )
5632    );
5633    assert_eq!(
5634        unsafe { ::std::ptr::addr_of!((*ptr).sa_mask) as usize - ptr as usize },
5635        8usize,
5636        concat!(
5637            "Offset of field: ",
5638            stringify!(sigaction),
5639            "::",
5640            stringify!(sa_mask)
5641        )
5642    );
5643    assert_eq!(
5644        unsafe { ::std::ptr::addr_of!((*ptr).sa_flags) as usize - ptr as usize },
5645        136usize,
5646        concat!(
5647            "Offset of field: ",
5648            stringify!(sigaction),
5649            "::",
5650            stringify!(sa_flags)
5651        )
5652    );
5653    assert_eq!(
5654        unsafe { ::std::ptr::addr_of!((*ptr).sa_restorer) as usize - ptr as usize },
5655        144usize,
5656        concat!(
5657            "Offset of field: ",
5658            stringify!(sigaction),
5659            "::",
5660            stringify!(sa_restorer)
5661        )
5662    );
5663}
5664impl ::std::fmt::Debug for sigaction {
5665    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5666        write!(
5667            f,
5668            "sigaction {{ __sa_handler: {:?}, sa_mask: {:?}, sa_flags: {:?}, sa_restorer: {:?} }}",
5669            self.__sa_handler, self.sa_mask, self.sa_flags, self.sa_restorer
5670        )
5671    }
5672}
5673#[repr(C)]
5674#[derive(Copy, Clone)]
5675pub struct sigevent {
5676    pub sigev_value: sigval,
5677    pub sigev_signo: ::std::os::raw::c_int,
5678    pub sigev_notify: ::std::os::raw::c_int,
5679    pub __sev_fields: sigevent__bindgen_ty_1,
5680}
5681#[repr(C)]
5682#[derive(Copy, Clone)]
5683pub union sigevent__bindgen_ty_1 {
5684    pub __pad: [::std::os::raw::c_char; 48usize],
5685    pub sigev_notify_thread_id: pid_t,
5686    pub __sev_thread: sigevent__bindgen_ty_1__bindgen_ty_1,
5687}
5688#[repr(C)]
5689#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5690pub struct sigevent__bindgen_ty_1__bindgen_ty_1 {
5691    pub sigev_notify_function: ::std::option::Option<unsafe extern "C" fn(arg1: sigval)>,
5692    pub sigev_notify_attributes: *mut pthread_attr_t,
5693}
5694#[test]
5695fn bindgen_test_layout_sigevent__bindgen_ty_1__bindgen_ty_1() {
5696    const UNINIT: ::std::mem::MaybeUninit<sigevent__bindgen_ty_1__bindgen_ty_1> =
5697        ::std::mem::MaybeUninit::uninit();
5698    let ptr = UNINIT.as_ptr();
5699    assert_eq!(
5700        ::std::mem::size_of::<sigevent__bindgen_ty_1__bindgen_ty_1>(),
5701        16usize,
5702        concat!(
5703            "Size of: ",
5704            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1)
5705        )
5706    );
5707    assert_eq!(
5708        ::std::mem::align_of::<sigevent__bindgen_ty_1__bindgen_ty_1>(),
5709        8usize,
5710        concat!(
5711            "Alignment of ",
5712            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1)
5713        )
5714    );
5715    assert_eq!(
5716        unsafe { ::std::ptr::addr_of!((*ptr).sigev_notify_function) as usize - ptr as usize },
5717        0usize,
5718        concat!(
5719            "Offset of field: ",
5720            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1),
5721            "::",
5722            stringify!(sigev_notify_function)
5723        )
5724    );
5725    assert_eq!(
5726        unsafe { ::std::ptr::addr_of!((*ptr).sigev_notify_attributes) as usize - ptr as usize },
5727        8usize,
5728        concat!(
5729            "Offset of field: ",
5730            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1),
5731            "::",
5732            stringify!(sigev_notify_attributes)
5733        )
5734    );
5735}
5736#[test]
5737fn bindgen_test_layout_sigevent__bindgen_ty_1() {
5738    const UNINIT: ::std::mem::MaybeUninit<sigevent__bindgen_ty_1> =
5739        ::std::mem::MaybeUninit::uninit();
5740    let ptr = UNINIT.as_ptr();
5741    assert_eq!(
5742        ::std::mem::size_of::<sigevent__bindgen_ty_1>(),
5743        48usize,
5744        concat!("Size of: ", stringify!(sigevent__bindgen_ty_1))
5745    );
5746    assert_eq!(
5747        ::std::mem::align_of::<sigevent__bindgen_ty_1>(),
5748        8usize,
5749        concat!("Alignment of ", stringify!(sigevent__bindgen_ty_1))
5750    );
5751    assert_eq!(
5752        unsafe { ::std::ptr::addr_of!((*ptr).__pad) as usize - ptr as usize },
5753        0usize,
5754        concat!(
5755            "Offset of field: ",
5756            stringify!(sigevent__bindgen_ty_1),
5757            "::",
5758            stringify!(__pad)
5759        )
5760    );
5761    assert_eq!(
5762        unsafe { ::std::ptr::addr_of!((*ptr).sigev_notify_thread_id) as usize - ptr as usize },
5763        0usize,
5764        concat!(
5765            "Offset of field: ",
5766            stringify!(sigevent__bindgen_ty_1),
5767            "::",
5768            stringify!(sigev_notify_thread_id)
5769        )
5770    );
5771    assert_eq!(
5772        unsafe { ::std::ptr::addr_of!((*ptr).__sev_thread) as usize - ptr as usize },
5773        0usize,
5774        concat!(
5775            "Offset of field: ",
5776            stringify!(sigevent__bindgen_ty_1),
5777            "::",
5778            stringify!(__sev_thread)
5779        )
5780    );
5781}
5782impl ::std::fmt::Debug for sigevent__bindgen_ty_1 {
5783    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5784        write!(f, "sigevent__bindgen_ty_1 {{ union }}")
5785    }
5786}
5787#[test]
5788fn bindgen_test_layout_sigevent() {
5789    const UNINIT: ::std::mem::MaybeUninit<sigevent> = ::std::mem::MaybeUninit::uninit();
5790    let ptr = UNINIT.as_ptr();
5791    assert_eq!(
5792        ::std::mem::size_of::<sigevent>(),
5793        64usize,
5794        concat!("Size of: ", stringify!(sigevent))
5795    );
5796    assert_eq!(
5797        ::std::mem::align_of::<sigevent>(),
5798        8usize,
5799        concat!("Alignment of ", stringify!(sigevent))
5800    );
5801    assert_eq!(
5802        unsafe { ::std::ptr::addr_of!((*ptr).sigev_value) as usize - ptr as usize },
5803        0usize,
5804        concat!(
5805            "Offset of field: ",
5806            stringify!(sigevent),
5807            "::",
5808            stringify!(sigev_value)
5809        )
5810    );
5811    assert_eq!(
5812        unsafe { ::std::ptr::addr_of!((*ptr).sigev_signo) as usize - ptr as usize },
5813        8usize,
5814        concat!(
5815            "Offset of field: ",
5816            stringify!(sigevent),
5817            "::",
5818            stringify!(sigev_signo)
5819        )
5820    );
5821    assert_eq!(
5822        unsafe { ::std::ptr::addr_of!((*ptr).sigev_notify) as usize - ptr as usize },
5823        12usize,
5824        concat!(
5825            "Offset of field: ",
5826            stringify!(sigevent),
5827            "::",
5828            stringify!(sigev_notify)
5829        )
5830    );
5831    assert_eq!(
5832        unsafe { ::std::ptr::addr_of!((*ptr).__sev_fields) as usize - ptr as usize },
5833        16usize,
5834        concat!(
5835            "Offset of field: ",
5836            stringify!(sigevent),
5837            "::",
5838            stringify!(__sev_fields)
5839        )
5840    );
5841}
5842impl ::std::fmt::Debug for sigevent {
5843    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5844        write ! (f , "sigevent {{ sigev_value: {:?}, sigev_signo: {:?}, sigev_notify: {:?}, __sev_fields: {:?} }}" , self . sigev_value , self . sigev_signo , self . sigev_notify , self . __sev_fields)
5845    }
5846}
5847extern "C" {
5848    pub fn __libc_current_sigrtmin() -> ::std::os::raw::c_int;
5849}
5850extern "C" {
5851    pub fn __libc_current_sigrtmax() -> ::std::os::raw::c_int;
5852}
5853extern "C" {
5854    pub fn kill(arg1: pid_t, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5855}
5856extern "C" {
5857    pub fn sigemptyset(arg1: *mut sigset_t) -> ::std::os::raw::c_int;
5858}
5859extern "C" {
5860    pub fn sigfillset(arg1: *mut sigset_t) -> ::std::os::raw::c_int;
5861}
5862extern "C" {
5863    pub fn sigaddset(arg1: *mut sigset_t, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5864}
5865extern "C" {
5866    pub fn sigdelset(arg1: *mut sigset_t, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5867}
5868extern "C" {
5869    pub fn sigismember(arg1: *const sigset_t, arg2: ::std::os::raw::c_int)
5870        -> ::std::os::raw::c_int;
5871}
5872extern "C" {
5873    pub fn sigprocmask(
5874        arg1: ::std::os::raw::c_int,
5875        arg2: *const sigset_t,
5876        arg3: *mut sigset_t,
5877    ) -> ::std::os::raw::c_int;
5878}
5879extern "C" {
5880    pub fn sigsuspend(arg1: *const sigset_t) -> ::std::os::raw::c_int;
5881}
5882extern "C" {
5883    pub fn sigaction(
5884        arg1: ::std::os::raw::c_int,
5885        arg2: *const sigaction,
5886        arg3: *mut sigaction,
5887    ) -> ::std::os::raw::c_int;
5888}
5889extern "C" {
5890    pub fn sigpending(arg1: *mut sigset_t) -> ::std::os::raw::c_int;
5891}
5892extern "C" {
5893    pub fn sigwait(
5894        arg1: *const sigset_t,
5895        arg2: *mut ::std::os::raw::c_int,
5896    ) -> ::std::os::raw::c_int;
5897}
5898extern "C" {
5899    pub fn sigwaitinfo(arg1: *const sigset_t, arg2: *mut siginfo_t) -> ::std::os::raw::c_int;
5900}
5901extern "C" {
5902    pub fn sigtimedwait(
5903        arg1: *const sigset_t,
5904        arg2: *mut siginfo_t,
5905        arg3: *const timespec,
5906    ) -> ::std::os::raw::c_int;
5907}
5908extern "C" {
5909    pub fn sigqueue(
5910        arg1: pid_t,
5911        arg2: ::std::os::raw::c_int,
5912        arg3: sigval,
5913    ) -> ::std::os::raw::c_int;
5914}
5915extern "C" {
5916    pub fn pthread_sigmask(
5917        arg1: ::std::os::raw::c_int,
5918        arg2: *const sigset_t,
5919        arg3: *mut sigset_t,
5920    ) -> ::std::os::raw::c_int;
5921}
5922extern "C" {
5923    pub fn pthread_kill(arg1: pthread_t, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5924}
5925extern "C" {
5926    pub fn psiginfo(arg1: *const siginfo_t, arg2: *const ::std::os::raw::c_char);
5927}
5928extern "C" {
5929    pub fn psignal(arg1: ::std::os::raw::c_int, arg2: *const ::std::os::raw::c_char);
5930}
5931extern "C" {
5932    pub fn killpg(arg1: pid_t, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5933}
5934extern "C" {
5935    pub fn sigaltstack(arg1: *const stack_t, arg2: *mut stack_t) -> ::std::os::raw::c_int;
5936}
5937extern "C" {
5938    pub fn sighold(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5939}
5940extern "C" {
5941    pub fn sigignore(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5942}
5943extern "C" {
5944    pub fn siginterrupt(
5945        arg1: ::std::os::raw::c_int,
5946        arg2: ::std::os::raw::c_int,
5947    ) -> ::std::os::raw::c_int;
5948}
5949extern "C" {
5950    pub fn sigpause(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5951}
5952extern "C" {
5953    pub fn sigrelse(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5954}
5955extern "C" {
5956    pub fn sigset(
5957        arg1: ::std::os::raw::c_int,
5958        arg2: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
5959    ) -> ::std::option::Option<
5960        unsafe extern "C" fn(
5961            arg1: ::std::os::raw::c_int,
5962            arg2: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
5963        ),
5964    >;
5965}
5966pub type sig_t = ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
5967pub type sig_atomic_t = ::std::os::raw::c_int;
5968extern "C" {
5969    pub fn signal(
5970        arg1: ::std::os::raw::c_int,
5971        arg2: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
5972    ) -> ::std::option::Option<
5973        unsafe extern "C" fn(
5974            arg1: ::std::os::raw::c_int,
5975            arg2: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
5976        ),
5977    >;
5978}
5979extern "C" {
5980    pub fn raise(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5981}
5982extern "C" {
5983    pub fn g_on_error_query(prg_name: *const gchar);
5984}
5985extern "C" {
5986    pub fn g_on_error_stack_trace(prg_name: *const gchar);
5987}
5988extern "C" {
5989    pub fn g_base64_encode_step(
5990        in_: *const guchar,
5991        len: gsize,
5992        break_lines: gboolean,
5993        out: *mut gchar,
5994        state: *mut gint,
5995        save: *mut gint,
5996    ) -> gsize;
5997}
5998extern "C" {
5999    pub fn g_base64_encode_close(
6000        break_lines: gboolean,
6001        out: *mut gchar,
6002        state: *mut gint,
6003        save: *mut gint,
6004    ) -> gsize;
6005}
6006extern "C" {
6007    pub fn g_base64_encode(data: *const guchar, len: gsize) -> *mut gchar;
6008}
6009extern "C" {
6010    pub fn g_base64_decode_step(
6011        in_: *const gchar,
6012        len: gsize,
6013        out: *mut guchar,
6014        state: *mut gint,
6015        save: *mut guint,
6016    ) -> gsize;
6017}
6018extern "C" {
6019    pub fn g_base64_decode(text: *const gchar, out_len: *mut gsize) -> *mut guchar;
6020}
6021extern "C" {
6022    pub fn g_base64_decode_inplace(text: *mut gchar, out_len: *mut gsize) -> *mut guchar;
6023}
6024extern "C" {
6025    pub fn g_bit_lock(address: *mut gint, lock_bit: gint);
6026}
6027extern "C" {
6028    pub fn g_bit_trylock(address: *mut gint, lock_bit: gint) -> gboolean;
6029}
6030extern "C" {
6031    pub fn g_bit_unlock(address: *mut gint, lock_bit: gint);
6032}
6033extern "C" {
6034    pub fn g_pointer_bit_lock(address: *mut ::std::os::raw::c_void, lock_bit: gint);
6035}
6036extern "C" {
6037    pub fn g_pointer_bit_trylock(address: *mut ::std::os::raw::c_void, lock_bit: gint) -> gboolean;
6038}
6039extern "C" {
6040    pub fn g_pointer_bit_unlock(address: *mut ::std::os::raw::c_void, lock_bit: gint);
6041}
6042#[repr(C)]
6043#[derive(Debug, Copy, Clone)]
6044pub struct _GTimeZone {
6045    _unused: [u8; 0],
6046}
6047pub type GTimeZone = _GTimeZone;
6048pub const GTimeType_G_TIME_TYPE_STANDARD: GTimeType = 0;
6049pub const GTimeType_G_TIME_TYPE_DAYLIGHT: GTimeType = 1;
6050pub const GTimeType_G_TIME_TYPE_UNIVERSAL: GTimeType = 2;
6051pub type GTimeType = ::std::os::raw::c_uint;
6052extern "C" {
6053    pub fn g_time_zone_new(identifier: *const gchar) -> *mut GTimeZone;
6054}
6055extern "C" {
6056    pub fn g_time_zone_new_identifier(identifier: *const gchar) -> *mut GTimeZone;
6057}
6058extern "C" {
6059    pub fn g_time_zone_new_utc() -> *mut GTimeZone;
6060}
6061extern "C" {
6062    pub fn g_time_zone_new_local() -> *mut GTimeZone;
6063}
6064extern "C" {
6065    pub fn g_time_zone_new_offset(seconds: gint32) -> *mut GTimeZone;
6066}
6067extern "C" {
6068    pub fn g_time_zone_ref(tz: *mut GTimeZone) -> *mut GTimeZone;
6069}
6070extern "C" {
6071    pub fn g_time_zone_unref(tz: *mut GTimeZone);
6072}
6073extern "C" {
6074    pub fn g_time_zone_find_interval(tz: *mut GTimeZone, type_: GTimeType, time_: gint64) -> gint;
6075}
6076extern "C" {
6077    pub fn g_time_zone_adjust_time(
6078        tz: *mut GTimeZone,
6079        type_: GTimeType,
6080        time_: *mut gint64,
6081    ) -> gint;
6082}
6083extern "C" {
6084    pub fn g_time_zone_get_abbreviation(tz: *mut GTimeZone, interval: gint) -> *const gchar;
6085}
6086extern "C" {
6087    pub fn g_time_zone_get_offset(tz: *mut GTimeZone, interval: gint) -> gint32;
6088}
6089extern "C" {
6090    pub fn g_time_zone_is_dst(tz: *mut GTimeZone, interval: gint) -> gboolean;
6091}
6092extern "C" {
6093    pub fn g_time_zone_get_identifier(tz: *mut GTimeZone) -> *const gchar;
6094}
6095pub type GTimeSpan = gint64;
6096#[repr(C)]
6097#[derive(Debug, Copy, Clone)]
6098pub struct _GDateTime {
6099    _unused: [u8; 0],
6100}
6101pub type GDateTime = _GDateTime;
6102extern "C" {
6103    pub fn g_date_time_unref(datetime: *mut GDateTime);
6104}
6105extern "C" {
6106    pub fn g_date_time_ref(datetime: *mut GDateTime) -> *mut GDateTime;
6107}
6108extern "C" {
6109    pub fn g_date_time_new_now(tz: *mut GTimeZone) -> *mut GDateTime;
6110}
6111extern "C" {
6112    pub fn g_date_time_new_now_local() -> *mut GDateTime;
6113}
6114extern "C" {
6115    pub fn g_date_time_new_now_utc() -> *mut GDateTime;
6116}
6117extern "C" {
6118    pub fn g_date_time_new_from_unix_local(t: gint64) -> *mut GDateTime;
6119}
6120extern "C" {
6121    pub fn g_date_time_new_from_unix_utc(t: gint64) -> *mut GDateTime;
6122}
6123extern "C" {
6124    pub fn g_date_time_new_from_timeval_local(tv: *const GTimeVal) -> *mut GDateTime;
6125}
6126extern "C" {
6127    pub fn g_date_time_new_from_timeval_utc(tv: *const GTimeVal) -> *mut GDateTime;
6128}
6129extern "C" {
6130    pub fn g_date_time_new_from_iso8601(
6131        text: *const gchar,
6132        default_tz: *mut GTimeZone,
6133    ) -> *mut GDateTime;
6134}
6135extern "C" {
6136    pub fn g_date_time_new(
6137        tz: *mut GTimeZone,
6138        year: gint,
6139        month: gint,
6140        day: gint,
6141        hour: gint,
6142        minute: gint,
6143        seconds: gdouble,
6144    ) -> *mut GDateTime;
6145}
6146extern "C" {
6147    pub fn g_date_time_new_local(
6148        year: gint,
6149        month: gint,
6150        day: gint,
6151        hour: gint,
6152        minute: gint,
6153        seconds: gdouble,
6154    ) -> *mut GDateTime;
6155}
6156extern "C" {
6157    pub fn g_date_time_new_utc(
6158        year: gint,
6159        month: gint,
6160        day: gint,
6161        hour: gint,
6162        minute: gint,
6163        seconds: gdouble,
6164    ) -> *mut GDateTime;
6165}
6166extern "C" {
6167    pub fn g_date_time_add(datetime: *mut GDateTime, timespan: GTimeSpan) -> *mut GDateTime;
6168}
6169extern "C" {
6170    pub fn g_date_time_add_years(datetime: *mut GDateTime, years: gint) -> *mut GDateTime;
6171}
6172extern "C" {
6173    pub fn g_date_time_add_months(datetime: *mut GDateTime, months: gint) -> *mut GDateTime;
6174}
6175extern "C" {
6176    pub fn g_date_time_add_weeks(datetime: *mut GDateTime, weeks: gint) -> *mut GDateTime;
6177}
6178extern "C" {
6179    pub fn g_date_time_add_days(datetime: *mut GDateTime, days: gint) -> *mut GDateTime;
6180}
6181extern "C" {
6182    pub fn g_date_time_add_hours(datetime: *mut GDateTime, hours: gint) -> *mut GDateTime;
6183}
6184extern "C" {
6185    pub fn g_date_time_add_minutes(datetime: *mut GDateTime, minutes: gint) -> *mut GDateTime;
6186}
6187extern "C" {
6188    pub fn g_date_time_add_seconds(datetime: *mut GDateTime, seconds: gdouble) -> *mut GDateTime;
6189}
6190extern "C" {
6191    pub fn g_date_time_add_full(
6192        datetime: *mut GDateTime,
6193        years: gint,
6194        months: gint,
6195        days: gint,
6196        hours: gint,
6197        minutes: gint,
6198        seconds: gdouble,
6199    ) -> *mut GDateTime;
6200}
6201extern "C" {
6202    pub fn g_date_time_compare(dt1: gconstpointer, dt2: gconstpointer) -> gint;
6203}
6204extern "C" {
6205    pub fn g_date_time_difference(end: *mut GDateTime, begin: *mut GDateTime) -> GTimeSpan;
6206}
6207extern "C" {
6208    pub fn g_date_time_hash(datetime: gconstpointer) -> guint;
6209}
6210extern "C" {
6211    pub fn g_date_time_equal(dt1: gconstpointer, dt2: gconstpointer) -> gboolean;
6212}
6213extern "C" {
6214    pub fn g_date_time_get_ymd(
6215        datetime: *mut GDateTime,
6216        year: *mut gint,
6217        month: *mut gint,
6218        day: *mut gint,
6219    );
6220}
6221extern "C" {
6222    pub fn g_date_time_get_year(datetime: *mut GDateTime) -> gint;
6223}
6224extern "C" {
6225    pub fn g_date_time_get_month(datetime: *mut GDateTime) -> gint;
6226}
6227extern "C" {
6228    pub fn g_date_time_get_day_of_month(datetime: *mut GDateTime) -> gint;
6229}
6230extern "C" {
6231    pub fn g_date_time_get_week_numbering_year(datetime: *mut GDateTime) -> gint;
6232}
6233extern "C" {
6234    pub fn g_date_time_get_week_of_year(datetime: *mut GDateTime) -> gint;
6235}
6236extern "C" {
6237    pub fn g_date_time_get_day_of_week(datetime: *mut GDateTime) -> gint;
6238}
6239extern "C" {
6240    pub fn g_date_time_get_day_of_year(datetime: *mut GDateTime) -> gint;
6241}
6242extern "C" {
6243    pub fn g_date_time_get_hour(datetime: *mut GDateTime) -> gint;
6244}
6245extern "C" {
6246    pub fn g_date_time_get_minute(datetime: *mut GDateTime) -> gint;
6247}
6248extern "C" {
6249    pub fn g_date_time_get_second(datetime: *mut GDateTime) -> gint;
6250}
6251extern "C" {
6252    pub fn g_date_time_get_microsecond(datetime: *mut GDateTime) -> gint;
6253}
6254extern "C" {
6255    pub fn g_date_time_get_seconds(datetime: *mut GDateTime) -> gdouble;
6256}
6257extern "C" {
6258    pub fn g_date_time_to_unix(datetime: *mut GDateTime) -> gint64;
6259}
6260extern "C" {
6261    pub fn g_date_time_to_timeval(datetime: *mut GDateTime, tv: *mut GTimeVal) -> gboolean;
6262}
6263extern "C" {
6264    pub fn g_date_time_get_utc_offset(datetime: *mut GDateTime) -> GTimeSpan;
6265}
6266extern "C" {
6267    pub fn g_date_time_get_timezone(datetime: *mut GDateTime) -> *mut GTimeZone;
6268}
6269extern "C" {
6270    pub fn g_date_time_get_timezone_abbreviation(datetime: *mut GDateTime) -> *const gchar;
6271}
6272extern "C" {
6273    pub fn g_date_time_is_daylight_savings(datetime: *mut GDateTime) -> gboolean;
6274}
6275extern "C" {
6276    pub fn g_date_time_to_timezone(datetime: *mut GDateTime, tz: *mut GTimeZone) -> *mut GDateTime;
6277}
6278extern "C" {
6279    pub fn g_date_time_to_local(datetime: *mut GDateTime) -> *mut GDateTime;
6280}
6281extern "C" {
6282    pub fn g_date_time_to_utc(datetime: *mut GDateTime) -> *mut GDateTime;
6283}
6284extern "C" {
6285    pub fn g_date_time_format(datetime: *mut GDateTime, format: *const gchar) -> *mut gchar;
6286}
6287extern "C" {
6288    pub fn g_date_time_format_iso8601(datetime: *mut GDateTime) -> *mut gchar;
6289}
6290pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_INVALID_URI: GBookmarkFileError = 0;
6291pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_INVALID_VALUE: GBookmarkFileError = 1;
6292pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED: GBookmarkFileError = 2;
6293pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND: GBookmarkFileError = 3;
6294pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_READ: GBookmarkFileError = 4;
6295pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING: GBookmarkFileError = 5;
6296pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_WRITE: GBookmarkFileError = 6;
6297pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND: GBookmarkFileError = 7;
6298pub type GBookmarkFileError = ::std::os::raw::c_uint;
6299extern "C" {
6300    pub fn g_bookmark_file_error_quark() -> GQuark;
6301}
6302#[repr(C)]
6303#[derive(Debug, Copy, Clone)]
6304pub struct _GBookmarkFile {
6305    _unused: [u8; 0],
6306}
6307pub type GBookmarkFile = _GBookmarkFile;
6308extern "C" {
6309    pub fn g_bookmark_file_new() -> *mut GBookmarkFile;
6310}
6311extern "C" {
6312    pub fn g_bookmark_file_free(bookmark: *mut GBookmarkFile);
6313}
6314extern "C" {
6315    pub fn g_bookmark_file_copy(bookmark: *mut GBookmarkFile) -> *mut GBookmarkFile;
6316}
6317extern "C" {
6318    pub fn g_bookmark_file_load_from_file(
6319        bookmark: *mut GBookmarkFile,
6320        filename: *const gchar,
6321        error: *mut *mut GError,
6322    ) -> gboolean;
6323}
6324extern "C" {
6325    pub fn g_bookmark_file_load_from_data(
6326        bookmark: *mut GBookmarkFile,
6327        data: *const gchar,
6328        length: gsize,
6329        error: *mut *mut GError,
6330    ) -> gboolean;
6331}
6332extern "C" {
6333    pub fn g_bookmark_file_load_from_data_dirs(
6334        bookmark: *mut GBookmarkFile,
6335        file: *const gchar,
6336        full_path: *mut *mut gchar,
6337        error: *mut *mut GError,
6338    ) -> gboolean;
6339}
6340extern "C" {
6341    pub fn g_bookmark_file_to_data(
6342        bookmark: *mut GBookmarkFile,
6343        length: *mut gsize,
6344        error: *mut *mut GError,
6345    ) -> *mut gchar;
6346}
6347extern "C" {
6348    pub fn g_bookmark_file_to_file(
6349        bookmark: *mut GBookmarkFile,
6350        filename: *const gchar,
6351        error: *mut *mut GError,
6352    ) -> gboolean;
6353}
6354extern "C" {
6355    pub fn g_bookmark_file_set_title(
6356        bookmark: *mut GBookmarkFile,
6357        uri: *const gchar,
6358        title: *const gchar,
6359    );
6360}
6361extern "C" {
6362    pub fn g_bookmark_file_get_title(
6363        bookmark: *mut GBookmarkFile,
6364        uri: *const gchar,
6365        error: *mut *mut GError,
6366    ) -> *mut gchar;
6367}
6368extern "C" {
6369    pub fn g_bookmark_file_set_description(
6370        bookmark: *mut GBookmarkFile,
6371        uri: *const gchar,
6372        description: *const gchar,
6373    );
6374}
6375extern "C" {
6376    pub fn g_bookmark_file_get_description(
6377        bookmark: *mut GBookmarkFile,
6378        uri: *const gchar,
6379        error: *mut *mut GError,
6380    ) -> *mut gchar;
6381}
6382extern "C" {
6383    pub fn g_bookmark_file_set_mime_type(
6384        bookmark: *mut GBookmarkFile,
6385        uri: *const gchar,
6386        mime_type: *const gchar,
6387    );
6388}
6389extern "C" {
6390    pub fn g_bookmark_file_get_mime_type(
6391        bookmark: *mut GBookmarkFile,
6392        uri: *const gchar,
6393        error: *mut *mut GError,
6394    ) -> *mut gchar;
6395}
6396extern "C" {
6397    pub fn g_bookmark_file_set_groups(
6398        bookmark: *mut GBookmarkFile,
6399        uri: *const gchar,
6400        groups: *mut *const gchar,
6401        length: gsize,
6402    );
6403}
6404extern "C" {
6405    pub fn g_bookmark_file_add_group(
6406        bookmark: *mut GBookmarkFile,
6407        uri: *const gchar,
6408        group: *const gchar,
6409    );
6410}
6411extern "C" {
6412    pub fn g_bookmark_file_has_group(
6413        bookmark: *mut GBookmarkFile,
6414        uri: *const gchar,
6415        group: *const gchar,
6416        error: *mut *mut GError,
6417    ) -> gboolean;
6418}
6419extern "C" {
6420    pub fn g_bookmark_file_get_groups(
6421        bookmark: *mut GBookmarkFile,
6422        uri: *const gchar,
6423        length: *mut gsize,
6424        error: *mut *mut GError,
6425    ) -> *mut *mut gchar;
6426}
6427extern "C" {
6428    pub fn g_bookmark_file_add_application(
6429        bookmark: *mut GBookmarkFile,
6430        uri: *const gchar,
6431        name: *const gchar,
6432        exec: *const gchar,
6433    );
6434}
6435extern "C" {
6436    pub fn g_bookmark_file_has_application(
6437        bookmark: *mut GBookmarkFile,
6438        uri: *const gchar,
6439        name: *const gchar,
6440        error: *mut *mut GError,
6441    ) -> gboolean;
6442}
6443extern "C" {
6444    pub fn g_bookmark_file_get_applications(
6445        bookmark: *mut GBookmarkFile,
6446        uri: *const gchar,
6447        length: *mut gsize,
6448        error: *mut *mut GError,
6449    ) -> *mut *mut gchar;
6450}
6451extern "C" {
6452    pub fn g_bookmark_file_set_app_info(
6453        bookmark: *mut GBookmarkFile,
6454        uri: *const gchar,
6455        name: *const gchar,
6456        exec: *const gchar,
6457        count: gint,
6458        stamp: time_t,
6459        error: *mut *mut GError,
6460    ) -> gboolean;
6461}
6462extern "C" {
6463    pub fn g_bookmark_file_set_application_info(
6464        bookmark: *mut GBookmarkFile,
6465        uri: *const ::std::os::raw::c_char,
6466        name: *const ::std::os::raw::c_char,
6467        exec: *const ::std::os::raw::c_char,
6468        count: ::std::os::raw::c_int,
6469        stamp: *mut GDateTime,
6470        error: *mut *mut GError,
6471    ) -> gboolean;
6472}
6473extern "C" {
6474    pub fn g_bookmark_file_get_app_info(
6475        bookmark: *mut GBookmarkFile,
6476        uri: *const gchar,
6477        name: *const gchar,
6478        exec: *mut *mut gchar,
6479        count: *mut guint,
6480        stamp: *mut time_t,
6481        error: *mut *mut GError,
6482    ) -> gboolean;
6483}
6484extern "C" {
6485    pub fn g_bookmark_file_get_application_info(
6486        bookmark: *mut GBookmarkFile,
6487        uri: *const ::std::os::raw::c_char,
6488        name: *const ::std::os::raw::c_char,
6489        exec: *mut *mut ::std::os::raw::c_char,
6490        count: *mut ::std::os::raw::c_uint,
6491        stamp: *mut *mut GDateTime,
6492        error: *mut *mut GError,
6493    ) -> gboolean;
6494}
6495extern "C" {
6496    pub fn g_bookmark_file_set_is_private(
6497        bookmark: *mut GBookmarkFile,
6498        uri: *const gchar,
6499        is_private: gboolean,
6500    );
6501}
6502extern "C" {
6503    pub fn g_bookmark_file_get_is_private(
6504        bookmark: *mut GBookmarkFile,
6505        uri: *const gchar,
6506        error: *mut *mut GError,
6507    ) -> gboolean;
6508}
6509extern "C" {
6510    pub fn g_bookmark_file_set_icon(
6511        bookmark: *mut GBookmarkFile,
6512        uri: *const gchar,
6513        href: *const gchar,
6514        mime_type: *const gchar,
6515    );
6516}
6517extern "C" {
6518    pub fn g_bookmark_file_get_icon(
6519        bookmark: *mut GBookmarkFile,
6520        uri: *const gchar,
6521        href: *mut *mut gchar,
6522        mime_type: *mut *mut gchar,
6523        error: *mut *mut GError,
6524    ) -> gboolean;
6525}
6526extern "C" {
6527    pub fn g_bookmark_file_set_added(
6528        bookmark: *mut GBookmarkFile,
6529        uri: *const gchar,
6530        added: time_t,
6531    );
6532}
6533extern "C" {
6534    pub fn g_bookmark_file_set_added_date_time(
6535        bookmark: *mut GBookmarkFile,
6536        uri: *const ::std::os::raw::c_char,
6537        added: *mut GDateTime,
6538    );
6539}
6540extern "C" {
6541    pub fn g_bookmark_file_get_added(
6542        bookmark: *mut GBookmarkFile,
6543        uri: *const gchar,
6544        error: *mut *mut GError,
6545    ) -> time_t;
6546}
6547extern "C" {
6548    pub fn g_bookmark_file_get_added_date_time(
6549        bookmark: *mut GBookmarkFile,
6550        uri: *const ::std::os::raw::c_char,
6551        error: *mut *mut GError,
6552    ) -> *mut GDateTime;
6553}
6554extern "C" {
6555    pub fn g_bookmark_file_set_modified(
6556        bookmark: *mut GBookmarkFile,
6557        uri: *const gchar,
6558        modified: time_t,
6559    );
6560}
6561extern "C" {
6562    pub fn g_bookmark_file_set_modified_date_time(
6563        bookmark: *mut GBookmarkFile,
6564        uri: *const ::std::os::raw::c_char,
6565        modified: *mut GDateTime,
6566    );
6567}
6568extern "C" {
6569    pub fn g_bookmark_file_get_modified(
6570        bookmark: *mut GBookmarkFile,
6571        uri: *const gchar,
6572        error: *mut *mut GError,
6573    ) -> time_t;
6574}
6575extern "C" {
6576    pub fn g_bookmark_file_get_modified_date_time(
6577        bookmark: *mut GBookmarkFile,
6578        uri: *const ::std::os::raw::c_char,
6579        error: *mut *mut GError,
6580    ) -> *mut GDateTime;
6581}
6582extern "C" {
6583    pub fn g_bookmark_file_set_visited(
6584        bookmark: *mut GBookmarkFile,
6585        uri: *const gchar,
6586        visited: time_t,
6587    );
6588}
6589extern "C" {
6590    pub fn g_bookmark_file_set_visited_date_time(
6591        bookmark: *mut GBookmarkFile,
6592        uri: *const ::std::os::raw::c_char,
6593        visited: *mut GDateTime,
6594    );
6595}
6596extern "C" {
6597    pub fn g_bookmark_file_get_visited(
6598        bookmark: *mut GBookmarkFile,
6599        uri: *const gchar,
6600        error: *mut *mut GError,
6601    ) -> time_t;
6602}
6603extern "C" {
6604    pub fn g_bookmark_file_get_visited_date_time(
6605        bookmark: *mut GBookmarkFile,
6606        uri: *const ::std::os::raw::c_char,
6607        error: *mut *mut GError,
6608    ) -> *mut GDateTime;
6609}
6610extern "C" {
6611    pub fn g_bookmark_file_has_item(bookmark: *mut GBookmarkFile, uri: *const gchar) -> gboolean;
6612}
6613extern "C" {
6614    pub fn g_bookmark_file_get_size(bookmark: *mut GBookmarkFile) -> gint;
6615}
6616extern "C" {
6617    pub fn g_bookmark_file_get_uris(
6618        bookmark: *mut GBookmarkFile,
6619        length: *mut gsize,
6620    ) -> *mut *mut gchar;
6621}
6622extern "C" {
6623    pub fn g_bookmark_file_remove_group(
6624        bookmark: *mut GBookmarkFile,
6625        uri: *const gchar,
6626        group: *const gchar,
6627        error: *mut *mut GError,
6628    ) -> gboolean;
6629}
6630extern "C" {
6631    pub fn g_bookmark_file_remove_application(
6632        bookmark: *mut GBookmarkFile,
6633        uri: *const gchar,
6634        name: *const gchar,
6635        error: *mut *mut GError,
6636    ) -> gboolean;
6637}
6638extern "C" {
6639    pub fn g_bookmark_file_remove_item(
6640        bookmark: *mut GBookmarkFile,
6641        uri: *const gchar,
6642        error: *mut *mut GError,
6643    ) -> gboolean;
6644}
6645extern "C" {
6646    pub fn g_bookmark_file_move_item(
6647        bookmark: *mut GBookmarkFile,
6648        old_uri: *const gchar,
6649        new_uri: *const gchar,
6650        error: *mut *mut GError,
6651    ) -> gboolean;
6652}
6653extern "C" {
6654    pub fn g_bytes_new(data: gconstpointer, size: gsize) -> *mut GBytes;
6655}
6656extern "C" {
6657    pub fn g_bytes_new_take(data: gpointer, size: gsize) -> *mut GBytes;
6658}
6659extern "C" {
6660    pub fn g_bytes_new_static(data: gconstpointer, size: gsize) -> *mut GBytes;
6661}
6662extern "C" {
6663    pub fn g_bytes_new_with_free_func(
6664        data: gconstpointer,
6665        size: gsize,
6666        free_func: GDestroyNotify,
6667        user_data: gpointer,
6668    ) -> *mut GBytes;
6669}
6670extern "C" {
6671    pub fn g_bytes_new_from_bytes(bytes: *mut GBytes, offset: gsize, length: gsize) -> *mut GBytes;
6672}
6673extern "C" {
6674    pub fn g_bytes_get_data(bytes: *mut GBytes, size: *mut gsize) -> gconstpointer;
6675}
6676extern "C" {
6677    pub fn g_bytes_get_size(bytes: *mut GBytes) -> gsize;
6678}
6679extern "C" {
6680    pub fn g_bytes_ref(bytes: *mut GBytes) -> *mut GBytes;
6681}
6682extern "C" {
6683    pub fn g_bytes_unref(bytes: *mut GBytes);
6684}
6685extern "C" {
6686    pub fn g_bytes_unref_to_data(bytes: *mut GBytes, size: *mut gsize) -> gpointer;
6687}
6688extern "C" {
6689    pub fn g_bytes_unref_to_array(bytes: *mut GBytes) -> *mut GByteArray;
6690}
6691extern "C" {
6692    pub fn g_bytes_hash(bytes: gconstpointer) -> guint;
6693}
6694extern "C" {
6695    pub fn g_bytes_equal(bytes1: gconstpointer, bytes2: gconstpointer) -> gboolean;
6696}
6697extern "C" {
6698    pub fn g_bytes_compare(bytes1: gconstpointer, bytes2: gconstpointer) -> gint;
6699}
6700extern "C" {
6701    pub fn g_bytes_get_region(
6702        bytes: *mut GBytes,
6703        element_size: gsize,
6704        offset: gsize,
6705        n_elements: gsize,
6706    ) -> gconstpointer;
6707}
6708extern "C" {
6709    pub fn g_get_charset(charset: *mut *const ::std::os::raw::c_char) -> gboolean;
6710}
6711extern "C" {
6712    pub fn g_get_codeset() -> *mut gchar;
6713}
6714extern "C" {
6715    pub fn g_get_console_charset(charset: *mut *const ::std::os::raw::c_char) -> gboolean;
6716}
6717extern "C" {
6718    pub fn g_get_language_names() -> *const *const gchar;
6719}
6720extern "C" {
6721    pub fn g_get_language_names_with_category(category_name: *const gchar) -> *const *const gchar;
6722}
6723extern "C" {
6724    pub fn g_get_locale_variants(locale: *const gchar) -> *mut *mut gchar;
6725}
6726pub const GChecksumType_G_CHECKSUM_MD5: GChecksumType = 0;
6727pub const GChecksumType_G_CHECKSUM_SHA1: GChecksumType = 1;
6728pub const GChecksumType_G_CHECKSUM_SHA256: GChecksumType = 2;
6729pub const GChecksumType_G_CHECKSUM_SHA512: GChecksumType = 3;
6730pub const GChecksumType_G_CHECKSUM_SHA384: GChecksumType = 4;
6731pub type GChecksumType = ::std::os::raw::c_uint;
6732#[repr(C)]
6733#[derive(Debug, Copy, Clone)]
6734pub struct _GChecksum {
6735    _unused: [u8; 0],
6736}
6737pub type GChecksum = _GChecksum;
6738extern "C" {
6739    pub fn g_checksum_type_get_length(checksum_type: GChecksumType) -> gssize;
6740}
6741extern "C" {
6742    pub fn g_checksum_new(checksum_type: GChecksumType) -> *mut GChecksum;
6743}
6744extern "C" {
6745    pub fn g_checksum_reset(checksum: *mut GChecksum);
6746}
6747extern "C" {
6748    pub fn g_checksum_copy(checksum: *const GChecksum) -> *mut GChecksum;
6749}
6750extern "C" {
6751    pub fn g_checksum_free(checksum: *mut GChecksum);
6752}
6753extern "C" {
6754    pub fn g_checksum_update(checksum: *mut GChecksum, data: *const guchar, length: gssize);
6755}
6756extern "C" {
6757    pub fn g_checksum_get_string(checksum: *mut GChecksum) -> *const gchar;
6758}
6759extern "C" {
6760    pub fn g_checksum_get_digest(
6761        checksum: *mut GChecksum,
6762        buffer: *mut guint8,
6763        digest_len: *mut gsize,
6764    );
6765}
6766extern "C" {
6767    pub fn g_compute_checksum_for_data(
6768        checksum_type: GChecksumType,
6769        data: *const guchar,
6770        length: gsize,
6771    ) -> *mut gchar;
6772}
6773extern "C" {
6774    pub fn g_compute_checksum_for_string(
6775        checksum_type: GChecksumType,
6776        str_: *const gchar,
6777        length: gssize,
6778    ) -> *mut gchar;
6779}
6780extern "C" {
6781    pub fn g_compute_checksum_for_bytes(
6782        checksum_type: GChecksumType,
6783        data: *mut GBytes,
6784    ) -> *mut gchar;
6785}
6786pub const GConvertError_G_CONVERT_ERROR_NO_CONVERSION: GConvertError = 0;
6787pub const GConvertError_G_CONVERT_ERROR_ILLEGAL_SEQUENCE: GConvertError = 1;
6788pub const GConvertError_G_CONVERT_ERROR_FAILED: GConvertError = 2;
6789pub const GConvertError_G_CONVERT_ERROR_PARTIAL_INPUT: GConvertError = 3;
6790pub const GConvertError_G_CONVERT_ERROR_BAD_URI: GConvertError = 4;
6791pub const GConvertError_G_CONVERT_ERROR_NOT_ABSOLUTE_PATH: GConvertError = 5;
6792pub const GConvertError_G_CONVERT_ERROR_NO_MEMORY: GConvertError = 6;
6793pub const GConvertError_G_CONVERT_ERROR_EMBEDDED_NUL: GConvertError = 7;
6794pub type GConvertError = ::std::os::raw::c_uint;
6795extern "C" {
6796    pub fn g_convert_error_quark() -> GQuark;
6797}
6798#[repr(C)]
6799#[derive(Debug, Copy, Clone)]
6800pub struct _GIConv {
6801    _unused: [u8; 0],
6802}
6803pub type GIConv = *mut _GIConv;
6804extern "C" {
6805    pub fn g_iconv_open(to_codeset: *const gchar, from_codeset: *const gchar) -> GIConv;
6806}
6807extern "C" {
6808    pub fn g_iconv(
6809        converter: GIConv,
6810        inbuf: *mut *mut gchar,
6811        inbytes_left: *mut gsize,
6812        outbuf: *mut *mut gchar,
6813        outbytes_left: *mut gsize,
6814    ) -> gsize;
6815}
6816extern "C" {
6817    pub fn g_iconv_close(converter: GIConv) -> gint;
6818}
6819extern "C" {
6820    pub fn g_convert(
6821        str_: *const gchar,
6822        len: gssize,
6823        to_codeset: *const gchar,
6824        from_codeset: *const gchar,
6825        bytes_read: *mut gsize,
6826        bytes_written: *mut gsize,
6827        error: *mut *mut GError,
6828    ) -> *mut gchar;
6829}
6830extern "C" {
6831    pub fn g_convert_with_iconv(
6832        str_: *const gchar,
6833        len: gssize,
6834        converter: GIConv,
6835        bytes_read: *mut gsize,
6836        bytes_written: *mut gsize,
6837        error: *mut *mut GError,
6838    ) -> *mut gchar;
6839}
6840extern "C" {
6841    pub fn g_convert_with_fallback(
6842        str_: *const gchar,
6843        len: gssize,
6844        to_codeset: *const gchar,
6845        from_codeset: *const gchar,
6846        fallback: *const gchar,
6847        bytes_read: *mut gsize,
6848        bytes_written: *mut gsize,
6849        error: *mut *mut GError,
6850    ) -> *mut gchar;
6851}
6852extern "C" {
6853    pub fn g_locale_to_utf8(
6854        opsysstring: *const gchar,
6855        len: gssize,
6856        bytes_read: *mut gsize,
6857        bytes_written: *mut gsize,
6858        error: *mut *mut GError,
6859    ) -> *mut gchar;
6860}
6861extern "C" {
6862    pub fn g_locale_from_utf8(
6863        utf8string: *const gchar,
6864        len: gssize,
6865        bytes_read: *mut gsize,
6866        bytes_written: *mut gsize,
6867        error: *mut *mut GError,
6868    ) -> *mut gchar;
6869}
6870extern "C" {
6871    pub fn g_filename_to_utf8(
6872        opsysstring: *const gchar,
6873        len: gssize,
6874        bytes_read: *mut gsize,
6875        bytes_written: *mut gsize,
6876        error: *mut *mut GError,
6877    ) -> *mut gchar;
6878}
6879extern "C" {
6880    pub fn g_filename_from_utf8(
6881        utf8string: *const gchar,
6882        len: gssize,
6883        bytes_read: *mut gsize,
6884        bytes_written: *mut gsize,
6885        error: *mut *mut GError,
6886    ) -> *mut gchar;
6887}
6888extern "C" {
6889    pub fn g_filename_from_uri(
6890        uri: *const gchar,
6891        hostname: *mut *mut gchar,
6892        error: *mut *mut GError,
6893    ) -> *mut gchar;
6894}
6895extern "C" {
6896    pub fn g_filename_to_uri(
6897        filename: *const gchar,
6898        hostname: *const gchar,
6899        error: *mut *mut GError,
6900    ) -> *mut gchar;
6901}
6902extern "C" {
6903    pub fn g_filename_display_name(filename: *const gchar) -> *mut gchar;
6904}
6905extern "C" {
6906    pub fn g_get_filename_charsets(filename_charsets: *mut *mut *const gchar) -> gboolean;
6907}
6908extern "C" {
6909    pub fn g_filename_display_basename(filename: *const gchar) -> *mut gchar;
6910}
6911extern "C" {
6912    pub fn g_uri_list_extract_uris(uri_list: *const gchar) -> *mut *mut gchar;
6913}
6914#[repr(C)]
6915#[derive(Debug, Copy, Clone)]
6916pub struct _GData {
6917    _unused: [u8; 0],
6918}
6919pub type GData = _GData;
6920pub type GDataForeachFunc = ::std::option::Option<
6921    unsafe extern "C" fn(key_id: GQuark, data: gpointer, user_data: gpointer),
6922>;
6923extern "C" {
6924    pub fn g_datalist_init(datalist: *mut *mut GData);
6925}
6926extern "C" {
6927    pub fn g_datalist_clear(datalist: *mut *mut GData);
6928}
6929extern "C" {
6930    pub fn g_datalist_id_get_data(datalist: *mut *mut GData, key_id: GQuark) -> gpointer;
6931}
6932extern "C" {
6933    pub fn g_datalist_id_set_data_full(
6934        datalist: *mut *mut GData,
6935        key_id: GQuark,
6936        data: gpointer,
6937        destroy_func: GDestroyNotify,
6938    );
6939}
6940extern "C" {
6941    pub fn g_datalist_id_remove_multiple(
6942        datalist: *mut *mut GData,
6943        keys: *mut GQuark,
6944        n_keys: gsize,
6945    );
6946}
6947pub type GDuplicateFunc =
6948    ::std::option::Option<unsafe extern "C" fn(data: gpointer, user_data: gpointer) -> gpointer>;
6949extern "C" {
6950    pub fn g_datalist_id_dup_data(
6951        datalist: *mut *mut GData,
6952        key_id: GQuark,
6953        dup_func: GDuplicateFunc,
6954        user_data: gpointer,
6955    ) -> gpointer;
6956}
6957extern "C" {
6958    pub fn g_datalist_id_replace_data(
6959        datalist: *mut *mut GData,
6960        key_id: GQuark,
6961        oldval: gpointer,
6962        newval: gpointer,
6963        destroy: GDestroyNotify,
6964        old_destroy: *mut GDestroyNotify,
6965    ) -> gboolean;
6966}
6967extern "C" {
6968    pub fn g_datalist_id_remove_no_notify(datalist: *mut *mut GData, key_id: GQuark) -> gpointer;
6969}
6970extern "C" {
6971    pub fn g_datalist_foreach(
6972        datalist: *mut *mut GData,
6973        func: GDataForeachFunc,
6974        user_data: gpointer,
6975    );
6976}
6977extern "C" {
6978    pub fn g_datalist_set_flags(datalist: *mut *mut GData, flags: guint);
6979}
6980extern "C" {
6981    pub fn g_datalist_unset_flags(datalist: *mut *mut GData, flags: guint);
6982}
6983extern "C" {
6984    pub fn g_datalist_get_flags(datalist: *mut *mut GData) -> guint;
6985}
6986extern "C" {
6987    pub fn g_dataset_destroy(dataset_location: gconstpointer);
6988}
6989extern "C" {
6990    pub fn g_dataset_id_get_data(dataset_location: gconstpointer, key_id: GQuark) -> gpointer;
6991}
6992extern "C" {
6993    pub fn g_datalist_get_data(datalist: *mut *mut GData, key: *const gchar) -> gpointer;
6994}
6995extern "C" {
6996    pub fn g_dataset_id_set_data_full(
6997        dataset_location: gconstpointer,
6998        key_id: GQuark,
6999        data: gpointer,
7000        destroy_func: GDestroyNotify,
7001    );
7002}
7003extern "C" {
7004    pub fn g_dataset_id_remove_no_notify(
7005        dataset_location: gconstpointer,
7006        key_id: GQuark,
7007    ) -> gpointer;
7008}
7009extern "C" {
7010    pub fn g_dataset_foreach(
7011        dataset_location: gconstpointer,
7012        func: GDataForeachFunc,
7013        user_data: gpointer,
7014    );
7015}
7016pub type GTime = gint32;
7017pub type GDateYear = guint16;
7018pub type GDateDay = guint8;
7019pub type GDate = _GDate;
7020pub const GDateDMY_G_DATE_DAY: GDateDMY = 0;
7021pub const GDateDMY_G_DATE_MONTH: GDateDMY = 1;
7022pub const GDateDMY_G_DATE_YEAR: GDateDMY = 2;
7023pub type GDateDMY = ::std::os::raw::c_uint;
7024pub const GDateWeekday_G_DATE_BAD_WEEKDAY: GDateWeekday = 0;
7025pub const GDateWeekday_G_DATE_MONDAY: GDateWeekday = 1;
7026pub const GDateWeekday_G_DATE_TUESDAY: GDateWeekday = 2;
7027pub const GDateWeekday_G_DATE_WEDNESDAY: GDateWeekday = 3;
7028pub const GDateWeekday_G_DATE_THURSDAY: GDateWeekday = 4;
7029pub const GDateWeekday_G_DATE_FRIDAY: GDateWeekday = 5;
7030pub const GDateWeekday_G_DATE_SATURDAY: GDateWeekday = 6;
7031pub const GDateWeekday_G_DATE_SUNDAY: GDateWeekday = 7;
7032pub type GDateWeekday = ::std::os::raw::c_uint;
7033pub const GDateMonth_G_DATE_BAD_MONTH: GDateMonth = 0;
7034pub const GDateMonth_G_DATE_JANUARY: GDateMonth = 1;
7035pub const GDateMonth_G_DATE_FEBRUARY: GDateMonth = 2;
7036pub const GDateMonth_G_DATE_MARCH: GDateMonth = 3;
7037pub const GDateMonth_G_DATE_APRIL: GDateMonth = 4;
7038pub const GDateMonth_G_DATE_MAY: GDateMonth = 5;
7039pub const GDateMonth_G_DATE_JUNE: GDateMonth = 6;
7040pub const GDateMonth_G_DATE_JULY: GDateMonth = 7;
7041pub const GDateMonth_G_DATE_AUGUST: GDateMonth = 8;
7042pub const GDateMonth_G_DATE_SEPTEMBER: GDateMonth = 9;
7043pub const GDateMonth_G_DATE_OCTOBER: GDateMonth = 10;
7044pub const GDateMonth_G_DATE_NOVEMBER: GDateMonth = 11;
7045pub const GDateMonth_G_DATE_DECEMBER: GDateMonth = 12;
7046pub type GDateMonth = ::std::os::raw::c_uint;
7047#[repr(C)]
7048#[repr(align(4))]
7049#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7050pub struct _GDate {
7051    pub _bitfield_align_1: [u32; 0],
7052    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
7053}
7054#[test]
7055fn bindgen_test_layout__GDate() {
7056    assert_eq!(
7057        ::std::mem::size_of::<_GDate>(),
7058        8usize,
7059        concat!("Size of: ", stringify!(_GDate))
7060    );
7061    assert_eq!(
7062        ::std::mem::align_of::<_GDate>(),
7063        4usize,
7064        concat!("Alignment of ", stringify!(_GDate))
7065    );
7066}
7067impl _GDate {
7068    #[inline]
7069    pub fn julian_days(&self) -> guint {
7070        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 32u8) as u32) }
7071    }
7072    #[inline]
7073    pub fn set_julian_days(&mut self, val: guint) {
7074        unsafe {
7075            let val: u32 = ::std::mem::transmute(val);
7076            self._bitfield_1.set(0usize, 32u8, val as u64)
7077        }
7078    }
7079    #[inline]
7080    pub fn julian(&self) -> guint {
7081        unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 1u8) as u32) }
7082    }
7083    #[inline]
7084    pub fn set_julian(&mut self, val: guint) {
7085        unsafe {
7086            let val: u32 = ::std::mem::transmute(val);
7087            self._bitfield_1.set(32usize, 1u8, val as u64)
7088        }
7089    }
7090    #[inline]
7091    pub fn dmy(&self) -> guint {
7092        unsafe { ::std::mem::transmute(self._bitfield_1.get(33usize, 1u8) as u32) }
7093    }
7094    #[inline]
7095    pub fn set_dmy(&mut self, val: guint) {
7096        unsafe {
7097            let val: u32 = ::std::mem::transmute(val);
7098            self._bitfield_1.set(33usize, 1u8, val as u64)
7099        }
7100    }
7101    #[inline]
7102    pub fn day(&self) -> guint {
7103        unsafe { ::std::mem::transmute(self._bitfield_1.get(34usize, 6u8) as u32) }
7104    }
7105    #[inline]
7106    pub fn set_day(&mut self, val: guint) {
7107        unsafe {
7108            let val: u32 = ::std::mem::transmute(val);
7109            self._bitfield_1.set(34usize, 6u8, val as u64)
7110        }
7111    }
7112    #[inline]
7113    pub fn month(&self) -> guint {
7114        unsafe { ::std::mem::transmute(self._bitfield_1.get(40usize, 4u8) as u32) }
7115    }
7116    #[inline]
7117    pub fn set_month(&mut self, val: guint) {
7118        unsafe {
7119            let val: u32 = ::std::mem::transmute(val);
7120            self._bitfield_1.set(40usize, 4u8, val as u64)
7121        }
7122    }
7123    #[inline]
7124    pub fn year(&self) -> guint {
7125        unsafe { ::std::mem::transmute(self._bitfield_1.get(44usize, 16u8) as u32) }
7126    }
7127    #[inline]
7128    pub fn set_year(&mut self, val: guint) {
7129        unsafe {
7130            let val: u32 = ::std::mem::transmute(val);
7131            self._bitfield_1.set(44usize, 16u8, val as u64)
7132        }
7133    }
7134    #[inline]
7135    pub fn new_bitfield_1(
7136        julian_days: guint,
7137        julian: guint,
7138        dmy: guint,
7139        day: guint,
7140        month: guint,
7141        year: guint,
7142    ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
7143        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
7144        __bindgen_bitfield_unit.set(0usize, 32u8, {
7145            let julian_days: u32 = unsafe { ::std::mem::transmute(julian_days) };
7146            julian_days as u64
7147        });
7148        __bindgen_bitfield_unit.set(32usize, 1u8, {
7149            let julian: u32 = unsafe { ::std::mem::transmute(julian) };
7150            julian as u64
7151        });
7152        __bindgen_bitfield_unit.set(33usize, 1u8, {
7153            let dmy: u32 = unsafe { ::std::mem::transmute(dmy) };
7154            dmy as u64
7155        });
7156        __bindgen_bitfield_unit.set(34usize, 6u8, {
7157            let day: u32 = unsafe { ::std::mem::transmute(day) };
7158            day as u64
7159        });
7160        __bindgen_bitfield_unit.set(40usize, 4u8, {
7161            let month: u32 = unsafe { ::std::mem::transmute(month) };
7162            month as u64
7163        });
7164        __bindgen_bitfield_unit.set(44usize, 16u8, {
7165            let year: u32 = unsafe { ::std::mem::transmute(year) };
7166            year as u64
7167        });
7168        __bindgen_bitfield_unit
7169    }
7170}
7171extern "C" {
7172    pub fn g_date_new() -> *mut GDate;
7173}
7174extern "C" {
7175    pub fn g_date_new_dmy(day: GDateDay, month: GDateMonth, year: GDateYear) -> *mut GDate;
7176}
7177extern "C" {
7178    pub fn g_date_new_julian(julian_day: guint32) -> *mut GDate;
7179}
7180extern "C" {
7181    pub fn g_date_free(date: *mut GDate);
7182}
7183extern "C" {
7184    pub fn g_date_copy(date: *const GDate) -> *mut GDate;
7185}
7186extern "C" {
7187    pub fn g_date_valid(date: *const GDate) -> gboolean;
7188}
7189extern "C" {
7190    pub fn g_date_valid_day(day: GDateDay) -> gboolean;
7191}
7192extern "C" {
7193    pub fn g_date_valid_month(month: GDateMonth) -> gboolean;
7194}
7195extern "C" {
7196    pub fn g_date_valid_year(year: GDateYear) -> gboolean;
7197}
7198extern "C" {
7199    pub fn g_date_valid_weekday(weekday: GDateWeekday) -> gboolean;
7200}
7201extern "C" {
7202    pub fn g_date_valid_julian(julian_date: guint32) -> gboolean;
7203}
7204extern "C" {
7205    pub fn g_date_valid_dmy(day: GDateDay, month: GDateMonth, year: GDateYear) -> gboolean;
7206}
7207extern "C" {
7208    pub fn g_date_get_weekday(date: *const GDate) -> GDateWeekday;
7209}
7210extern "C" {
7211    pub fn g_date_get_month(date: *const GDate) -> GDateMonth;
7212}
7213extern "C" {
7214    pub fn g_date_get_year(date: *const GDate) -> GDateYear;
7215}
7216extern "C" {
7217    pub fn g_date_get_day(date: *const GDate) -> GDateDay;
7218}
7219extern "C" {
7220    pub fn g_date_get_julian(date: *const GDate) -> guint32;
7221}
7222extern "C" {
7223    pub fn g_date_get_day_of_year(date: *const GDate) -> guint;
7224}
7225extern "C" {
7226    pub fn g_date_get_monday_week_of_year(date: *const GDate) -> guint;
7227}
7228extern "C" {
7229    pub fn g_date_get_sunday_week_of_year(date: *const GDate) -> guint;
7230}
7231extern "C" {
7232    pub fn g_date_get_iso8601_week_of_year(date: *const GDate) -> guint;
7233}
7234extern "C" {
7235    pub fn g_date_clear(date: *mut GDate, n_dates: guint);
7236}
7237extern "C" {
7238    pub fn g_date_set_parse(date: *mut GDate, str_: *const gchar);
7239}
7240extern "C" {
7241    pub fn g_date_set_time_t(date: *mut GDate, timet: time_t);
7242}
7243extern "C" {
7244    pub fn g_date_set_time_val(date: *mut GDate, timeval: *mut GTimeVal);
7245}
7246extern "C" {
7247    pub fn g_date_set_time(date: *mut GDate, time_: GTime);
7248}
7249extern "C" {
7250    pub fn g_date_set_month(date: *mut GDate, month: GDateMonth);
7251}
7252extern "C" {
7253    pub fn g_date_set_day(date: *mut GDate, day: GDateDay);
7254}
7255extern "C" {
7256    pub fn g_date_set_year(date: *mut GDate, year: GDateYear);
7257}
7258extern "C" {
7259    pub fn g_date_set_dmy(date: *mut GDate, day: GDateDay, month: GDateMonth, y: GDateYear);
7260}
7261extern "C" {
7262    pub fn g_date_set_julian(date: *mut GDate, julian_date: guint32);
7263}
7264extern "C" {
7265    pub fn g_date_is_first_of_month(date: *const GDate) -> gboolean;
7266}
7267extern "C" {
7268    pub fn g_date_is_last_of_month(date: *const GDate) -> gboolean;
7269}
7270extern "C" {
7271    pub fn g_date_add_days(date: *mut GDate, n_days: guint);
7272}
7273extern "C" {
7274    pub fn g_date_subtract_days(date: *mut GDate, n_days: guint);
7275}
7276extern "C" {
7277    pub fn g_date_add_months(date: *mut GDate, n_months: guint);
7278}
7279extern "C" {
7280    pub fn g_date_subtract_months(date: *mut GDate, n_months: guint);
7281}
7282extern "C" {
7283    pub fn g_date_add_years(date: *mut GDate, n_years: guint);
7284}
7285extern "C" {
7286    pub fn g_date_subtract_years(date: *mut GDate, n_years: guint);
7287}
7288extern "C" {
7289    pub fn g_date_is_leap_year(year: GDateYear) -> gboolean;
7290}
7291extern "C" {
7292    pub fn g_date_get_days_in_month(month: GDateMonth, year: GDateYear) -> guint8;
7293}
7294extern "C" {
7295    pub fn g_date_get_monday_weeks_in_year(year: GDateYear) -> guint8;
7296}
7297extern "C" {
7298    pub fn g_date_get_sunday_weeks_in_year(year: GDateYear) -> guint8;
7299}
7300extern "C" {
7301    pub fn g_date_days_between(date1: *const GDate, date2: *const GDate) -> gint;
7302}
7303extern "C" {
7304    pub fn g_date_compare(lhs: *const GDate, rhs: *const GDate) -> gint;
7305}
7306extern "C" {
7307    pub fn g_date_to_struct_tm(date: *const GDate, tm: *mut tm);
7308}
7309extern "C" {
7310    pub fn g_date_clamp(date: *mut GDate, min_date: *const GDate, max_date: *const GDate);
7311}
7312extern "C" {
7313    pub fn g_date_order(date1: *mut GDate, date2: *mut GDate);
7314}
7315extern "C" {
7316    pub fn g_date_strftime(
7317        s: *mut gchar,
7318        slen: gsize,
7319        format: *const gchar,
7320        date: *const GDate,
7321    ) -> gsize;
7322}
7323pub type off_t = ::std::os::raw::c_long;
7324pub type ino_t = ::std::os::raw::c_ulong;
7325#[repr(C)]
7326#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7327pub struct dirent {
7328    pub d_ino: ino_t,
7329    pub d_off: off_t,
7330    pub d_reclen: ::std::os::raw::c_ushort,
7331    pub d_type: ::std::os::raw::c_uchar,
7332    pub d_name: [::std::os::raw::c_char; 256usize],
7333}
7334#[test]
7335fn bindgen_test_layout_dirent() {
7336    const UNINIT: ::std::mem::MaybeUninit<dirent> = ::std::mem::MaybeUninit::uninit();
7337    let ptr = UNINIT.as_ptr();
7338    assert_eq!(
7339        ::std::mem::size_of::<dirent>(),
7340        280usize,
7341        concat!("Size of: ", stringify!(dirent))
7342    );
7343    assert_eq!(
7344        ::std::mem::align_of::<dirent>(),
7345        8usize,
7346        concat!("Alignment of ", stringify!(dirent))
7347    );
7348    assert_eq!(
7349        unsafe { ::std::ptr::addr_of!((*ptr).d_ino) as usize - ptr as usize },
7350        0usize,
7351        concat!(
7352            "Offset of field: ",
7353            stringify!(dirent),
7354            "::",
7355            stringify!(d_ino)
7356        )
7357    );
7358    assert_eq!(
7359        unsafe { ::std::ptr::addr_of!((*ptr).d_off) as usize - ptr as usize },
7360        8usize,
7361        concat!(
7362            "Offset of field: ",
7363            stringify!(dirent),
7364            "::",
7365            stringify!(d_off)
7366        )
7367    );
7368    assert_eq!(
7369        unsafe { ::std::ptr::addr_of!((*ptr).d_reclen) as usize - ptr as usize },
7370        16usize,
7371        concat!(
7372            "Offset of field: ",
7373            stringify!(dirent),
7374            "::",
7375            stringify!(d_reclen)
7376        )
7377    );
7378    assert_eq!(
7379        unsafe { ::std::ptr::addr_of!((*ptr).d_type) as usize - ptr as usize },
7380        18usize,
7381        concat!(
7382            "Offset of field: ",
7383            stringify!(dirent),
7384            "::",
7385            stringify!(d_type)
7386        )
7387    );
7388    assert_eq!(
7389        unsafe { ::std::ptr::addr_of!((*ptr).d_name) as usize - ptr as usize },
7390        19usize,
7391        concat!(
7392            "Offset of field: ",
7393            stringify!(dirent),
7394            "::",
7395            stringify!(d_name)
7396        )
7397    );
7398}
7399#[repr(C)]
7400#[derive(Debug, Copy, Clone)]
7401pub struct __dirstream {
7402    _unused: [u8; 0],
7403}
7404pub type DIR = __dirstream;
7405extern "C" {
7406    pub fn closedir(arg1: *mut DIR) -> ::std::os::raw::c_int;
7407}
7408extern "C" {
7409    pub fn fdopendir(arg1: ::std::os::raw::c_int) -> *mut DIR;
7410}
7411extern "C" {
7412    pub fn opendir(arg1: *const ::std::os::raw::c_char) -> *mut DIR;
7413}
7414extern "C" {
7415    pub fn readdir(arg1: *mut DIR) -> *mut dirent;
7416}
7417extern "C" {
7418    pub fn readdir_r(
7419        arg1: *mut DIR,
7420        arg2: *mut dirent,
7421        arg3: *mut *mut dirent,
7422    ) -> ::std::os::raw::c_int;
7423}
7424extern "C" {
7425    pub fn rewinddir(arg1: *mut DIR);
7426}
7427extern "C" {
7428    pub fn dirfd(arg1: *mut DIR) -> ::std::os::raw::c_int;
7429}
7430extern "C" {
7431    pub fn alphasort(arg1: *mut *const dirent, arg2: *mut *const dirent) -> ::std::os::raw::c_int;
7432}
7433extern "C" {
7434    pub fn scandir(
7435        arg1: *const ::std::os::raw::c_char,
7436        arg2: *mut *mut *mut dirent,
7437        arg3: ::std::option::Option<
7438            unsafe extern "C" fn(arg1: *const dirent) -> ::std::os::raw::c_int,
7439        >,
7440        arg4: ::std::option::Option<
7441            unsafe extern "C" fn(
7442                arg1: *mut *const dirent,
7443                arg2: *mut *const dirent,
7444            ) -> ::std::os::raw::c_int,
7445        >,
7446    ) -> ::std::os::raw::c_int;
7447}
7448extern "C" {
7449    pub fn seekdir(arg1: *mut DIR, arg2: ::std::os::raw::c_long);
7450}
7451extern "C" {
7452    pub fn telldir(arg1: *mut DIR) -> ::std::os::raw::c_long;
7453}
7454extern "C" {
7455    pub fn getdents(
7456        arg1: ::std::os::raw::c_int,
7457        arg2: *mut dirent,
7458        arg3: size_t,
7459    ) -> ::std::os::raw::c_int;
7460}
7461#[repr(C)]
7462#[derive(Debug, Copy, Clone)]
7463pub struct _GDir {
7464    _unused: [u8; 0],
7465}
7466pub type GDir = _GDir;
7467extern "C" {
7468    pub fn g_dir_open(path: *const gchar, flags: guint, error: *mut *mut GError) -> *mut GDir;
7469}
7470extern "C" {
7471    pub fn g_dir_read_name(dir: *mut GDir) -> *const gchar;
7472}
7473extern "C" {
7474    pub fn g_dir_rewind(dir: *mut GDir);
7475}
7476extern "C" {
7477    pub fn g_dir_close(dir: *mut GDir);
7478}
7479extern "C" {
7480    pub fn g_getenv(variable: *const gchar) -> *const gchar;
7481}
7482extern "C" {
7483    pub fn g_setenv(variable: *const gchar, value: *const gchar, overwrite: gboolean) -> gboolean;
7484}
7485extern "C" {
7486    pub fn g_unsetenv(variable: *const gchar);
7487}
7488extern "C" {
7489    pub fn g_listenv() -> *mut *mut gchar;
7490}
7491extern "C" {
7492    pub fn g_get_environ() -> *mut *mut gchar;
7493}
7494extern "C" {
7495    pub fn g_environ_getenv(envp: *mut *mut gchar, variable: *const gchar) -> *const gchar;
7496}
7497extern "C" {
7498    pub fn g_environ_setenv(
7499        envp: *mut *mut gchar,
7500        variable: *const gchar,
7501        value: *const gchar,
7502        overwrite: gboolean,
7503    ) -> *mut *mut gchar;
7504}
7505extern "C" {
7506    pub fn g_environ_unsetenv(envp: *mut *mut gchar, variable: *const gchar) -> *mut *mut gchar;
7507}
7508pub const GFileError_G_FILE_ERROR_EXIST: GFileError = 0;
7509pub const GFileError_G_FILE_ERROR_ISDIR: GFileError = 1;
7510pub const GFileError_G_FILE_ERROR_ACCES: GFileError = 2;
7511pub const GFileError_G_FILE_ERROR_NAMETOOLONG: GFileError = 3;
7512pub const GFileError_G_FILE_ERROR_NOENT: GFileError = 4;
7513pub const GFileError_G_FILE_ERROR_NOTDIR: GFileError = 5;
7514pub const GFileError_G_FILE_ERROR_NXIO: GFileError = 6;
7515pub const GFileError_G_FILE_ERROR_NODEV: GFileError = 7;
7516pub const GFileError_G_FILE_ERROR_ROFS: GFileError = 8;
7517pub const GFileError_G_FILE_ERROR_TXTBSY: GFileError = 9;
7518pub const GFileError_G_FILE_ERROR_FAULT: GFileError = 10;
7519pub const GFileError_G_FILE_ERROR_LOOP: GFileError = 11;
7520pub const GFileError_G_FILE_ERROR_NOSPC: GFileError = 12;
7521pub const GFileError_G_FILE_ERROR_NOMEM: GFileError = 13;
7522pub const GFileError_G_FILE_ERROR_MFILE: GFileError = 14;
7523pub const GFileError_G_FILE_ERROR_NFILE: GFileError = 15;
7524pub const GFileError_G_FILE_ERROR_BADF: GFileError = 16;
7525pub const GFileError_G_FILE_ERROR_INVAL: GFileError = 17;
7526pub const GFileError_G_FILE_ERROR_PIPE: GFileError = 18;
7527pub const GFileError_G_FILE_ERROR_AGAIN: GFileError = 19;
7528pub const GFileError_G_FILE_ERROR_INTR: GFileError = 20;
7529pub const GFileError_G_FILE_ERROR_IO: GFileError = 21;
7530pub const GFileError_G_FILE_ERROR_PERM: GFileError = 22;
7531pub const GFileError_G_FILE_ERROR_NOSYS: GFileError = 23;
7532pub const GFileError_G_FILE_ERROR_FAILED: GFileError = 24;
7533pub type GFileError = ::std::os::raw::c_uint;
7534pub const GFileTest_G_FILE_TEST_IS_REGULAR: GFileTest = 1;
7535pub const GFileTest_G_FILE_TEST_IS_SYMLINK: GFileTest = 2;
7536pub const GFileTest_G_FILE_TEST_IS_DIR: GFileTest = 4;
7537pub const GFileTest_G_FILE_TEST_IS_EXECUTABLE: GFileTest = 8;
7538pub const GFileTest_G_FILE_TEST_EXISTS: GFileTest = 16;
7539pub type GFileTest = ::std::os::raw::c_uint;
7540pub const GFileSetContentsFlags_G_FILE_SET_CONTENTS_NONE: GFileSetContentsFlags = 0;
7541pub const GFileSetContentsFlags_G_FILE_SET_CONTENTS_CONSISTENT: GFileSetContentsFlags = 1;
7542pub const GFileSetContentsFlags_G_FILE_SET_CONTENTS_DURABLE: GFileSetContentsFlags = 2;
7543pub const GFileSetContentsFlags_G_FILE_SET_CONTENTS_ONLY_EXISTING: GFileSetContentsFlags = 4;
7544pub type GFileSetContentsFlags = ::std::os::raw::c_uint;
7545extern "C" {
7546    pub fn g_file_error_quark() -> GQuark;
7547}
7548extern "C" {
7549    pub fn g_file_error_from_errno(err_no: gint) -> GFileError;
7550}
7551extern "C" {
7552    pub fn g_file_test(filename: *const gchar, test: GFileTest) -> gboolean;
7553}
7554extern "C" {
7555    pub fn g_file_get_contents(
7556        filename: *const gchar,
7557        contents: *mut *mut gchar,
7558        length: *mut gsize,
7559        error: *mut *mut GError,
7560    ) -> gboolean;
7561}
7562extern "C" {
7563    pub fn g_file_set_contents(
7564        filename: *const gchar,
7565        contents: *const gchar,
7566        length: gssize,
7567        error: *mut *mut GError,
7568    ) -> gboolean;
7569}
7570extern "C" {
7571    pub fn g_file_set_contents_full(
7572        filename: *const gchar,
7573        contents: *const gchar,
7574        length: gssize,
7575        flags: GFileSetContentsFlags,
7576        mode: ::std::os::raw::c_int,
7577        error: *mut *mut GError,
7578    ) -> gboolean;
7579}
7580extern "C" {
7581    pub fn g_file_read_link(filename: *const gchar, error: *mut *mut GError) -> *mut gchar;
7582}
7583extern "C" {
7584    pub fn g_mkdtemp(tmpl: *mut gchar) -> *mut gchar;
7585}
7586extern "C" {
7587    pub fn g_mkdtemp_full(tmpl: *mut gchar, mode: gint) -> *mut gchar;
7588}
7589extern "C" {
7590    pub fn g_mkstemp(tmpl: *mut gchar) -> gint;
7591}
7592extern "C" {
7593    pub fn g_mkstemp_full(tmpl: *mut gchar, flags: gint, mode: gint) -> gint;
7594}
7595extern "C" {
7596    pub fn g_file_open_tmp(
7597        tmpl: *const gchar,
7598        name_used: *mut *mut gchar,
7599        error: *mut *mut GError,
7600    ) -> gint;
7601}
7602extern "C" {
7603    pub fn g_dir_make_tmp(tmpl: *const gchar, error: *mut *mut GError) -> *mut gchar;
7604}
7605extern "C" {
7606    pub fn g_build_path(separator: *const gchar, first_element: *const gchar, ...) -> *mut gchar;
7607}
7608extern "C" {
7609    pub fn g_build_pathv(separator: *const gchar, args: *mut *mut gchar) -> *mut gchar;
7610}
7611extern "C" {
7612    pub fn g_build_filename(first_element: *const gchar, ...) -> *mut gchar;
7613}
7614extern "C" {
7615    pub fn g_build_filenamev(args: *mut *mut gchar) -> *mut gchar;
7616}
7617extern "C" {
7618    pub fn g_build_filename_valist(first_element: *const gchar, args: *mut va_list) -> *mut gchar;
7619}
7620extern "C" {
7621    pub fn g_mkdir_with_parents(pathname: *const gchar, mode: gint) -> gint;
7622}
7623extern "C" {
7624    pub fn g_path_is_absolute(file_name: *const gchar) -> gboolean;
7625}
7626extern "C" {
7627    pub fn g_path_skip_root(file_name: *const gchar) -> *const gchar;
7628}
7629extern "C" {
7630    pub fn g_basename(file_name: *const gchar) -> *const gchar;
7631}
7632extern "C" {
7633    pub fn g_get_current_dir() -> *mut gchar;
7634}
7635extern "C" {
7636    pub fn g_path_get_basename(file_name: *const gchar) -> *mut gchar;
7637}
7638extern "C" {
7639    pub fn g_path_get_dirname(file_name: *const gchar) -> *mut gchar;
7640}
7641extern "C" {
7642    pub fn g_canonicalize_filename(filename: *const gchar, relative_to: *const gchar)
7643        -> *mut gchar;
7644}
7645extern "C" {
7646    pub fn g_strip_context(msgid: *const gchar, msgval: *const gchar) -> *const gchar;
7647}
7648extern "C" {
7649    pub fn g_dgettext(domain: *const gchar, msgid: *const gchar) -> *const gchar;
7650}
7651extern "C" {
7652    pub fn g_dcgettext(domain: *const gchar, msgid: *const gchar, category: gint) -> *const gchar;
7653}
7654extern "C" {
7655    pub fn g_dngettext(
7656        domain: *const gchar,
7657        msgid: *const gchar,
7658        msgid_plural: *const gchar,
7659        n: gulong,
7660    ) -> *const gchar;
7661}
7662extern "C" {
7663    pub fn g_dpgettext(
7664        domain: *const gchar,
7665        msgctxtid: *const gchar,
7666        msgidoffset: gsize,
7667    ) -> *const gchar;
7668}
7669extern "C" {
7670    pub fn g_dpgettext2(
7671        domain: *const gchar,
7672        context: *const gchar,
7673        msgid: *const gchar,
7674    ) -> *const gchar;
7675}
7676pub type GMemVTable = _GMemVTable;
7677extern "C" {
7678    pub fn g_free(mem: gpointer);
7679}
7680extern "C" {
7681    pub fn g_free_sized(mem: gpointer, size: size_t);
7682}
7683extern "C" {
7684    pub fn g_clear_pointer(pp: *mut gpointer, destroy: GDestroyNotify);
7685}
7686extern "C" {
7687    pub fn g_malloc(n_bytes: gsize) -> gpointer;
7688}
7689extern "C" {
7690    pub fn g_malloc0(n_bytes: gsize) -> gpointer;
7691}
7692extern "C" {
7693    pub fn g_realloc(mem: gpointer, n_bytes: gsize) -> gpointer;
7694}
7695extern "C" {
7696    pub fn g_try_malloc(n_bytes: gsize) -> gpointer;
7697}
7698extern "C" {
7699    pub fn g_try_malloc0(n_bytes: gsize) -> gpointer;
7700}
7701extern "C" {
7702    pub fn g_try_realloc(mem: gpointer, n_bytes: gsize) -> gpointer;
7703}
7704extern "C" {
7705    pub fn g_malloc_n(n_blocks: gsize, n_block_bytes: gsize) -> gpointer;
7706}
7707extern "C" {
7708    pub fn g_malloc0_n(n_blocks: gsize, n_block_bytes: gsize) -> gpointer;
7709}
7710extern "C" {
7711    pub fn g_realloc_n(mem: gpointer, n_blocks: gsize, n_block_bytes: gsize) -> gpointer;
7712}
7713extern "C" {
7714    pub fn g_try_malloc_n(n_blocks: gsize, n_block_bytes: gsize) -> gpointer;
7715}
7716extern "C" {
7717    pub fn g_try_malloc0_n(n_blocks: gsize, n_block_bytes: gsize) -> gpointer;
7718}
7719extern "C" {
7720    pub fn g_try_realloc_n(mem: gpointer, n_blocks: gsize, n_block_bytes: gsize) -> gpointer;
7721}
7722extern "C" {
7723    pub fn g_aligned_alloc(n_blocks: gsize, n_block_bytes: gsize, alignment: gsize) -> gpointer;
7724}
7725extern "C" {
7726    pub fn g_aligned_alloc0(n_blocks: gsize, n_block_bytes: gsize, alignment: gsize) -> gpointer;
7727}
7728extern "C" {
7729    pub fn g_aligned_free(mem: gpointer);
7730}
7731extern "C" {
7732    pub fn g_aligned_free_sized(mem: gpointer, alignment: size_t, size: size_t);
7733}
7734#[repr(C)]
7735#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7736pub struct _GMemVTable {
7737    pub malloc: ::std::option::Option<unsafe extern "C" fn(n_bytes: gsize) -> gpointer>,
7738    pub realloc:
7739        ::std::option::Option<unsafe extern "C" fn(mem: gpointer, n_bytes: gsize) -> gpointer>,
7740    pub free: ::std::option::Option<unsafe extern "C" fn(mem: gpointer)>,
7741    pub calloc: ::std::option::Option<
7742        unsafe extern "C" fn(n_blocks: gsize, n_block_bytes: gsize) -> gpointer,
7743    >,
7744    pub try_malloc: ::std::option::Option<unsafe extern "C" fn(n_bytes: gsize) -> gpointer>,
7745    pub try_realloc:
7746        ::std::option::Option<unsafe extern "C" fn(mem: gpointer, n_bytes: gsize) -> gpointer>,
7747}
7748#[test]
7749fn bindgen_test_layout__GMemVTable() {
7750    const UNINIT: ::std::mem::MaybeUninit<_GMemVTable> = ::std::mem::MaybeUninit::uninit();
7751    let ptr = UNINIT.as_ptr();
7752    assert_eq!(
7753        ::std::mem::size_of::<_GMemVTable>(),
7754        48usize,
7755        concat!("Size of: ", stringify!(_GMemVTable))
7756    );
7757    assert_eq!(
7758        ::std::mem::align_of::<_GMemVTable>(),
7759        8usize,
7760        concat!("Alignment of ", stringify!(_GMemVTable))
7761    );
7762    assert_eq!(
7763        unsafe { ::std::ptr::addr_of!((*ptr).malloc) as usize - ptr as usize },
7764        0usize,
7765        concat!(
7766            "Offset of field: ",
7767            stringify!(_GMemVTable),
7768            "::",
7769            stringify!(malloc)
7770        )
7771    );
7772    assert_eq!(
7773        unsafe { ::std::ptr::addr_of!((*ptr).realloc) as usize - ptr as usize },
7774        8usize,
7775        concat!(
7776            "Offset of field: ",
7777            stringify!(_GMemVTable),
7778            "::",
7779            stringify!(realloc)
7780        )
7781    );
7782    assert_eq!(
7783        unsafe { ::std::ptr::addr_of!((*ptr).free) as usize - ptr as usize },
7784        16usize,
7785        concat!(
7786            "Offset of field: ",
7787            stringify!(_GMemVTable),
7788            "::",
7789            stringify!(free)
7790        )
7791    );
7792    assert_eq!(
7793        unsafe { ::std::ptr::addr_of!((*ptr).calloc) as usize - ptr as usize },
7794        24usize,
7795        concat!(
7796            "Offset of field: ",
7797            stringify!(_GMemVTable),
7798            "::",
7799            stringify!(calloc)
7800        )
7801    );
7802    assert_eq!(
7803        unsafe { ::std::ptr::addr_of!((*ptr).try_malloc) as usize - ptr as usize },
7804        32usize,
7805        concat!(
7806            "Offset of field: ",
7807            stringify!(_GMemVTable),
7808            "::",
7809            stringify!(try_malloc)
7810        )
7811    );
7812    assert_eq!(
7813        unsafe { ::std::ptr::addr_of!((*ptr).try_realloc) as usize - ptr as usize },
7814        40usize,
7815        concat!(
7816            "Offset of field: ",
7817            stringify!(_GMemVTable),
7818            "::",
7819            stringify!(try_realloc)
7820        )
7821    );
7822}
7823extern "C" {
7824    pub fn g_mem_set_vtable(vtable: *mut GMemVTable);
7825}
7826extern "C" {
7827    pub fn g_mem_is_system_malloc() -> gboolean;
7828}
7829extern "C" {
7830    pub static mut g_mem_gc_friendly: gboolean;
7831}
7832extern "C" {
7833    pub static mut glib_mem_profiler_table: *mut GMemVTable;
7834}
7835extern "C" {
7836    pub fn g_mem_profile();
7837}
7838pub type GNode = _GNode;
7839pub const GTraverseFlags_G_TRAVERSE_LEAVES: GTraverseFlags = 1;
7840pub const GTraverseFlags_G_TRAVERSE_NON_LEAVES: GTraverseFlags = 2;
7841pub const GTraverseFlags_G_TRAVERSE_ALL: GTraverseFlags = 3;
7842pub const GTraverseFlags_G_TRAVERSE_MASK: GTraverseFlags = 3;
7843pub const GTraverseFlags_G_TRAVERSE_LEAFS: GTraverseFlags = 1;
7844pub const GTraverseFlags_G_TRAVERSE_NON_LEAFS: GTraverseFlags = 2;
7845pub type GTraverseFlags = ::std::os::raw::c_uint;
7846pub const GTraverseType_G_IN_ORDER: GTraverseType = 0;
7847pub const GTraverseType_G_PRE_ORDER: GTraverseType = 1;
7848pub const GTraverseType_G_POST_ORDER: GTraverseType = 2;
7849pub const GTraverseType_G_LEVEL_ORDER: GTraverseType = 3;
7850pub type GTraverseType = ::std::os::raw::c_uint;
7851pub type GNodeTraverseFunc =
7852    ::std::option::Option<unsafe extern "C" fn(node: *mut GNode, data: gpointer) -> gboolean>;
7853pub type GNodeForeachFunc =
7854    ::std::option::Option<unsafe extern "C" fn(node: *mut GNode, data: gpointer)>;
7855#[repr(C)]
7856#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7857pub struct _GNode {
7858    pub data: gpointer,
7859    pub next: *mut GNode,
7860    pub prev: *mut GNode,
7861    pub parent: *mut GNode,
7862    pub children: *mut GNode,
7863}
7864#[test]
7865fn bindgen_test_layout__GNode() {
7866    const UNINIT: ::std::mem::MaybeUninit<_GNode> = ::std::mem::MaybeUninit::uninit();
7867    let ptr = UNINIT.as_ptr();
7868    assert_eq!(
7869        ::std::mem::size_of::<_GNode>(),
7870        40usize,
7871        concat!("Size of: ", stringify!(_GNode))
7872    );
7873    assert_eq!(
7874        ::std::mem::align_of::<_GNode>(),
7875        8usize,
7876        concat!("Alignment of ", stringify!(_GNode))
7877    );
7878    assert_eq!(
7879        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
7880        0usize,
7881        concat!(
7882            "Offset of field: ",
7883            stringify!(_GNode),
7884            "::",
7885            stringify!(data)
7886        )
7887    );
7888    assert_eq!(
7889        unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
7890        8usize,
7891        concat!(
7892            "Offset of field: ",
7893            stringify!(_GNode),
7894            "::",
7895            stringify!(next)
7896        )
7897    );
7898    assert_eq!(
7899        unsafe { ::std::ptr::addr_of!((*ptr).prev) as usize - ptr as usize },
7900        16usize,
7901        concat!(
7902            "Offset of field: ",
7903            stringify!(_GNode),
7904            "::",
7905            stringify!(prev)
7906        )
7907    );
7908    assert_eq!(
7909        unsafe { ::std::ptr::addr_of!((*ptr).parent) as usize - ptr as usize },
7910        24usize,
7911        concat!(
7912            "Offset of field: ",
7913            stringify!(_GNode),
7914            "::",
7915            stringify!(parent)
7916        )
7917    );
7918    assert_eq!(
7919        unsafe { ::std::ptr::addr_of!((*ptr).children) as usize - ptr as usize },
7920        32usize,
7921        concat!(
7922            "Offset of field: ",
7923            stringify!(_GNode),
7924            "::",
7925            stringify!(children)
7926        )
7927    );
7928}
7929extern "C" {
7930    pub fn g_node_new(data: gpointer) -> *mut GNode;
7931}
7932extern "C" {
7933    pub fn g_node_destroy(root: *mut GNode);
7934}
7935extern "C" {
7936    pub fn g_node_unlink(node: *mut GNode);
7937}
7938extern "C" {
7939    pub fn g_node_copy_deep(node: *mut GNode, copy_func: GCopyFunc, data: gpointer) -> *mut GNode;
7940}
7941extern "C" {
7942    pub fn g_node_copy(node: *mut GNode) -> *mut GNode;
7943}
7944extern "C" {
7945    pub fn g_node_insert(parent: *mut GNode, position: gint, node: *mut GNode) -> *mut GNode;
7946}
7947extern "C" {
7948    pub fn g_node_insert_before(
7949        parent: *mut GNode,
7950        sibling: *mut GNode,
7951        node: *mut GNode,
7952    ) -> *mut GNode;
7953}
7954extern "C" {
7955    pub fn g_node_insert_after(
7956        parent: *mut GNode,
7957        sibling: *mut GNode,
7958        node: *mut GNode,
7959    ) -> *mut GNode;
7960}
7961extern "C" {
7962    pub fn g_node_prepend(parent: *mut GNode, node: *mut GNode) -> *mut GNode;
7963}
7964extern "C" {
7965    pub fn g_node_n_nodes(root: *mut GNode, flags: GTraverseFlags) -> guint;
7966}
7967extern "C" {
7968    pub fn g_node_get_root(node: *mut GNode) -> *mut GNode;
7969}
7970extern "C" {
7971    pub fn g_node_is_ancestor(node: *mut GNode, descendant: *mut GNode) -> gboolean;
7972}
7973extern "C" {
7974    pub fn g_node_depth(node: *mut GNode) -> guint;
7975}
7976extern "C" {
7977    pub fn g_node_find(
7978        root: *mut GNode,
7979        order: GTraverseType,
7980        flags: GTraverseFlags,
7981        data: gpointer,
7982    ) -> *mut GNode;
7983}
7984extern "C" {
7985    pub fn g_node_traverse(
7986        root: *mut GNode,
7987        order: GTraverseType,
7988        flags: GTraverseFlags,
7989        max_depth: gint,
7990        func: GNodeTraverseFunc,
7991        data: gpointer,
7992    );
7993}
7994extern "C" {
7995    pub fn g_node_max_height(root: *mut GNode) -> guint;
7996}
7997extern "C" {
7998    pub fn g_node_children_foreach(
7999        node: *mut GNode,
8000        flags: GTraverseFlags,
8001        func: GNodeForeachFunc,
8002        data: gpointer,
8003    );
8004}
8005extern "C" {
8006    pub fn g_node_reverse_children(node: *mut GNode);
8007}
8008extern "C" {
8009    pub fn g_node_n_children(node: *mut GNode) -> guint;
8010}
8011extern "C" {
8012    pub fn g_node_nth_child(node: *mut GNode, n: guint) -> *mut GNode;
8013}
8014extern "C" {
8015    pub fn g_node_last_child(node: *mut GNode) -> *mut GNode;
8016}
8017extern "C" {
8018    pub fn g_node_find_child(node: *mut GNode, flags: GTraverseFlags, data: gpointer)
8019        -> *mut GNode;
8020}
8021extern "C" {
8022    pub fn g_node_child_position(node: *mut GNode, child: *mut GNode) -> gint;
8023}
8024extern "C" {
8025    pub fn g_node_child_index(node: *mut GNode, data: gpointer) -> gint;
8026}
8027extern "C" {
8028    pub fn g_node_first_sibling(node: *mut GNode) -> *mut GNode;
8029}
8030extern "C" {
8031    pub fn g_node_last_sibling(node: *mut GNode) -> *mut GNode;
8032}
8033pub type GList = _GList;
8034#[repr(C)]
8035#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8036pub struct _GList {
8037    pub data: gpointer,
8038    pub next: *mut GList,
8039    pub prev: *mut GList,
8040}
8041#[test]
8042fn bindgen_test_layout__GList() {
8043    const UNINIT: ::std::mem::MaybeUninit<_GList> = ::std::mem::MaybeUninit::uninit();
8044    let ptr = UNINIT.as_ptr();
8045    assert_eq!(
8046        ::std::mem::size_of::<_GList>(),
8047        24usize,
8048        concat!("Size of: ", stringify!(_GList))
8049    );
8050    assert_eq!(
8051        ::std::mem::align_of::<_GList>(),
8052        8usize,
8053        concat!("Alignment of ", stringify!(_GList))
8054    );
8055    assert_eq!(
8056        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
8057        0usize,
8058        concat!(
8059            "Offset of field: ",
8060            stringify!(_GList),
8061            "::",
8062            stringify!(data)
8063        )
8064    );
8065    assert_eq!(
8066        unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
8067        8usize,
8068        concat!(
8069            "Offset of field: ",
8070            stringify!(_GList),
8071            "::",
8072            stringify!(next)
8073        )
8074    );
8075    assert_eq!(
8076        unsafe { ::std::ptr::addr_of!((*ptr).prev) as usize - ptr as usize },
8077        16usize,
8078        concat!(
8079            "Offset of field: ",
8080            stringify!(_GList),
8081            "::",
8082            stringify!(prev)
8083        )
8084    );
8085}
8086extern "C" {
8087    pub fn g_list_alloc() -> *mut GList;
8088}
8089extern "C" {
8090    pub fn g_list_free(list: *mut GList);
8091}
8092extern "C" {
8093    pub fn g_list_free_1(list: *mut GList);
8094}
8095extern "C" {
8096    pub fn g_list_free_full(list: *mut GList, free_func: GDestroyNotify);
8097}
8098extern "C" {
8099    pub fn g_list_append(list: *mut GList, data: gpointer) -> *mut GList;
8100}
8101extern "C" {
8102    pub fn g_list_prepend(list: *mut GList, data: gpointer) -> *mut GList;
8103}
8104extern "C" {
8105    pub fn g_list_insert(list: *mut GList, data: gpointer, position: gint) -> *mut GList;
8106}
8107extern "C" {
8108    pub fn g_list_insert_sorted(list: *mut GList, data: gpointer, func: GCompareFunc)
8109        -> *mut GList;
8110}
8111extern "C" {
8112    pub fn g_list_insert_sorted_with_data(
8113        list: *mut GList,
8114        data: gpointer,
8115        func: GCompareDataFunc,
8116        user_data: gpointer,
8117    ) -> *mut GList;
8118}
8119extern "C" {
8120    pub fn g_list_insert_before(
8121        list: *mut GList,
8122        sibling: *mut GList,
8123        data: gpointer,
8124    ) -> *mut GList;
8125}
8126extern "C" {
8127    pub fn g_list_insert_before_link(
8128        list: *mut GList,
8129        sibling: *mut GList,
8130        link_: *mut GList,
8131    ) -> *mut GList;
8132}
8133extern "C" {
8134    pub fn g_list_concat(list1: *mut GList, list2: *mut GList) -> *mut GList;
8135}
8136extern "C" {
8137    pub fn g_list_remove(list: *mut GList, data: gconstpointer) -> *mut GList;
8138}
8139extern "C" {
8140    pub fn g_list_remove_all(list: *mut GList, data: gconstpointer) -> *mut GList;
8141}
8142extern "C" {
8143    pub fn g_list_remove_link(list: *mut GList, llink: *mut GList) -> *mut GList;
8144}
8145extern "C" {
8146    pub fn g_list_delete_link(list: *mut GList, link_: *mut GList) -> *mut GList;
8147}
8148extern "C" {
8149    pub fn g_list_reverse(list: *mut GList) -> *mut GList;
8150}
8151extern "C" {
8152    pub fn g_list_copy(list: *mut GList) -> *mut GList;
8153}
8154extern "C" {
8155    pub fn g_list_copy_deep(list: *mut GList, func: GCopyFunc, user_data: gpointer) -> *mut GList;
8156}
8157extern "C" {
8158    pub fn g_list_nth(list: *mut GList, n: guint) -> *mut GList;
8159}
8160extern "C" {
8161    pub fn g_list_nth_prev(list: *mut GList, n: guint) -> *mut GList;
8162}
8163extern "C" {
8164    pub fn g_list_find(list: *mut GList, data: gconstpointer) -> *mut GList;
8165}
8166extern "C" {
8167    pub fn g_list_find_custom(
8168        list: *mut GList,
8169        data: gconstpointer,
8170        func: GCompareFunc,
8171    ) -> *mut GList;
8172}
8173extern "C" {
8174    pub fn g_list_position(list: *mut GList, llink: *mut GList) -> gint;
8175}
8176extern "C" {
8177    pub fn g_list_index(list: *mut GList, data: gconstpointer) -> gint;
8178}
8179extern "C" {
8180    pub fn g_list_last(list: *mut GList) -> *mut GList;
8181}
8182extern "C" {
8183    pub fn g_list_first(list: *mut GList) -> *mut GList;
8184}
8185extern "C" {
8186    pub fn g_list_length(list: *mut GList) -> guint;
8187}
8188extern "C" {
8189    pub fn g_list_foreach(list: *mut GList, func: GFunc, user_data: gpointer);
8190}
8191extern "C" {
8192    pub fn g_list_sort(list: *mut GList, compare_func: GCompareFunc) -> *mut GList;
8193}
8194extern "C" {
8195    pub fn g_list_sort_with_data(
8196        list: *mut GList,
8197        compare_func: GCompareDataFunc,
8198        user_data: gpointer,
8199    ) -> *mut GList;
8200}
8201extern "C" {
8202    pub fn g_list_nth_data(list: *mut GList, n: guint) -> gpointer;
8203}
8204extern "C" {
8205    pub fn g_clear_list(list_ptr: *mut *mut GList, destroy: GDestroyNotify);
8206}
8207#[repr(C)]
8208#[derive(Debug, Copy, Clone)]
8209pub struct _GHashTable {
8210    _unused: [u8; 0],
8211}
8212pub type GHashTable = _GHashTable;
8213pub type GHRFunc = ::std::option::Option<
8214    unsafe extern "C" fn(key: gpointer, value: gpointer, user_data: gpointer) -> gboolean,
8215>;
8216pub type GHashTableIter = _GHashTableIter;
8217#[repr(C)]
8218#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8219pub struct _GHashTableIter {
8220    pub dummy1: gpointer,
8221    pub dummy2: gpointer,
8222    pub dummy3: gpointer,
8223    pub dummy4: ::std::os::raw::c_int,
8224    pub dummy5: gboolean,
8225    pub dummy6: gpointer,
8226}
8227#[test]
8228fn bindgen_test_layout__GHashTableIter() {
8229    const UNINIT: ::std::mem::MaybeUninit<_GHashTableIter> = ::std::mem::MaybeUninit::uninit();
8230    let ptr = UNINIT.as_ptr();
8231    assert_eq!(
8232        ::std::mem::size_of::<_GHashTableIter>(),
8233        40usize,
8234        concat!("Size of: ", stringify!(_GHashTableIter))
8235    );
8236    assert_eq!(
8237        ::std::mem::align_of::<_GHashTableIter>(),
8238        8usize,
8239        concat!("Alignment of ", stringify!(_GHashTableIter))
8240    );
8241    assert_eq!(
8242        unsafe { ::std::ptr::addr_of!((*ptr).dummy1) as usize - ptr as usize },
8243        0usize,
8244        concat!(
8245            "Offset of field: ",
8246            stringify!(_GHashTableIter),
8247            "::",
8248            stringify!(dummy1)
8249        )
8250    );
8251    assert_eq!(
8252        unsafe { ::std::ptr::addr_of!((*ptr).dummy2) as usize - ptr as usize },
8253        8usize,
8254        concat!(
8255            "Offset of field: ",
8256            stringify!(_GHashTableIter),
8257            "::",
8258            stringify!(dummy2)
8259        )
8260    );
8261    assert_eq!(
8262        unsafe { ::std::ptr::addr_of!((*ptr).dummy3) as usize - ptr as usize },
8263        16usize,
8264        concat!(
8265            "Offset of field: ",
8266            stringify!(_GHashTableIter),
8267            "::",
8268            stringify!(dummy3)
8269        )
8270    );
8271    assert_eq!(
8272        unsafe { ::std::ptr::addr_of!((*ptr).dummy4) as usize - ptr as usize },
8273        24usize,
8274        concat!(
8275            "Offset of field: ",
8276            stringify!(_GHashTableIter),
8277            "::",
8278            stringify!(dummy4)
8279        )
8280    );
8281    assert_eq!(
8282        unsafe { ::std::ptr::addr_of!((*ptr).dummy5) as usize - ptr as usize },
8283        28usize,
8284        concat!(
8285            "Offset of field: ",
8286            stringify!(_GHashTableIter),
8287            "::",
8288            stringify!(dummy5)
8289        )
8290    );
8291    assert_eq!(
8292        unsafe { ::std::ptr::addr_of!((*ptr).dummy6) as usize - ptr as usize },
8293        32usize,
8294        concat!(
8295            "Offset of field: ",
8296            stringify!(_GHashTableIter),
8297            "::",
8298            stringify!(dummy6)
8299        )
8300    );
8301}
8302extern "C" {
8303    pub fn g_hash_table_new(hash_func: GHashFunc, key_equal_func: GEqualFunc) -> *mut GHashTable;
8304}
8305extern "C" {
8306    pub fn g_hash_table_new_full(
8307        hash_func: GHashFunc,
8308        key_equal_func: GEqualFunc,
8309        key_destroy_func: GDestroyNotify,
8310        value_destroy_func: GDestroyNotify,
8311    ) -> *mut GHashTable;
8312}
8313extern "C" {
8314    pub fn g_hash_table_new_similar(other_hash_table: *mut GHashTable) -> *mut GHashTable;
8315}
8316extern "C" {
8317    pub fn g_hash_table_destroy(hash_table: *mut GHashTable);
8318}
8319extern "C" {
8320    pub fn g_hash_table_insert(
8321        hash_table: *mut GHashTable,
8322        key: gpointer,
8323        value: gpointer,
8324    ) -> gboolean;
8325}
8326extern "C" {
8327    pub fn g_hash_table_replace(
8328        hash_table: *mut GHashTable,
8329        key: gpointer,
8330        value: gpointer,
8331    ) -> gboolean;
8332}
8333extern "C" {
8334    pub fn g_hash_table_add(hash_table: *mut GHashTable, key: gpointer) -> gboolean;
8335}
8336extern "C" {
8337    pub fn g_hash_table_remove(hash_table: *mut GHashTable, key: gconstpointer) -> gboolean;
8338}
8339extern "C" {
8340    pub fn g_hash_table_remove_all(hash_table: *mut GHashTable);
8341}
8342extern "C" {
8343    pub fn g_hash_table_steal(hash_table: *mut GHashTable, key: gconstpointer) -> gboolean;
8344}
8345extern "C" {
8346    pub fn g_hash_table_steal_extended(
8347        hash_table: *mut GHashTable,
8348        lookup_key: gconstpointer,
8349        stolen_key: *mut gpointer,
8350        stolen_value: *mut gpointer,
8351    ) -> gboolean;
8352}
8353extern "C" {
8354    pub fn g_hash_table_steal_all(hash_table: *mut GHashTable);
8355}
8356extern "C" {
8357    pub fn g_hash_table_steal_all_keys(hash_table: *mut GHashTable) -> *mut GPtrArray;
8358}
8359extern "C" {
8360    pub fn g_hash_table_steal_all_values(hash_table: *mut GHashTable) -> *mut GPtrArray;
8361}
8362extern "C" {
8363    pub fn g_hash_table_lookup(hash_table: *mut GHashTable, key: gconstpointer) -> gpointer;
8364}
8365extern "C" {
8366    pub fn g_hash_table_contains(hash_table: *mut GHashTable, key: gconstpointer) -> gboolean;
8367}
8368extern "C" {
8369    pub fn g_hash_table_lookup_extended(
8370        hash_table: *mut GHashTable,
8371        lookup_key: gconstpointer,
8372        orig_key: *mut gpointer,
8373        value: *mut gpointer,
8374    ) -> gboolean;
8375}
8376extern "C" {
8377    pub fn g_hash_table_foreach(hash_table: *mut GHashTable, func: GHFunc, user_data: gpointer);
8378}
8379extern "C" {
8380    pub fn g_hash_table_find(
8381        hash_table: *mut GHashTable,
8382        predicate: GHRFunc,
8383        user_data: gpointer,
8384    ) -> gpointer;
8385}
8386extern "C" {
8387    pub fn g_hash_table_foreach_remove(
8388        hash_table: *mut GHashTable,
8389        func: GHRFunc,
8390        user_data: gpointer,
8391    ) -> guint;
8392}
8393extern "C" {
8394    pub fn g_hash_table_foreach_steal(
8395        hash_table: *mut GHashTable,
8396        func: GHRFunc,
8397        user_data: gpointer,
8398    ) -> guint;
8399}
8400extern "C" {
8401    pub fn g_hash_table_size(hash_table: *mut GHashTable) -> guint;
8402}
8403extern "C" {
8404    pub fn g_hash_table_get_keys(hash_table: *mut GHashTable) -> *mut GList;
8405}
8406extern "C" {
8407    pub fn g_hash_table_get_values(hash_table: *mut GHashTable) -> *mut GList;
8408}
8409extern "C" {
8410    pub fn g_hash_table_get_keys_as_array(
8411        hash_table: *mut GHashTable,
8412        length: *mut guint,
8413    ) -> *mut gpointer;
8414}
8415extern "C" {
8416    pub fn g_hash_table_get_keys_as_ptr_array(hash_table: *mut GHashTable) -> *mut GPtrArray;
8417}
8418extern "C" {
8419    pub fn g_hash_table_get_values_as_ptr_array(hash_table: *mut GHashTable) -> *mut GPtrArray;
8420}
8421extern "C" {
8422    pub fn g_hash_table_iter_init(iter: *mut GHashTableIter, hash_table: *mut GHashTable);
8423}
8424extern "C" {
8425    pub fn g_hash_table_iter_next(
8426        iter: *mut GHashTableIter,
8427        key: *mut gpointer,
8428        value: *mut gpointer,
8429    ) -> gboolean;
8430}
8431extern "C" {
8432    pub fn g_hash_table_iter_get_hash_table(iter: *mut GHashTableIter) -> *mut GHashTable;
8433}
8434extern "C" {
8435    pub fn g_hash_table_iter_remove(iter: *mut GHashTableIter);
8436}
8437extern "C" {
8438    pub fn g_hash_table_iter_replace(iter: *mut GHashTableIter, value: gpointer);
8439}
8440extern "C" {
8441    pub fn g_hash_table_iter_steal(iter: *mut GHashTableIter);
8442}
8443extern "C" {
8444    pub fn g_hash_table_ref(hash_table: *mut GHashTable) -> *mut GHashTable;
8445}
8446extern "C" {
8447    pub fn g_hash_table_unref(hash_table: *mut GHashTable);
8448}
8449extern "C" {
8450    pub fn g_str_equal(v1: gconstpointer, v2: gconstpointer) -> gboolean;
8451}
8452extern "C" {
8453    pub fn g_str_hash(v: gconstpointer) -> guint;
8454}
8455extern "C" {
8456    pub fn g_int_equal(v1: gconstpointer, v2: gconstpointer) -> gboolean;
8457}
8458extern "C" {
8459    pub fn g_int_hash(v: gconstpointer) -> guint;
8460}
8461extern "C" {
8462    pub fn g_int64_equal(v1: gconstpointer, v2: gconstpointer) -> gboolean;
8463}
8464extern "C" {
8465    pub fn g_int64_hash(v: gconstpointer) -> guint;
8466}
8467extern "C" {
8468    pub fn g_double_equal(v1: gconstpointer, v2: gconstpointer) -> gboolean;
8469}
8470extern "C" {
8471    pub fn g_double_hash(v: gconstpointer) -> guint;
8472}
8473extern "C" {
8474    pub fn g_direct_hash(v: gconstpointer) -> guint;
8475}
8476extern "C" {
8477    pub fn g_direct_equal(v1: gconstpointer, v2: gconstpointer) -> gboolean;
8478}
8479#[repr(C)]
8480#[derive(Debug, Copy, Clone)]
8481pub struct _GHmac {
8482    _unused: [u8; 0],
8483}
8484pub type GHmac = _GHmac;
8485extern "C" {
8486    pub fn g_hmac_new(digest_type: GChecksumType, key: *const guchar, key_len: gsize)
8487        -> *mut GHmac;
8488}
8489extern "C" {
8490    pub fn g_hmac_copy(hmac: *const GHmac) -> *mut GHmac;
8491}
8492extern "C" {
8493    pub fn g_hmac_ref(hmac: *mut GHmac) -> *mut GHmac;
8494}
8495extern "C" {
8496    pub fn g_hmac_unref(hmac: *mut GHmac);
8497}
8498extern "C" {
8499    pub fn g_hmac_update(hmac: *mut GHmac, data: *const guchar, length: gssize);
8500}
8501extern "C" {
8502    pub fn g_hmac_get_string(hmac: *mut GHmac) -> *const gchar;
8503}
8504extern "C" {
8505    pub fn g_hmac_get_digest(hmac: *mut GHmac, buffer: *mut guint8, digest_len: *mut gsize);
8506}
8507extern "C" {
8508    pub fn g_compute_hmac_for_data(
8509        digest_type: GChecksumType,
8510        key: *const guchar,
8511        key_len: gsize,
8512        data: *const guchar,
8513        length: gsize,
8514    ) -> *mut gchar;
8515}
8516extern "C" {
8517    pub fn g_compute_hmac_for_string(
8518        digest_type: GChecksumType,
8519        key: *const guchar,
8520        key_len: gsize,
8521        str_: *const gchar,
8522        length: gssize,
8523    ) -> *mut gchar;
8524}
8525extern "C" {
8526    pub fn g_compute_hmac_for_bytes(
8527        digest_type: GChecksumType,
8528        key: *mut GBytes,
8529        data: *mut GBytes,
8530    ) -> *mut gchar;
8531}
8532pub type GHook = _GHook;
8533pub type GHookList = _GHookList;
8534pub type GHookCompareFunc =
8535    ::std::option::Option<unsafe extern "C" fn(new_hook: *mut GHook, sibling: *mut GHook) -> gint>;
8536pub type GHookFindFunc =
8537    ::std::option::Option<unsafe extern "C" fn(hook: *mut GHook, data: gpointer) -> gboolean>;
8538pub type GHookMarshaller =
8539    ::std::option::Option<unsafe extern "C" fn(hook: *mut GHook, marshal_data: gpointer)>;
8540pub type GHookCheckMarshaller = ::std::option::Option<
8541    unsafe extern "C" fn(hook: *mut GHook, marshal_data: gpointer) -> gboolean,
8542>;
8543pub type GHookFunc = ::std::option::Option<unsafe extern "C" fn(data: gpointer)>;
8544pub type GHookCheckFunc = ::std::option::Option<unsafe extern "C" fn(data: gpointer) -> gboolean>;
8545pub type GHookFinalizeFunc =
8546    ::std::option::Option<unsafe extern "C" fn(hook_list: *mut GHookList, hook: *mut GHook)>;
8547pub const GHookFlagMask_G_HOOK_FLAG_ACTIVE: GHookFlagMask = 1;
8548pub const GHookFlagMask_G_HOOK_FLAG_IN_CALL: GHookFlagMask = 2;
8549pub const GHookFlagMask_G_HOOK_FLAG_MASK: GHookFlagMask = 15;
8550pub type GHookFlagMask = ::std::os::raw::c_uint;
8551#[repr(C)]
8552#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8553pub struct _GHookList {
8554    pub seq_id: gulong,
8555    pub _bitfield_align_1: [u16; 0],
8556    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>,
8557    pub hooks: *mut GHook,
8558    pub dummy3: gpointer,
8559    pub finalize_hook: GHookFinalizeFunc,
8560    pub dummy: [gpointer; 2usize],
8561}
8562#[test]
8563fn bindgen_test_layout__GHookList() {
8564    const UNINIT: ::std::mem::MaybeUninit<_GHookList> = ::std::mem::MaybeUninit::uninit();
8565    let ptr = UNINIT.as_ptr();
8566    assert_eq!(
8567        ::std::mem::size_of::<_GHookList>(),
8568        56usize,
8569        concat!("Size of: ", stringify!(_GHookList))
8570    );
8571    assert_eq!(
8572        ::std::mem::align_of::<_GHookList>(),
8573        8usize,
8574        concat!("Alignment of ", stringify!(_GHookList))
8575    );
8576    assert_eq!(
8577        unsafe { ::std::ptr::addr_of!((*ptr).seq_id) as usize - ptr as usize },
8578        0usize,
8579        concat!(
8580            "Offset of field: ",
8581            stringify!(_GHookList),
8582            "::",
8583            stringify!(seq_id)
8584        )
8585    );
8586    assert_eq!(
8587        unsafe { ::std::ptr::addr_of!((*ptr).hooks) as usize - ptr as usize },
8588        16usize,
8589        concat!(
8590            "Offset of field: ",
8591            stringify!(_GHookList),
8592            "::",
8593            stringify!(hooks)
8594        )
8595    );
8596    assert_eq!(
8597        unsafe { ::std::ptr::addr_of!((*ptr).dummy3) as usize - ptr as usize },
8598        24usize,
8599        concat!(
8600            "Offset of field: ",
8601            stringify!(_GHookList),
8602            "::",
8603            stringify!(dummy3)
8604        )
8605    );
8606    assert_eq!(
8607        unsafe { ::std::ptr::addr_of!((*ptr).finalize_hook) as usize - ptr as usize },
8608        32usize,
8609        concat!(
8610            "Offset of field: ",
8611            stringify!(_GHookList),
8612            "::",
8613            stringify!(finalize_hook)
8614        )
8615    );
8616    assert_eq!(
8617        unsafe { ::std::ptr::addr_of!((*ptr).dummy) as usize - ptr as usize },
8618        40usize,
8619        concat!(
8620            "Offset of field: ",
8621            stringify!(_GHookList),
8622            "::",
8623            stringify!(dummy)
8624        )
8625    );
8626}
8627impl _GHookList {
8628    #[inline]
8629    pub fn hook_size(&self) -> guint {
8630        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u32) }
8631    }
8632    #[inline]
8633    pub fn set_hook_size(&mut self, val: guint) {
8634        unsafe {
8635            let val: u32 = ::std::mem::transmute(val);
8636            self._bitfield_1.set(0usize, 16u8, val as u64)
8637        }
8638    }
8639    #[inline]
8640    pub fn is_setup(&self) -> guint {
8641        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
8642    }
8643    #[inline]
8644    pub fn set_is_setup(&mut self, val: guint) {
8645        unsafe {
8646            let val: u32 = ::std::mem::transmute(val);
8647            self._bitfield_1.set(16usize, 1u8, val as u64)
8648        }
8649    }
8650    #[inline]
8651    pub fn new_bitfield_1(
8652        hook_size: guint,
8653        is_setup: guint,
8654    ) -> __BindgenBitfieldUnit<[u8; 3usize]> {
8655        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default();
8656        __bindgen_bitfield_unit.set(0usize, 16u8, {
8657            let hook_size: u32 = unsafe { ::std::mem::transmute(hook_size) };
8658            hook_size as u64
8659        });
8660        __bindgen_bitfield_unit.set(16usize, 1u8, {
8661            let is_setup: u32 = unsafe { ::std::mem::transmute(is_setup) };
8662            is_setup as u64
8663        });
8664        __bindgen_bitfield_unit
8665    }
8666}
8667#[repr(C)]
8668#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8669pub struct _GHook {
8670    pub data: gpointer,
8671    pub next: *mut GHook,
8672    pub prev: *mut GHook,
8673    pub ref_count: guint,
8674    pub hook_id: gulong,
8675    pub flags: guint,
8676    pub func: gpointer,
8677    pub destroy: GDestroyNotify,
8678}
8679#[test]
8680fn bindgen_test_layout__GHook() {
8681    const UNINIT: ::std::mem::MaybeUninit<_GHook> = ::std::mem::MaybeUninit::uninit();
8682    let ptr = UNINIT.as_ptr();
8683    assert_eq!(
8684        ::std::mem::size_of::<_GHook>(),
8685        64usize,
8686        concat!("Size of: ", stringify!(_GHook))
8687    );
8688    assert_eq!(
8689        ::std::mem::align_of::<_GHook>(),
8690        8usize,
8691        concat!("Alignment of ", stringify!(_GHook))
8692    );
8693    assert_eq!(
8694        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
8695        0usize,
8696        concat!(
8697            "Offset of field: ",
8698            stringify!(_GHook),
8699            "::",
8700            stringify!(data)
8701        )
8702    );
8703    assert_eq!(
8704        unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
8705        8usize,
8706        concat!(
8707            "Offset of field: ",
8708            stringify!(_GHook),
8709            "::",
8710            stringify!(next)
8711        )
8712    );
8713    assert_eq!(
8714        unsafe { ::std::ptr::addr_of!((*ptr).prev) as usize - ptr as usize },
8715        16usize,
8716        concat!(
8717            "Offset of field: ",
8718            stringify!(_GHook),
8719            "::",
8720            stringify!(prev)
8721        )
8722    );
8723    assert_eq!(
8724        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
8725        24usize,
8726        concat!(
8727            "Offset of field: ",
8728            stringify!(_GHook),
8729            "::",
8730            stringify!(ref_count)
8731        )
8732    );
8733    assert_eq!(
8734        unsafe { ::std::ptr::addr_of!((*ptr).hook_id) as usize - ptr as usize },
8735        32usize,
8736        concat!(
8737            "Offset of field: ",
8738            stringify!(_GHook),
8739            "::",
8740            stringify!(hook_id)
8741        )
8742    );
8743    assert_eq!(
8744        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8745        40usize,
8746        concat!(
8747            "Offset of field: ",
8748            stringify!(_GHook),
8749            "::",
8750            stringify!(flags)
8751        )
8752    );
8753    assert_eq!(
8754        unsafe { ::std::ptr::addr_of!((*ptr).func) as usize - ptr as usize },
8755        48usize,
8756        concat!(
8757            "Offset of field: ",
8758            stringify!(_GHook),
8759            "::",
8760            stringify!(func)
8761        )
8762    );
8763    assert_eq!(
8764        unsafe { ::std::ptr::addr_of!((*ptr).destroy) as usize - ptr as usize },
8765        56usize,
8766        concat!(
8767            "Offset of field: ",
8768            stringify!(_GHook),
8769            "::",
8770            stringify!(destroy)
8771        )
8772    );
8773}
8774extern "C" {
8775    pub fn g_hook_list_init(hook_list: *mut GHookList, hook_size: guint);
8776}
8777extern "C" {
8778    pub fn g_hook_list_clear(hook_list: *mut GHookList);
8779}
8780extern "C" {
8781    pub fn g_hook_alloc(hook_list: *mut GHookList) -> *mut GHook;
8782}
8783extern "C" {
8784    pub fn g_hook_free(hook_list: *mut GHookList, hook: *mut GHook);
8785}
8786extern "C" {
8787    pub fn g_hook_ref(hook_list: *mut GHookList, hook: *mut GHook) -> *mut GHook;
8788}
8789extern "C" {
8790    pub fn g_hook_unref(hook_list: *mut GHookList, hook: *mut GHook);
8791}
8792extern "C" {
8793    pub fn g_hook_destroy(hook_list: *mut GHookList, hook_id: gulong) -> gboolean;
8794}
8795extern "C" {
8796    pub fn g_hook_destroy_link(hook_list: *mut GHookList, hook: *mut GHook);
8797}
8798extern "C" {
8799    pub fn g_hook_prepend(hook_list: *mut GHookList, hook: *mut GHook);
8800}
8801extern "C" {
8802    pub fn g_hook_insert_before(hook_list: *mut GHookList, sibling: *mut GHook, hook: *mut GHook);
8803}
8804extern "C" {
8805    pub fn g_hook_insert_sorted(
8806        hook_list: *mut GHookList,
8807        hook: *mut GHook,
8808        func: GHookCompareFunc,
8809    );
8810}
8811extern "C" {
8812    pub fn g_hook_get(hook_list: *mut GHookList, hook_id: gulong) -> *mut GHook;
8813}
8814extern "C" {
8815    pub fn g_hook_find(
8816        hook_list: *mut GHookList,
8817        need_valids: gboolean,
8818        func: GHookFindFunc,
8819        data: gpointer,
8820    ) -> *mut GHook;
8821}
8822extern "C" {
8823    pub fn g_hook_find_data(
8824        hook_list: *mut GHookList,
8825        need_valids: gboolean,
8826        data: gpointer,
8827    ) -> *mut GHook;
8828}
8829extern "C" {
8830    pub fn g_hook_find_func(
8831        hook_list: *mut GHookList,
8832        need_valids: gboolean,
8833        func: gpointer,
8834    ) -> *mut GHook;
8835}
8836extern "C" {
8837    pub fn g_hook_find_func_data(
8838        hook_list: *mut GHookList,
8839        need_valids: gboolean,
8840        func: gpointer,
8841        data: gpointer,
8842    ) -> *mut GHook;
8843}
8844extern "C" {
8845    pub fn g_hook_first_valid(hook_list: *mut GHookList, may_be_in_call: gboolean) -> *mut GHook;
8846}
8847extern "C" {
8848    pub fn g_hook_next_valid(
8849        hook_list: *mut GHookList,
8850        hook: *mut GHook,
8851        may_be_in_call: gboolean,
8852    ) -> *mut GHook;
8853}
8854extern "C" {
8855    pub fn g_hook_compare_ids(new_hook: *mut GHook, sibling: *mut GHook) -> gint;
8856}
8857extern "C" {
8858    pub fn g_hook_list_invoke(hook_list: *mut GHookList, may_recurse: gboolean);
8859}
8860extern "C" {
8861    pub fn g_hook_list_invoke_check(hook_list: *mut GHookList, may_recurse: gboolean);
8862}
8863extern "C" {
8864    pub fn g_hook_list_marshal(
8865        hook_list: *mut GHookList,
8866        may_recurse: gboolean,
8867        marshaller: GHookMarshaller,
8868        marshal_data: gpointer,
8869    );
8870}
8871extern "C" {
8872    pub fn g_hook_list_marshal_check(
8873        hook_list: *mut GHookList,
8874        may_recurse: gboolean,
8875        marshaller: GHookCheckMarshaller,
8876        marshal_data: gpointer,
8877    );
8878}
8879extern "C" {
8880    pub fn g_hostname_is_non_ascii(hostname: *const gchar) -> gboolean;
8881}
8882extern "C" {
8883    pub fn g_hostname_is_ascii_encoded(hostname: *const gchar) -> gboolean;
8884}
8885extern "C" {
8886    pub fn g_hostname_is_ip_address(hostname: *const gchar) -> gboolean;
8887}
8888extern "C" {
8889    pub fn g_hostname_to_ascii(hostname: *const gchar) -> *mut gchar;
8890}
8891extern "C" {
8892    pub fn g_hostname_to_unicode(hostname: *const gchar) -> *mut gchar;
8893}
8894pub type GPollFD = _GPollFD;
8895pub type GPollFunc = ::std::option::Option<
8896    unsafe extern "C" fn(ufds: *mut GPollFD, nfsd: guint, timeout_: gint) -> gint,
8897>;
8898#[repr(C)]
8899#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8900pub struct _GPollFD {
8901    pub fd: gint,
8902    pub events: gushort,
8903    pub revents: gushort,
8904}
8905#[test]
8906fn bindgen_test_layout__GPollFD() {
8907    const UNINIT: ::std::mem::MaybeUninit<_GPollFD> = ::std::mem::MaybeUninit::uninit();
8908    let ptr = UNINIT.as_ptr();
8909    assert_eq!(
8910        ::std::mem::size_of::<_GPollFD>(),
8911        8usize,
8912        concat!("Size of: ", stringify!(_GPollFD))
8913    );
8914    assert_eq!(
8915        ::std::mem::align_of::<_GPollFD>(),
8916        4usize,
8917        concat!("Alignment of ", stringify!(_GPollFD))
8918    );
8919    assert_eq!(
8920        unsafe { ::std::ptr::addr_of!((*ptr).fd) as usize - ptr as usize },
8921        0usize,
8922        concat!(
8923            "Offset of field: ",
8924            stringify!(_GPollFD),
8925            "::",
8926            stringify!(fd)
8927        )
8928    );
8929    assert_eq!(
8930        unsafe { ::std::ptr::addr_of!((*ptr).events) as usize - ptr as usize },
8931        4usize,
8932        concat!(
8933            "Offset of field: ",
8934            stringify!(_GPollFD),
8935            "::",
8936            stringify!(events)
8937        )
8938    );
8939    assert_eq!(
8940        unsafe { ::std::ptr::addr_of!((*ptr).revents) as usize - ptr as usize },
8941        6usize,
8942        concat!(
8943            "Offset of field: ",
8944            stringify!(_GPollFD),
8945            "::",
8946            stringify!(revents)
8947        )
8948    );
8949}
8950extern "C" {
8951    pub fn g_poll(fds: *mut GPollFD, nfds: guint, timeout: gint) -> gint;
8952}
8953pub type GSList = _GSList;
8954#[repr(C)]
8955#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8956pub struct _GSList {
8957    pub data: gpointer,
8958    pub next: *mut GSList,
8959}
8960#[test]
8961fn bindgen_test_layout__GSList() {
8962    const UNINIT: ::std::mem::MaybeUninit<_GSList> = ::std::mem::MaybeUninit::uninit();
8963    let ptr = UNINIT.as_ptr();
8964    assert_eq!(
8965        ::std::mem::size_of::<_GSList>(),
8966        16usize,
8967        concat!("Size of: ", stringify!(_GSList))
8968    );
8969    assert_eq!(
8970        ::std::mem::align_of::<_GSList>(),
8971        8usize,
8972        concat!("Alignment of ", stringify!(_GSList))
8973    );
8974    assert_eq!(
8975        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
8976        0usize,
8977        concat!(
8978            "Offset of field: ",
8979            stringify!(_GSList),
8980            "::",
8981            stringify!(data)
8982        )
8983    );
8984    assert_eq!(
8985        unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
8986        8usize,
8987        concat!(
8988            "Offset of field: ",
8989            stringify!(_GSList),
8990            "::",
8991            stringify!(next)
8992        )
8993    );
8994}
8995extern "C" {
8996    pub fn g_slist_alloc() -> *mut GSList;
8997}
8998extern "C" {
8999    pub fn g_slist_free(list: *mut GSList);
9000}
9001extern "C" {
9002    pub fn g_slist_free_1(list: *mut GSList);
9003}
9004extern "C" {
9005    pub fn g_slist_free_full(list: *mut GSList, free_func: GDestroyNotify);
9006}
9007extern "C" {
9008    pub fn g_slist_append(list: *mut GSList, data: gpointer) -> *mut GSList;
9009}
9010extern "C" {
9011    pub fn g_slist_prepend(list: *mut GSList, data: gpointer) -> *mut GSList;
9012}
9013extern "C" {
9014    pub fn g_slist_insert(list: *mut GSList, data: gpointer, position: gint) -> *mut GSList;
9015}
9016extern "C" {
9017    pub fn g_slist_insert_sorted(
9018        list: *mut GSList,
9019        data: gpointer,
9020        func: GCompareFunc,
9021    ) -> *mut GSList;
9022}
9023extern "C" {
9024    pub fn g_slist_insert_sorted_with_data(
9025        list: *mut GSList,
9026        data: gpointer,
9027        func: GCompareDataFunc,
9028        user_data: gpointer,
9029    ) -> *mut GSList;
9030}
9031extern "C" {
9032    pub fn g_slist_insert_before(
9033        slist: *mut GSList,
9034        sibling: *mut GSList,
9035        data: gpointer,
9036    ) -> *mut GSList;
9037}
9038extern "C" {
9039    pub fn g_slist_concat(list1: *mut GSList, list2: *mut GSList) -> *mut GSList;
9040}
9041extern "C" {
9042    pub fn g_slist_remove(list: *mut GSList, data: gconstpointer) -> *mut GSList;
9043}
9044extern "C" {
9045    pub fn g_slist_remove_all(list: *mut GSList, data: gconstpointer) -> *mut GSList;
9046}
9047extern "C" {
9048    pub fn g_slist_remove_link(list: *mut GSList, link_: *mut GSList) -> *mut GSList;
9049}
9050extern "C" {
9051    pub fn g_slist_delete_link(list: *mut GSList, link_: *mut GSList) -> *mut GSList;
9052}
9053extern "C" {
9054    pub fn g_slist_reverse(list: *mut GSList) -> *mut GSList;
9055}
9056extern "C" {
9057    pub fn g_slist_copy(list: *mut GSList) -> *mut GSList;
9058}
9059extern "C" {
9060    pub fn g_slist_copy_deep(
9061        list: *mut GSList,
9062        func: GCopyFunc,
9063        user_data: gpointer,
9064    ) -> *mut GSList;
9065}
9066extern "C" {
9067    pub fn g_slist_nth(list: *mut GSList, n: guint) -> *mut GSList;
9068}
9069extern "C" {
9070    pub fn g_slist_find(list: *mut GSList, data: gconstpointer) -> *mut GSList;
9071}
9072extern "C" {
9073    pub fn g_slist_find_custom(
9074        list: *mut GSList,
9075        data: gconstpointer,
9076        func: GCompareFunc,
9077    ) -> *mut GSList;
9078}
9079extern "C" {
9080    pub fn g_slist_position(list: *mut GSList, llink: *mut GSList) -> gint;
9081}
9082extern "C" {
9083    pub fn g_slist_index(list: *mut GSList, data: gconstpointer) -> gint;
9084}
9085extern "C" {
9086    pub fn g_slist_last(list: *mut GSList) -> *mut GSList;
9087}
9088extern "C" {
9089    pub fn g_slist_length(list: *mut GSList) -> guint;
9090}
9091extern "C" {
9092    pub fn g_slist_foreach(list: *mut GSList, func: GFunc, user_data: gpointer);
9093}
9094extern "C" {
9095    pub fn g_slist_sort(list: *mut GSList, compare_func: GCompareFunc) -> *mut GSList;
9096}
9097extern "C" {
9098    pub fn g_slist_sort_with_data(
9099        list: *mut GSList,
9100        compare_func: GCompareDataFunc,
9101        user_data: gpointer,
9102    ) -> *mut GSList;
9103}
9104extern "C" {
9105    pub fn g_slist_nth_data(list: *mut GSList, n: guint) -> gpointer;
9106}
9107extern "C" {
9108    pub fn g_clear_slist(slist_ptr: *mut *mut GSList, destroy: GDestroyNotify);
9109}
9110pub const GIOCondition_G_IO_IN: GIOCondition = 1;
9111pub const GIOCondition_G_IO_OUT: GIOCondition = 4;
9112pub const GIOCondition_G_IO_PRI: GIOCondition = 2;
9113pub const GIOCondition_G_IO_ERR: GIOCondition = 8;
9114pub const GIOCondition_G_IO_HUP: GIOCondition = 16;
9115pub const GIOCondition_G_IO_NVAL: GIOCondition = 32;
9116pub type GIOCondition = ::std::os::raw::c_uint;
9117pub const GMainContextFlags_G_MAIN_CONTEXT_FLAGS_NONE: GMainContextFlags = 0;
9118pub const GMainContextFlags_G_MAIN_CONTEXT_FLAGS_OWNERLESS_POLLING: GMainContextFlags = 1;
9119pub type GMainContextFlags = ::std::os::raw::c_uint;
9120#[repr(C)]
9121#[derive(Debug, Copy, Clone)]
9122pub struct _GMainContext {
9123    _unused: [u8; 0],
9124}
9125pub type GMainContext = _GMainContext;
9126#[repr(C)]
9127#[derive(Debug, Copy, Clone)]
9128pub struct _GMainLoop {
9129    _unused: [u8; 0],
9130}
9131pub type GMainLoop = _GMainLoop;
9132pub type GSource = _GSource;
9133#[repr(C)]
9134#[derive(Debug, Copy, Clone)]
9135pub struct _GSourcePrivate {
9136    _unused: [u8; 0],
9137}
9138pub type GSourcePrivate = _GSourcePrivate;
9139pub type GSourceCallbackFuncs = _GSourceCallbackFuncs;
9140pub type GSourceFuncs = _GSourceFuncs;
9141pub type GSourceFunc = ::std::option::Option<unsafe extern "C" fn(user_data: gpointer) -> gboolean>;
9142pub type GSourceOnceFunc = ::std::option::Option<unsafe extern "C" fn(user_data: gpointer)>;
9143pub type GChildWatchFunc =
9144    ::std::option::Option<unsafe extern "C" fn(pid: GPid, wait_status: gint, user_data: gpointer)>;
9145pub type GSourceDisposeFunc = ::std::option::Option<unsafe extern "C" fn(source: *mut GSource)>;
9146#[repr(C)]
9147#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9148pub struct _GSource {
9149    pub callback_data: gpointer,
9150    pub callback_funcs: *mut GSourceCallbackFuncs,
9151    pub source_funcs: *const GSourceFuncs,
9152    pub ref_count: guint,
9153    pub context: *mut GMainContext,
9154    pub priority: gint,
9155    pub flags: guint,
9156    pub source_id: guint,
9157    pub poll_fds: *mut GSList,
9158    pub prev: *mut GSource,
9159    pub next: *mut GSource,
9160    pub name: *mut ::std::os::raw::c_char,
9161    pub priv_: *mut GSourcePrivate,
9162}
9163#[test]
9164fn bindgen_test_layout__GSource() {
9165    const UNINIT: ::std::mem::MaybeUninit<_GSource> = ::std::mem::MaybeUninit::uninit();
9166    let ptr = UNINIT.as_ptr();
9167    assert_eq!(
9168        ::std::mem::size_of::<_GSource>(),
9169        96usize,
9170        concat!("Size of: ", stringify!(_GSource))
9171    );
9172    assert_eq!(
9173        ::std::mem::align_of::<_GSource>(),
9174        8usize,
9175        concat!("Alignment of ", stringify!(_GSource))
9176    );
9177    assert_eq!(
9178        unsafe { ::std::ptr::addr_of!((*ptr).callback_data) as usize - ptr as usize },
9179        0usize,
9180        concat!(
9181            "Offset of field: ",
9182            stringify!(_GSource),
9183            "::",
9184            stringify!(callback_data)
9185        )
9186    );
9187    assert_eq!(
9188        unsafe { ::std::ptr::addr_of!((*ptr).callback_funcs) as usize - ptr as usize },
9189        8usize,
9190        concat!(
9191            "Offset of field: ",
9192            stringify!(_GSource),
9193            "::",
9194            stringify!(callback_funcs)
9195        )
9196    );
9197    assert_eq!(
9198        unsafe { ::std::ptr::addr_of!((*ptr).source_funcs) as usize - ptr as usize },
9199        16usize,
9200        concat!(
9201            "Offset of field: ",
9202            stringify!(_GSource),
9203            "::",
9204            stringify!(source_funcs)
9205        )
9206    );
9207    assert_eq!(
9208        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
9209        24usize,
9210        concat!(
9211            "Offset of field: ",
9212            stringify!(_GSource),
9213            "::",
9214            stringify!(ref_count)
9215        )
9216    );
9217    assert_eq!(
9218        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
9219        32usize,
9220        concat!(
9221            "Offset of field: ",
9222            stringify!(_GSource),
9223            "::",
9224            stringify!(context)
9225        )
9226    );
9227    assert_eq!(
9228        unsafe { ::std::ptr::addr_of!((*ptr).priority) as usize - ptr as usize },
9229        40usize,
9230        concat!(
9231            "Offset of field: ",
9232            stringify!(_GSource),
9233            "::",
9234            stringify!(priority)
9235        )
9236    );
9237    assert_eq!(
9238        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
9239        44usize,
9240        concat!(
9241            "Offset of field: ",
9242            stringify!(_GSource),
9243            "::",
9244            stringify!(flags)
9245        )
9246    );
9247    assert_eq!(
9248        unsafe { ::std::ptr::addr_of!((*ptr).source_id) as usize - ptr as usize },
9249        48usize,
9250        concat!(
9251            "Offset of field: ",
9252            stringify!(_GSource),
9253            "::",
9254            stringify!(source_id)
9255        )
9256    );
9257    assert_eq!(
9258        unsafe { ::std::ptr::addr_of!((*ptr).poll_fds) as usize - ptr as usize },
9259        56usize,
9260        concat!(
9261            "Offset of field: ",
9262            stringify!(_GSource),
9263            "::",
9264            stringify!(poll_fds)
9265        )
9266    );
9267    assert_eq!(
9268        unsafe { ::std::ptr::addr_of!((*ptr).prev) as usize - ptr as usize },
9269        64usize,
9270        concat!(
9271            "Offset of field: ",
9272            stringify!(_GSource),
9273            "::",
9274            stringify!(prev)
9275        )
9276    );
9277    assert_eq!(
9278        unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
9279        72usize,
9280        concat!(
9281            "Offset of field: ",
9282            stringify!(_GSource),
9283            "::",
9284            stringify!(next)
9285        )
9286    );
9287    assert_eq!(
9288        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
9289        80usize,
9290        concat!(
9291            "Offset of field: ",
9292            stringify!(_GSource),
9293            "::",
9294            stringify!(name)
9295        )
9296    );
9297    assert_eq!(
9298        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
9299        88usize,
9300        concat!(
9301            "Offset of field: ",
9302            stringify!(_GSource),
9303            "::",
9304            stringify!(priv_)
9305        )
9306    );
9307}
9308#[repr(C)]
9309#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9310pub struct _GSourceCallbackFuncs {
9311    pub ref_: ::std::option::Option<unsafe extern "C" fn(cb_data: gpointer)>,
9312    pub unref: ::std::option::Option<unsafe extern "C" fn(cb_data: gpointer)>,
9313    pub get: ::std::option::Option<
9314        unsafe extern "C" fn(
9315            cb_data: gpointer,
9316            source: *mut GSource,
9317            func: *mut GSourceFunc,
9318            data: *mut gpointer,
9319        ),
9320    >,
9321}
9322#[test]
9323fn bindgen_test_layout__GSourceCallbackFuncs() {
9324    const UNINIT: ::std::mem::MaybeUninit<_GSourceCallbackFuncs> =
9325        ::std::mem::MaybeUninit::uninit();
9326    let ptr = UNINIT.as_ptr();
9327    assert_eq!(
9328        ::std::mem::size_of::<_GSourceCallbackFuncs>(),
9329        24usize,
9330        concat!("Size of: ", stringify!(_GSourceCallbackFuncs))
9331    );
9332    assert_eq!(
9333        ::std::mem::align_of::<_GSourceCallbackFuncs>(),
9334        8usize,
9335        concat!("Alignment of ", stringify!(_GSourceCallbackFuncs))
9336    );
9337    assert_eq!(
9338        unsafe { ::std::ptr::addr_of!((*ptr).ref_) as usize - ptr as usize },
9339        0usize,
9340        concat!(
9341            "Offset of field: ",
9342            stringify!(_GSourceCallbackFuncs),
9343            "::",
9344            stringify!(ref_)
9345        )
9346    );
9347    assert_eq!(
9348        unsafe { ::std::ptr::addr_of!((*ptr).unref) as usize - ptr as usize },
9349        8usize,
9350        concat!(
9351            "Offset of field: ",
9352            stringify!(_GSourceCallbackFuncs),
9353            "::",
9354            stringify!(unref)
9355        )
9356    );
9357    assert_eq!(
9358        unsafe { ::std::ptr::addr_of!((*ptr).get) as usize - ptr as usize },
9359        16usize,
9360        concat!(
9361            "Offset of field: ",
9362            stringify!(_GSourceCallbackFuncs),
9363            "::",
9364            stringify!(get)
9365        )
9366    );
9367}
9368pub type GSourceDummyMarshal = ::std::option::Option<unsafe extern "C" fn()>;
9369#[repr(C)]
9370#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9371pub struct _GSourceFuncs {
9372    pub prepare: ::std::option::Option<
9373        unsafe extern "C" fn(source: *mut GSource, timeout_: *mut gint) -> gboolean,
9374    >,
9375    pub check: ::std::option::Option<unsafe extern "C" fn(source: *mut GSource) -> gboolean>,
9376    pub dispatch: ::std::option::Option<
9377        unsafe extern "C" fn(
9378            source: *mut GSource,
9379            callback: GSourceFunc,
9380            user_data: gpointer,
9381        ) -> gboolean,
9382    >,
9383    pub finalize: ::std::option::Option<unsafe extern "C" fn(source: *mut GSource)>,
9384    pub closure_callback: GSourceFunc,
9385    pub closure_marshal: GSourceDummyMarshal,
9386}
9387#[test]
9388fn bindgen_test_layout__GSourceFuncs() {
9389    const UNINIT: ::std::mem::MaybeUninit<_GSourceFuncs> = ::std::mem::MaybeUninit::uninit();
9390    let ptr = UNINIT.as_ptr();
9391    assert_eq!(
9392        ::std::mem::size_of::<_GSourceFuncs>(),
9393        48usize,
9394        concat!("Size of: ", stringify!(_GSourceFuncs))
9395    );
9396    assert_eq!(
9397        ::std::mem::align_of::<_GSourceFuncs>(),
9398        8usize,
9399        concat!("Alignment of ", stringify!(_GSourceFuncs))
9400    );
9401    assert_eq!(
9402        unsafe { ::std::ptr::addr_of!((*ptr).prepare) as usize - ptr as usize },
9403        0usize,
9404        concat!(
9405            "Offset of field: ",
9406            stringify!(_GSourceFuncs),
9407            "::",
9408            stringify!(prepare)
9409        )
9410    );
9411    assert_eq!(
9412        unsafe { ::std::ptr::addr_of!((*ptr).check) as usize - ptr as usize },
9413        8usize,
9414        concat!(
9415            "Offset of field: ",
9416            stringify!(_GSourceFuncs),
9417            "::",
9418            stringify!(check)
9419        )
9420    );
9421    assert_eq!(
9422        unsafe { ::std::ptr::addr_of!((*ptr).dispatch) as usize - ptr as usize },
9423        16usize,
9424        concat!(
9425            "Offset of field: ",
9426            stringify!(_GSourceFuncs),
9427            "::",
9428            stringify!(dispatch)
9429        )
9430    );
9431    assert_eq!(
9432        unsafe { ::std::ptr::addr_of!((*ptr).finalize) as usize - ptr as usize },
9433        24usize,
9434        concat!(
9435            "Offset of field: ",
9436            stringify!(_GSourceFuncs),
9437            "::",
9438            stringify!(finalize)
9439        )
9440    );
9441    assert_eq!(
9442        unsafe { ::std::ptr::addr_of!((*ptr).closure_callback) as usize - ptr as usize },
9443        32usize,
9444        concat!(
9445            "Offset of field: ",
9446            stringify!(_GSourceFuncs),
9447            "::",
9448            stringify!(closure_callback)
9449        )
9450    );
9451    assert_eq!(
9452        unsafe { ::std::ptr::addr_of!((*ptr).closure_marshal) as usize - ptr as usize },
9453        40usize,
9454        concat!(
9455            "Offset of field: ",
9456            stringify!(_GSourceFuncs),
9457            "::",
9458            stringify!(closure_marshal)
9459        )
9460    );
9461}
9462extern "C" {
9463    pub fn g_main_context_new() -> *mut GMainContext;
9464}
9465extern "C" {
9466    pub fn g_main_context_new_with_flags(flags: GMainContextFlags) -> *mut GMainContext;
9467}
9468extern "C" {
9469    pub fn g_main_context_ref(context: *mut GMainContext) -> *mut GMainContext;
9470}
9471extern "C" {
9472    pub fn g_main_context_unref(context: *mut GMainContext);
9473}
9474extern "C" {
9475    pub fn g_main_context_default() -> *mut GMainContext;
9476}
9477extern "C" {
9478    pub fn g_main_context_iteration(context: *mut GMainContext, may_block: gboolean) -> gboolean;
9479}
9480extern "C" {
9481    pub fn g_main_context_pending(context: *mut GMainContext) -> gboolean;
9482}
9483extern "C" {
9484    pub fn g_main_context_find_source_by_id(
9485        context: *mut GMainContext,
9486        source_id: guint,
9487    ) -> *mut GSource;
9488}
9489extern "C" {
9490    pub fn g_main_context_find_source_by_user_data(
9491        context: *mut GMainContext,
9492        user_data: gpointer,
9493    ) -> *mut GSource;
9494}
9495extern "C" {
9496    pub fn g_main_context_find_source_by_funcs_user_data(
9497        context: *mut GMainContext,
9498        funcs: *mut GSourceFuncs,
9499        user_data: gpointer,
9500    ) -> *mut GSource;
9501}
9502extern "C" {
9503    pub fn g_main_context_wakeup(context: *mut GMainContext);
9504}
9505extern "C" {
9506    pub fn g_main_context_acquire(context: *mut GMainContext) -> gboolean;
9507}
9508extern "C" {
9509    pub fn g_main_context_release(context: *mut GMainContext);
9510}
9511extern "C" {
9512    pub fn g_main_context_is_owner(context: *mut GMainContext) -> gboolean;
9513}
9514extern "C" {
9515    pub fn g_main_context_wait(
9516        context: *mut GMainContext,
9517        cond: *mut GCond,
9518        mutex: *mut GMutex,
9519    ) -> gboolean;
9520}
9521extern "C" {
9522    pub fn g_main_context_prepare(context: *mut GMainContext, priority: *mut gint) -> gboolean;
9523}
9524extern "C" {
9525    pub fn g_main_context_query(
9526        context: *mut GMainContext,
9527        max_priority: gint,
9528        timeout_: *mut gint,
9529        fds: *mut GPollFD,
9530        n_fds: gint,
9531    ) -> gint;
9532}
9533extern "C" {
9534    pub fn g_main_context_check(
9535        context: *mut GMainContext,
9536        max_priority: gint,
9537        fds: *mut GPollFD,
9538        n_fds: gint,
9539    ) -> gboolean;
9540}
9541extern "C" {
9542    pub fn g_main_context_dispatch(context: *mut GMainContext);
9543}
9544extern "C" {
9545    pub fn g_main_context_set_poll_func(context: *mut GMainContext, func: GPollFunc);
9546}
9547extern "C" {
9548    pub fn g_main_context_get_poll_func(context: *mut GMainContext) -> GPollFunc;
9549}
9550extern "C" {
9551    pub fn g_main_context_add_poll(context: *mut GMainContext, fd: *mut GPollFD, priority: gint);
9552}
9553extern "C" {
9554    pub fn g_main_context_remove_poll(context: *mut GMainContext, fd: *mut GPollFD);
9555}
9556extern "C" {
9557    pub fn g_main_depth() -> gint;
9558}
9559extern "C" {
9560    pub fn g_main_current_source() -> *mut GSource;
9561}
9562extern "C" {
9563    pub fn g_main_context_push_thread_default(context: *mut GMainContext);
9564}
9565extern "C" {
9566    pub fn g_main_context_pop_thread_default(context: *mut GMainContext);
9567}
9568extern "C" {
9569    pub fn g_main_context_get_thread_default() -> *mut GMainContext;
9570}
9571extern "C" {
9572    pub fn g_main_context_ref_thread_default() -> *mut GMainContext;
9573}
9574pub type GMainContextPusher = ::std::os::raw::c_void;
9575extern "C" {
9576    pub fn g_main_loop_new(context: *mut GMainContext, is_running: gboolean) -> *mut GMainLoop;
9577}
9578extern "C" {
9579    pub fn g_main_loop_run(loop_: *mut GMainLoop);
9580}
9581extern "C" {
9582    pub fn g_main_loop_quit(loop_: *mut GMainLoop);
9583}
9584extern "C" {
9585    pub fn g_main_loop_ref(loop_: *mut GMainLoop) -> *mut GMainLoop;
9586}
9587extern "C" {
9588    pub fn g_main_loop_unref(loop_: *mut GMainLoop);
9589}
9590extern "C" {
9591    pub fn g_main_loop_is_running(loop_: *mut GMainLoop) -> gboolean;
9592}
9593extern "C" {
9594    pub fn g_main_loop_get_context(loop_: *mut GMainLoop) -> *mut GMainContext;
9595}
9596extern "C" {
9597    pub fn g_source_new(source_funcs: *mut GSourceFuncs, struct_size: guint) -> *mut GSource;
9598}
9599extern "C" {
9600    pub fn g_source_set_dispose_function(source: *mut GSource, dispose: GSourceDisposeFunc);
9601}
9602extern "C" {
9603    pub fn g_source_ref(source: *mut GSource) -> *mut GSource;
9604}
9605extern "C" {
9606    pub fn g_source_unref(source: *mut GSource);
9607}
9608extern "C" {
9609    pub fn g_source_attach(source: *mut GSource, context: *mut GMainContext) -> guint;
9610}
9611extern "C" {
9612    pub fn g_source_destroy(source: *mut GSource);
9613}
9614extern "C" {
9615    pub fn g_source_set_priority(source: *mut GSource, priority: gint);
9616}
9617extern "C" {
9618    pub fn g_source_get_priority(source: *mut GSource) -> gint;
9619}
9620extern "C" {
9621    pub fn g_source_set_can_recurse(source: *mut GSource, can_recurse: gboolean);
9622}
9623extern "C" {
9624    pub fn g_source_get_can_recurse(source: *mut GSource) -> gboolean;
9625}
9626extern "C" {
9627    pub fn g_source_get_id(source: *mut GSource) -> guint;
9628}
9629extern "C" {
9630    pub fn g_source_get_context(source: *mut GSource) -> *mut GMainContext;
9631}
9632extern "C" {
9633    pub fn g_source_set_callback(
9634        source: *mut GSource,
9635        func: GSourceFunc,
9636        data: gpointer,
9637        notify: GDestroyNotify,
9638    );
9639}
9640extern "C" {
9641    pub fn g_source_set_funcs(source: *mut GSource, funcs: *mut GSourceFuncs);
9642}
9643extern "C" {
9644    pub fn g_source_is_destroyed(source: *mut GSource) -> gboolean;
9645}
9646extern "C" {
9647    pub fn g_source_set_name(source: *mut GSource, name: *const ::std::os::raw::c_char);
9648}
9649extern "C" {
9650    pub fn g_source_set_static_name(source: *mut GSource, name: *const ::std::os::raw::c_char);
9651}
9652extern "C" {
9653    pub fn g_source_get_name(source: *mut GSource) -> *const ::std::os::raw::c_char;
9654}
9655extern "C" {
9656    pub fn g_source_set_name_by_id(tag: guint, name: *const ::std::os::raw::c_char);
9657}
9658extern "C" {
9659    pub fn g_source_set_ready_time(source: *mut GSource, ready_time: gint64);
9660}
9661extern "C" {
9662    pub fn g_source_get_ready_time(source: *mut GSource) -> gint64;
9663}
9664extern "C" {
9665    pub fn g_source_add_unix_fd(source: *mut GSource, fd: gint, events: GIOCondition) -> gpointer;
9666}
9667extern "C" {
9668    pub fn g_source_modify_unix_fd(source: *mut GSource, tag: gpointer, new_events: GIOCondition);
9669}
9670extern "C" {
9671    pub fn g_source_remove_unix_fd(source: *mut GSource, tag: gpointer);
9672}
9673extern "C" {
9674    pub fn g_source_query_unix_fd(source: *mut GSource, tag: gpointer) -> GIOCondition;
9675}
9676extern "C" {
9677    pub fn g_source_set_callback_indirect(
9678        source: *mut GSource,
9679        callback_data: gpointer,
9680        callback_funcs: *mut GSourceCallbackFuncs,
9681    );
9682}
9683extern "C" {
9684    pub fn g_source_add_poll(source: *mut GSource, fd: *mut GPollFD);
9685}
9686extern "C" {
9687    pub fn g_source_remove_poll(source: *mut GSource, fd: *mut GPollFD);
9688}
9689extern "C" {
9690    pub fn g_source_add_child_source(source: *mut GSource, child_source: *mut GSource);
9691}
9692extern "C" {
9693    pub fn g_source_remove_child_source(source: *mut GSource, child_source: *mut GSource);
9694}
9695extern "C" {
9696    pub fn g_source_get_current_time(source: *mut GSource, timeval: *mut GTimeVal);
9697}
9698extern "C" {
9699    pub fn g_source_get_time(source: *mut GSource) -> gint64;
9700}
9701extern "C" {
9702    pub fn g_idle_source_new() -> *mut GSource;
9703}
9704extern "C" {
9705    pub fn g_child_watch_source_new(pid: GPid) -> *mut GSource;
9706}
9707extern "C" {
9708    pub fn g_timeout_source_new(interval: guint) -> *mut GSource;
9709}
9710extern "C" {
9711    pub fn g_timeout_source_new_seconds(interval: guint) -> *mut GSource;
9712}
9713extern "C" {
9714    pub fn g_get_current_time(result: *mut GTimeVal);
9715}
9716extern "C" {
9717    pub fn g_get_monotonic_time() -> gint64;
9718}
9719extern "C" {
9720    pub fn g_get_real_time() -> gint64;
9721}
9722extern "C" {
9723    pub fn g_source_remove(tag: guint) -> gboolean;
9724}
9725extern "C" {
9726    pub fn g_source_remove_by_user_data(user_data: gpointer) -> gboolean;
9727}
9728extern "C" {
9729    pub fn g_source_remove_by_funcs_user_data(
9730        funcs: *mut GSourceFuncs,
9731        user_data: gpointer,
9732    ) -> gboolean;
9733}
9734pub type GClearHandleFunc = ::std::option::Option<unsafe extern "C" fn(handle_id: guint)>;
9735extern "C" {
9736    pub fn g_clear_handle_id(tag_ptr: *mut guint, clear_func: GClearHandleFunc);
9737}
9738extern "C" {
9739    pub fn g_timeout_add_full(
9740        priority: gint,
9741        interval: guint,
9742        function: GSourceFunc,
9743        data: gpointer,
9744        notify: GDestroyNotify,
9745    ) -> guint;
9746}
9747extern "C" {
9748    pub fn g_timeout_add(interval: guint, function: GSourceFunc, data: gpointer) -> guint;
9749}
9750extern "C" {
9751    pub fn g_timeout_add_once(interval: guint, function: GSourceOnceFunc, data: gpointer) -> guint;
9752}
9753extern "C" {
9754    pub fn g_timeout_add_seconds_full(
9755        priority: gint,
9756        interval: guint,
9757        function: GSourceFunc,
9758        data: gpointer,
9759        notify: GDestroyNotify,
9760    ) -> guint;
9761}
9762extern "C" {
9763    pub fn g_timeout_add_seconds(interval: guint, function: GSourceFunc, data: gpointer) -> guint;
9764}
9765extern "C" {
9766    pub fn g_timeout_add_seconds_once(
9767        interval: guint,
9768        function: GSourceOnceFunc,
9769        data: gpointer,
9770    ) -> guint;
9771}
9772extern "C" {
9773    pub fn g_child_watch_add_full(
9774        priority: gint,
9775        pid: GPid,
9776        function: GChildWatchFunc,
9777        data: gpointer,
9778        notify: GDestroyNotify,
9779    ) -> guint;
9780}
9781extern "C" {
9782    pub fn g_child_watch_add(pid: GPid, function: GChildWatchFunc, data: gpointer) -> guint;
9783}
9784extern "C" {
9785    pub fn g_idle_add(function: GSourceFunc, data: gpointer) -> guint;
9786}
9787extern "C" {
9788    pub fn g_idle_add_full(
9789        priority: gint,
9790        function: GSourceFunc,
9791        data: gpointer,
9792        notify: GDestroyNotify,
9793    ) -> guint;
9794}
9795extern "C" {
9796    pub fn g_idle_add_once(function: GSourceOnceFunc, data: gpointer) -> guint;
9797}
9798extern "C" {
9799    pub fn g_idle_remove_by_data(data: gpointer) -> gboolean;
9800}
9801extern "C" {
9802    pub fn g_main_context_invoke_full(
9803        context: *mut GMainContext,
9804        priority: gint,
9805        function: GSourceFunc,
9806        data: gpointer,
9807        notify: GDestroyNotify,
9808    );
9809}
9810extern "C" {
9811    pub fn g_main_context_invoke(context: *mut GMainContext, function: GSourceFunc, data: gpointer);
9812}
9813extern "C" {
9814    pub static mut g_timeout_funcs: GSourceFuncs;
9815}
9816extern "C" {
9817    pub static mut g_child_watch_funcs: GSourceFuncs;
9818}
9819extern "C" {
9820    pub static mut g_idle_funcs: GSourceFuncs;
9821}
9822extern "C" {
9823    pub static mut g_unix_signal_funcs: GSourceFuncs;
9824}
9825extern "C" {
9826    pub static mut g_unix_fd_source_funcs: GSourceFuncs;
9827}
9828pub type gunichar = guint32;
9829pub type gunichar2 = guint16;
9830pub const GUnicodeType_G_UNICODE_CONTROL: GUnicodeType = 0;
9831pub const GUnicodeType_G_UNICODE_FORMAT: GUnicodeType = 1;
9832pub const GUnicodeType_G_UNICODE_UNASSIGNED: GUnicodeType = 2;
9833pub const GUnicodeType_G_UNICODE_PRIVATE_USE: GUnicodeType = 3;
9834pub const GUnicodeType_G_UNICODE_SURROGATE: GUnicodeType = 4;
9835pub const GUnicodeType_G_UNICODE_LOWERCASE_LETTER: GUnicodeType = 5;
9836pub const GUnicodeType_G_UNICODE_MODIFIER_LETTER: GUnicodeType = 6;
9837pub const GUnicodeType_G_UNICODE_OTHER_LETTER: GUnicodeType = 7;
9838pub const GUnicodeType_G_UNICODE_TITLECASE_LETTER: GUnicodeType = 8;
9839pub const GUnicodeType_G_UNICODE_UPPERCASE_LETTER: GUnicodeType = 9;
9840pub const GUnicodeType_G_UNICODE_SPACING_MARK: GUnicodeType = 10;
9841pub const GUnicodeType_G_UNICODE_ENCLOSING_MARK: GUnicodeType = 11;
9842pub const GUnicodeType_G_UNICODE_NON_SPACING_MARK: GUnicodeType = 12;
9843pub const GUnicodeType_G_UNICODE_DECIMAL_NUMBER: GUnicodeType = 13;
9844pub const GUnicodeType_G_UNICODE_LETTER_NUMBER: GUnicodeType = 14;
9845pub const GUnicodeType_G_UNICODE_OTHER_NUMBER: GUnicodeType = 15;
9846pub const GUnicodeType_G_UNICODE_CONNECT_PUNCTUATION: GUnicodeType = 16;
9847pub const GUnicodeType_G_UNICODE_DASH_PUNCTUATION: GUnicodeType = 17;
9848pub const GUnicodeType_G_UNICODE_CLOSE_PUNCTUATION: GUnicodeType = 18;
9849pub const GUnicodeType_G_UNICODE_FINAL_PUNCTUATION: GUnicodeType = 19;
9850pub const GUnicodeType_G_UNICODE_INITIAL_PUNCTUATION: GUnicodeType = 20;
9851pub const GUnicodeType_G_UNICODE_OTHER_PUNCTUATION: GUnicodeType = 21;
9852pub const GUnicodeType_G_UNICODE_OPEN_PUNCTUATION: GUnicodeType = 22;
9853pub const GUnicodeType_G_UNICODE_CURRENCY_SYMBOL: GUnicodeType = 23;
9854pub const GUnicodeType_G_UNICODE_MODIFIER_SYMBOL: GUnicodeType = 24;
9855pub const GUnicodeType_G_UNICODE_MATH_SYMBOL: GUnicodeType = 25;
9856pub const GUnicodeType_G_UNICODE_OTHER_SYMBOL: GUnicodeType = 26;
9857pub const GUnicodeType_G_UNICODE_LINE_SEPARATOR: GUnicodeType = 27;
9858pub const GUnicodeType_G_UNICODE_PARAGRAPH_SEPARATOR: GUnicodeType = 28;
9859pub const GUnicodeType_G_UNICODE_SPACE_SEPARATOR: GUnicodeType = 29;
9860pub type GUnicodeType = ::std::os::raw::c_uint;
9861pub const GUnicodeBreakType_G_UNICODE_BREAK_MANDATORY: GUnicodeBreakType = 0;
9862pub const GUnicodeBreakType_G_UNICODE_BREAK_CARRIAGE_RETURN: GUnicodeBreakType = 1;
9863pub const GUnicodeBreakType_G_UNICODE_BREAK_LINE_FEED: GUnicodeBreakType = 2;
9864pub const GUnicodeBreakType_G_UNICODE_BREAK_COMBINING_MARK: GUnicodeBreakType = 3;
9865pub const GUnicodeBreakType_G_UNICODE_BREAK_SURROGATE: GUnicodeBreakType = 4;
9866pub const GUnicodeBreakType_G_UNICODE_BREAK_ZERO_WIDTH_SPACE: GUnicodeBreakType = 5;
9867pub const GUnicodeBreakType_G_UNICODE_BREAK_INSEPARABLE: GUnicodeBreakType = 6;
9868pub const GUnicodeBreakType_G_UNICODE_BREAK_NON_BREAKING_GLUE: GUnicodeBreakType = 7;
9869pub const GUnicodeBreakType_G_UNICODE_BREAK_CONTINGENT: GUnicodeBreakType = 8;
9870pub const GUnicodeBreakType_G_UNICODE_BREAK_SPACE: GUnicodeBreakType = 9;
9871pub const GUnicodeBreakType_G_UNICODE_BREAK_AFTER: GUnicodeBreakType = 10;
9872pub const GUnicodeBreakType_G_UNICODE_BREAK_BEFORE: GUnicodeBreakType = 11;
9873pub const GUnicodeBreakType_G_UNICODE_BREAK_BEFORE_AND_AFTER: GUnicodeBreakType = 12;
9874pub const GUnicodeBreakType_G_UNICODE_BREAK_HYPHEN: GUnicodeBreakType = 13;
9875pub const GUnicodeBreakType_G_UNICODE_BREAK_NON_STARTER: GUnicodeBreakType = 14;
9876pub const GUnicodeBreakType_G_UNICODE_BREAK_OPEN_PUNCTUATION: GUnicodeBreakType = 15;
9877pub const GUnicodeBreakType_G_UNICODE_BREAK_CLOSE_PUNCTUATION: GUnicodeBreakType = 16;
9878pub const GUnicodeBreakType_G_UNICODE_BREAK_QUOTATION: GUnicodeBreakType = 17;
9879pub const GUnicodeBreakType_G_UNICODE_BREAK_EXCLAMATION: GUnicodeBreakType = 18;
9880pub const GUnicodeBreakType_G_UNICODE_BREAK_IDEOGRAPHIC: GUnicodeBreakType = 19;
9881pub const GUnicodeBreakType_G_UNICODE_BREAK_NUMERIC: GUnicodeBreakType = 20;
9882pub const GUnicodeBreakType_G_UNICODE_BREAK_INFIX_SEPARATOR: GUnicodeBreakType = 21;
9883pub const GUnicodeBreakType_G_UNICODE_BREAK_SYMBOL: GUnicodeBreakType = 22;
9884pub const GUnicodeBreakType_G_UNICODE_BREAK_ALPHABETIC: GUnicodeBreakType = 23;
9885pub const GUnicodeBreakType_G_UNICODE_BREAK_PREFIX: GUnicodeBreakType = 24;
9886pub const GUnicodeBreakType_G_UNICODE_BREAK_POSTFIX: GUnicodeBreakType = 25;
9887pub const GUnicodeBreakType_G_UNICODE_BREAK_COMPLEX_CONTEXT: GUnicodeBreakType = 26;
9888pub const GUnicodeBreakType_G_UNICODE_BREAK_AMBIGUOUS: GUnicodeBreakType = 27;
9889pub const GUnicodeBreakType_G_UNICODE_BREAK_UNKNOWN: GUnicodeBreakType = 28;
9890pub const GUnicodeBreakType_G_UNICODE_BREAK_NEXT_LINE: GUnicodeBreakType = 29;
9891pub const GUnicodeBreakType_G_UNICODE_BREAK_WORD_JOINER: GUnicodeBreakType = 30;
9892pub const GUnicodeBreakType_G_UNICODE_BREAK_HANGUL_L_JAMO: GUnicodeBreakType = 31;
9893pub const GUnicodeBreakType_G_UNICODE_BREAK_HANGUL_V_JAMO: GUnicodeBreakType = 32;
9894pub const GUnicodeBreakType_G_UNICODE_BREAK_HANGUL_T_JAMO: GUnicodeBreakType = 33;
9895pub const GUnicodeBreakType_G_UNICODE_BREAK_HANGUL_LV_SYLLABLE: GUnicodeBreakType = 34;
9896pub const GUnicodeBreakType_G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE: GUnicodeBreakType = 35;
9897pub const GUnicodeBreakType_G_UNICODE_BREAK_CLOSE_PARANTHESIS: GUnicodeBreakType = 36;
9898pub const GUnicodeBreakType_G_UNICODE_BREAK_CLOSE_PARENTHESIS: GUnicodeBreakType = 36;
9899pub const GUnicodeBreakType_G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER: GUnicodeBreakType = 37;
9900pub const GUnicodeBreakType_G_UNICODE_BREAK_HEBREW_LETTER: GUnicodeBreakType = 38;
9901pub const GUnicodeBreakType_G_UNICODE_BREAK_REGIONAL_INDICATOR: GUnicodeBreakType = 39;
9902pub const GUnicodeBreakType_G_UNICODE_BREAK_EMOJI_BASE: GUnicodeBreakType = 40;
9903pub const GUnicodeBreakType_G_UNICODE_BREAK_EMOJI_MODIFIER: GUnicodeBreakType = 41;
9904pub const GUnicodeBreakType_G_UNICODE_BREAK_ZERO_WIDTH_JOINER: GUnicodeBreakType = 42;
9905pub type GUnicodeBreakType = ::std::os::raw::c_uint;
9906pub const GUnicodeScript_G_UNICODE_SCRIPT_INVALID_CODE: GUnicodeScript = -1;
9907pub const GUnicodeScript_G_UNICODE_SCRIPT_COMMON: GUnicodeScript = 0;
9908pub const GUnicodeScript_G_UNICODE_SCRIPT_INHERITED: GUnicodeScript = 1;
9909pub const GUnicodeScript_G_UNICODE_SCRIPT_ARABIC: GUnicodeScript = 2;
9910pub const GUnicodeScript_G_UNICODE_SCRIPT_ARMENIAN: GUnicodeScript = 3;
9911pub const GUnicodeScript_G_UNICODE_SCRIPT_BENGALI: GUnicodeScript = 4;
9912pub const GUnicodeScript_G_UNICODE_SCRIPT_BOPOMOFO: GUnicodeScript = 5;
9913pub const GUnicodeScript_G_UNICODE_SCRIPT_CHEROKEE: GUnicodeScript = 6;
9914pub const GUnicodeScript_G_UNICODE_SCRIPT_COPTIC: GUnicodeScript = 7;
9915pub const GUnicodeScript_G_UNICODE_SCRIPT_CYRILLIC: GUnicodeScript = 8;
9916pub const GUnicodeScript_G_UNICODE_SCRIPT_DESERET: GUnicodeScript = 9;
9917pub const GUnicodeScript_G_UNICODE_SCRIPT_DEVANAGARI: GUnicodeScript = 10;
9918pub const GUnicodeScript_G_UNICODE_SCRIPT_ETHIOPIC: GUnicodeScript = 11;
9919pub const GUnicodeScript_G_UNICODE_SCRIPT_GEORGIAN: GUnicodeScript = 12;
9920pub const GUnicodeScript_G_UNICODE_SCRIPT_GOTHIC: GUnicodeScript = 13;
9921pub const GUnicodeScript_G_UNICODE_SCRIPT_GREEK: GUnicodeScript = 14;
9922pub const GUnicodeScript_G_UNICODE_SCRIPT_GUJARATI: GUnicodeScript = 15;
9923pub const GUnicodeScript_G_UNICODE_SCRIPT_GURMUKHI: GUnicodeScript = 16;
9924pub const GUnicodeScript_G_UNICODE_SCRIPT_HAN: GUnicodeScript = 17;
9925pub const GUnicodeScript_G_UNICODE_SCRIPT_HANGUL: GUnicodeScript = 18;
9926pub const GUnicodeScript_G_UNICODE_SCRIPT_HEBREW: GUnicodeScript = 19;
9927pub const GUnicodeScript_G_UNICODE_SCRIPT_HIRAGANA: GUnicodeScript = 20;
9928pub const GUnicodeScript_G_UNICODE_SCRIPT_KANNADA: GUnicodeScript = 21;
9929pub const GUnicodeScript_G_UNICODE_SCRIPT_KATAKANA: GUnicodeScript = 22;
9930pub const GUnicodeScript_G_UNICODE_SCRIPT_KHMER: GUnicodeScript = 23;
9931pub const GUnicodeScript_G_UNICODE_SCRIPT_LAO: GUnicodeScript = 24;
9932pub const GUnicodeScript_G_UNICODE_SCRIPT_LATIN: GUnicodeScript = 25;
9933pub const GUnicodeScript_G_UNICODE_SCRIPT_MALAYALAM: GUnicodeScript = 26;
9934pub const GUnicodeScript_G_UNICODE_SCRIPT_MONGOLIAN: GUnicodeScript = 27;
9935pub const GUnicodeScript_G_UNICODE_SCRIPT_MYANMAR: GUnicodeScript = 28;
9936pub const GUnicodeScript_G_UNICODE_SCRIPT_OGHAM: GUnicodeScript = 29;
9937pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_ITALIC: GUnicodeScript = 30;
9938pub const GUnicodeScript_G_UNICODE_SCRIPT_ORIYA: GUnicodeScript = 31;
9939pub const GUnicodeScript_G_UNICODE_SCRIPT_RUNIC: GUnicodeScript = 32;
9940pub const GUnicodeScript_G_UNICODE_SCRIPT_SINHALA: GUnicodeScript = 33;
9941pub const GUnicodeScript_G_UNICODE_SCRIPT_SYRIAC: GUnicodeScript = 34;
9942pub const GUnicodeScript_G_UNICODE_SCRIPT_TAMIL: GUnicodeScript = 35;
9943pub const GUnicodeScript_G_UNICODE_SCRIPT_TELUGU: GUnicodeScript = 36;
9944pub const GUnicodeScript_G_UNICODE_SCRIPT_THAANA: GUnicodeScript = 37;
9945pub const GUnicodeScript_G_UNICODE_SCRIPT_THAI: GUnicodeScript = 38;
9946pub const GUnicodeScript_G_UNICODE_SCRIPT_TIBETAN: GUnicodeScript = 39;
9947pub const GUnicodeScript_G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL: GUnicodeScript = 40;
9948pub const GUnicodeScript_G_UNICODE_SCRIPT_YI: GUnicodeScript = 41;
9949pub const GUnicodeScript_G_UNICODE_SCRIPT_TAGALOG: GUnicodeScript = 42;
9950pub const GUnicodeScript_G_UNICODE_SCRIPT_HANUNOO: GUnicodeScript = 43;
9951pub const GUnicodeScript_G_UNICODE_SCRIPT_BUHID: GUnicodeScript = 44;
9952pub const GUnicodeScript_G_UNICODE_SCRIPT_TAGBANWA: GUnicodeScript = 45;
9953pub const GUnicodeScript_G_UNICODE_SCRIPT_BRAILLE: GUnicodeScript = 46;
9954pub const GUnicodeScript_G_UNICODE_SCRIPT_CYPRIOT: GUnicodeScript = 47;
9955pub const GUnicodeScript_G_UNICODE_SCRIPT_LIMBU: GUnicodeScript = 48;
9956pub const GUnicodeScript_G_UNICODE_SCRIPT_OSMANYA: GUnicodeScript = 49;
9957pub const GUnicodeScript_G_UNICODE_SCRIPT_SHAVIAN: GUnicodeScript = 50;
9958pub const GUnicodeScript_G_UNICODE_SCRIPT_LINEAR_B: GUnicodeScript = 51;
9959pub const GUnicodeScript_G_UNICODE_SCRIPT_TAI_LE: GUnicodeScript = 52;
9960pub const GUnicodeScript_G_UNICODE_SCRIPT_UGARITIC: GUnicodeScript = 53;
9961pub const GUnicodeScript_G_UNICODE_SCRIPT_NEW_TAI_LUE: GUnicodeScript = 54;
9962pub const GUnicodeScript_G_UNICODE_SCRIPT_BUGINESE: GUnicodeScript = 55;
9963pub const GUnicodeScript_G_UNICODE_SCRIPT_GLAGOLITIC: GUnicodeScript = 56;
9964pub const GUnicodeScript_G_UNICODE_SCRIPT_TIFINAGH: GUnicodeScript = 57;
9965pub const GUnicodeScript_G_UNICODE_SCRIPT_SYLOTI_NAGRI: GUnicodeScript = 58;
9966pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_PERSIAN: GUnicodeScript = 59;
9967pub const GUnicodeScript_G_UNICODE_SCRIPT_KHAROSHTHI: GUnicodeScript = 60;
9968pub const GUnicodeScript_G_UNICODE_SCRIPT_UNKNOWN: GUnicodeScript = 61;
9969pub const GUnicodeScript_G_UNICODE_SCRIPT_BALINESE: GUnicodeScript = 62;
9970pub const GUnicodeScript_G_UNICODE_SCRIPT_CUNEIFORM: GUnicodeScript = 63;
9971pub const GUnicodeScript_G_UNICODE_SCRIPT_PHOENICIAN: GUnicodeScript = 64;
9972pub const GUnicodeScript_G_UNICODE_SCRIPT_PHAGS_PA: GUnicodeScript = 65;
9973pub const GUnicodeScript_G_UNICODE_SCRIPT_NKO: GUnicodeScript = 66;
9974pub const GUnicodeScript_G_UNICODE_SCRIPT_KAYAH_LI: GUnicodeScript = 67;
9975pub const GUnicodeScript_G_UNICODE_SCRIPT_LEPCHA: GUnicodeScript = 68;
9976pub const GUnicodeScript_G_UNICODE_SCRIPT_REJANG: GUnicodeScript = 69;
9977pub const GUnicodeScript_G_UNICODE_SCRIPT_SUNDANESE: GUnicodeScript = 70;
9978pub const GUnicodeScript_G_UNICODE_SCRIPT_SAURASHTRA: GUnicodeScript = 71;
9979pub const GUnicodeScript_G_UNICODE_SCRIPT_CHAM: GUnicodeScript = 72;
9980pub const GUnicodeScript_G_UNICODE_SCRIPT_OL_CHIKI: GUnicodeScript = 73;
9981pub const GUnicodeScript_G_UNICODE_SCRIPT_VAI: GUnicodeScript = 74;
9982pub const GUnicodeScript_G_UNICODE_SCRIPT_CARIAN: GUnicodeScript = 75;
9983pub const GUnicodeScript_G_UNICODE_SCRIPT_LYCIAN: GUnicodeScript = 76;
9984pub const GUnicodeScript_G_UNICODE_SCRIPT_LYDIAN: GUnicodeScript = 77;
9985pub const GUnicodeScript_G_UNICODE_SCRIPT_AVESTAN: GUnicodeScript = 78;
9986pub const GUnicodeScript_G_UNICODE_SCRIPT_BAMUM: GUnicodeScript = 79;
9987pub const GUnicodeScript_G_UNICODE_SCRIPT_EGYPTIAN_HIEROGLYPHS: GUnicodeScript = 80;
9988pub const GUnicodeScript_G_UNICODE_SCRIPT_IMPERIAL_ARAMAIC: GUnicodeScript = 81;
9989pub const GUnicodeScript_G_UNICODE_SCRIPT_INSCRIPTIONAL_PAHLAVI: GUnicodeScript = 82;
9990pub const GUnicodeScript_G_UNICODE_SCRIPT_INSCRIPTIONAL_PARTHIAN: GUnicodeScript = 83;
9991pub const GUnicodeScript_G_UNICODE_SCRIPT_JAVANESE: GUnicodeScript = 84;
9992pub const GUnicodeScript_G_UNICODE_SCRIPT_KAITHI: GUnicodeScript = 85;
9993pub const GUnicodeScript_G_UNICODE_SCRIPT_LISU: GUnicodeScript = 86;
9994pub const GUnicodeScript_G_UNICODE_SCRIPT_MEETEI_MAYEK: GUnicodeScript = 87;
9995pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_SOUTH_ARABIAN: GUnicodeScript = 88;
9996pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_TURKIC: GUnicodeScript = 89;
9997pub const GUnicodeScript_G_UNICODE_SCRIPT_SAMARITAN: GUnicodeScript = 90;
9998pub const GUnicodeScript_G_UNICODE_SCRIPT_TAI_THAM: GUnicodeScript = 91;
9999pub const GUnicodeScript_G_UNICODE_SCRIPT_TAI_VIET: GUnicodeScript = 92;
10000pub const GUnicodeScript_G_UNICODE_SCRIPT_BATAK: GUnicodeScript = 93;
10001pub const GUnicodeScript_G_UNICODE_SCRIPT_BRAHMI: GUnicodeScript = 94;
10002pub const GUnicodeScript_G_UNICODE_SCRIPT_MANDAIC: GUnicodeScript = 95;
10003pub const GUnicodeScript_G_UNICODE_SCRIPT_CHAKMA: GUnicodeScript = 96;
10004pub const GUnicodeScript_G_UNICODE_SCRIPT_MEROITIC_CURSIVE: GUnicodeScript = 97;
10005pub const GUnicodeScript_G_UNICODE_SCRIPT_MEROITIC_HIEROGLYPHS: GUnicodeScript = 98;
10006pub const GUnicodeScript_G_UNICODE_SCRIPT_MIAO: GUnicodeScript = 99;
10007pub const GUnicodeScript_G_UNICODE_SCRIPT_SHARADA: GUnicodeScript = 100;
10008pub const GUnicodeScript_G_UNICODE_SCRIPT_SORA_SOMPENG: GUnicodeScript = 101;
10009pub const GUnicodeScript_G_UNICODE_SCRIPT_TAKRI: GUnicodeScript = 102;
10010pub const GUnicodeScript_G_UNICODE_SCRIPT_BASSA_VAH: GUnicodeScript = 103;
10011pub const GUnicodeScript_G_UNICODE_SCRIPT_CAUCASIAN_ALBANIAN: GUnicodeScript = 104;
10012pub const GUnicodeScript_G_UNICODE_SCRIPT_DUPLOYAN: GUnicodeScript = 105;
10013pub const GUnicodeScript_G_UNICODE_SCRIPT_ELBASAN: GUnicodeScript = 106;
10014pub const GUnicodeScript_G_UNICODE_SCRIPT_GRANTHA: GUnicodeScript = 107;
10015pub const GUnicodeScript_G_UNICODE_SCRIPT_KHOJKI: GUnicodeScript = 108;
10016pub const GUnicodeScript_G_UNICODE_SCRIPT_KHUDAWADI: GUnicodeScript = 109;
10017pub const GUnicodeScript_G_UNICODE_SCRIPT_LINEAR_A: GUnicodeScript = 110;
10018pub const GUnicodeScript_G_UNICODE_SCRIPT_MAHAJANI: GUnicodeScript = 111;
10019pub const GUnicodeScript_G_UNICODE_SCRIPT_MANICHAEAN: GUnicodeScript = 112;
10020pub const GUnicodeScript_G_UNICODE_SCRIPT_MENDE_KIKAKUI: GUnicodeScript = 113;
10021pub const GUnicodeScript_G_UNICODE_SCRIPT_MODI: GUnicodeScript = 114;
10022pub const GUnicodeScript_G_UNICODE_SCRIPT_MRO: GUnicodeScript = 115;
10023pub const GUnicodeScript_G_UNICODE_SCRIPT_NABATAEAN: GUnicodeScript = 116;
10024pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_NORTH_ARABIAN: GUnicodeScript = 117;
10025pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_PERMIC: GUnicodeScript = 118;
10026pub const GUnicodeScript_G_UNICODE_SCRIPT_PAHAWH_HMONG: GUnicodeScript = 119;
10027pub const GUnicodeScript_G_UNICODE_SCRIPT_PALMYRENE: GUnicodeScript = 120;
10028pub const GUnicodeScript_G_UNICODE_SCRIPT_PAU_CIN_HAU: GUnicodeScript = 121;
10029pub const GUnicodeScript_G_UNICODE_SCRIPT_PSALTER_PAHLAVI: GUnicodeScript = 122;
10030pub const GUnicodeScript_G_UNICODE_SCRIPT_SIDDHAM: GUnicodeScript = 123;
10031pub const GUnicodeScript_G_UNICODE_SCRIPT_TIRHUTA: GUnicodeScript = 124;
10032pub const GUnicodeScript_G_UNICODE_SCRIPT_WARANG_CITI: GUnicodeScript = 125;
10033pub const GUnicodeScript_G_UNICODE_SCRIPT_AHOM: GUnicodeScript = 126;
10034pub const GUnicodeScript_G_UNICODE_SCRIPT_ANATOLIAN_HIEROGLYPHS: GUnicodeScript = 127;
10035pub const GUnicodeScript_G_UNICODE_SCRIPT_HATRAN: GUnicodeScript = 128;
10036pub const GUnicodeScript_G_UNICODE_SCRIPT_MULTANI: GUnicodeScript = 129;
10037pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_HUNGARIAN: GUnicodeScript = 130;
10038pub const GUnicodeScript_G_UNICODE_SCRIPT_SIGNWRITING: GUnicodeScript = 131;
10039pub const GUnicodeScript_G_UNICODE_SCRIPT_ADLAM: GUnicodeScript = 132;
10040pub const GUnicodeScript_G_UNICODE_SCRIPT_BHAIKSUKI: GUnicodeScript = 133;
10041pub const GUnicodeScript_G_UNICODE_SCRIPT_MARCHEN: GUnicodeScript = 134;
10042pub const GUnicodeScript_G_UNICODE_SCRIPT_NEWA: GUnicodeScript = 135;
10043pub const GUnicodeScript_G_UNICODE_SCRIPT_OSAGE: GUnicodeScript = 136;
10044pub const GUnicodeScript_G_UNICODE_SCRIPT_TANGUT: GUnicodeScript = 137;
10045pub const GUnicodeScript_G_UNICODE_SCRIPT_MASARAM_GONDI: GUnicodeScript = 138;
10046pub const GUnicodeScript_G_UNICODE_SCRIPT_NUSHU: GUnicodeScript = 139;
10047pub const GUnicodeScript_G_UNICODE_SCRIPT_SOYOMBO: GUnicodeScript = 140;
10048pub const GUnicodeScript_G_UNICODE_SCRIPT_ZANABAZAR_SQUARE: GUnicodeScript = 141;
10049pub const GUnicodeScript_G_UNICODE_SCRIPT_DOGRA: GUnicodeScript = 142;
10050pub const GUnicodeScript_G_UNICODE_SCRIPT_GUNJALA_GONDI: GUnicodeScript = 143;
10051pub const GUnicodeScript_G_UNICODE_SCRIPT_HANIFI_ROHINGYA: GUnicodeScript = 144;
10052pub const GUnicodeScript_G_UNICODE_SCRIPT_MAKASAR: GUnicodeScript = 145;
10053pub const GUnicodeScript_G_UNICODE_SCRIPT_MEDEFAIDRIN: GUnicodeScript = 146;
10054pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_SOGDIAN: GUnicodeScript = 147;
10055pub const GUnicodeScript_G_UNICODE_SCRIPT_SOGDIAN: GUnicodeScript = 148;
10056pub const GUnicodeScript_G_UNICODE_SCRIPT_ELYMAIC: GUnicodeScript = 149;
10057pub const GUnicodeScript_G_UNICODE_SCRIPT_NANDINAGARI: GUnicodeScript = 150;
10058pub const GUnicodeScript_G_UNICODE_SCRIPT_NYIAKENG_PUACHUE_HMONG: GUnicodeScript = 151;
10059pub const GUnicodeScript_G_UNICODE_SCRIPT_WANCHO: GUnicodeScript = 152;
10060pub const GUnicodeScript_G_UNICODE_SCRIPT_CHORASMIAN: GUnicodeScript = 153;
10061pub const GUnicodeScript_G_UNICODE_SCRIPT_DIVES_AKURU: GUnicodeScript = 154;
10062pub const GUnicodeScript_G_UNICODE_SCRIPT_KHITAN_SMALL_SCRIPT: GUnicodeScript = 155;
10063pub const GUnicodeScript_G_UNICODE_SCRIPT_YEZIDI: GUnicodeScript = 156;
10064pub const GUnicodeScript_G_UNICODE_SCRIPT_CYPRO_MINOAN: GUnicodeScript = 157;
10065pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_UYGHUR: GUnicodeScript = 158;
10066pub const GUnicodeScript_G_UNICODE_SCRIPT_TANGSA: GUnicodeScript = 159;
10067pub const GUnicodeScript_G_UNICODE_SCRIPT_TOTO: GUnicodeScript = 160;
10068pub const GUnicodeScript_G_UNICODE_SCRIPT_VITHKUQI: GUnicodeScript = 161;
10069pub const GUnicodeScript_G_UNICODE_SCRIPT_MATH: GUnicodeScript = 162;
10070pub const GUnicodeScript_G_UNICODE_SCRIPT_KAWI: GUnicodeScript = 163;
10071pub const GUnicodeScript_G_UNICODE_SCRIPT_NAG_MUNDARI: GUnicodeScript = 164;
10072pub type GUnicodeScript = ::std::os::raw::c_int;
10073extern "C" {
10074    pub fn g_unicode_script_to_iso15924(script: GUnicodeScript) -> guint32;
10075}
10076extern "C" {
10077    pub fn g_unicode_script_from_iso15924(iso15924: guint32) -> GUnicodeScript;
10078}
10079extern "C" {
10080    pub fn g_unichar_isalnum(c: gunichar) -> gboolean;
10081}
10082extern "C" {
10083    pub fn g_unichar_isalpha(c: gunichar) -> gboolean;
10084}
10085extern "C" {
10086    pub fn g_unichar_iscntrl(c: gunichar) -> gboolean;
10087}
10088extern "C" {
10089    pub fn g_unichar_isdigit(c: gunichar) -> gboolean;
10090}
10091extern "C" {
10092    pub fn g_unichar_isgraph(c: gunichar) -> gboolean;
10093}
10094extern "C" {
10095    pub fn g_unichar_islower(c: gunichar) -> gboolean;
10096}
10097extern "C" {
10098    pub fn g_unichar_isprint(c: gunichar) -> gboolean;
10099}
10100extern "C" {
10101    pub fn g_unichar_ispunct(c: gunichar) -> gboolean;
10102}
10103extern "C" {
10104    pub fn g_unichar_isspace(c: gunichar) -> gboolean;
10105}
10106extern "C" {
10107    pub fn g_unichar_isupper(c: gunichar) -> gboolean;
10108}
10109extern "C" {
10110    pub fn g_unichar_isxdigit(c: gunichar) -> gboolean;
10111}
10112extern "C" {
10113    pub fn g_unichar_istitle(c: gunichar) -> gboolean;
10114}
10115extern "C" {
10116    pub fn g_unichar_isdefined(c: gunichar) -> gboolean;
10117}
10118extern "C" {
10119    pub fn g_unichar_iswide(c: gunichar) -> gboolean;
10120}
10121extern "C" {
10122    pub fn g_unichar_iswide_cjk(c: gunichar) -> gboolean;
10123}
10124extern "C" {
10125    pub fn g_unichar_iszerowidth(c: gunichar) -> gboolean;
10126}
10127extern "C" {
10128    pub fn g_unichar_ismark(c: gunichar) -> gboolean;
10129}
10130extern "C" {
10131    pub fn g_unichar_toupper(c: gunichar) -> gunichar;
10132}
10133extern "C" {
10134    pub fn g_unichar_tolower(c: gunichar) -> gunichar;
10135}
10136extern "C" {
10137    pub fn g_unichar_totitle(c: gunichar) -> gunichar;
10138}
10139extern "C" {
10140    pub fn g_unichar_digit_value(c: gunichar) -> gint;
10141}
10142extern "C" {
10143    pub fn g_unichar_xdigit_value(c: gunichar) -> gint;
10144}
10145extern "C" {
10146    pub fn g_unichar_type(c: gunichar) -> GUnicodeType;
10147}
10148extern "C" {
10149    pub fn g_unichar_break_type(c: gunichar) -> GUnicodeBreakType;
10150}
10151extern "C" {
10152    pub fn g_unichar_combining_class(uc: gunichar) -> gint;
10153}
10154extern "C" {
10155    pub fn g_unichar_get_mirror_char(ch: gunichar, mirrored_ch: *mut gunichar) -> gboolean;
10156}
10157extern "C" {
10158    pub fn g_unichar_get_script(ch: gunichar) -> GUnicodeScript;
10159}
10160extern "C" {
10161    pub fn g_unichar_validate(ch: gunichar) -> gboolean;
10162}
10163extern "C" {
10164    pub fn g_unichar_compose(a: gunichar, b: gunichar, ch: *mut gunichar) -> gboolean;
10165}
10166extern "C" {
10167    pub fn g_unichar_decompose(ch: gunichar, a: *mut gunichar, b: *mut gunichar) -> gboolean;
10168}
10169extern "C" {
10170    pub fn g_unichar_fully_decompose(
10171        ch: gunichar,
10172        compat: gboolean,
10173        result: *mut gunichar,
10174        result_len: gsize,
10175    ) -> gsize;
10176}
10177extern "C" {
10178    pub fn g_unicode_canonical_ordering(string: *mut gunichar, len: gsize);
10179}
10180extern "C" {
10181    pub fn g_unicode_canonical_decomposition(ch: gunichar, result_len: *mut gsize)
10182        -> *mut gunichar;
10183}
10184extern "C" {
10185    pub static g_utf8_skip: *const gchar;
10186}
10187extern "C" {
10188    pub fn g_utf8_get_char(p: *const gchar) -> gunichar;
10189}
10190extern "C" {
10191    pub fn g_utf8_get_char_validated(p: *const gchar, max_len: gssize) -> gunichar;
10192}
10193extern "C" {
10194    pub fn g_utf8_offset_to_pointer(str_: *const gchar, offset: glong) -> *mut gchar;
10195}
10196extern "C" {
10197    pub fn g_utf8_pointer_to_offset(str_: *const gchar, pos: *const gchar) -> glong;
10198}
10199extern "C" {
10200    pub fn g_utf8_prev_char(p: *const gchar) -> *mut gchar;
10201}
10202extern "C" {
10203    pub fn g_utf8_find_next_char(p: *const gchar, end: *const gchar) -> *mut gchar;
10204}
10205extern "C" {
10206    pub fn g_utf8_find_prev_char(str_: *const gchar, p: *const gchar) -> *mut gchar;
10207}
10208extern "C" {
10209    pub fn g_utf8_strlen(p: *const gchar, max: gssize) -> glong;
10210}
10211extern "C" {
10212    pub fn g_utf8_substring(str_: *const gchar, start_pos: glong, end_pos: glong) -> *mut gchar;
10213}
10214extern "C" {
10215    pub fn g_utf8_strncpy(dest: *mut gchar, src: *const gchar, n: gsize) -> *mut gchar;
10216}
10217extern "C" {
10218    pub fn g_utf8_truncate_middle(string: *const gchar, truncate_length: gsize) -> *mut gchar;
10219}
10220extern "C" {
10221    pub fn g_utf8_strchr(p: *const gchar, len: gssize, c: gunichar) -> *mut gchar;
10222}
10223extern "C" {
10224    pub fn g_utf8_strrchr(p: *const gchar, len: gssize, c: gunichar) -> *mut gchar;
10225}
10226extern "C" {
10227    pub fn g_utf8_strreverse(str_: *const gchar, len: gssize) -> *mut gchar;
10228}
10229extern "C" {
10230    pub fn g_utf8_to_utf16(
10231        str_: *const gchar,
10232        len: glong,
10233        items_read: *mut glong,
10234        items_written: *mut glong,
10235        error: *mut *mut GError,
10236    ) -> *mut gunichar2;
10237}
10238extern "C" {
10239    pub fn g_utf8_to_ucs4(
10240        str_: *const gchar,
10241        len: glong,
10242        items_read: *mut glong,
10243        items_written: *mut glong,
10244        error: *mut *mut GError,
10245    ) -> *mut gunichar;
10246}
10247extern "C" {
10248    pub fn g_utf8_to_ucs4_fast(
10249        str_: *const gchar,
10250        len: glong,
10251        items_written: *mut glong,
10252    ) -> *mut gunichar;
10253}
10254extern "C" {
10255    pub fn g_utf16_to_ucs4(
10256        str_: *const gunichar2,
10257        len: glong,
10258        items_read: *mut glong,
10259        items_written: *mut glong,
10260        error: *mut *mut GError,
10261    ) -> *mut gunichar;
10262}
10263extern "C" {
10264    pub fn g_utf16_to_utf8(
10265        str_: *const gunichar2,
10266        len: glong,
10267        items_read: *mut glong,
10268        items_written: *mut glong,
10269        error: *mut *mut GError,
10270    ) -> *mut gchar;
10271}
10272extern "C" {
10273    pub fn g_ucs4_to_utf16(
10274        str_: *const gunichar,
10275        len: glong,
10276        items_read: *mut glong,
10277        items_written: *mut glong,
10278        error: *mut *mut GError,
10279    ) -> *mut gunichar2;
10280}
10281extern "C" {
10282    pub fn g_ucs4_to_utf8(
10283        str_: *const gunichar,
10284        len: glong,
10285        items_read: *mut glong,
10286        items_written: *mut glong,
10287        error: *mut *mut GError,
10288    ) -> *mut gchar;
10289}
10290extern "C" {
10291    pub fn g_unichar_to_utf8(c: gunichar, outbuf: *mut gchar) -> gint;
10292}
10293extern "C" {
10294    pub fn g_utf8_validate(str_: *const gchar, max_len: gssize, end: *mut *const gchar)
10295        -> gboolean;
10296}
10297extern "C" {
10298    pub fn g_utf8_validate_len(
10299        str_: *const gchar,
10300        max_len: gsize,
10301        end: *mut *const gchar,
10302    ) -> gboolean;
10303}
10304extern "C" {
10305    pub fn g_utf8_strup(str_: *const gchar, len: gssize) -> *mut gchar;
10306}
10307extern "C" {
10308    pub fn g_utf8_strdown(str_: *const gchar, len: gssize) -> *mut gchar;
10309}
10310extern "C" {
10311    pub fn g_utf8_casefold(str_: *const gchar, len: gssize) -> *mut gchar;
10312}
10313pub const GNormalizeMode_G_NORMALIZE_DEFAULT: GNormalizeMode = 0;
10314pub const GNormalizeMode_G_NORMALIZE_NFD: GNormalizeMode = 0;
10315pub const GNormalizeMode_G_NORMALIZE_DEFAULT_COMPOSE: GNormalizeMode = 1;
10316pub const GNormalizeMode_G_NORMALIZE_NFC: GNormalizeMode = 1;
10317pub const GNormalizeMode_G_NORMALIZE_ALL: GNormalizeMode = 2;
10318pub const GNormalizeMode_G_NORMALIZE_NFKD: GNormalizeMode = 2;
10319pub const GNormalizeMode_G_NORMALIZE_ALL_COMPOSE: GNormalizeMode = 3;
10320pub const GNormalizeMode_G_NORMALIZE_NFKC: GNormalizeMode = 3;
10321pub type GNormalizeMode = ::std::os::raw::c_uint;
10322extern "C" {
10323    pub fn g_utf8_normalize(str_: *const gchar, len: gssize, mode: GNormalizeMode) -> *mut gchar;
10324}
10325extern "C" {
10326    pub fn g_utf8_collate(str1: *const gchar, str2: *const gchar) -> gint;
10327}
10328extern "C" {
10329    pub fn g_utf8_collate_key(str_: *const gchar, len: gssize) -> *mut gchar;
10330}
10331extern "C" {
10332    pub fn g_utf8_collate_key_for_filename(str_: *const gchar, len: gssize) -> *mut gchar;
10333}
10334extern "C" {
10335    pub fn g_utf8_make_valid(str_: *const gchar, len: gssize) -> *mut gchar;
10336}
10337pub const GAsciiType_G_ASCII_ALNUM: GAsciiType = 1;
10338pub const GAsciiType_G_ASCII_ALPHA: GAsciiType = 2;
10339pub const GAsciiType_G_ASCII_CNTRL: GAsciiType = 4;
10340pub const GAsciiType_G_ASCII_DIGIT: GAsciiType = 8;
10341pub const GAsciiType_G_ASCII_GRAPH: GAsciiType = 16;
10342pub const GAsciiType_G_ASCII_LOWER: GAsciiType = 32;
10343pub const GAsciiType_G_ASCII_PRINT: GAsciiType = 64;
10344pub const GAsciiType_G_ASCII_PUNCT: GAsciiType = 128;
10345pub const GAsciiType_G_ASCII_SPACE: GAsciiType = 256;
10346pub const GAsciiType_G_ASCII_UPPER: GAsciiType = 512;
10347pub const GAsciiType_G_ASCII_XDIGIT: GAsciiType = 1024;
10348pub type GAsciiType = ::std::os::raw::c_uint;
10349extern "C" {
10350    pub static g_ascii_table: *const guint16;
10351}
10352extern "C" {
10353    pub fn g_ascii_tolower(c: gchar) -> gchar;
10354}
10355extern "C" {
10356    pub fn g_ascii_toupper(c: gchar) -> gchar;
10357}
10358extern "C" {
10359    pub fn g_ascii_digit_value(c: gchar) -> gint;
10360}
10361extern "C" {
10362    pub fn g_ascii_xdigit_value(c: gchar) -> gint;
10363}
10364extern "C" {
10365    pub fn g_strdelimit(
10366        string: *mut gchar,
10367        delimiters: *const gchar,
10368        new_delimiter: gchar,
10369    ) -> *mut gchar;
10370}
10371extern "C" {
10372    pub fn g_strcanon(
10373        string: *mut gchar,
10374        valid_chars: *const gchar,
10375        substitutor: gchar,
10376    ) -> *mut gchar;
10377}
10378extern "C" {
10379    pub fn g_strerror(errnum: gint) -> *const gchar;
10380}
10381extern "C" {
10382    pub fn g_strsignal(signum: gint) -> *const gchar;
10383}
10384extern "C" {
10385    pub fn g_strreverse(string: *mut gchar) -> *mut gchar;
10386}
10387extern "C" {
10388    pub fn g_strlcpy(dest: *mut gchar, src: *const gchar, dest_size: gsize) -> gsize;
10389}
10390extern "C" {
10391    pub fn g_strlcat(dest: *mut gchar, src: *const gchar, dest_size: gsize) -> gsize;
10392}
10393extern "C" {
10394    pub fn g_strstr_len(
10395        haystack: *const gchar,
10396        haystack_len: gssize,
10397        needle: *const gchar,
10398    ) -> *mut gchar;
10399}
10400extern "C" {
10401    pub fn g_strrstr(haystack: *const gchar, needle: *const gchar) -> *mut gchar;
10402}
10403extern "C" {
10404    pub fn g_strrstr_len(
10405        haystack: *const gchar,
10406        haystack_len: gssize,
10407        needle: *const gchar,
10408    ) -> *mut gchar;
10409}
10410extern "C" {
10411    pub fn g_str_has_suffix(str_: *const gchar, suffix: *const gchar) -> gboolean;
10412}
10413extern "C" {
10414    pub fn g_str_has_prefix(str_: *const gchar, prefix: *const gchar) -> gboolean;
10415}
10416extern "C" {
10417    pub fn g_strtod(nptr: *const gchar, endptr: *mut *mut gchar) -> gdouble;
10418}
10419extern "C" {
10420    pub fn g_ascii_strtod(nptr: *const gchar, endptr: *mut *mut gchar) -> gdouble;
10421}
10422extern "C" {
10423    pub fn g_ascii_strtoull(nptr: *const gchar, endptr: *mut *mut gchar, base: guint) -> guint64;
10424}
10425extern "C" {
10426    pub fn g_ascii_strtoll(nptr: *const gchar, endptr: *mut *mut gchar, base: guint) -> gint64;
10427}
10428extern "C" {
10429    pub fn g_ascii_dtostr(buffer: *mut gchar, buf_len: gint, d: gdouble) -> *mut gchar;
10430}
10431extern "C" {
10432    pub fn g_ascii_formatd(
10433        buffer: *mut gchar,
10434        buf_len: gint,
10435        format: *const gchar,
10436        d: gdouble,
10437    ) -> *mut gchar;
10438}
10439extern "C" {
10440    pub fn g_strchug(string: *mut gchar) -> *mut gchar;
10441}
10442extern "C" {
10443    pub fn g_strchomp(string: *mut gchar) -> *mut gchar;
10444}
10445extern "C" {
10446    pub fn g_ascii_strcasecmp(s1: *const gchar, s2: *const gchar) -> gint;
10447}
10448extern "C" {
10449    pub fn g_ascii_strncasecmp(s1: *const gchar, s2: *const gchar, n: gsize) -> gint;
10450}
10451extern "C" {
10452    pub fn g_ascii_strdown(str_: *const gchar, len: gssize) -> *mut gchar;
10453}
10454extern "C" {
10455    pub fn g_ascii_strup(str_: *const gchar, len: gssize) -> *mut gchar;
10456}
10457extern "C" {
10458    pub fn g_str_is_ascii(str_: *const gchar) -> gboolean;
10459}
10460extern "C" {
10461    pub fn g_strcasecmp(s1: *const gchar, s2: *const gchar) -> gint;
10462}
10463extern "C" {
10464    pub fn g_strncasecmp(s1: *const gchar, s2: *const gchar, n: guint) -> gint;
10465}
10466extern "C" {
10467    pub fn g_strdown(string: *mut gchar) -> *mut gchar;
10468}
10469extern "C" {
10470    pub fn g_strup(string: *mut gchar) -> *mut gchar;
10471}
10472extern "C" {
10473    pub fn g_strdup(str_: *const gchar) -> *mut gchar;
10474}
10475extern "C" {
10476    pub fn g_strdup_printf(format: *const gchar, ...) -> *mut gchar;
10477}
10478extern "C" {
10479    pub fn g_strdup_vprintf(format: *const gchar, args: va_list) -> *mut gchar;
10480}
10481extern "C" {
10482    pub fn g_strndup(str_: *const gchar, n: gsize) -> *mut gchar;
10483}
10484extern "C" {
10485    pub fn g_strnfill(length: gsize, fill_char: gchar) -> *mut gchar;
10486}
10487extern "C" {
10488    pub fn g_strconcat(string1: *const gchar, ...) -> *mut gchar;
10489}
10490extern "C" {
10491    pub fn g_strjoin(separator: *const gchar, ...) -> *mut gchar;
10492}
10493extern "C" {
10494    pub fn g_strcompress(source: *const gchar) -> *mut gchar;
10495}
10496extern "C" {
10497    pub fn g_strescape(source: *const gchar, exceptions: *const gchar) -> *mut gchar;
10498}
10499extern "C" {
10500    pub fn g_memdup(mem: gconstpointer, byte_size: guint) -> gpointer;
10501}
10502extern "C" {
10503    pub fn g_memdup2(mem: gconstpointer, byte_size: gsize) -> gpointer;
10504}
10505pub type GStrv = *mut *mut gchar;
10506extern "C" {
10507    pub fn g_strsplit(
10508        string: *const gchar,
10509        delimiter: *const gchar,
10510        max_tokens: gint,
10511    ) -> *mut *mut gchar;
10512}
10513extern "C" {
10514    pub fn g_strsplit_set(
10515        string: *const gchar,
10516        delimiters: *const gchar,
10517        max_tokens: gint,
10518    ) -> *mut *mut gchar;
10519}
10520extern "C" {
10521    pub fn g_strjoinv(separator: *const gchar, str_array: *mut *mut gchar) -> *mut gchar;
10522}
10523extern "C" {
10524    pub fn g_strfreev(str_array: *mut *mut gchar);
10525}
10526extern "C" {
10527    pub fn g_strdupv(str_array: *mut *mut gchar) -> *mut *mut gchar;
10528}
10529extern "C" {
10530    pub fn g_strv_length(str_array: *mut *mut gchar) -> guint;
10531}
10532extern "C" {
10533    pub fn g_stpcpy(dest: *mut gchar, src: *const ::std::os::raw::c_char) -> *mut gchar;
10534}
10535extern "C" {
10536    pub fn g_str_to_ascii(str_: *const gchar, from_locale: *const gchar) -> *mut gchar;
10537}
10538extern "C" {
10539    pub fn g_str_tokenize_and_fold(
10540        string: *const gchar,
10541        translit_locale: *const gchar,
10542        ascii_alternates: *mut *mut *mut gchar,
10543    ) -> *mut *mut gchar;
10544}
10545extern "C" {
10546    pub fn g_str_match_string(
10547        search_term: *const gchar,
10548        potential_hit: *const gchar,
10549        accept_alternates: gboolean,
10550    ) -> gboolean;
10551}
10552extern "C" {
10553    pub fn g_strv_contains(strv: *const *const gchar, str_: *const gchar) -> gboolean;
10554}
10555extern "C" {
10556    pub fn g_strv_equal(strv1: *const *const gchar, strv2: *const *const gchar) -> gboolean;
10557}
10558pub const GNumberParserError_G_NUMBER_PARSER_ERROR_INVALID: GNumberParserError = 0;
10559pub const GNumberParserError_G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS: GNumberParserError = 1;
10560pub type GNumberParserError = ::std::os::raw::c_uint;
10561extern "C" {
10562    pub fn g_number_parser_error_quark() -> GQuark;
10563}
10564extern "C" {
10565    pub fn g_ascii_string_to_signed(
10566        str_: *const gchar,
10567        base: guint,
10568        min: gint64,
10569        max: gint64,
10570        out_num: *mut gint64,
10571        error: *mut *mut GError,
10572    ) -> gboolean;
10573}
10574extern "C" {
10575    pub fn g_ascii_string_to_unsigned(
10576        str_: *const gchar,
10577        base: guint,
10578        min: guint64,
10579        max: guint64,
10580        out_num: *mut guint64,
10581        error: *mut *mut GError,
10582    ) -> gboolean;
10583}
10584pub type GString = _GString;
10585#[repr(C)]
10586#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10587pub struct _GString {
10588    pub str_: *mut gchar,
10589    pub len: gsize,
10590    pub allocated_len: gsize,
10591}
10592#[test]
10593fn bindgen_test_layout__GString() {
10594    const UNINIT: ::std::mem::MaybeUninit<_GString> = ::std::mem::MaybeUninit::uninit();
10595    let ptr = UNINIT.as_ptr();
10596    assert_eq!(
10597        ::std::mem::size_of::<_GString>(),
10598        24usize,
10599        concat!("Size of: ", stringify!(_GString))
10600    );
10601    assert_eq!(
10602        ::std::mem::align_of::<_GString>(),
10603        8usize,
10604        concat!("Alignment of ", stringify!(_GString))
10605    );
10606    assert_eq!(
10607        unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
10608        0usize,
10609        concat!(
10610            "Offset of field: ",
10611            stringify!(_GString),
10612            "::",
10613            stringify!(str_)
10614        )
10615    );
10616    assert_eq!(
10617        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
10618        8usize,
10619        concat!(
10620            "Offset of field: ",
10621            stringify!(_GString),
10622            "::",
10623            stringify!(len)
10624        )
10625    );
10626    assert_eq!(
10627        unsafe { ::std::ptr::addr_of!((*ptr).allocated_len) as usize - ptr as usize },
10628        16usize,
10629        concat!(
10630            "Offset of field: ",
10631            stringify!(_GString),
10632            "::",
10633            stringify!(allocated_len)
10634        )
10635    );
10636}
10637extern "C" {
10638    pub fn g_string_new(init: *const gchar) -> *mut GString;
10639}
10640extern "C" {
10641    pub fn g_string_new_take(init: *mut gchar) -> *mut GString;
10642}
10643extern "C" {
10644    pub fn g_string_new_len(init: *const gchar, len: gssize) -> *mut GString;
10645}
10646extern "C" {
10647    pub fn g_string_sized_new(dfl_size: gsize) -> *mut GString;
10648}
10649extern "C" {
10650    pub fn g_string_free(string: *mut GString, free_segment: gboolean) -> *mut gchar;
10651}
10652extern "C" {
10653    pub fn g_string_free_and_steal(string: *mut GString) -> *mut gchar;
10654}
10655extern "C" {
10656    pub fn g_string_free_to_bytes(string: *mut GString) -> *mut GBytes;
10657}
10658extern "C" {
10659    pub fn g_string_equal(v: *const GString, v2: *const GString) -> gboolean;
10660}
10661extern "C" {
10662    pub fn g_string_hash(str_: *const GString) -> guint;
10663}
10664extern "C" {
10665    pub fn g_string_assign(string: *mut GString, rval: *const gchar) -> *mut GString;
10666}
10667extern "C" {
10668    pub fn g_string_truncate(string: *mut GString, len: gsize) -> *mut GString;
10669}
10670extern "C" {
10671    pub fn g_string_set_size(string: *mut GString, len: gsize) -> *mut GString;
10672}
10673extern "C" {
10674    pub fn g_string_insert_len(
10675        string: *mut GString,
10676        pos: gssize,
10677        val: *const gchar,
10678        len: gssize,
10679    ) -> *mut GString;
10680}
10681extern "C" {
10682    pub fn g_string_append(string: *mut GString, val: *const gchar) -> *mut GString;
10683}
10684extern "C" {
10685    pub fn g_string_append_len(
10686        string: *mut GString,
10687        val: *const gchar,
10688        len: gssize,
10689    ) -> *mut GString;
10690}
10691extern "C" {
10692    pub fn g_string_append_c(string: *mut GString, c: gchar) -> *mut GString;
10693}
10694extern "C" {
10695    pub fn g_string_append_unichar(string: *mut GString, wc: gunichar) -> *mut GString;
10696}
10697extern "C" {
10698    pub fn g_string_prepend(string: *mut GString, val: *const gchar) -> *mut GString;
10699}
10700extern "C" {
10701    pub fn g_string_prepend_c(string: *mut GString, c: gchar) -> *mut GString;
10702}
10703extern "C" {
10704    pub fn g_string_prepend_unichar(string: *mut GString, wc: gunichar) -> *mut GString;
10705}
10706extern "C" {
10707    pub fn g_string_prepend_len(
10708        string: *mut GString,
10709        val: *const gchar,
10710        len: gssize,
10711    ) -> *mut GString;
10712}
10713extern "C" {
10714    pub fn g_string_insert(string: *mut GString, pos: gssize, val: *const gchar) -> *mut GString;
10715}
10716extern "C" {
10717    pub fn g_string_insert_c(string: *mut GString, pos: gssize, c: gchar) -> *mut GString;
10718}
10719extern "C" {
10720    pub fn g_string_insert_unichar(string: *mut GString, pos: gssize, wc: gunichar)
10721        -> *mut GString;
10722}
10723extern "C" {
10724    pub fn g_string_overwrite(string: *mut GString, pos: gsize, val: *const gchar) -> *mut GString;
10725}
10726extern "C" {
10727    pub fn g_string_overwrite_len(
10728        string: *mut GString,
10729        pos: gsize,
10730        val: *const gchar,
10731        len: gssize,
10732    ) -> *mut GString;
10733}
10734extern "C" {
10735    pub fn g_string_erase(string: *mut GString, pos: gssize, len: gssize) -> *mut GString;
10736}
10737extern "C" {
10738    pub fn g_string_replace(
10739        string: *mut GString,
10740        find: *const gchar,
10741        replace: *const gchar,
10742        limit: guint,
10743    ) -> guint;
10744}
10745extern "C" {
10746    pub fn g_string_ascii_down(string: *mut GString) -> *mut GString;
10747}
10748extern "C" {
10749    pub fn g_string_ascii_up(string: *mut GString) -> *mut GString;
10750}
10751extern "C" {
10752    pub fn g_string_vprintf(string: *mut GString, format: *const gchar, args: va_list);
10753}
10754extern "C" {
10755    pub fn g_string_printf(string: *mut GString, format: *const gchar, ...);
10756}
10757extern "C" {
10758    pub fn g_string_append_vprintf(string: *mut GString, format: *const gchar, args: va_list);
10759}
10760extern "C" {
10761    pub fn g_string_append_printf(string: *mut GString, format: *const gchar, ...);
10762}
10763extern "C" {
10764    pub fn g_string_append_uri_escaped(
10765        string: *mut GString,
10766        unescaped: *const gchar,
10767        reserved_chars_allowed: *const gchar,
10768        allow_utf8: gboolean,
10769    ) -> *mut GString;
10770}
10771extern "C" {
10772    pub fn g_string_down(string: *mut GString) -> *mut GString;
10773}
10774extern "C" {
10775    pub fn g_string_up(string: *mut GString) -> *mut GString;
10776}
10777pub type GIOChannel = _GIOChannel;
10778pub type GIOFuncs = _GIOFuncs;
10779pub const GIOError_G_IO_ERROR_NONE: GIOError = 0;
10780pub const GIOError_G_IO_ERROR_AGAIN: GIOError = 1;
10781pub const GIOError_G_IO_ERROR_INVAL: GIOError = 2;
10782pub const GIOError_G_IO_ERROR_UNKNOWN: GIOError = 3;
10783pub type GIOError = ::std::os::raw::c_uint;
10784pub const GIOChannelError_G_IO_CHANNEL_ERROR_FBIG: GIOChannelError = 0;
10785pub const GIOChannelError_G_IO_CHANNEL_ERROR_INVAL: GIOChannelError = 1;
10786pub const GIOChannelError_G_IO_CHANNEL_ERROR_IO: GIOChannelError = 2;
10787pub const GIOChannelError_G_IO_CHANNEL_ERROR_ISDIR: GIOChannelError = 3;
10788pub const GIOChannelError_G_IO_CHANNEL_ERROR_NOSPC: GIOChannelError = 4;
10789pub const GIOChannelError_G_IO_CHANNEL_ERROR_NXIO: GIOChannelError = 5;
10790pub const GIOChannelError_G_IO_CHANNEL_ERROR_OVERFLOW: GIOChannelError = 6;
10791pub const GIOChannelError_G_IO_CHANNEL_ERROR_PIPE: GIOChannelError = 7;
10792pub const GIOChannelError_G_IO_CHANNEL_ERROR_FAILED: GIOChannelError = 8;
10793pub type GIOChannelError = ::std::os::raw::c_uint;
10794pub const GIOStatus_G_IO_STATUS_ERROR: GIOStatus = 0;
10795pub const GIOStatus_G_IO_STATUS_NORMAL: GIOStatus = 1;
10796pub const GIOStatus_G_IO_STATUS_EOF: GIOStatus = 2;
10797pub const GIOStatus_G_IO_STATUS_AGAIN: GIOStatus = 3;
10798pub type GIOStatus = ::std::os::raw::c_uint;
10799pub const GSeekType_G_SEEK_CUR: GSeekType = 0;
10800pub const GSeekType_G_SEEK_SET: GSeekType = 1;
10801pub const GSeekType_G_SEEK_END: GSeekType = 2;
10802pub type GSeekType = ::std::os::raw::c_uint;
10803pub const GIOFlags_G_IO_FLAG_NONE: GIOFlags = 0;
10804pub const GIOFlags_G_IO_FLAG_APPEND: GIOFlags = 1;
10805pub const GIOFlags_G_IO_FLAG_NONBLOCK: GIOFlags = 2;
10806pub const GIOFlags_G_IO_FLAG_IS_READABLE: GIOFlags = 4;
10807pub const GIOFlags_G_IO_FLAG_IS_WRITABLE: GIOFlags = 8;
10808pub const GIOFlags_G_IO_FLAG_IS_WRITEABLE: GIOFlags = 8;
10809pub const GIOFlags_G_IO_FLAG_IS_SEEKABLE: GIOFlags = 16;
10810pub const GIOFlags_G_IO_FLAG_MASK: GIOFlags = 31;
10811pub const GIOFlags_G_IO_FLAG_GET_MASK: GIOFlags = 31;
10812pub const GIOFlags_G_IO_FLAG_SET_MASK: GIOFlags = 3;
10813pub type GIOFlags = ::std::os::raw::c_uint;
10814#[repr(C)]
10815#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10816pub struct _GIOChannel {
10817    pub ref_count: gint,
10818    pub funcs: *mut GIOFuncs,
10819    pub encoding: *mut gchar,
10820    pub read_cd: GIConv,
10821    pub write_cd: GIConv,
10822    pub line_term: *mut gchar,
10823    pub line_term_len: guint,
10824    pub buf_size: gsize,
10825    pub read_buf: *mut GString,
10826    pub encoded_read_buf: *mut GString,
10827    pub write_buf: *mut GString,
10828    pub partial_write_buf: [gchar; 6usize],
10829    pub _bitfield_align_1: [u8; 0],
10830    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
10831    pub reserved1: gpointer,
10832    pub reserved2: gpointer,
10833}
10834#[test]
10835fn bindgen_test_layout__GIOChannel() {
10836    const UNINIT: ::std::mem::MaybeUninit<_GIOChannel> = ::std::mem::MaybeUninit::uninit();
10837    let ptr = UNINIT.as_ptr();
10838    assert_eq!(
10839        ::std::mem::size_of::<_GIOChannel>(),
10840        112usize,
10841        concat!("Size of: ", stringify!(_GIOChannel))
10842    );
10843    assert_eq!(
10844        ::std::mem::align_of::<_GIOChannel>(),
10845        8usize,
10846        concat!("Alignment of ", stringify!(_GIOChannel))
10847    );
10848    assert_eq!(
10849        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
10850        0usize,
10851        concat!(
10852            "Offset of field: ",
10853            stringify!(_GIOChannel),
10854            "::",
10855            stringify!(ref_count)
10856        )
10857    );
10858    assert_eq!(
10859        unsafe { ::std::ptr::addr_of!((*ptr).funcs) as usize - ptr as usize },
10860        8usize,
10861        concat!(
10862            "Offset of field: ",
10863            stringify!(_GIOChannel),
10864            "::",
10865            stringify!(funcs)
10866        )
10867    );
10868    assert_eq!(
10869        unsafe { ::std::ptr::addr_of!((*ptr).encoding) as usize - ptr as usize },
10870        16usize,
10871        concat!(
10872            "Offset of field: ",
10873            stringify!(_GIOChannel),
10874            "::",
10875            stringify!(encoding)
10876        )
10877    );
10878    assert_eq!(
10879        unsafe { ::std::ptr::addr_of!((*ptr).read_cd) as usize - ptr as usize },
10880        24usize,
10881        concat!(
10882            "Offset of field: ",
10883            stringify!(_GIOChannel),
10884            "::",
10885            stringify!(read_cd)
10886        )
10887    );
10888    assert_eq!(
10889        unsafe { ::std::ptr::addr_of!((*ptr).write_cd) as usize - ptr as usize },
10890        32usize,
10891        concat!(
10892            "Offset of field: ",
10893            stringify!(_GIOChannel),
10894            "::",
10895            stringify!(write_cd)
10896        )
10897    );
10898    assert_eq!(
10899        unsafe { ::std::ptr::addr_of!((*ptr).line_term) as usize - ptr as usize },
10900        40usize,
10901        concat!(
10902            "Offset of field: ",
10903            stringify!(_GIOChannel),
10904            "::",
10905            stringify!(line_term)
10906        )
10907    );
10908    assert_eq!(
10909        unsafe { ::std::ptr::addr_of!((*ptr).line_term_len) as usize - ptr as usize },
10910        48usize,
10911        concat!(
10912            "Offset of field: ",
10913            stringify!(_GIOChannel),
10914            "::",
10915            stringify!(line_term_len)
10916        )
10917    );
10918    assert_eq!(
10919        unsafe { ::std::ptr::addr_of!((*ptr).buf_size) as usize - ptr as usize },
10920        56usize,
10921        concat!(
10922            "Offset of field: ",
10923            stringify!(_GIOChannel),
10924            "::",
10925            stringify!(buf_size)
10926        )
10927    );
10928    assert_eq!(
10929        unsafe { ::std::ptr::addr_of!((*ptr).read_buf) as usize - ptr as usize },
10930        64usize,
10931        concat!(
10932            "Offset of field: ",
10933            stringify!(_GIOChannel),
10934            "::",
10935            stringify!(read_buf)
10936        )
10937    );
10938    assert_eq!(
10939        unsafe { ::std::ptr::addr_of!((*ptr).encoded_read_buf) as usize - ptr as usize },
10940        72usize,
10941        concat!(
10942            "Offset of field: ",
10943            stringify!(_GIOChannel),
10944            "::",
10945            stringify!(encoded_read_buf)
10946        )
10947    );
10948    assert_eq!(
10949        unsafe { ::std::ptr::addr_of!((*ptr).write_buf) as usize - ptr as usize },
10950        80usize,
10951        concat!(
10952            "Offset of field: ",
10953            stringify!(_GIOChannel),
10954            "::",
10955            stringify!(write_buf)
10956        )
10957    );
10958    assert_eq!(
10959        unsafe { ::std::ptr::addr_of!((*ptr).partial_write_buf) as usize - ptr as usize },
10960        88usize,
10961        concat!(
10962            "Offset of field: ",
10963            stringify!(_GIOChannel),
10964            "::",
10965            stringify!(partial_write_buf)
10966        )
10967    );
10968    assert_eq!(
10969        unsafe { ::std::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
10970        96usize,
10971        concat!(
10972            "Offset of field: ",
10973            stringify!(_GIOChannel),
10974            "::",
10975            stringify!(reserved1)
10976        )
10977    );
10978    assert_eq!(
10979        unsafe { ::std::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
10980        104usize,
10981        concat!(
10982            "Offset of field: ",
10983            stringify!(_GIOChannel),
10984            "::",
10985            stringify!(reserved2)
10986        )
10987    );
10988}
10989impl _GIOChannel {
10990    #[inline]
10991    pub fn use_buffer(&self) -> guint {
10992        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
10993    }
10994    #[inline]
10995    pub fn set_use_buffer(&mut self, val: guint) {
10996        unsafe {
10997            let val: u32 = ::std::mem::transmute(val);
10998            self._bitfield_1.set(0usize, 1u8, val as u64)
10999        }
11000    }
11001    #[inline]
11002    pub fn do_encode(&self) -> guint {
11003        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
11004    }
11005    #[inline]
11006    pub fn set_do_encode(&mut self, val: guint) {
11007        unsafe {
11008            let val: u32 = ::std::mem::transmute(val);
11009            self._bitfield_1.set(1usize, 1u8, val as u64)
11010        }
11011    }
11012    #[inline]
11013    pub fn close_on_unref(&self) -> guint {
11014        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
11015    }
11016    #[inline]
11017    pub fn set_close_on_unref(&mut self, val: guint) {
11018        unsafe {
11019            let val: u32 = ::std::mem::transmute(val);
11020            self._bitfield_1.set(2usize, 1u8, val as u64)
11021        }
11022    }
11023    #[inline]
11024    pub fn is_readable(&self) -> guint {
11025        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
11026    }
11027    #[inline]
11028    pub fn set_is_readable(&mut self, val: guint) {
11029        unsafe {
11030            let val: u32 = ::std::mem::transmute(val);
11031            self._bitfield_1.set(3usize, 1u8, val as u64)
11032        }
11033    }
11034    #[inline]
11035    pub fn is_writeable(&self) -> guint {
11036        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
11037    }
11038    #[inline]
11039    pub fn set_is_writeable(&mut self, val: guint) {
11040        unsafe {
11041            let val: u32 = ::std::mem::transmute(val);
11042            self._bitfield_1.set(4usize, 1u8, val as u64)
11043        }
11044    }
11045    #[inline]
11046    pub fn is_seekable(&self) -> guint {
11047        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
11048    }
11049    #[inline]
11050    pub fn set_is_seekable(&mut self, val: guint) {
11051        unsafe {
11052            let val: u32 = ::std::mem::transmute(val);
11053            self._bitfield_1.set(5usize, 1u8, val as u64)
11054        }
11055    }
11056    #[inline]
11057    pub fn new_bitfield_1(
11058        use_buffer: guint,
11059        do_encode: guint,
11060        close_on_unref: guint,
11061        is_readable: guint,
11062        is_writeable: guint,
11063        is_seekable: guint,
11064    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
11065        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
11066        __bindgen_bitfield_unit.set(0usize, 1u8, {
11067            let use_buffer: u32 = unsafe { ::std::mem::transmute(use_buffer) };
11068            use_buffer as u64
11069        });
11070        __bindgen_bitfield_unit.set(1usize, 1u8, {
11071            let do_encode: u32 = unsafe { ::std::mem::transmute(do_encode) };
11072            do_encode as u64
11073        });
11074        __bindgen_bitfield_unit.set(2usize, 1u8, {
11075            let close_on_unref: u32 = unsafe { ::std::mem::transmute(close_on_unref) };
11076            close_on_unref as u64
11077        });
11078        __bindgen_bitfield_unit.set(3usize, 1u8, {
11079            let is_readable: u32 = unsafe { ::std::mem::transmute(is_readable) };
11080            is_readable as u64
11081        });
11082        __bindgen_bitfield_unit.set(4usize, 1u8, {
11083            let is_writeable: u32 = unsafe { ::std::mem::transmute(is_writeable) };
11084            is_writeable as u64
11085        });
11086        __bindgen_bitfield_unit.set(5usize, 1u8, {
11087            let is_seekable: u32 = unsafe { ::std::mem::transmute(is_seekable) };
11088            is_seekable as u64
11089        });
11090        __bindgen_bitfield_unit
11091    }
11092}
11093pub type GIOFunc = ::std::option::Option<
11094    unsafe extern "C" fn(
11095        source: *mut GIOChannel,
11096        condition: GIOCondition,
11097        data: gpointer,
11098    ) -> gboolean,
11099>;
11100#[repr(C)]
11101#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11102pub struct _GIOFuncs {
11103    pub io_read: ::std::option::Option<
11104        unsafe extern "C" fn(
11105            channel: *mut GIOChannel,
11106            buf: *mut gchar,
11107            count: gsize,
11108            bytes_read: *mut gsize,
11109            err: *mut *mut GError,
11110        ) -> GIOStatus,
11111    >,
11112    pub io_write: ::std::option::Option<
11113        unsafe extern "C" fn(
11114            channel: *mut GIOChannel,
11115            buf: *const gchar,
11116            count: gsize,
11117            bytes_written: *mut gsize,
11118            err: *mut *mut GError,
11119        ) -> GIOStatus,
11120    >,
11121    pub io_seek: ::std::option::Option<
11122        unsafe extern "C" fn(
11123            channel: *mut GIOChannel,
11124            offset: gint64,
11125            type_: GSeekType,
11126            err: *mut *mut GError,
11127        ) -> GIOStatus,
11128    >,
11129    pub io_close: ::std::option::Option<
11130        unsafe extern "C" fn(channel: *mut GIOChannel, err: *mut *mut GError) -> GIOStatus,
11131    >,
11132    pub io_create_watch: ::std::option::Option<
11133        unsafe extern "C" fn(channel: *mut GIOChannel, condition: GIOCondition) -> *mut GSource,
11134    >,
11135    pub io_free: ::std::option::Option<unsafe extern "C" fn(channel: *mut GIOChannel)>,
11136    pub io_set_flags: ::std::option::Option<
11137        unsafe extern "C" fn(
11138            channel: *mut GIOChannel,
11139            flags: GIOFlags,
11140            err: *mut *mut GError,
11141        ) -> GIOStatus,
11142    >,
11143    pub io_get_flags:
11144        ::std::option::Option<unsafe extern "C" fn(channel: *mut GIOChannel) -> GIOFlags>,
11145}
11146#[test]
11147fn bindgen_test_layout__GIOFuncs() {
11148    const UNINIT: ::std::mem::MaybeUninit<_GIOFuncs> = ::std::mem::MaybeUninit::uninit();
11149    let ptr = UNINIT.as_ptr();
11150    assert_eq!(
11151        ::std::mem::size_of::<_GIOFuncs>(),
11152        64usize,
11153        concat!("Size of: ", stringify!(_GIOFuncs))
11154    );
11155    assert_eq!(
11156        ::std::mem::align_of::<_GIOFuncs>(),
11157        8usize,
11158        concat!("Alignment of ", stringify!(_GIOFuncs))
11159    );
11160    assert_eq!(
11161        unsafe { ::std::ptr::addr_of!((*ptr).io_read) as usize - ptr as usize },
11162        0usize,
11163        concat!(
11164            "Offset of field: ",
11165            stringify!(_GIOFuncs),
11166            "::",
11167            stringify!(io_read)
11168        )
11169    );
11170    assert_eq!(
11171        unsafe { ::std::ptr::addr_of!((*ptr).io_write) as usize - ptr as usize },
11172        8usize,
11173        concat!(
11174            "Offset of field: ",
11175            stringify!(_GIOFuncs),
11176            "::",
11177            stringify!(io_write)
11178        )
11179    );
11180    assert_eq!(
11181        unsafe { ::std::ptr::addr_of!((*ptr).io_seek) as usize - ptr as usize },
11182        16usize,
11183        concat!(
11184            "Offset of field: ",
11185            stringify!(_GIOFuncs),
11186            "::",
11187            stringify!(io_seek)
11188        )
11189    );
11190    assert_eq!(
11191        unsafe { ::std::ptr::addr_of!((*ptr).io_close) as usize - ptr as usize },
11192        24usize,
11193        concat!(
11194            "Offset of field: ",
11195            stringify!(_GIOFuncs),
11196            "::",
11197            stringify!(io_close)
11198        )
11199    );
11200    assert_eq!(
11201        unsafe { ::std::ptr::addr_of!((*ptr).io_create_watch) as usize - ptr as usize },
11202        32usize,
11203        concat!(
11204            "Offset of field: ",
11205            stringify!(_GIOFuncs),
11206            "::",
11207            stringify!(io_create_watch)
11208        )
11209    );
11210    assert_eq!(
11211        unsafe { ::std::ptr::addr_of!((*ptr).io_free) as usize - ptr as usize },
11212        40usize,
11213        concat!(
11214            "Offset of field: ",
11215            stringify!(_GIOFuncs),
11216            "::",
11217            stringify!(io_free)
11218        )
11219    );
11220    assert_eq!(
11221        unsafe { ::std::ptr::addr_of!((*ptr).io_set_flags) as usize - ptr as usize },
11222        48usize,
11223        concat!(
11224            "Offset of field: ",
11225            stringify!(_GIOFuncs),
11226            "::",
11227            stringify!(io_set_flags)
11228        )
11229    );
11230    assert_eq!(
11231        unsafe { ::std::ptr::addr_of!((*ptr).io_get_flags) as usize - ptr as usize },
11232        56usize,
11233        concat!(
11234            "Offset of field: ",
11235            stringify!(_GIOFuncs),
11236            "::",
11237            stringify!(io_get_flags)
11238        )
11239    );
11240}
11241extern "C" {
11242    pub fn g_io_channel_init(channel: *mut GIOChannel);
11243}
11244extern "C" {
11245    pub fn g_io_channel_ref(channel: *mut GIOChannel) -> *mut GIOChannel;
11246}
11247extern "C" {
11248    pub fn g_io_channel_unref(channel: *mut GIOChannel);
11249}
11250extern "C" {
11251    pub fn g_io_channel_read(
11252        channel: *mut GIOChannel,
11253        buf: *mut gchar,
11254        count: gsize,
11255        bytes_read: *mut gsize,
11256    ) -> GIOError;
11257}
11258extern "C" {
11259    pub fn g_io_channel_write(
11260        channel: *mut GIOChannel,
11261        buf: *const gchar,
11262        count: gsize,
11263        bytes_written: *mut gsize,
11264    ) -> GIOError;
11265}
11266extern "C" {
11267    pub fn g_io_channel_seek(
11268        channel: *mut GIOChannel,
11269        offset: gint64,
11270        type_: GSeekType,
11271    ) -> GIOError;
11272}
11273extern "C" {
11274    pub fn g_io_channel_close(channel: *mut GIOChannel);
11275}
11276extern "C" {
11277    pub fn g_io_channel_shutdown(
11278        channel: *mut GIOChannel,
11279        flush: gboolean,
11280        err: *mut *mut GError,
11281    ) -> GIOStatus;
11282}
11283extern "C" {
11284    pub fn g_io_add_watch_full(
11285        channel: *mut GIOChannel,
11286        priority: gint,
11287        condition: GIOCondition,
11288        func: GIOFunc,
11289        user_data: gpointer,
11290        notify: GDestroyNotify,
11291    ) -> guint;
11292}
11293extern "C" {
11294    pub fn g_io_create_watch(channel: *mut GIOChannel, condition: GIOCondition) -> *mut GSource;
11295}
11296extern "C" {
11297    pub fn g_io_add_watch(
11298        channel: *mut GIOChannel,
11299        condition: GIOCondition,
11300        func: GIOFunc,
11301        user_data: gpointer,
11302    ) -> guint;
11303}
11304extern "C" {
11305    pub fn g_io_channel_set_buffer_size(channel: *mut GIOChannel, size: gsize);
11306}
11307extern "C" {
11308    pub fn g_io_channel_get_buffer_size(channel: *mut GIOChannel) -> gsize;
11309}
11310extern "C" {
11311    pub fn g_io_channel_get_buffer_condition(channel: *mut GIOChannel) -> GIOCondition;
11312}
11313extern "C" {
11314    pub fn g_io_channel_set_flags(
11315        channel: *mut GIOChannel,
11316        flags: GIOFlags,
11317        error: *mut *mut GError,
11318    ) -> GIOStatus;
11319}
11320extern "C" {
11321    pub fn g_io_channel_get_flags(channel: *mut GIOChannel) -> GIOFlags;
11322}
11323extern "C" {
11324    pub fn g_io_channel_set_line_term(
11325        channel: *mut GIOChannel,
11326        line_term: *const gchar,
11327        length: gint,
11328    );
11329}
11330extern "C" {
11331    pub fn g_io_channel_get_line_term(channel: *mut GIOChannel, length: *mut gint) -> *const gchar;
11332}
11333extern "C" {
11334    pub fn g_io_channel_set_buffered(channel: *mut GIOChannel, buffered: gboolean);
11335}
11336extern "C" {
11337    pub fn g_io_channel_get_buffered(channel: *mut GIOChannel) -> gboolean;
11338}
11339extern "C" {
11340    pub fn g_io_channel_set_encoding(
11341        channel: *mut GIOChannel,
11342        encoding: *const gchar,
11343        error: *mut *mut GError,
11344    ) -> GIOStatus;
11345}
11346extern "C" {
11347    pub fn g_io_channel_get_encoding(channel: *mut GIOChannel) -> *const gchar;
11348}
11349extern "C" {
11350    pub fn g_io_channel_set_close_on_unref(channel: *mut GIOChannel, do_close: gboolean);
11351}
11352extern "C" {
11353    pub fn g_io_channel_get_close_on_unref(channel: *mut GIOChannel) -> gboolean;
11354}
11355extern "C" {
11356    pub fn g_io_channel_flush(channel: *mut GIOChannel, error: *mut *mut GError) -> GIOStatus;
11357}
11358extern "C" {
11359    pub fn g_io_channel_read_line(
11360        channel: *mut GIOChannel,
11361        str_return: *mut *mut gchar,
11362        length: *mut gsize,
11363        terminator_pos: *mut gsize,
11364        error: *mut *mut GError,
11365    ) -> GIOStatus;
11366}
11367extern "C" {
11368    pub fn g_io_channel_read_line_string(
11369        channel: *mut GIOChannel,
11370        buffer: *mut GString,
11371        terminator_pos: *mut gsize,
11372        error: *mut *mut GError,
11373    ) -> GIOStatus;
11374}
11375extern "C" {
11376    pub fn g_io_channel_read_to_end(
11377        channel: *mut GIOChannel,
11378        str_return: *mut *mut gchar,
11379        length: *mut gsize,
11380        error: *mut *mut GError,
11381    ) -> GIOStatus;
11382}
11383extern "C" {
11384    pub fn g_io_channel_read_chars(
11385        channel: *mut GIOChannel,
11386        buf: *mut gchar,
11387        count: gsize,
11388        bytes_read: *mut gsize,
11389        error: *mut *mut GError,
11390    ) -> GIOStatus;
11391}
11392extern "C" {
11393    pub fn g_io_channel_read_unichar(
11394        channel: *mut GIOChannel,
11395        thechar: *mut gunichar,
11396        error: *mut *mut GError,
11397    ) -> GIOStatus;
11398}
11399extern "C" {
11400    pub fn g_io_channel_write_chars(
11401        channel: *mut GIOChannel,
11402        buf: *const gchar,
11403        count: gssize,
11404        bytes_written: *mut gsize,
11405        error: *mut *mut GError,
11406    ) -> GIOStatus;
11407}
11408extern "C" {
11409    pub fn g_io_channel_write_unichar(
11410        channel: *mut GIOChannel,
11411        thechar: gunichar,
11412        error: *mut *mut GError,
11413    ) -> GIOStatus;
11414}
11415extern "C" {
11416    pub fn g_io_channel_seek_position(
11417        channel: *mut GIOChannel,
11418        offset: gint64,
11419        type_: GSeekType,
11420        error: *mut *mut GError,
11421    ) -> GIOStatus;
11422}
11423extern "C" {
11424    pub fn g_io_channel_new_file(
11425        filename: *const gchar,
11426        mode: *const gchar,
11427        error: *mut *mut GError,
11428    ) -> *mut GIOChannel;
11429}
11430extern "C" {
11431    pub fn g_io_channel_error_quark() -> GQuark;
11432}
11433extern "C" {
11434    pub fn g_io_channel_error_from_errno(en: gint) -> GIOChannelError;
11435}
11436extern "C" {
11437    pub fn g_io_channel_unix_new(fd: ::std::os::raw::c_int) -> *mut GIOChannel;
11438}
11439extern "C" {
11440    pub fn g_io_channel_unix_get_fd(channel: *mut GIOChannel) -> gint;
11441}
11442extern "C" {
11443    pub static mut g_io_watch_funcs: GSourceFuncs;
11444}
11445pub const GKeyFileError_G_KEY_FILE_ERROR_UNKNOWN_ENCODING: GKeyFileError = 0;
11446pub const GKeyFileError_G_KEY_FILE_ERROR_PARSE: GKeyFileError = 1;
11447pub const GKeyFileError_G_KEY_FILE_ERROR_NOT_FOUND: GKeyFileError = 2;
11448pub const GKeyFileError_G_KEY_FILE_ERROR_KEY_NOT_FOUND: GKeyFileError = 3;
11449pub const GKeyFileError_G_KEY_FILE_ERROR_GROUP_NOT_FOUND: GKeyFileError = 4;
11450pub const GKeyFileError_G_KEY_FILE_ERROR_INVALID_VALUE: GKeyFileError = 5;
11451pub type GKeyFileError = ::std::os::raw::c_uint;
11452extern "C" {
11453    pub fn g_key_file_error_quark() -> GQuark;
11454}
11455#[repr(C)]
11456#[derive(Debug, Copy, Clone)]
11457pub struct _GKeyFile {
11458    _unused: [u8; 0],
11459}
11460pub type GKeyFile = _GKeyFile;
11461pub const GKeyFileFlags_G_KEY_FILE_NONE: GKeyFileFlags = 0;
11462pub const GKeyFileFlags_G_KEY_FILE_KEEP_COMMENTS: GKeyFileFlags = 1;
11463pub const GKeyFileFlags_G_KEY_FILE_KEEP_TRANSLATIONS: GKeyFileFlags = 2;
11464pub type GKeyFileFlags = ::std::os::raw::c_uint;
11465extern "C" {
11466    pub fn g_key_file_new() -> *mut GKeyFile;
11467}
11468extern "C" {
11469    pub fn g_key_file_ref(key_file: *mut GKeyFile) -> *mut GKeyFile;
11470}
11471extern "C" {
11472    pub fn g_key_file_unref(key_file: *mut GKeyFile);
11473}
11474extern "C" {
11475    pub fn g_key_file_free(key_file: *mut GKeyFile);
11476}
11477extern "C" {
11478    pub fn g_key_file_set_list_separator(key_file: *mut GKeyFile, separator: gchar);
11479}
11480extern "C" {
11481    pub fn g_key_file_load_from_file(
11482        key_file: *mut GKeyFile,
11483        file: *const gchar,
11484        flags: GKeyFileFlags,
11485        error: *mut *mut GError,
11486    ) -> gboolean;
11487}
11488extern "C" {
11489    pub fn g_key_file_load_from_data(
11490        key_file: *mut GKeyFile,
11491        data: *const gchar,
11492        length: gsize,
11493        flags: GKeyFileFlags,
11494        error: *mut *mut GError,
11495    ) -> gboolean;
11496}
11497extern "C" {
11498    pub fn g_key_file_load_from_bytes(
11499        key_file: *mut GKeyFile,
11500        bytes: *mut GBytes,
11501        flags: GKeyFileFlags,
11502        error: *mut *mut GError,
11503    ) -> gboolean;
11504}
11505extern "C" {
11506    pub fn g_key_file_load_from_dirs(
11507        key_file: *mut GKeyFile,
11508        file: *const gchar,
11509        search_dirs: *mut *const gchar,
11510        full_path: *mut *mut gchar,
11511        flags: GKeyFileFlags,
11512        error: *mut *mut GError,
11513    ) -> gboolean;
11514}
11515extern "C" {
11516    pub fn g_key_file_load_from_data_dirs(
11517        key_file: *mut GKeyFile,
11518        file: *const gchar,
11519        full_path: *mut *mut gchar,
11520        flags: GKeyFileFlags,
11521        error: *mut *mut GError,
11522    ) -> gboolean;
11523}
11524extern "C" {
11525    pub fn g_key_file_to_data(
11526        key_file: *mut GKeyFile,
11527        length: *mut gsize,
11528        error: *mut *mut GError,
11529    ) -> *mut gchar;
11530}
11531extern "C" {
11532    pub fn g_key_file_save_to_file(
11533        key_file: *mut GKeyFile,
11534        filename: *const gchar,
11535        error: *mut *mut GError,
11536    ) -> gboolean;
11537}
11538extern "C" {
11539    pub fn g_key_file_get_start_group(key_file: *mut GKeyFile) -> *mut gchar;
11540}
11541extern "C" {
11542    pub fn g_key_file_get_groups(key_file: *mut GKeyFile, length: *mut gsize) -> *mut *mut gchar;
11543}
11544extern "C" {
11545    pub fn g_key_file_get_keys(
11546        key_file: *mut GKeyFile,
11547        group_name: *const gchar,
11548        length: *mut gsize,
11549        error: *mut *mut GError,
11550    ) -> *mut *mut gchar;
11551}
11552extern "C" {
11553    pub fn g_key_file_has_group(key_file: *mut GKeyFile, group_name: *const gchar) -> gboolean;
11554}
11555extern "C" {
11556    pub fn g_key_file_has_key(
11557        key_file: *mut GKeyFile,
11558        group_name: *const gchar,
11559        key: *const gchar,
11560        error: *mut *mut GError,
11561    ) -> gboolean;
11562}
11563extern "C" {
11564    pub fn g_key_file_get_value(
11565        key_file: *mut GKeyFile,
11566        group_name: *const gchar,
11567        key: *const gchar,
11568        error: *mut *mut GError,
11569    ) -> *mut gchar;
11570}
11571extern "C" {
11572    pub fn g_key_file_set_value(
11573        key_file: *mut GKeyFile,
11574        group_name: *const gchar,
11575        key: *const gchar,
11576        value: *const gchar,
11577    );
11578}
11579extern "C" {
11580    pub fn g_key_file_get_string(
11581        key_file: *mut GKeyFile,
11582        group_name: *const gchar,
11583        key: *const gchar,
11584        error: *mut *mut GError,
11585    ) -> *mut gchar;
11586}
11587extern "C" {
11588    pub fn g_key_file_set_string(
11589        key_file: *mut GKeyFile,
11590        group_name: *const gchar,
11591        key: *const gchar,
11592        string: *const gchar,
11593    );
11594}
11595extern "C" {
11596    pub fn g_key_file_get_locale_string(
11597        key_file: *mut GKeyFile,
11598        group_name: *const gchar,
11599        key: *const gchar,
11600        locale: *const gchar,
11601        error: *mut *mut GError,
11602    ) -> *mut gchar;
11603}
11604extern "C" {
11605    pub fn g_key_file_get_locale_for_key(
11606        key_file: *mut GKeyFile,
11607        group_name: *const gchar,
11608        key: *const gchar,
11609        locale: *const gchar,
11610    ) -> *mut gchar;
11611}
11612extern "C" {
11613    pub fn g_key_file_set_locale_string(
11614        key_file: *mut GKeyFile,
11615        group_name: *const gchar,
11616        key: *const gchar,
11617        locale: *const gchar,
11618        string: *const gchar,
11619    );
11620}
11621extern "C" {
11622    pub fn g_key_file_get_boolean(
11623        key_file: *mut GKeyFile,
11624        group_name: *const gchar,
11625        key: *const gchar,
11626        error: *mut *mut GError,
11627    ) -> gboolean;
11628}
11629extern "C" {
11630    pub fn g_key_file_set_boolean(
11631        key_file: *mut GKeyFile,
11632        group_name: *const gchar,
11633        key: *const gchar,
11634        value: gboolean,
11635    );
11636}
11637extern "C" {
11638    pub fn g_key_file_get_integer(
11639        key_file: *mut GKeyFile,
11640        group_name: *const gchar,
11641        key: *const gchar,
11642        error: *mut *mut GError,
11643    ) -> gint;
11644}
11645extern "C" {
11646    pub fn g_key_file_set_integer(
11647        key_file: *mut GKeyFile,
11648        group_name: *const gchar,
11649        key: *const gchar,
11650        value: gint,
11651    );
11652}
11653extern "C" {
11654    pub fn g_key_file_get_int64(
11655        key_file: *mut GKeyFile,
11656        group_name: *const gchar,
11657        key: *const gchar,
11658        error: *mut *mut GError,
11659    ) -> gint64;
11660}
11661extern "C" {
11662    pub fn g_key_file_set_int64(
11663        key_file: *mut GKeyFile,
11664        group_name: *const gchar,
11665        key: *const gchar,
11666        value: gint64,
11667    );
11668}
11669extern "C" {
11670    pub fn g_key_file_get_uint64(
11671        key_file: *mut GKeyFile,
11672        group_name: *const gchar,
11673        key: *const gchar,
11674        error: *mut *mut GError,
11675    ) -> guint64;
11676}
11677extern "C" {
11678    pub fn g_key_file_set_uint64(
11679        key_file: *mut GKeyFile,
11680        group_name: *const gchar,
11681        key: *const gchar,
11682        value: guint64,
11683    );
11684}
11685extern "C" {
11686    pub fn g_key_file_get_double(
11687        key_file: *mut GKeyFile,
11688        group_name: *const gchar,
11689        key: *const gchar,
11690        error: *mut *mut GError,
11691    ) -> gdouble;
11692}
11693extern "C" {
11694    pub fn g_key_file_set_double(
11695        key_file: *mut GKeyFile,
11696        group_name: *const gchar,
11697        key: *const gchar,
11698        value: gdouble,
11699    );
11700}
11701extern "C" {
11702    pub fn g_key_file_get_string_list(
11703        key_file: *mut GKeyFile,
11704        group_name: *const gchar,
11705        key: *const gchar,
11706        length: *mut gsize,
11707        error: *mut *mut GError,
11708    ) -> *mut *mut gchar;
11709}
11710extern "C" {
11711    pub fn g_key_file_set_string_list(
11712        key_file: *mut GKeyFile,
11713        group_name: *const gchar,
11714        key: *const gchar,
11715        list: *const *const gchar,
11716        length: gsize,
11717    );
11718}
11719extern "C" {
11720    pub fn g_key_file_get_locale_string_list(
11721        key_file: *mut GKeyFile,
11722        group_name: *const gchar,
11723        key: *const gchar,
11724        locale: *const gchar,
11725        length: *mut gsize,
11726        error: *mut *mut GError,
11727    ) -> *mut *mut gchar;
11728}
11729extern "C" {
11730    pub fn g_key_file_set_locale_string_list(
11731        key_file: *mut GKeyFile,
11732        group_name: *const gchar,
11733        key: *const gchar,
11734        locale: *const gchar,
11735        list: *const *const gchar,
11736        length: gsize,
11737    );
11738}
11739extern "C" {
11740    pub fn g_key_file_get_boolean_list(
11741        key_file: *mut GKeyFile,
11742        group_name: *const gchar,
11743        key: *const gchar,
11744        length: *mut gsize,
11745        error: *mut *mut GError,
11746    ) -> *mut gboolean;
11747}
11748extern "C" {
11749    pub fn g_key_file_set_boolean_list(
11750        key_file: *mut GKeyFile,
11751        group_name: *const gchar,
11752        key: *const gchar,
11753        list: *mut gboolean,
11754        length: gsize,
11755    );
11756}
11757extern "C" {
11758    pub fn g_key_file_get_integer_list(
11759        key_file: *mut GKeyFile,
11760        group_name: *const gchar,
11761        key: *const gchar,
11762        length: *mut gsize,
11763        error: *mut *mut GError,
11764    ) -> *mut gint;
11765}
11766extern "C" {
11767    pub fn g_key_file_set_double_list(
11768        key_file: *mut GKeyFile,
11769        group_name: *const gchar,
11770        key: *const gchar,
11771        list: *mut gdouble,
11772        length: gsize,
11773    );
11774}
11775extern "C" {
11776    pub fn g_key_file_get_double_list(
11777        key_file: *mut GKeyFile,
11778        group_name: *const gchar,
11779        key: *const gchar,
11780        length: *mut gsize,
11781        error: *mut *mut GError,
11782    ) -> *mut gdouble;
11783}
11784extern "C" {
11785    pub fn g_key_file_set_integer_list(
11786        key_file: *mut GKeyFile,
11787        group_name: *const gchar,
11788        key: *const gchar,
11789        list: *mut gint,
11790        length: gsize,
11791    );
11792}
11793extern "C" {
11794    pub fn g_key_file_set_comment(
11795        key_file: *mut GKeyFile,
11796        group_name: *const gchar,
11797        key: *const gchar,
11798        comment: *const gchar,
11799        error: *mut *mut GError,
11800    ) -> gboolean;
11801}
11802extern "C" {
11803    pub fn g_key_file_get_comment(
11804        key_file: *mut GKeyFile,
11805        group_name: *const gchar,
11806        key: *const gchar,
11807        error: *mut *mut GError,
11808    ) -> *mut gchar;
11809}
11810extern "C" {
11811    pub fn g_key_file_remove_comment(
11812        key_file: *mut GKeyFile,
11813        group_name: *const gchar,
11814        key: *const gchar,
11815        error: *mut *mut GError,
11816    ) -> gboolean;
11817}
11818extern "C" {
11819    pub fn g_key_file_remove_key(
11820        key_file: *mut GKeyFile,
11821        group_name: *const gchar,
11822        key: *const gchar,
11823        error: *mut *mut GError,
11824    ) -> gboolean;
11825}
11826extern "C" {
11827    pub fn g_key_file_remove_group(
11828        key_file: *mut GKeyFile,
11829        group_name: *const gchar,
11830        error: *mut *mut GError,
11831    ) -> gboolean;
11832}
11833#[repr(C)]
11834#[derive(Debug, Copy, Clone)]
11835pub struct _GMappedFile {
11836    _unused: [u8; 0],
11837}
11838pub type GMappedFile = _GMappedFile;
11839extern "C" {
11840    pub fn g_mapped_file_new(
11841        filename: *const gchar,
11842        writable: gboolean,
11843        error: *mut *mut GError,
11844    ) -> *mut GMappedFile;
11845}
11846extern "C" {
11847    pub fn g_mapped_file_new_from_fd(
11848        fd: gint,
11849        writable: gboolean,
11850        error: *mut *mut GError,
11851    ) -> *mut GMappedFile;
11852}
11853extern "C" {
11854    pub fn g_mapped_file_get_length(file: *mut GMappedFile) -> gsize;
11855}
11856extern "C" {
11857    pub fn g_mapped_file_get_contents(file: *mut GMappedFile) -> *mut gchar;
11858}
11859extern "C" {
11860    pub fn g_mapped_file_get_bytes(file: *mut GMappedFile) -> *mut GBytes;
11861}
11862extern "C" {
11863    pub fn g_mapped_file_ref(file: *mut GMappedFile) -> *mut GMappedFile;
11864}
11865extern "C" {
11866    pub fn g_mapped_file_unref(file: *mut GMappedFile);
11867}
11868extern "C" {
11869    pub fn g_mapped_file_free(file: *mut GMappedFile);
11870}
11871pub const GMarkupError_G_MARKUP_ERROR_BAD_UTF8: GMarkupError = 0;
11872pub const GMarkupError_G_MARKUP_ERROR_EMPTY: GMarkupError = 1;
11873pub const GMarkupError_G_MARKUP_ERROR_PARSE: GMarkupError = 2;
11874pub const GMarkupError_G_MARKUP_ERROR_UNKNOWN_ELEMENT: GMarkupError = 3;
11875pub const GMarkupError_G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE: GMarkupError = 4;
11876pub const GMarkupError_G_MARKUP_ERROR_INVALID_CONTENT: GMarkupError = 5;
11877pub const GMarkupError_G_MARKUP_ERROR_MISSING_ATTRIBUTE: GMarkupError = 6;
11878pub type GMarkupError = ::std::os::raw::c_uint;
11879extern "C" {
11880    pub fn g_markup_error_quark() -> GQuark;
11881}
11882pub const GMarkupParseFlags_G_MARKUP_DEFAULT_FLAGS: GMarkupParseFlags = 0;
11883pub const GMarkupParseFlags_G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG: GMarkupParseFlags = 1;
11884pub const GMarkupParseFlags_G_MARKUP_TREAT_CDATA_AS_TEXT: GMarkupParseFlags = 2;
11885pub const GMarkupParseFlags_G_MARKUP_PREFIX_ERROR_POSITION: GMarkupParseFlags = 4;
11886pub const GMarkupParseFlags_G_MARKUP_IGNORE_QUALIFIED: GMarkupParseFlags = 8;
11887pub type GMarkupParseFlags = ::std::os::raw::c_uint;
11888#[repr(C)]
11889#[derive(Debug, Copy, Clone)]
11890pub struct _GMarkupParseContext {
11891    _unused: [u8; 0],
11892}
11893pub type GMarkupParseContext = _GMarkupParseContext;
11894pub type GMarkupParser = _GMarkupParser;
11895#[repr(C)]
11896#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11897pub struct _GMarkupParser {
11898    pub start_element: ::std::option::Option<
11899        unsafe extern "C" fn(
11900            context: *mut GMarkupParseContext,
11901            element_name: *const gchar,
11902            attribute_names: *mut *const gchar,
11903            attribute_values: *mut *const gchar,
11904            user_data: gpointer,
11905            error: *mut *mut GError,
11906        ),
11907    >,
11908    pub end_element: ::std::option::Option<
11909        unsafe extern "C" fn(
11910            context: *mut GMarkupParseContext,
11911            element_name: *const gchar,
11912            user_data: gpointer,
11913            error: *mut *mut GError,
11914        ),
11915    >,
11916    pub text: ::std::option::Option<
11917        unsafe extern "C" fn(
11918            context: *mut GMarkupParseContext,
11919            text: *const gchar,
11920            text_len: gsize,
11921            user_data: gpointer,
11922            error: *mut *mut GError,
11923        ),
11924    >,
11925    pub passthrough: ::std::option::Option<
11926        unsafe extern "C" fn(
11927            context: *mut GMarkupParseContext,
11928            passthrough_text: *const gchar,
11929            text_len: gsize,
11930            user_data: gpointer,
11931            error: *mut *mut GError,
11932        ),
11933    >,
11934    pub error: ::std::option::Option<
11935        unsafe extern "C" fn(
11936            context: *mut GMarkupParseContext,
11937            error: *mut GError,
11938            user_data: gpointer,
11939        ),
11940    >,
11941}
11942#[test]
11943fn bindgen_test_layout__GMarkupParser() {
11944    const UNINIT: ::std::mem::MaybeUninit<_GMarkupParser> = ::std::mem::MaybeUninit::uninit();
11945    let ptr = UNINIT.as_ptr();
11946    assert_eq!(
11947        ::std::mem::size_of::<_GMarkupParser>(),
11948        40usize,
11949        concat!("Size of: ", stringify!(_GMarkupParser))
11950    );
11951    assert_eq!(
11952        ::std::mem::align_of::<_GMarkupParser>(),
11953        8usize,
11954        concat!("Alignment of ", stringify!(_GMarkupParser))
11955    );
11956    assert_eq!(
11957        unsafe { ::std::ptr::addr_of!((*ptr).start_element) as usize - ptr as usize },
11958        0usize,
11959        concat!(
11960            "Offset of field: ",
11961            stringify!(_GMarkupParser),
11962            "::",
11963            stringify!(start_element)
11964        )
11965    );
11966    assert_eq!(
11967        unsafe { ::std::ptr::addr_of!((*ptr).end_element) as usize - ptr as usize },
11968        8usize,
11969        concat!(
11970            "Offset of field: ",
11971            stringify!(_GMarkupParser),
11972            "::",
11973            stringify!(end_element)
11974        )
11975    );
11976    assert_eq!(
11977        unsafe { ::std::ptr::addr_of!((*ptr).text) as usize - ptr as usize },
11978        16usize,
11979        concat!(
11980            "Offset of field: ",
11981            stringify!(_GMarkupParser),
11982            "::",
11983            stringify!(text)
11984        )
11985    );
11986    assert_eq!(
11987        unsafe { ::std::ptr::addr_of!((*ptr).passthrough) as usize - ptr as usize },
11988        24usize,
11989        concat!(
11990            "Offset of field: ",
11991            stringify!(_GMarkupParser),
11992            "::",
11993            stringify!(passthrough)
11994        )
11995    );
11996    assert_eq!(
11997        unsafe { ::std::ptr::addr_of!((*ptr).error) as usize - ptr as usize },
11998        32usize,
11999        concat!(
12000            "Offset of field: ",
12001            stringify!(_GMarkupParser),
12002            "::",
12003            stringify!(error)
12004        )
12005    );
12006}
12007extern "C" {
12008    pub fn g_markup_parse_context_new(
12009        parser: *const GMarkupParser,
12010        flags: GMarkupParseFlags,
12011        user_data: gpointer,
12012        user_data_dnotify: GDestroyNotify,
12013    ) -> *mut GMarkupParseContext;
12014}
12015extern "C" {
12016    pub fn g_markup_parse_context_ref(
12017        context: *mut GMarkupParseContext,
12018    ) -> *mut GMarkupParseContext;
12019}
12020extern "C" {
12021    pub fn g_markup_parse_context_unref(context: *mut GMarkupParseContext);
12022}
12023extern "C" {
12024    pub fn g_markup_parse_context_free(context: *mut GMarkupParseContext);
12025}
12026extern "C" {
12027    pub fn g_markup_parse_context_parse(
12028        context: *mut GMarkupParseContext,
12029        text: *const gchar,
12030        text_len: gssize,
12031        error: *mut *mut GError,
12032    ) -> gboolean;
12033}
12034extern "C" {
12035    pub fn g_markup_parse_context_push(
12036        context: *mut GMarkupParseContext,
12037        parser: *const GMarkupParser,
12038        user_data: gpointer,
12039    );
12040}
12041extern "C" {
12042    pub fn g_markup_parse_context_pop(context: *mut GMarkupParseContext) -> gpointer;
12043}
12044extern "C" {
12045    pub fn g_markup_parse_context_end_parse(
12046        context: *mut GMarkupParseContext,
12047        error: *mut *mut GError,
12048    ) -> gboolean;
12049}
12050extern "C" {
12051    pub fn g_markup_parse_context_get_element(context: *mut GMarkupParseContext) -> *const gchar;
12052}
12053extern "C" {
12054    pub fn g_markup_parse_context_get_element_stack(
12055        context: *mut GMarkupParseContext,
12056    ) -> *const GSList;
12057}
12058extern "C" {
12059    pub fn g_markup_parse_context_get_position(
12060        context: *mut GMarkupParseContext,
12061        line_number: *mut gint,
12062        char_number: *mut gint,
12063    );
12064}
12065extern "C" {
12066    pub fn g_markup_parse_context_get_user_data(context: *mut GMarkupParseContext) -> gpointer;
12067}
12068extern "C" {
12069    pub fn g_markup_escape_text(text: *const gchar, length: gssize) -> *mut gchar;
12070}
12071extern "C" {
12072    pub fn g_markup_printf_escaped(format: *const ::std::os::raw::c_char, ...) -> *mut gchar;
12073}
12074extern "C" {
12075    pub fn g_markup_vprintf_escaped(
12076        format: *const ::std::os::raw::c_char,
12077        args: va_list,
12078    ) -> *mut gchar;
12079}
12080pub const GMarkupCollectType_G_MARKUP_COLLECT_INVALID: GMarkupCollectType = 0;
12081pub const GMarkupCollectType_G_MARKUP_COLLECT_STRING: GMarkupCollectType = 1;
12082pub const GMarkupCollectType_G_MARKUP_COLLECT_STRDUP: GMarkupCollectType = 2;
12083pub const GMarkupCollectType_G_MARKUP_COLLECT_BOOLEAN: GMarkupCollectType = 3;
12084pub const GMarkupCollectType_G_MARKUP_COLLECT_TRISTATE: GMarkupCollectType = 4;
12085pub const GMarkupCollectType_G_MARKUP_COLLECT_OPTIONAL: GMarkupCollectType = 65536;
12086pub type GMarkupCollectType = ::std::os::raw::c_uint;
12087extern "C" {
12088    pub fn g_markup_collect_attributes(
12089        element_name: *const gchar,
12090        attribute_names: *mut *const gchar,
12091        attribute_values: *mut *const gchar,
12092        error: *mut *mut GError,
12093        first_type: GMarkupCollectType,
12094        first_attr: *const gchar,
12095        ...
12096    ) -> gboolean;
12097}
12098#[repr(C)]
12099#[derive(Debug, Copy, Clone)]
12100pub struct _GVariantType {
12101    _unused: [u8; 0],
12102}
12103pub type GVariantType = _GVariantType;
12104extern "C" {
12105    pub fn g_variant_type_string_is_valid(type_string: *const gchar) -> gboolean;
12106}
12107extern "C" {
12108    pub fn g_variant_type_string_scan(
12109        string: *const gchar,
12110        limit: *const gchar,
12111        endptr: *mut *const gchar,
12112    ) -> gboolean;
12113}
12114extern "C" {
12115    pub fn g_variant_type_free(type_: *mut GVariantType);
12116}
12117extern "C" {
12118    pub fn g_variant_type_copy(type_: *const GVariantType) -> *mut GVariantType;
12119}
12120extern "C" {
12121    pub fn g_variant_type_new(type_string: *const gchar) -> *mut GVariantType;
12122}
12123extern "C" {
12124    pub fn g_variant_type_get_string_length(type_: *const GVariantType) -> gsize;
12125}
12126extern "C" {
12127    pub fn g_variant_type_peek_string(type_: *const GVariantType) -> *const gchar;
12128}
12129extern "C" {
12130    pub fn g_variant_type_dup_string(type_: *const GVariantType) -> *mut gchar;
12131}
12132extern "C" {
12133    pub fn g_variant_type_is_definite(type_: *const GVariantType) -> gboolean;
12134}
12135extern "C" {
12136    pub fn g_variant_type_is_container(type_: *const GVariantType) -> gboolean;
12137}
12138extern "C" {
12139    pub fn g_variant_type_is_basic(type_: *const GVariantType) -> gboolean;
12140}
12141extern "C" {
12142    pub fn g_variant_type_is_maybe(type_: *const GVariantType) -> gboolean;
12143}
12144extern "C" {
12145    pub fn g_variant_type_is_array(type_: *const GVariantType) -> gboolean;
12146}
12147extern "C" {
12148    pub fn g_variant_type_is_tuple(type_: *const GVariantType) -> gboolean;
12149}
12150extern "C" {
12151    pub fn g_variant_type_is_dict_entry(type_: *const GVariantType) -> gboolean;
12152}
12153extern "C" {
12154    pub fn g_variant_type_is_variant(type_: *const GVariantType) -> gboolean;
12155}
12156extern "C" {
12157    pub fn g_variant_type_hash(type_: gconstpointer) -> guint;
12158}
12159extern "C" {
12160    pub fn g_variant_type_equal(type1: gconstpointer, type2: gconstpointer) -> gboolean;
12161}
12162extern "C" {
12163    pub fn g_variant_type_is_subtype_of(
12164        type_: *const GVariantType,
12165        supertype: *const GVariantType,
12166    ) -> gboolean;
12167}
12168extern "C" {
12169    pub fn g_variant_type_element(type_: *const GVariantType) -> *const GVariantType;
12170}
12171extern "C" {
12172    pub fn g_variant_type_first(type_: *const GVariantType) -> *const GVariantType;
12173}
12174extern "C" {
12175    pub fn g_variant_type_next(type_: *const GVariantType) -> *const GVariantType;
12176}
12177extern "C" {
12178    pub fn g_variant_type_n_items(type_: *const GVariantType) -> gsize;
12179}
12180extern "C" {
12181    pub fn g_variant_type_key(type_: *const GVariantType) -> *const GVariantType;
12182}
12183extern "C" {
12184    pub fn g_variant_type_value(type_: *const GVariantType) -> *const GVariantType;
12185}
12186extern "C" {
12187    pub fn g_variant_type_new_array(element: *const GVariantType) -> *mut GVariantType;
12188}
12189extern "C" {
12190    pub fn g_variant_type_new_maybe(element: *const GVariantType) -> *mut GVariantType;
12191}
12192extern "C" {
12193    pub fn g_variant_type_new_tuple(
12194        items: *const *const GVariantType,
12195        length: gint,
12196    ) -> *mut GVariantType;
12197}
12198extern "C" {
12199    pub fn g_variant_type_new_dict_entry(
12200        key: *const GVariantType,
12201        value: *const GVariantType,
12202    ) -> *mut GVariantType;
12203}
12204extern "C" {
12205    pub fn g_variant_type_checked_(arg1: *const gchar) -> *const GVariantType;
12206}
12207extern "C" {
12208    pub fn g_variant_type_string_get_depth_(type_string: *const gchar) -> gsize;
12209}
12210#[repr(C)]
12211#[derive(Debug, Copy, Clone)]
12212pub struct _GVariant {
12213    _unused: [u8; 0],
12214}
12215pub type GVariant = _GVariant;
12216pub const GVariantClass_G_VARIANT_CLASS_BOOLEAN: GVariantClass = 98;
12217pub const GVariantClass_G_VARIANT_CLASS_BYTE: GVariantClass = 121;
12218pub const GVariantClass_G_VARIANT_CLASS_INT16: GVariantClass = 110;
12219pub const GVariantClass_G_VARIANT_CLASS_UINT16: GVariantClass = 113;
12220pub const GVariantClass_G_VARIANT_CLASS_INT32: GVariantClass = 105;
12221pub const GVariantClass_G_VARIANT_CLASS_UINT32: GVariantClass = 117;
12222pub const GVariantClass_G_VARIANT_CLASS_INT64: GVariantClass = 120;
12223pub const GVariantClass_G_VARIANT_CLASS_UINT64: GVariantClass = 116;
12224pub const GVariantClass_G_VARIANT_CLASS_HANDLE: GVariantClass = 104;
12225pub const GVariantClass_G_VARIANT_CLASS_DOUBLE: GVariantClass = 100;
12226pub const GVariantClass_G_VARIANT_CLASS_STRING: GVariantClass = 115;
12227pub const GVariantClass_G_VARIANT_CLASS_OBJECT_PATH: GVariantClass = 111;
12228pub const GVariantClass_G_VARIANT_CLASS_SIGNATURE: GVariantClass = 103;
12229pub const GVariantClass_G_VARIANT_CLASS_VARIANT: GVariantClass = 118;
12230pub const GVariantClass_G_VARIANT_CLASS_MAYBE: GVariantClass = 109;
12231pub const GVariantClass_G_VARIANT_CLASS_ARRAY: GVariantClass = 97;
12232pub const GVariantClass_G_VARIANT_CLASS_TUPLE: GVariantClass = 40;
12233pub const GVariantClass_G_VARIANT_CLASS_DICT_ENTRY: GVariantClass = 123;
12234pub type GVariantClass = ::std::os::raw::c_uint;
12235extern "C" {
12236    pub fn g_variant_unref(value: *mut GVariant);
12237}
12238extern "C" {
12239    pub fn g_variant_ref(value: *mut GVariant) -> *mut GVariant;
12240}
12241extern "C" {
12242    pub fn g_variant_ref_sink(value: *mut GVariant) -> *mut GVariant;
12243}
12244extern "C" {
12245    pub fn g_variant_is_floating(value: *mut GVariant) -> gboolean;
12246}
12247extern "C" {
12248    pub fn g_variant_take_ref(value: *mut GVariant) -> *mut GVariant;
12249}
12250extern "C" {
12251    pub fn g_variant_get_type(value: *mut GVariant) -> *const GVariantType;
12252}
12253extern "C" {
12254    pub fn g_variant_get_type_string(value: *mut GVariant) -> *const gchar;
12255}
12256extern "C" {
12257    pub fn g_variant_is_of_type(value: *mut GVariant, type_: *const GVariantType) -> gboolean;
12258}
12259extern "C" {
12260    pub fn g_variant_is_container(value: *mut GVariant) -> gboolean;
12261}
12262extern "C" {
12263    pub fn g_variant_classify(value: *mut GVariant) -> GVariantClass;
12264}
12265extern "C" {
12266    pub fn g_variant_new_boolean(value: gboolean) -> *mut GVariant;
12267}
12268extern "C" {
12269    pub fn g_variant_new_byte(value: guint8) -> *mut GVariant;
12270}
12271extern "C" {
12272    pub fn g_variant_new_int16(value: gint16) -> *mut GVariant;
12273}
12274extern "C" {
12275    pub fn g_variant_new_uint16(value: guint16) -> *mut GVariant;
12276}
12277extern "C" {
12278    pub fn g_variant_new_int32(value: gint32) -> *mut GVariant;
12279}
12280extern "C" {
12281    pub fn g_variant_new_uint32(value: guint32) -> *mut GVariant;
12282}
12283extern "C" {
12284    pub fn g_variant_new_int64(value: gint64) -> *mut GVariant;
12285}
12286extern "C" {
12287    pub fn g_variant_new_uint64(value: guint64) -> *mut GVariant;
12288}
12289extern "C" {
12290    pub fn g_variant_new_handle(value: gint32) -> *mut GVariant;
12291}
12292extern "C" {
12293    pub fn g_variant_new_double(value: gdouble) -> *mut GVariant;
12294}
12295extern "C" {
12296    pub fn g_variant_new_string(string: *const gchar) -> *mut GVariant;
12297}
12298extern "C" {
12299    pub fn g_variant_new_take_string(string: *mut gchar) -> *mut GVariant;
12300}
12301extern "C" {
12302    pub fn g_variant_new_printf(format_string: *const gchar, ...) -> *mut GVariant;
12303}
12304extern "C" {
12305    pub fn g_variant_new_object_path(object_path: *const gchar) -> *mut GVariant;
12306}
12307extern "C" {
12308    pub fn g_variant_is_object_path(string: *const gchar) -> gboolean;
12309}
12310extern "C" {
12311    pub fn g_variant_new_signature(signature: *const gchar) -> *mut GVariant;
12312}
12313extern "C" {
12314    pub fn g_variant_is_signature(string: *const gchar) -> gboolean;
12315}
12316extern "C" {
12317    pub fn g_variant_new_variant(value: *mut GVariant) -> *mut GVariant;
12318}
12319extern "C" {
12320    pub fn g_variant_new_strv(strv: *const *const gchar, length: gssize) -> *mut GVariant;
12321}
12322extern "C" {
12323    pub fn g_variant_new_objv(strv: *const *const gchar, length: gssize) -> *mut GVariant;
12324}
12325extern "C" {
12326    pub fn g_variant_new_bytestring(string: *const gchar) -> *mut GVariant;
12327}
12328extern "C" {
12329    pub fn g_variant_new_bytestring_array(
12330        strv: *const *const gchar,
12331        length: gssize,
12332    ) -> *mut GVariant;
12333}
12334extern "C" {
12335    pub fn g_variant_new_fixed_array(
12336        element_type: *const GVariantType,
12337        elements: gconstpointer,
12338        n_elements: gsize,
12339        element_size: gsize,
12340    ) -> *mut GVariant;
12341}
12342extern "C" {
12343    pub fn g_variant_get_boolean(value: *mut GVariant) -> gboolean;
12344}
12345extern "C" {
12346    pub fn g_variant_get_byte(value: *mut GVariant) -> guint8;
12347}
12348extern "C" {
12349    pub fn g_variant_get_int16(value: *mut GVariant) -> gint16;
12350}
12351extern "C" {
12352    pub fn g_variant_get_uint16(value: *mut GVariant) -> guint16;
12353}
12354extern "C" {
12355    pub fn g_variant_get_int32(value: *mut GVariant) -> gint32;
12356}
12357extern "C" {
12358    pub fn g_variant_get_uint32(value: *mut GVariant) -> guint32;
12359}
12360extern "C" {
12361    pub fn g_variant_get_int64(value: *mut GVariant) -> gint64;
12362}
12363extern "C" {
12364    pub fn g_variant_get_uint64(value: *mut GVariant) -> guint64;
12365}
12366extern "C" {
12367    pub fn g_variant_get_handle(value: *mut GVariant) -> gint32;
12368}
12369extern "C" {
12370    pub fn g_variant_get_double(value: *mut GVariant) -> gdouble;
12371}
12372extern "C" {
12373    pub fn g_variant_get_variant(value: *mut GVariant) -> *mut GVariant;
12374}
12375extern "C" {
12376    pub fn g_variant_get_string(value: *mut GVariant, length: *mut gsize) -> *const gchar;
12377}
12378extern "C" {
12379    pub fn g_variant_dup_string(value: *mut GVariant, length: *mut gsize) -> *mut gchar;
12380}
12381extern "C" {
12382    pub fn g_variant_get_strv(value: *mut GVariant, length: *mut gsize) -> *mut *const gchar;
12383}
12384extern "C" {
12385    pub fn g_variant_dup_strv(value: *mut GVariant, length: *mut gsize) -> *mut *mut gchar;
12386}
12387extern "C" {
12388    pub fn g_variant_get_objv(value: *mut GVariant, length: *mut gsize) -> *mut *const gchar;
12389}
12390extern "C" {
12391    pub fn g_variant_dup_objv(value: *mut GVariant, length: *mut gsize) -> *mut *mut gchar;
12392}
12393extern "C" {
12394    pub fn g_variant_get_bytestring(value: *mut GVariant) -> *const gchar;
12395}
12396extern "C" {
12397    pub fn g_variant_dup_bytestring(value: *mut GVariant, length: *mut gsize) -> *mut gchar;
12398}
12399extern "C" {
12400    pub fn g_variant_get_bytestring_array(
12401        value: *mut GVariant,
12402        length: *mut gsize,
12403    ) -> *mut *const gchar;
12404}
12405extern "C" {
12406    pub fn g_variant_dup_bytestring_array(
12407        value: *mut GVariant,
12408        length: *mut gsize,
12409    ) -> *mut *mut gchar;
12410}
12411extern "C" {
12412    pub fn g_variant_new_maybe(
12413        child_type: *const GVariantType,
12414        child: *mut GVariant,
12415    ) -> *mut GVariant;
12416}
12417extern "C" {
12418    pub fn g_variant_new_array(
12419        child_type: *const GVariantType,
12420        children: *const *mut GVariant,
12421        n_children: gsize,
12422    ) -> *mut GVariant;
12423}
12424extern "C" {
12425    pub fn g_variant_new_tuple(children: *const *mut GVariant, n_children: gsize) -> *mut GVariant;
12426}
12427extern "C" {
12428    pub fn g_variant_new_dict_entry(key: *mut GVariant, value: *mut GVariant) -> *mut GVariant;
12429}
12430extern "C" {
12431    pub fn g_variant_get_maybe(value: *mut GVariant) -> *mut GVariant;
12432}
12433extern "C" {
12434    pub fn g_variant_n_children(value: *mut GVariant) -> gsize;
12435}
12436extern "C" {
12437    pub fn g_variant_get_child(
12438        value: *mut GVariant,
12439        index_: gsize,
12440        format_string: *const gchar,
12441        ...
12442    );
12443}
12444extern "C" {
12445    pub fn g_variant_get_child_value(value: *mut GVariant, index_: gsize) -> *mut GVariant;
12446}
12447extern "C" {
12448    pub fn g_variant_lookup(
12449        dictionary: *mut GVariant,
12450        key: *const gchar,
12451        format_string: *const gchar,
12452        ...
12453    ) -> gboolean;
12454}
12455extern "C" {
12456    pub fn g_variant_lookup_value(
12457        dictionary: *mut GVariant,
12458        key: *const gchar,
12459        expected_type: *const GVariantType,
12460    ) -> *mut GVariant;
12461}
12462extern "C" {
12463    pub fn g_variant_get_fixed_array(
12464        value: *mut GVariant,
12465        n_elements: *mut gsize,
12466        element_size: gsize,
12467    ) -> gconstpointer;
12468}
12469extern "C" {
12470    pub fn g_variant_get_size(value: *mut GVariant) -> gsize;
12471}
12472extern "C" {
12473    pub fn g_variant_get_data(value: *mut GVariant) -> gconstpointer;
12474}
12475extern "C" {
12476    pub fn g_variant_get_data_as_bytes(value: *mut GVariant) -> *mut GBytes;
12477}
12478extern "C" {
12479    pub fn g_variant_store(value: *mut GVariant, data: gpointer);
12480}
12481extern "C" {
12482    pub fn g_variant_print(value: *mut GVariant, type_annotate: gboolean) -> *mut gchar;
12483}
12484extern "C" {
12485    pub fn g_variant_print_string(
12486        value: *mut GVariant,
12487        string: *mut GString,
12488        type_annotate: gboolean,
12489    ) -> *mut GString;
12490}
12491extern "C" {
12492    pub fn g_variant_hash(value: gconstpointer) -> guint;
12493}
12494extern "C" {
12495    pub fn g_variant_equal(one: gconstpointer, two: gconstpointer) -> gboolean;
12496}
12497extern "C" {
12498    pub fn g_variant_get_normal_form(value: *mut GVariant) -> *mut GVariant;
12499}
12500extern "C" {
12501    pub fn g_variant_is_normal_form(value: *mut GVariant) -> gboolean;
12502}
12503extern "C" {
12504    pub fn g_variant_byteswap(value: *mut GVariant) -> *mut GVariant;
12505}
12506extern "C" {
12507    pub fn g_variant_new_from_bytes(
12508        type_: *const GVariantType,
12509        bytes: *mut GBytes,
12510        trusted: gboolean,
12511    ) -> *mut GVariant;
12512}
12513extern "C" {
12514    pub fn g_variant_new_from_data(
12515        type_: *const GVariantType,
12516        data: gconstpointer,
12517        size: gsize,
12518        trusted: gboolean,
12519        notify: GDestroyNotify,
12520        user_data: gpointer,
12521    ) -> *mut GVariant;
12522}
12523pub type GVariantIter = _GVariantIter;
12524#[repr(C)]
12525#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12526pub struct _GVariantIter {
12527    pub x: [guintptr; 16usize],
12528}
12529#[test]
12530fn bindgen_test_layout__GVariantIter() {
12531    const UNINIT: ::std::mem::MaybeUninit<_GVariantIter> = ::std::mem::MaybeUninit::uninit();
12532    let ptr = UNINIT.as_ptr();
12533    assert_eq!(
12534        ::std::mem::size_of::<_GVariantIter>(),
12535        128usize,
12536        concat!("Size of: ", stringify!(_GVariantIter))
12537    );
12538    assert_eq!(
12539        ::std::mem::align_of::<_GVariantIter>(),
12540        8usize,
12541        concat!("Alignment of ", stringify!(_GVariantIter))
12542    );
12543    assert_eq!(
12544        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
12545        0usize,
12546        concat!(
12547            "Offset of field: ",
12548            stringify!(_GVariantIter),
12549            "::",
12550            stringify!(x)
12551        )
12552    );
12553}
12554extern "C" {
12555    pub fn g_variant_iter_new(value: *mut GVariant) -> *mut GVariantIter;
12556}
12557extern "C" {
12558    pub fn g_variant_iter_init(iter: *mut GVariantIter, value: *mut GVariant) -> gsize;
12559}
12560extern "C" {
12561    pub fn g_variant_iter_copy(iter: *mut GVariantIter) -> *mut GVariantIter;
12562}
12563extern "C" {
12564    pub fn g_variant_iter_n_children(iter: *mut GVariantIter) -> gsize;
12565}
12566extern "C" {
12567    pub fn g_variant_iter_free(iter: *mut GVariantIter);
12568}
12569extern "C" {
12570    pub fn g_variant_iter_next_value(iter: *mut GVariantIter) -> *mut GVariant;
12571}
12572extern "C" {
12573    pub fn g_variant_iter_next(
12574        iter: *mut GVariantIter,
12575        format_string: *const gchar,
12576        ...
12577    ) -> gboolean;
12578}
12579extern "C" {
12580    pub fn g_variant_iter_loop(
12581        iter: *mut GVariantIter,
12582        format_string: *const gchar,
12583        ...
12584    ) -> gboolean;
12585}
12586pub type GVariantBuilder = _GVariantBuilder;
12587#[repr(C)]
12588#[derive(Copy, Clone)]
12589pub struct _GVariantBuilder {
12590    pub u: _GVariantBuilder__bindgen_ty_1,
12591}
12592#[repr(C)]
12593#[derive(Copy, Clone)]
12594pub union _GVariantBuilder__bindgen_ty_1 {
12595    pub s: _GVariantBuilder__bindgen_ty_1__bindgen_ty_1,
12596    pub x: [guintptr; 16usize],
12597}
12598#[repr(C)]
12599#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12600pub struct _GVariantBuilder__bindgen_ty_1__bindgen_ty_1 {
12601    pub partial_magic: gsize,
12602    pub type_: *const GVariantType,
12603    pub y: [guintptr; 14usize],
12604}
12605#[test]
12606fn bindgen_test_layout__GVariantBuilder__bindgen_ty_1__bindgen_ty_1() {
12607    const UNINIT: ::std::mem::MaybeUninit<_GVariantBuilder__bindgen_ty_1__bindgen_ty_1> =
12608        ::std::mem::MaybeUninit::uninit();
12609    let ptr = UNINIT.as_ptr();
12610    assert_eq!(
12611        ::std::mem::size_of::<_GVariantBuilder__bindgen_ty_1__bindgen_ty_1>(),
12612        128usize,
12613        concat!(
12614            "Size of: ",
12615            stringify!(_GVariantBuilder__bindgen_ty_1__bindgen_ty_1)
12616        )
12617    );
12618    assert_eq!(
12619        ::std::mem::align_of::<_GVariantBuilder__bindgen_ty_1__bindgen_ty_1>(),
12620        8usize,
12621        concat!(
12622            "Alignment of ",
12623            stringify!(_GVariantBuilder__bindgen_ty_1__bindgen_ty_1)
12624        )
12625    );
12626    assert_eq!(
12627        unsafe { ::std::ptr::addr_of!((*ptr).partial_magic) as usize - ptr as usize },
12628        0usize,
12629        concat!(
12630            "Offset of field: ",
12631            stringify!(_GVariantBuilder__bindgen_ty_1__bindgen_ty_1),
12632            "::",
12633            stringify!(partial_magic)
12634        )
12635    );
12636    assert_eq!(
12637        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
12638        8usize,
12639        concat!(
12640            "Offset of field: ",
12641            stringify!(_GVariantBuilder__bindgen_ty_1__bindgen_ty_1),
12642            "::",
12643            stringify!(type_)
12644        )
12645    );
12646    assert_eq!(
12647        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
12648        16usize,
12649        concat!(
12650            "Offset of field: ",
12651            stringify!(_GVariantBuilder__bindgen_ty_1__bindgen_ty_1),
12652            "::",
12653            stringify!(y)
12654        )
12655    );
12656}
12657#[test]
12658fn bindgen_test_layout__GVariantBuilder__bindgen_ty_1() {
12659    const UNINIT: ::std::mem::MaybeUninit<_GVariantBuilder__bindgen_ty_1> =
12660        ::std::mem::MaybeUninit::uninit();
12661    let ptr = UNINIT.as_ptr();
12662    assert_eq!(
12663        ::std::mem::size_of::<_GVariantBuilder__bindgen_ty_1>(),
12664        128usize,
12665        concat!("Size of: ", stringify!(_GVariantBuilder__bindgen_ty_1))
12666    );
12667    assert_eq!(
12668        ::std::mem::align_of::<_GVariantBuilder__bindgen_ty_1>(),
12669        8usize,
12670        concat!("Alignment of ", stringify!(_GVariantBuilder__bindgen_ty_1))
12671    );
12672    assert_eq!(
12673        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
12674        0usize,
12675        concat!(
12676            "Offset of field: ",
12677            stringify!(_GVariantBuilder__bindgen_ty_1),
12678            "::",
12679            stringify!(s)
12680        )
12681    );
12682    assert_eq!(
12683        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
12684        0usize,
12685        concat!(
12686            "Offset of field: ",
12687            stringify!(_GVariantBuilder__bindgen_ty_1),
12688            "::",
12689            stringify!(x)
12690        )
12691    );
12692}
12693impl ::std::fmt::Debug for _GVariantBuilder__bindgen_ty_1 {
12694    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12695        write!(f, "_GVariantBuilder__bindgen_ty_1 {{ union }}")
12696    }
12697}
12698#[test]
12699fn bindgen_test_layout__GVariantBuilder() {
12700    const UNINIT: ::std::mem::MaybeUninit<_GVariantBuilder> = ::std::mem::MaybeUninit::uninit();
12701    let ptr = UNINIT.as_ptr();
12702    assert_eq!(
12703        ::std::mem::size_of::<_GVariantBuilder>(),
12704        128usize,
12705        concat!("Size of: ", stringify!(_GVariantBuilder))
12706    );
12707    assert_eq!(
12708        ::std::mem::align_of::<_GVariantBuilder>(),
12709        8usize,
12710        concat!("Alignment of ", stringify!(_GVariantBuilder))
12711    );
12712    assert_eq!(
12713        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
12714        0usize,
12715        concat!(
12716            "Offset of field: ",
12717            stringify!(_GVariantBuilder),
12718            "::",
12719            stringify!(u)
12720        )
12721    );
12722}
12723impl ::std::fmt::Debug for _GVariantBuilder {
12724    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12725        write!(f, "_GVariantBuilder {{ u: {:?} }}", self.u)
12726    }
12727}
12728pub const GVariantParseError_G_VARIANT_PARSE_ERROR_FAILED: GVariantParseError = 0;
12729pub const GVariantParseError_G_VARIANT_PARSE_ERROR_BASIC_TYPE_EXPECTED: GVariantParseError = 1;
12730pub const GVariantParseError_G_VARIANT_PARSE_ERROR_CANNOT_INFER_TYPE: GVariantParseError = 2;
12731pub const GVariantParseError_G_VARIANT_PARSE_ERROR_DEFINITE_TYPE_EXPECTED: GVariantParseError = 3;
12732pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INPUT_NOT_AT_END: GVariantParseError = 4;
12733pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INVALID_CHARACTER: GVariantParseError = 5;
12734pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INVALID_FORMAT_STRING: GVariantParseError = 6;
12735pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INVALID_OBJECT_PATH: GVariantParseError = 7;
12736pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INVALID_SIGNATURE: GVariantParseError = 8;
12737pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INVALID_TYPE_STRING: GVariantParseError = 9;
12738pub const GVariantParseError_G_VARIANT_PARSE_ERROR_NO_COMMON_TYPE: GVariantParseError = 10;
12739pub const GVariantParseError_G_VARIANT_PARSE_ERROR_NUMBER_OUT_OF_RANGE: GVariantParseError = 11;
12740pub const GVariantParseError_G_VARIANT_PARSE_ERROR_NUMBER_TOO_BIG: GVariantParseError = 12;
12741pub const GVariantParseError_G_VARIANT_PARSE_ERROR_TYPE_ERROR: GVariantParseError = 13;
12742pub const GVariantParseError_G_VARIANT_PARSE_ERROR_UNEXPECTED_TOKEN: GVariantParseError = 14;
12743pub const GVariantParseError_G_VARIANT_PARSE_ERROR_UNKNOWN_KEYWORD: GVariantParseError = 15;
12744pub const GVariantParseError_G_VARIANT_PARSE_ERROR_UNTERMINATED_STRING_CONSTANT:
12745    GVariantParseError = 16;
12746pub const GVariantParseError_G_VARIANT_PARSE_ERROR_VALUE_EXPECTED: GVariantParseError = 17;
12747pub const GVariantParseError_G_VARIANT_PARSE_ERROR_RECURSION: GVariantParseError = 18;
12748pub type GVariantParseError = ::std::os::raw::c_uint;
12749extern "C" {
12750    pub fn g_variant_parser_get_error_quark() -> GQuark;
12751}
12752extern "C" {
12753    pub fn g_variant_parse_error_quark() -> GQuark;
12754}
12755extern "C" {
12756    pub fn g_variant_builder_new(type_: *const GVariantType) -> *mut GVariantBuilder;
12757}
12758extern "C" {
12759    pub fn g_variant_builder_unref(builder: *mut GVariantBuilder);
12760}
12761extern "C" {
12762    pub fn g_variant_builder_ref(builder: *mut GVariantBuilder) -> *mut GVariantBuilder;
12763}
12764extern "C" {
12765    pub fn g_variant_builder_init(builder: *mut GVariantBuilder, type_: *const GVariantType);
12766}
12767extern "C" {
12768    pub fn g_variant_builder_end(builder: *mut GVariantBuilder) -> *mut GVariant;
12769}
12770extern "C" {
12771    pub fn g_variant_builder_clear(builder: *mut GVariantBuilder);
12772}
12773extern "C" {
12774    pub fn g_variant_builder_open(builder: *mut GVariantBuilder, type_: *const GVariantType);
12775}
12776extern "C" {
12777    pub fn g_variant_builder_close(builder: *mut GVariantBuilder);
12778}
12779extern "C" {
12780    pub fn g_variant_builder_add_value(builder: *mut GVariantBuilder, value: *mut GVariant);
12781}
12782extern "C" {
12783    pub fn g_variant_builder_add(builder: *mut GVariantBuilder, format_string: *const gchar, ...);
12784}
12785extern "C" {
12786    pub fn g_variant_builder_add_parsed(builder: *mut GVariantBuilder, format: *const gchar, ...);
12787}
12788extern "C" {
12789    pub fn g_variant_new(format_string: *const gchar, ...) -> *mut GVariant;
12790}
12791extern "C" {
12792    pub fn g_variant_get(value: *mut GVariant, format_string: *const gchar, ...);
12793}
12794extern "C" {
12795    pub fn g_variant_new_va(
12796        format_string: *const gchar,
12797        endptr: *mut *const gchar,
12798        app: *mut va_list,
12799    ) -> *mut GVariant;
12800}
12801extern "C" {
12802    pub fn g_variant_get_va(
12803        value: *mut GVariant,
12804        format_string: *const gchar,
12805        endptr: *mut *const gchar,
12806        app: *mut va_list,
12807    );
12808}
12809extern "C" {
12810    pub fn g_variant_check_format_string(
12811        value: *mut GVariant,
12812        format_string: *const gchar,
12813        copy_only: gboolean,
12814    ) -> gboolean;
12815}
12816extern "C" {
12817    pub fn g_variant_parse(
12818        type_: *const GVariantType,
12819        text: *const gchar,
12820        limit: *const gchar,
12821        endptr: *mut *const gchar,
12822        error: *mut *mut GError,
12823    ) -> *mut GVariant;
12824}
12825extern "C" {
12826    pub fn g_variant_new_parsed(format: *const gchar, ...) -> *mut GVariant;
12827}
12828extern "C" {
12829    pub fn g_variant_new_parsed_va(format: *const gchar, app: *mut va_list) -> *mut GVariant;
12830}
12831extern "C" {
12832    pub fn g_variant_parse_error_print_context(
12833        error: *mut GError,
12834        source_str: *const gchar,
12835    ) -> *mut gchar;
12836}
12837extern "C" {
12838    pub fn g_variant_compare(one: gconstpointer, two: gconstpointer) -> gint;
12839}
12840pub type GVariantDict = _GVariantDict;
12841#[repr(C)]
12842#[derive(Copy, Clone)]
12843pub struct _GVariantDict {
12844    pub u: _GVariantDict__bindgen_ty_1,
12845}
12846#[repr(C)]
12847#[derive(Copy, Clone)]
12848pub union _GVariantDict__bindgen_ty_1 {
12849    pub s: _GVariantDict__bindgen_ty_1__bindgen_ty_1,
12850    pub x: [guintptr; 16usize],
12851}
12852#[repr(C)]
12853#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12854pub struct _GVariantDict__bindgen_ty_1__bindgen_ty_1 {
12855    pub asv: *mut GVariant,
12856    pub partial_magic: gsize,
12857    pub y: [guintptr; 14usize],
12858}
12859#[test]
12860fn bindgen_test_layout__GVariantDict__bindgen_ty_1__bindgen_ty_1() {
12861    const UNINIT: ::std::mem::MaybeUninit<_GVariantDict__bindgen_ty_1__bindgen_ty_1> =
12862        ::std::mem::MaybeUninit::uninit();
12863    let ptr = UNINIT.as_ptr();
12864    assert_eq!(
12865        ::std::mem::size_of::<_GVariantDict__bindgen_ty_1__bindgen_ty_1>(),
12866        128usize,
12867        concat!(
12868            "Size of: ",
12869            stringify!(_GVariantDict__bindgen_ty_1__bindgen_ty_1)
12870        )
12871    );
12872    assert_eq!(
12873        ::std::mem::align_of::<_GVariantDict__bindgen_ty_1__bindgen_ty_1>(),
12874        8usize,
12875        concat!(
12876            "Alignment of ",
12877            stringify!(_GVariantDict__bindgen_ty_1__bindgen_ty_1)
12878        )
12879    );
12880    assert_eq!(
12881        unsafe { ::std::ptr::addr_of!((*ptr).asv) as usize - ptr as usize },
12882        0usize,
12883        concat!(
12884            "Offset of field: ",
12885            stringify!(_GVariantDict__bindgen_ty_1__bindgen_ty_1),
12886            "::",
12887            stringify!(asv)
12888        )
12889    );
12890    assert_eq!(
12891        unsafe { ::std::ptr::addr_of!((*ptr).partial_magic) as usize - ptr as usize },
12892        8usize,
12893        concat!(
12894            "Offset of field: ",
12895            stringify!(_GVariantDict__bindgen_ty_1__bindgen_ty_1),
12896            "::",
12897            stringify!(partial_magic)
12898        )
12899    );
12900    assert_eq!(
12901        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
12902        16usize,
12903        concat!(
12904            "Offset of field: ",
12905            stringify!(_GVariantDict__bindgen_ty_1__bindgen_ty_1),
12906            "::",
12907            stringify!(y)
12908        )
12909    );
12910}
12911#[test]
12912fn bindgen_test_layout__GVariantDict__bindgen_ty_1() {
12913    const UNINIT: ::std::mem::MaybeUninit<_GVariantDict__bindgen_ty_1> =
12914        ::std::mem::MaybeUninit::uninit();
12915    let ptr = UNINIT.as_ptr();
12916    assert_eq!(
12917        ::std::mem::size_of::<_GVariantDict__bindgen_ty_1>(),
12918        128usize,
12919        concat!("Size of: ", stringify!(_GVariantDict__bindgen_ty_1))
12920    );
12921    assert_eq!(
12922        ::std::mem::align_of::<_GVariantDict__bindgen_ty_1>(),
12923        8usize,
12924        concat!("Alignment of ", stringify!(_GVariantDict__bindgen_ty_1))
12925    );
12926    assert_eq!(
12927        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
12928        0usize,
12929        concat!(
12930            "Offset of field: ",
12931            stringify!(_GVariantDict__bindgen_ty_1),
12932            "::",
12933            stringify!(s)
12934        )
12935    );
12936    assert_eq!(
12937        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
12938        0usize,
12939        concat!(
12940            "Offset of field: ",
12941            stringify!(_GVariantDict__bindgen_ty_1),
12942            "::",
12943            stringify!(x)
12944        )
12945    );
12946}
12947impl ::std::fmt::Debug for _GVariantDict__bindgen_ty_1 {
12948    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12949        write!(f, "_GVariantDict__bindgen_ty_1 {{ union }}")
12950    }
12951}
12952#[test]
12953fn bindgen_test_layout__GVariantDict() {
12954    const UNINIT: ::std::mem::MaybeUninit<_GVariantDict> = ::std::mem::MaybeUninit::uninit();
12955    let ptr = UNINIT.as_ptr();
12956    assert_eq!(
12957        ::std::mem::size_of::<_GVariantDict>(),
12958        128usize,
12959        concat!("Size of: ", stringify!(_GVariantDict))
12960    );
12961    assert_eq!(
12962        ::std::mem::align_of::<_GVariantDict>(),
12963        8usize,
12964        concat!("Alignment of ", stringify!(_GVariantDict))
12965    );
12966    assert_eq!(
12967        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
12968        0usize,
12969        concat!(
12970            "Offset of field: ",
12971            stringify!(_GVariantDict),
12972            "::",
12973            stringify!(u)
12974        )
12975    );
12976}
12977impl ::std::fmt::Debug for _GVariantDict {
12978    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12979        write!(f, "_GVariantDict {{ u: {:?} }}", self.u)
12980    }
12981}
12982extern "C" {
12983    pub fn g_variant_dict_new(from_asv: *mut GVariant) -> *mut GVariantDict;
12984}
12985extern "C" {
12986    pub fn g_variant_dict_init(dict: *mut GVariantDict, from_asv: *mut GVariant);
12987}
12988extern "C" {
12989    pub fn g_variant_dict_lookup(
12990        dict: *mut GVariantDict,
12991        key: *const gchar,
12992        format_string: *const gchar,
12993        ...
12994    ) -> gboolean;
12995}
12996extern "C" {
12997    pub fn g_variant_dict_lookup_value(
12998        dict: *mut GVariantDict,
12999        key: *const gchar,
13000        expected_type: *const GVariantType,
13001    ) -> *mut GVariant;
13002}
13003extern "C" {
13004    pub fn g_variant_dict_contains(dict: *mut GVariantDict, key: *const gchar) -> gboolean;
13005}
13006extern "C" {
13007    pub fn g_variant_dict_insert(
13008        dict: *mut GVariantDict,
13009        key: *const gchar,
13010        format_string: *const gchar,
13011        ...
13012    );
13013}
13014extern "C" {
13015    pub fn g_variant_dict_insert_value(
13016        dict: *mut GVariantDict,
13017        key: *const gchar,
13018        value: *mut GVariant,
13019    );
13020}
13021extern "C" {
13022    pub fn g_variant_dict_remove(dict: *mut GVariantDict, key: *const gchar) -> gboolean;
13023}
13024extern "C" {
13025    pub fn g_variant_dict_clear(dict: *mut GVariantDict);
13026}
13027extern "C" {
13028    pub fn g_variant_dict_end(dict: *mut GVariantDict) -> *mut GVariant;
13029}
13030extern "C" {
13031    pub fn g_variant_dict_ref(dict: *mut GVariantDict) -> *mut GVariantDict;
13032}
13033extern "C" {
13034    pub fn g_variant_dict_unref(dict: *mut GVariantDict);
13035}
13036extern "C" {
13037    pub fn g_printf_string_upper_bound(format: *const gchar, args: va_list) -> gsize;
13038}
13039pub const GLogLevelFlags_G_LOG_FLAG_RECURSION: GLogLevelFlags = 1;
13040pub const GLogLevelFlags_G_LOG_FLAG_FATAL: GLogLevelFlags = 2;
13041pub const GLogLevelFlags_G_LOG_LEVEL_ERROR: GLogLevelFlags = 4;
13042pub const GLogLevelFlags_G_LOG_LEVEL_CRITICAL: GLogLevelFlags = 8;
13043pub const GLogLevelFlags_G_LOG_LEVEL_WARNING: GLogLevelFlags = 16;
13044pub const GLogLevelFlags_G_LOG_LEVEL_MESSAGE: GLogLevelFlags = 32;
13045pub const GLogLevelFlags_G_LOG_LEVEL_INFO: GLogLevelFlags = 64;
13046pub const GLogLevelFlags_G_LOG_LEVEL_DEBUG: GLogLevelFlags = 128;
13047pub const GLogLevelFlags_G_LOG_LEVEL_MASK: GLogLevelFlags = -4;
13048pub type GLogLevelFlags = ::std::os::raw::c_int;
13049pub type GLogFunc = ::std::option::Option<
13050    unsafe extern "C" fn(
13051        log_domain: *const gchar,
13052        log_level: GLogLevelFlags,
13053        message: *const gchar,
13054        user_data: gpointer,
13055    ),
13056>;
13057extern "C" {
13058    pub fn g_log_set_handler(
13059        log_domain: *const gchar,
13060        log_levels: GLogLevelFlags,
13061        log_func: GLogFunc,
13062        user_data: gpointer,
13063    ) -> guint;
13064}
13065extern "C" {
13066    pub fn g_log_set_handler_full(
13067        log_domain: *const gchar,
13068        log_levels: GLogLevelFlags,
13069        log_func: GLogFunc,
13070        user_data: gpointer,
13071        destroy: GDestroyNotify,
13072    ) -> guint;
13073}
13074extern "C" {
13075    pub fn g_log_remove_handler(log_domain: *const gchar, handler_id: guint);
13076}
13077extern "C" {
13078    pub fn g_log_default_handler(
13079        log_domain: *const gchar,
13080        log_level: GLogLevelFlags,
13081        message: *const gchar,
13082        unused_data: gpointer,
13083    );
13084}
13085extern "C" {
13086    pub fn g_log_set_default_handler(log_func: GLogFunc, user_data: gpointer) -> GLogFunc;
13087}
13088extern "C" {
13089    pub fn g_log(log_domain: *const gchar, log_level: GLogLevelFlags, format: *const gchar, ...);
13090}
13091extern "C" {
13092    pub fn g_logv(
13093        log_domain: *const gchar,
13094        log_level: GLogLevelFlags,
13095        format: *const gchar,
13096        args: va_list,
13097    );
13098}
13099extern "C" {
13100    pub fn g_log_set_fatal_mask(
13101        log_domain: *const gchar,
13102        fatal_mask: GLogLevelFlags,
13103    ) -> GLogLevelFlags;
13104}
13105extern "C" {
13106    pub fn g_log_set_always_fatal(fatal_mask: GLogLevelFlags) -> GLogLevelFlags;
13107}
13108pub const GLogWriterOutput_G_LOG_WRITER_HANDLED: GLogWriterOutput = 1;
13109pub const GLogWriterOutput_G_LOG_WRITER_UNHANDLED: GLogWriterOutput = 0;
13110pub type GLogWriterOutput = ::std::os::raw::c_uint;
13111pub type GLogField = _GLogField;
13112#[repr(C)]
13113#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13114pub struct _GLogField {
13115    pub key: *const gchar,
13116    pub value: gconstpointer,
13117    pub length: gssize,
13118}
13119#[test]
13120fn bindgen_test_layout__GLogField() {
13121    const UNINIT: ::std::mem::MaybeUninit<_GLogField> = ::std::mem::MaybeUninit::uninit();
13122    let ptr = UNINIT.as_ptr();
13123    assert_eq!(
13124        ::std::mem::size_of::<_GLogField>(),
13125        24usize,
13126        concat!("Size of: ", stringify!(_GLogField))
13127    );
13128    assert_eq!(
13129        ::std::mem::align_of::<_GLogField>(),
13130        8usize,
13131        concat!("Alignment of ", stringify!(_GLogField))
13132    );
13133    assert_eq!(
13134        unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
13135        0usize,
13136        concat!(
13137            "Offset of field: ",
13138            stringify!(_GLogField),
13139            "::",
13140            stringify!(key)
13141        )
13142    );
13143    assert_eq!(
13144        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
13145        8usize,
13146        concat!(
13147            "Offset of field: ",
13148            stringify!(_GLogField),
13149            "::",
13150            stringify!(value)
13151        )
13152    );
13153    assert_eq!(
13154        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
13155        16usize,
13156        concat!(
13157            "Offset of field: ",
13158            stringify!(_GLogField),
13159            "::",
13160            stringify!(length)
13161        )
13162    );
13163}
13164pub type GLogWriterFunc = ::std::option::Option<
13165    unsafe extern "C" fn(
13166        log_level: GLogLevelFlags,
13167        fields: *const GLogField,
13168        n_fields: gsize,
13169        user_data: gpointer,
13170    ) -> GLogWriterOutput,
13171>;
13172extern "C" {
13173    pub fn g_log_structured(log_domain: *const gchar, log_level: GLogLevelFlags, ...);
13174}
13175extern "C" {
13176    pub fn g_log_structured_array(
13177        log_level: GLogLevelFlags,
13178        fields: *const GLogField,
13179        n_fields: gsize,
13180    );
13181}
13182extern "C" {
13183    pub fn g_log_variant(
13184        log_domain: *const gchar,
13185        log_level: GLogLevelFlags,
13186        fields: *mut GVariant,
13187    );
13188}
13189extern "C" {
13190    pub fn g_log_set_writer_func(
13191        func: GLogWriterFunc,
13192        user_data: gpointer,
13193        user_data_free: GDestroyNotify,
13194    );
13195}
13196extern "C" {
13197    pub fn g_log_writer_supports_color(output_fd: gint) -> gboolean;
13198}
13199extern "C" {
13200    pub fn g_log_writer_is_journald(output_fd: gint) -> gboolean;
13201}
13202extern "C" {
13203    pub fn g_log_writer_format_fields(
13204        log_level: GLogLevelFlags,
13205        fields: *const GLogField,
13206        n_fields: gsize,
13207        use_color: gboolean,
13208    ) -> *mut gchar;
13209}
13210extern "C" {
13211    pub fn g_log_writer_journald(
13212        log_level: GLogLevelFlags,
13213        fields: *const GLogField,
13214        n_fields: gsize,
13215        user_data: gpointer,
13216    ) -> GLogWriterOutput;
13217}
13218extern "C" {
13219    pub fn g_log_writer_standard_streams(
13220        log_level: GLogLevelFlags,
13221        fields: *const GLogField,
13222        n_fields: gsize,
13223        user_data: gpointer,
13224    ) -> GLogWriterOutput;
13225}
13226extern "C" {
13227    pub fn g_log_writer_default(
13228        log_level: GLogLevelFlags,
13229        fields: *const GLogField,
13230        n_fields: gsize,
13231        user_data: gpointer,
13232    ) -> GLogWriterOutput;
13233}
13234extern "C" {
13235    pub fn g_log_writer_default_set_use_stderr(use_stderr: gboolean);
13236}
13237extern "C" {
13238    pub fn g_log_writer_default_would_drop(
13239        log_level: GLogLevelFlags,
13240        log_domain: *const ::std::os::raw::c_char,
13241    ) -> gboolean;
13242}
13243extern "C" {
13244    pub fn g_log_get_debug_enabled() -> gboolean;
13245}
13246extern "C" {
13247    pub fn g_log_set_debug_enabled(enabled: gboolean);
13248}
13249extern "C" {
13250    pub fn _g_log_fallback_handler(
13251        log_domain: *const gchar,
13252        log_level: GLogLevelFlags,
13253        message: *const gchar,
13254        unused_data: gpointer,
13255    );
13256}
13257extern "C" {
13258    pub fn g_return_if_fail_warning(
13259        log_domain: *const ::std::os::raw::c_char,
13260        pretty_function: *const ::std::os::raw::c_char,
13261        expression: *const ::std::os::raw::c_char,
13262    );
13263}
13264extern "C" {
13265    pub fn g_warn_message(
13266        domain: *const ::std::os::raw::c_char,
13267        file: *const ::std::os::raw::c_char,
13268        line: ::std::os::raw::c_int,
13269        func: *const ::std::os::raw::c_char,
13270        warnexpr: *const ::std::os::raw::c_char,
13271    );
13272}
13273extern "C" {
13274    pub fn g_assert_warning(
13275        log_domain: *const ::std::os::raw::c_char,
13276        file: *const ::std::os::raw::c_char,
13277        line: ::std::os::raw::c_int,
13278        pretty_function: *const ::std::os::raw::c_char,
13279        expression: *const ::std::os::raw::c_char,
13280    ) -> !;
13281}
13282extern "C" {
13283    pub fn g_log_structured_standard(
13284        log_domain: *const gchar,
13285        log_level: GLogLevelFlags,
13286        file: *const gchar,
13287        line: *const gchar,
13288        func: *const gchar,
13289        message_format: *const gchar,
13290        ...
13291    );
13292}
13293pub type GPrintFunc = ::std::option::Option<unsafe extern "C" fn(string: *const gchar)>;
13294extern "C" {
13295    pub fn g_print(format: *const gchar, ...);
13296}
13297extern "C" {
13298    pub fn g_set_print_handler(func: GPrintFunc) -> GPrintFunc;
13299}
13300extern "C" {
13301    pub fn g_printerr(format: *const gchar, ...);
13302}
13303extern "C" {
13304    pub fn g_set_printerr_handler(func: GPrintFunc) -> GPrintFunc;
13305}
13306#[repr(C)]
13307#[derive(Debug, Copy, Clone)]
13308pub struct _GOptionContext {
13309    _unused: [u8; 0],
13310}
13311pub type GOptionContext = _GOptionContext;
13312#[repr(C)]
13313#[derive(Debug, Copy, Clone)]
13314pub struct _GOptionGroup {
13315    _unused: [u8; 0],
13316}
13317pub type GOptionGroup = _GOptionGroup;
13318pub type GOptionEntry = _GOptionEntry;
13319pub const GOptionFlags_G_OPTION_FLAG_NONE: GOptionFlags = 0;
13320pub const GOptionFlags_G_OPTION_FLAG_HIDDEN: GOptionFlags = 1;
13321pub const GOptionFlags_G_OPTION_FLAG_IN_MAIN: GOptionFlags = 2;
13322pub const GOptionFlags_G_OPTION_FLAG_REVERSE: GOptionFlags = 4;
13323pub const GOptionFlags_G_OPTION_FLAG_NO_ARG: GOptionFlags = 8;
13324pub const GOptionFlags_G_OPTION_FLAG_FILENAME: GOptionFlags = 16;
13325pub const GOptionFlags_G_OPTION_FLAG_OPTIONAL_ARG: GOptionFlags = 32;
13326pub const GOptionFlags_G_OPTION_FLAG_NOALIAS: GOptionFlags = 64;
13327pub type GOptionFlags = ::std::os::raw::c_uint;
13328pub const GOptionArg_G_OPTION_ARG_NONE: GOptionArg = 0;
13329pub const GOptionArg_G_OPTION_ARG_STRING: GOptionArg = 1;
13330pub const GOptionArg_G_OPTION_ARG_INT: GOptionArg = 2;
13331pub const GOptionArg_G_OPTION_ARG_CALLBACK: GOptionArg = 3;
13332pub const GOptionArg_G_OPTION_ARG_FILENAME: GOptionArg = 4;
13333pub const GOptionArg_G_OPTION_ARG_STRING_ARRAY: GOptionArg = 5;
13334pub const GOptionArg_G_OPTION_ARG_FILENAME_ARRAY: GOptionArg = 6;
13335pub const GOptionArg_G_OPTION_ARG_DOUBLE: GOptionArg = 7;
13336pub const GOptionArg_G_OPTION_ARG_INT64: GOptionArg = 8;
13337pub type GOptionArg = ::std::os::raw::c_uint;
13338pub type GOptionArgFunc = ::std::option::Option<
13339    unsafe extern "C" fn(
13340        option_name: *const gchar,
13341        value: *const gchar,
13342        data: gpointer,
13343        error: *mut *mut GError,
13344    ) -> gboolean,
13345>;
13346pub type GOptionParseFunc = ::std::option::Option<
13347    unsafe extern "C" fn(
13348        context: *mut GOptionContext,
13349        group: *mut GOptionGroup,
13350        data: gpointer,
13351        error: *mut *mut GError,
13352    ) -> gboolean,
13353>;
13354pub type GOptionErrorFunc = ::std::option::Option<
13355    unsafe extern "C" fn(
13356        context: *mut GOptionContext,
13357        group: *mut GOptionGroup,
13358        data: gpointer,
13359        error: *mut *mut GError,
13360    ),
13361>;
13362pub const GOptionError_G_OPTION_ERROR_UNKNOWN_OPTION: GOptionError = 0;
13363pub const GOptionError_G_OPTION_ERROR_BAD_VALUE: GOptionError = 1;
13364pub const GOptionError_G_OPTION_ERROR_FAILED: GOptionError = 2;
13365pub type GOptionError = ::std::os::raw::c_uint;
13366extern "C" {
13367    pub fn g_option_error_quark() -> GQuark;
13368}
13369#[repr(C)]
13370#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13371pub struct _GOptionEntry {
13372    pub long_name: *const gchar,
13373    pub short_name: gchar,
13374    pub flags: gint,
13375    pub arg: GOptionArg,
13376    pub arg_data: gpointer,
13377    pub description: *const gchar,
13378    pub arg_description: *const gchar,
13379}
13380#[test]
13381fn bindgen_test_layout__GOptionEntry() {
13382    const UNINIT: ::std::mem::MaybeUninit<_GOptionEntry> = ::std::mem::MaybeUninit::uninit();
13383    let ptr = UNINIT.as_ptr();
13384    assert_eq!(
13385        ::std::mem::size_of::<_GOptionEntry>(),
13386        48usize,
13387        concat!("Size of: ", stringify!(_GOptionEntry))
13388    );
13389    assert_eq!(
13390        ::std::mem::align_of::<_GOptionEntry>(),
13391        8usize,
13392        concat!("Alignment of ", stringify!(_GOptionEntry))
13393    );
13394    assert_eq!(
13395        unsafe { ::std::ptr::addr_of!((*ptr).long_name) as usize - ptr as usize },
13396        0usize,
13397        concat!(
13398            "Offset of field: ",
13399            stringify!(_GOptionEntry),
13400            "::",
13401            stringify!(long_name)
13402        )
13403    );
13404    assert_eq!(
13405        unsafe { ::std::ptr::addr_of!((*ptr).short_name) as usize - ptr as usize },
13406        8usize,
13407        concat!(
13408            "Offset of field: ",
13409            stringify!(_GOptionEntry),
13410            "::",
13411            stringify!(short_name)
13412        )
13413    );
13414    assert_eq!(
13415        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13416        12usize,
13417        concat!(
13418            "Offset of field: ",
13419            stringify!(_GOptionEntry),
13420            "::",
13421            stringify!(flags)
13422        )
13423    );
13424    assert_eq!(
13425        unsafe { ::std::ptr::addr_of!((*ptr).arg) as usize - ptr as usize },
13426        16usize,
13427        concat!(
13428            "Offset of field: ",
13429            stringify!(_GOptionEntry),
13430            "::",
13431            stringify!(arg)
13432        )
13433    );
13434    assert_eq!(
13435        unsafe { ::std::ptr::addr_of!((*ptr).arg_data) as usize - ptr as usize },
13436        24usize,
13437        concat!(
13438            "Offset of field: ",
13439            stringify!(_GOptionEntry),
13440            "::",
13441            stringify!(arg_data)
13442        )
13443    );
13444    assert_eq!(
13445        unsafe { ::std::ptr::addr_of!((*ptr).description) as usize - ptr as usize },
13446        32usize,
13447        concat!(
13448            "Offset of field: ",
13449            stringify!(_GOptionEntry),
13450            "::",
13451            stringify!(description)
13452        )
13453    );
13454    assert_eq!(
13455        unsafe { ::std::ptr::addr_of!((*ptr).arg_description) as usize - ptr as usize },
13456        40usize,
13457        concat!(
13458            "Offset of field: ",
13459            stringify!(_GOptionEntry),
13460            "::",
13461            stringify!(arg_description)
13462        )
13463    );
13464}
13465extern "C" {
13466    pub fn g_option_context_new(parameter_string: *const gchar) -> *mut GOptionContext;
13467}
13468extern "C" {
13469    pub fn g_option_context_set_summary(context: *mut GOptionContext, summary: *const gchar);
13470}
13471extern "C" {
13472    pub fn g_option_context_get_summary(context: *mut GOptionContext) -> *const gchar;
13473}
13474extern "C" {
13475    pub fn g_option_context_set_description(
13476        context: *mut GOptionContext,
13477        description: *const gchar,
13478    );
13479}
13480extern "C" {
13481    pub fn g_option_context_get_description(context: *mut GOptionContext) -> *const gchar;
13482}
13483extern "C" {
13484    pub fn g_option_context_free(context: *mut GOptionContext);
13485}
13486extern "C" {
13487    pub fn g_option_context_set_help_enabled(context: *mut GOptionContext, help_enabled: gboolean);
13488}
13489extern "C" {
13490    pub fn g_option_context_get_help_enabled(context: *mut GOptionContext) -> gboolean;
13491}
13492extern "C" {
13493    pub fn g_option_context_set_ignore_unknown_options(
13494        context: *mut GOptionContext,
13495        ignore_unknown: gboolean,
13496    );
13497}
13498extern "C" {
13499    pub fn g_option_context_get_ignore_unknown_options(context: *mut GOptionContext) -> gboolean;
13500}
13501extern "C" {
13502    pub fn g_option_context_set_strict_posix(context: *mut GOptionContext, strict_posix: gboolean);
13503}
13504extern "C" {
13505    pub fn g_option_context_get_strict_posix(context: *mut GOptionContext) -> gboolean;
13506}
13507extern "C" {
13508    pub fn g_option_context_add_main_entries(
13509        context: *mut GOptionContext,
13510        entries: *const GOptionEntry,
13511        translation_domain: *const gchar,
13512    );
13513}
13514extern "C" {
13515    pub fn g_option_context_parse(
13516        context: *mut GOptionContext,
13517        argc: *mut gint,
13518        argv: *mut *mut *mut gchar,
13519        error: *mut *mut GError,
13520    ) -> gboolean;
13521}
13522extern "C" {
13523    pub fn g_option_context_parse_strv(
13524        context: *mut GOptionContext,
13525        arguments: *mut *mut *mut gchar,
13526        error: *mut *mut GError,
13527    ) -> gboolean;
13528}
13529extern "C" {
13530    pub fn g_option_context_set_translate_func(
13531        context: *mut GOptionContext,
13532        func: GTranslateFunc,
13533        data: gpointer,
13534        destroy_notify: GDestroyNotify,
13535    );
13536}
13537extern "C" {
13538    pub fn g_option_context_set_translation_domain(
13539        context: *mut GOptionContext,
13540        domain: *const gchar,
13541    );
13542}
13543extern "C" {
13544    pub fn g_option_context_add_group(context: *mut GOptionContext, group: *mut GOptionGroup);
13545}
13546extern "C" {
13547    pub fn g_option_context_set_main_group(context: *mut GOptionContext, group: *mut GOptionGroup);
13548}
13549extern "C" {
13550    pub fn g_option_context_get_main_group(context: *mut GOptionContext) -> *mut GOptionGroup;
13551}
13552extern "C" {
13553    pub fn g_option_context_get_help(
13554        context: *mut GOptionContext,
13555        main_help: gboolean,
13556        group: *mut GOptionGroup,
13557    ) -> *mut gchar;
13558}
13559extern "C" {
13560    pub fn g_option_group_new(
13561        name: *const gchar,
13562        description: *const gchar,
13563        help_description: *const gchar,
13564        user_data: gpointer,
13565        destroy: GDestroyNotify,
13566    ) -> *mut GOptionGroup;
13567}
13568extern "C" {
13569    pub fn g_option_group_set_parse_hooks(
13570        group: *mut GOptionGroup,
13571        pre_parse_func: GOptionParseFunc,
13572        post_parse_func: GOptionParseFunc,
13573    );
13574}
13575extern "C" {
13576    pub fn g_option_group_set_error_hook(group: *mut GOptionGroup, error_func: GOptionErrorFunc);
13577}
13578extern "C" {
13579    pub fn g_option_group_free(group: *mut GOptionGroup);
13580}
13581extern "C" {
13582    pub fn g_option_group_ref(group: *mut GOptionGroup) -> *mut GOptionGroup;
13583}
13584extern "C" {
13585    pub fn g_option_group_unref(group: *mut GOptionGroup);
13586}
13587extern "C" {
13588    pub fn g_option_group_add_entries(group: *mut GOptionGroup, entries: *const GOptionEntry);
13589}
13590extern "C" {
13591    pub fn g_option_group_set_translate_func(
13592        group: *mut GOptionGroup,
13593        func: GTranslateFunc,
13594        data: gpointer,
13595        destroy_notify: GDestroyNotify,
13596    );
13597}
13598extern "C" {
13599    pub fn g_option_group_set_translation_domain(group: *mut GOptionGroup, domain: *const gchar);
13600}
13601pub type GPathBuf = _GPathBuf;
13602#[repr(C)]
13603#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13604pub struct _GPathBuf {
13605    pub dummy: [gpointer; 8usize],
13606}
13607#[test]
13608fn bindgen_test_layout__GPathBuf() {
13609    const UNINIT: ::std::mem::MaybeUninit<_GPathBuf> = ::std::mem::MaybeUninit::uninit();
13610    let ptr = UNINIT.as_ptr();
13611    assert_eq!(
13612        ::std::mem::size_of::<_GPathBuf>(),
13613        64usize,
13614        concat!("Size of: ", stringify!(_GPathBuf))
13615    );
13616    assert_eq!(
13617        ::std::mem::align_of::<_GPathBuf>(),
13618        8usize,
13619        concat!("Alignment of ", stringify!(_GPathBuf))
13620    );
13621    assert_eq!(
13622        unsafe { ::std::ptr::addr_of!((*ptr).dummy) as usize - ptr as usize },
13623        0usize,
13624        concat!(
13625            "Offset of field: ",
13626            stringify!(_GPathBuf),
13627            "::",
13628            stringify!(dummy)
13629        )
13630    );
13631}
13632extern "C" {
13633    pub fn g_path_buf_new() -> *mut GPathBuf;
13634}
13635extern "C" {
13636    pub fn g_path_buf_new_from_path(path: *const ::std::os::raw::c_char) -> *mut GPathBuf;
13637}
13638extern "C" {
13639    pub fn g_path_buf_init(buf: *mut GPathBuf) -> *mut GPathBuf;
13640}
13641extern "C" {
13642    pub fn g_path_buf_init_from_path(
13643        buf: *mut GPathBuf,
13644        path: *const ::std::os::raw::c_char,
13645    ) -> *mut GPathBuf;
13646}
13647extern "C" {
13648    pub fn g_path_buf_clear(buf: *mut GPathBuf);
13649}
13650extern "C" {
13651    pub fn g_path_buf_clear_to_path(buf: *mut GPathBuf) -> *mut ::std::os::raw::c_char;
13652}
13653extern "C" {
13654    pub fn g_path_buf_free(buf: *mut GPathBuf);
13655}
13656extern "C" {
13657    pub fn g_path_buf_free_to_path(buf: *mut GPathBuf) -> *mut ::std::os::raw::c_char;
13658}
13659extern "C" {
13660    pub fn g_path_buf_copy(buf: *mut GPathBuf) -> *mut GPathBuf;
13661}
13662extern "C" {
13663    pub fn g_path_buf_push(
13664        buf: *mut GPathBuf,
13665        path: *const ::std::os::raw::c_char,
13666    ) -> *mut GPathBuf;
13667}
13668extern "C" {
13669    pub fn g_path_buf_pop(buf: *mut GPathBuf) -> gboolean;
13670}
13671extern "C" {
13672    pub fn g_path_buf_set_filename(
13673        buf: *mut GPathBuf,
13674        file_name: *const ::std::os::raw::c_char,
13675    ) -> gboolean;
13676}
13677extern "C" {
13678    pub fn g_path_buf_set_extension(
13679        buf: *mut GPathBuf,
13680        extension: *const ::std::os::raw::c_char,
13681    ) -> gboolean;
13682}
13683extern "C" {
13684    pub fn g_path_buf_to_path(buf: *mut GPathBuf) -> *mut ::std::os::raw::c_char;
13685}
13686extern "C" {
13687    pub fn g_path_buf_equal(v1: gconstpointer, v2: gconstpointer) -> gboolean;
13688}
13689#[repr(C)]
13690#[derive(Debug, Copy, Clone)]
13691pub struct _GPatternSpec {
13692    _unused: [u8; 0],
13693}
13694pub type GPatternSpec = _GPatternSpec;
13695extern "C" {
13696    pub fn g_pattern_spec_new(pattern: *const gchar) -> *mut GPatternSpec;
13697}
13698extern "C" {
13699    pub fn g_pattern_spec_free(pspec: *mut GPatternSpec);
13700}
13701extern "C" {
13702    pub fn g_pattern_spec_copy(pspec: *mut GPatternSpec) -> *mut GPatternSpec;
13703}
13704extern "C" {
13705    pub fn g_pattern_spec_equal(pspec1: *mut GPatternSpec, pspec2: *mut GPatternSpec) -> gboolean;
13706}
13707extern "C" {
13708    pub fn g_pattern_spec_match(
13709        pspec: *mut GPatternSpec,
13710        string_length: gsize,
13711        string: *const gchar,
13712        string_reversed: *const gchar,
13713    ) -> gboolean;
13714}
13715extern "C" {
13716    pub fn g_pattern_spec_match_string(pspec: *mut GPatternSpec, string: *const gchar) -> gboolean;
13717}
13718extern "C" {
13719    pub fn g_pattern_match(
13720        pspec: *mut GPatternSpec,
13721        string_length: guint,
13722        string: *const gchar,
13723        string_reversed: *const gchar,
13724    ) -> gboolean;
13725}
13726extern "C" {
13727    pub fn g_pattern_match_string(pspec: *mut GPatternSpec, string: *const gchar) -> gboolean;
13728}
13729extern "C" {
13730    pub fn g_pattern_match_simple(pattern: *const gchar, string: *const gchar) -> gboolean;
13731}
13732extern "C" {
13733    pub fn g_spaced_primes_closest(num: guint) -> guint;
13734}
13735extern "C" {
13736    pub fn g_qsort_with_data(
13737        pbase: gconstpointer,
13738        total_elems: gint,
13739        size: gsize,
13740        compare_func: GCompareDataFunc,
13741        user_data: gpointer,
13742    );
13743}
13744pub type GQueue = _GQueue;
13745#[repr(C)]
13746#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13747pub struct _GQueue {
13748    pub head: *mut GList,
13749    pub tail: *mut GList,
13750    pub length: guint,
13751}
13752#[test]
13753fn bindgen_test_layout__GQueue() {
13754    const UNINIT: ::std::mem::MaybeUninit<_GQueue> = ::std::mem::MaybeUninit::uninit();
13755    let ptr = UNINIT.as_ptr();
13756    assert_eq!(
13757        ::std::mem::size_of::<_GQueue>(),
13758        24usize,
13759        concat!("Size of: ", stringify!(_GQueue))
13760    );
13761    assert_eq!(
13762        ::std::mem::align_of::<_GQueue>(),
13763        8usize,
13764        concat!("Alignment of ", stringify!(_GQueue))
13765    );
13766    assert_eq!(
13767        unsafe { ::std::ptr::addr_of!((*ptr).head) as usize - ptr as usize },
13768        0usize,
13769        concat!(
13770            "Offset of field: ",
13771            stringify!(_GQueue),
13772            "::",
13773            stringify!(head)
13774        )
13775    );
13776    assert_eq!(
13777        unsafe { ::std::ptr::addr_of!((*ptr).tail) as usize - ptr as usize },
13778        8usize,
13779        concat!(
13780            "Offset of field: ",
13781            stringify!(_GQueue),
13782            "::",
13783            stringify!(tail)
13784        )
13785    );
13786    assert_eq!(
13787        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
13788        16usize,
13789        concat!(
13790            "Offset of field: ",
13791            stringify!(_GQueue),
13792            "::",
13793            stringify!(length)
13794        )
13795    );
13796}
13797extern "C" {
13798    pub fn g_queue_new() -> *mut GQueue;
13799}
13800extern "C" {
13801    pub fn g_queue_free(queue: *mut GQueue);
13802}
13803extern "C" {
13804    pub fn g_queue_free_full(queue: *mut GQueue, free_func: GDestroyNotify);
13805}
13806extern "C" {
13807    pub fn g_queue_init(queue: *mut GQueue);
13808}
13809extern "C" {
13810    pub fn g_queue_clear(queue: *mut GQueue);
13811}
13812extern "C" {
13813    pub fn g_queue_is_empty(queue: *mut GQueue) -> gboolean;
13814}
13815extern "C" {
13816    pub fn g_queue_clear_full(queue: *mut GQueue, free_func: GDestroyNotify);
13817}
13818extern "C" {
13819    pub fn g_queue_get_length(queue: *mut GQueue) -> guint;
13820}
13821extern "C" {
13822    pub fn g_queue_reverse(queue: *mut GQueue);
13823}
13824extern "C" {
13825    pub fn g_queue_copy(queue: *mut GQueue) -> *mut GQueue;
13826}
13827extern "C" {
13828    pub fn g_queue_foreach(queue: *mut GQueue, func: GFunc, user_data: gpointer);
13829}
13830extern "C" {
13831    pub fn g_queue_find(queue: *mut GQueue, data: gconstpointer) -> *mut GList;
13832}
13833extern "C" {
13834    pub fn g_queue_find_custom(
13835        queue: *mut GQueue,
13836        data: gconstpointer,
13837        func: GCompareFunc,
13838    ) -> *mut GList;
13839}
13840extern "C" {
13841    pub fn g_queue_sort(queue: *mut GQueue, compare_func: GCompareDataFunc, user_data: gpointer);
13842}
13843extern "C" {
13844    pub fn g_queue_push_head(queue: *mut GQueue, data: gpointer);
13845}
13846extern "C" {
13847    pub fn g_queue_push_tail(queue: *mut GQueue, data: gpointer);
13848}
13849extern "C" {
13850    pub fn g_queue_push_nth(queue: *mut GQueue, data: gpointer, n: gint);
13851}
13852extern "C" {
13853    pub fn g_queue_pop_head(queue: *mut GQueue) -> gpointer;
13854}
13855extern "C" {
13856    pub fn g_queue_pop_tail(queue: *mut GQueue) -> gpointer;
13857}
13858extern "C" {
13859    pub fn g_queue_pop_nth(queue: *mut GQueue, n: guint) -> gpointer;
13860}
13861extern "C" {
13862    pub fn g_queue_peek_head(queue: *mut GQueue) -> gpointer;
13863}
13864extern "C" {
13865    pub fn g_queue_peek_tail(queue: *mut GQueue) -> gpointer;
13866}
13867extern "C" {
13868    pub fn g_queue_peek_nth(queue: *mut GQueue, n: guint) -> gpointer;
13869}
13870extern "C" {
13871    pub fn g_queue_index(queue: *mut GQueue, data: gconstpointer) -> gint;
13872}
13873extern "C" {
13874    pub fn g_queue_remove(queue: *mut GQueue, data: gconstpointer) -> gboolean;
13875}
13876extern "C" {
13877    pub fn g_queue_remove_all(queue: *mut GQueue, data: gconstpointer) -> guint;
13878}
13879extern "C" {
13880    pub fn g_queue_insert_before(queue: *mut GQueue, sibling: *mut GList, data: gpointer);
13881}
13882extern "C" {
13883    pub fn g_queue_insert_before_link(queue: *mut GQueue, sibling: *mut GList, link_: *mut GList);
13884}
13885extern "C" {
13886    pub fn g_queue_insert_after(queue: *mut GQueue, sibling: *mut GList, data: gpointer);
13887}
13888extern "C" {
13889    pub fn g_queue_insert_after_link(queue: *mut GQueue, sibling: *mut GList, link_: *mut GList);
13890}
13891extern "C" {
13892    pub fn g_queue_insert_sorted(
13893        queue: *mut GQueue,
13894        data: gpointer,
13895        func: GCompareDataFunc,
13896        user_data: gpointer,
13897    );
13898}
13899extern "C" {
13900    pub fn g_queue_push_head_link(queue: *mut GQueue, link_: *mut GList);
13901}
13902extern "C" {
13903    pub fn g_queue_push_tail_link(queue: *mut GQueue, link_: *mut GList);
13904}
13905extern "C" {
13906    pub fn g_queue_push_nth_link(queue: *mut GQueue, n: gint, link_: *mut GList);
13907}
13908extern "C" {
13909    pub fn g_queue_pop_head_link(queue: *mut GQueue) -> *mut GList;
13910}
13911extern "C" {
13912    pub fn g_queue_pop_tail_link(queue: *mut GQueue) -> *mut GList;
13913}
13914extern "C" {
13915    pub fn g_queue_pop_nth_link(queue: *mut GQueue, n: guint) -> *mut GList;
13916}
13917extern "C" {
13918    pub fn g_queue_peek_head_link(queue: *mut GQueue) -> *mut GList;
13919}
13920extern "C" {
13921    pub fn g_queue_peek_tail_link(queue: *mut GQueue) -> *mut GList;
13922}
13923extern "C" {
13924    pub fn g_queue_peek_nth_link(queue: *mut GQueue, n: guint) -> *mut GList;
13925}
13926extern "C" {
13927    pub fn g_queue_link_index(queue: *mut GQueue, link_: *mut GList) -> gint;
13928}
13929extern "C" {
13930    pub fn g_queue_unlink(queue: *mut GQueue, link_: *mut GList);
13931}
13932extern "C" {
13933    pub fn g_queue_delete_link(queue: *mut GQueue, link_: *mut GList);
13934}
13935#[repr(C)]
13936#[derive(Debug, Copy, Clone)]
13937pub struct _GRand {
13938    _unused: [u8; 0],
13939}
13940pub type GRand = _GRand;
13941extern "C" {
13942    pub fn g_rand_new_with_seed(seed: guint32) -> *mut GRand;
13943}
13944extern "C" {
13945    pub fn g_rand_new_with_seed_array(seed: *const guint32, seed_length: guint) -> *mut GRand;
13946}
13947extern "C" {
13948    pub fn g_rand_new() -> *mut GRand;
13949}
13950extern "C" {
13951    pub fn g_rand_free(rand_: *mut GRand);
13952}
13953extern "C" {
13954    pub fn g_rand_copy(rand_: *mut GRand) -> *mut GRand;
13955}
13956extern "C" {
13957    pub fn g_rand_set_seed(rand_: *mut GRand, seed: guint32);
13958}
13959extern "C" {
13960    pub fn g_rand_set_seed_array(rand_: *mut GRand, seed: *const guint32, seed_length: guint);
13961}
13962extern "C" {
13963    pub fn g_rand_int(rand_: *mut GRand) -> guint32;
13964}
13965extern "C" {
13966    pub fn g_rand_int_range(rand_: *mut GRand, begin: gint32, end: gint32) -> gint32;
13967}
13968extern "C" {
13969    pub fn g_rand_double(rand_: *mut GRand) -> gdouble;
13970}
13971extern "C" {
13972    pub fn g_rand_double_range(rand_: *mut GRand, begin: gdouble, end: gdouble) -> gdouble;
13973}
13974extern "C" {
13975    pub fn g_random_set_seed(seed: guint32);
13976}
13977extern "C" {
13978    pub fn g_random_int() -> guint32;
13979}
13980extern "C" {
13981    pub fn g_random_int_range(begin: gint32, end: gint32) -> gint32;
13982}
13983extern "C" {
13984    pub fn g_random_double() -> gdouble;
13985}
13986extern "C" {
13987    pub fn g_random_double_range(begin: gdouble, end: gdouble) -> gdouble;
13988}
13989extern "C" {
13990    pub fn g_rc_box_alloc(block_size: gsize) -> gpointer;
13991}
13992extern "C" {
13993    pub fn g_rc_box_alloc0(block_size: gsize) -> gpointer;
13994}
13995extern "C" {
13996    pub fn g_rc_box_dup(block_size: gsize, mem_block: gconstpointer) -> gpointer;
13997}
13998extern "C" {
13999    pub fn g_rc_box_acquire(mem_block: gpointer) -> gpointer;
14000}
14001extern "C" {
14002    pub fn g_rc_box_release(mem_block: gpointer);
14003}
14004extern "C" {
14005    pub fn g_rc_box_release_full(mem_block: gpointer, clear_func: GDestroyNotify);
14006}
14007extern "C" {
14008    pub fn g_rc_box_get_size(mem_block: gpointer) -> gsize;
14009}
14010extern "C" {
14011    pub fn g_atomic_rc_box_alloc(block_size: gsize) -> gpointer;
14012}
14013extern "C" {
14014    pub fn g_atomic_rc_box_alloc0(block_size: gsize) -> gpointer;
14015}
14016extern "C" {
14017    pub fn g_atomic_rc_box_dup(block_size: gsize, mem_block: gconstpointer) -> gpointer;
14018}
14019extern "C" {
14020    pub fn g_atomic_rc_box_acquire(mem_block: gpointer) -> gpointer;
14021}
14022extern "C" {
14023    pub fn g_atomic_rc_box_release(mem_block: gpointer);
14024}
14025extern "C" {
14026    pub fn g_atomic_rc_box_release_full(mem_block: gpointer, clear_func: GDestroyNotify);
14027}
14028extern "C" {
14029    pub fn g_atomic_rc_box_get_size(mem_block: gpointer) -> gsize;
14030}
14031extern "C" {
14032    pub fn g_ref_count_init(rc: *mut grefcount);
14033}
14034extern "C" {
14035    pub fn g_ref_count_inc(rc: *mut grefcount);
14036}
14037extern "C" {
14038    pub fn g_ref_count_dec(rc: *mut grefcount) -> gboolean;
14039}
14040extern "C" {
14041    pub fn g_ref_count_compare(rc: *mut grefcount, val: gint) -> gboolean;
14042}
14043extern "C" {
14044    pub fn g_atomic_ref_count_init(arc: *mut gatomicrefcount);
14045}
14046extern "C" {
14047    pub fn g_atomic_ref_count_inc(arc: *mut gatomicrefcount);
14048}
14049extern "C" {
14050    pub fn g_atomic_ref_count_dec(arc: *mut gatomicrefcount) -> gboolean;
14051}
14052extern "C" {
14053    pub fn g_atomic_ref_count_compare(arc: *mut gatomicrefcount, val: gint) -> gboolean;
14054}
14055extern "C" {
14056    pub fn g_ref_string_new(str_: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
14057}
14058extern "C" {
14059    pub fn g_ref_string_new_len(
14060        str_: *const ::std::os::raw::c_char,
14061        len: gssize,
14062    ) -> *mut ::std::os::raw::c_char;
14063}
14064extern "C" {
14065    pub fn g_ref_string_new_intern(
14066        str_: *const ::std::os::raw::c_char,
14067    ) -> *mut ::std::os::raw::c_char;
14068}
14069extern "C" {
14070    pub fn g_ref_string_acquire(str_: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
14071}
14072extern "C" {
14073    pub fn g_ref_string_release(str_: *mut ::std::os::raw::c_char);
14074}
14075extern "C" {
14076    pub fn g_ref_string_length(str_: *mut ::std::os::raw::c_char) -> gsize;
14077}
14078pub type GRefString = ::std::os::raw::c_char;
14079pub const GRegexError_G_REGEX_ERROR_COMPILE: GRegexError = 0;
14080pub const GRegexError_G_REGEX_ERROR_OPTIMIZE: GRegexError = 1;
14081pub const GRegexError_G_REGEX_ERROR_REPLACE: GRegexError = 2;
14082pub const GRegexError_G_REGEX_ERROR_MATCH: GRegexError = 3;
14083pub const GRegexError_G_REGEX_ERROR_INTERNAL: GRegexError = 4;
14084pub const GRegexError_G_REGEX_ERROR_STRAY_BACKSLASH: GRegexError = 101;
14085pub const GRegexError_G_REGEX_ERROR_MISSING_CONTROL_CHAR: GRegexError = 102;
14086pub const GRegexError_G_REGEX_ERROR_UNRECOGNIZED_ESCAPE: GRegexError = 103;
14087pub const GRegexError_G_REGEX_ERROR_QUANTIFIERS_OUT_OF_ORDER: GRegexError = 104;
14088pub const GRegexError_G_REGEX_ERROR_QUANTIFIER_TOO_BIG: GRegexError = 105;
14089pub const GRegexError_G_REGEX_ERROR_UNTERMINATED_CHARACTER_CLASS: GRegexError = 106;
14090pub const GRegexError_G_REGEX_ERROR_INVALID_ESCAPE_IN_CHARACTER_CLASS: GRegexError = 107;
14091pub const GRegexError_G_REGEX_ERROR_RANGE_OUT_OF_ORDER: GRegexError = 108;
14092pub const GRegexError_G_REGEX_ERROR_NOTHING_TO_REPEAT: GRegexError = 109;
14093pub const GRegexError_G_REGEX_ERROR_UNRECOGNIZED_CHARACTER: GRegexError = 112;
14094pub const GRegexError_G_REGEX_ERROR_POSIX_NAMED_CLASS_OUTSIDE_CLASS: GRegexError = 113;
14095pub const GRegexError_G_REGEX_ERROR_UNMATCHED_PARENTHESIS: GRegexError = 114;
14096pub const GRegexError_G_REGEX_ERROR_INEXISTENT_SUBPATTERN_REFERENCE: GRegexError = 115;
14097pub const GRegexError_G_REGEX_ERROR_UNTERMINATED_COMMENT: GRegexError = 118;
14098pub const GRegexError_G_REGEX_ERROR_EXPRESSION_TOO_LARGE: GRegexError = 120;
14099pub const GRegexError_G_REGEX_ERROR_MEMORY_ERROR: GRegexError = 121;
14100pub const GRegexError_G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND: GRegexError = 125;
14101pub const GRegexError_G_REGEX_ERROR_MALFORMED_CONDITION: GRegexError = 126;
14102pub const GRegexError_G_REGEX_ERROR_TOO_MANY_CONDITIONAL_BRANCHES: GRegexError = 127;
14103pub const GRegexError_G_REGEX_ERROR_ASSERTION_EXPECTED: GRegexError = 128;
14104pub const GRegexError_G_REGEX_ERROR_UNKNOWN_POSIX_CLASS_NAME: GRegexError = 130;
14105pub const GRegexError_G_REGEX_ERROR_POSIX_COLLATING_ELEMENTS_NOT_SUPPORTED: GRegexError = 131;
14106pub const GRegexError_G_REGEX_ERROR_HEX_CODE_TOO_LARGE: GRegexError = 134;
14107pub const GRegexError_G_REGEX_ERROR_INVALID_CONDITION: GRegexError = 135;
14108pub const GRegexError_G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND: GRegexError = 136;
14109pub const GRegexError_G_REGEX_ERROR_INFINITE_LOOP: GRegexError = 140;
14110pub const GRegexError_G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR: GRegexError = 142;
14111pub const GRegexError_G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME: GRegexError = 143;
14112pub const GRegexError_G_REGEX_ERROR_MALFORMED_PROPERTY: GRegexError = 146;
14113pub const GRegexError_G_REGEX_ERROR_UNKNOWN_PROPERTY: GRegexError = 147;
14114pub const GRegexError_G_REGEX_ERROR_SUBPATTERN_NAME_TOO_LONG: GRegexError = 148;
14115pub const GRegexError_G_REGEX_ERROR_TOO_MANY_SUBPATTERNS: GRegexError = 149;
14116pub const GRegexError_G_REGEX_ERROR_INVALID_OCTAL_VALUE: GRegexError = 151;
14117pub const GRegexError_G_REGEX_ERROR_TOO_MANY_BRANCHES_IN_DEFINE: GRegexError = 154;
14118pub const GRegexError_G_REGEX_ERROR_DEFINE_REPETION: GRegexError = 155;
14119pub const GRegexError_G_REGEX_ERROR_INCONSISTENT_NEWLINE_OPTIONS: GRegexError = 156;
14120pub const GRegexError_G_REGEX_ERROR_MISSING_BACK_REFERENCE: GRegexError = 157;
14121pub const GRegexError_G_REGEX_ERROR_INVALID_RELATIVE_REFERENCE: GRegexError = 158;
14122pub const GRegexError_G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_FORBIDDEN: GRegexError = 159;
14123pub const GRegexError_G_REGEX_ERROR_UNKNOWN_BACKTRACKING_CONTROL_VERB: GRegexError = 160;
14124pub const GRegexError_G_REGEX_ERROR_NUMBER_TOO_BIG: GRegexError = 161;
14125pub const GRegexError_G_REGEX_ERROR_MISSING_SUBPATTERN_NAME: GRegexError = 162;
14126pub const GRegexError_G_REGEX_ERROR_MISSING_DIGIT: GRegexError = 163;
14127pub const GRegexError_G_REGEX_ERROR_INVALID_DATA_CHARACTER: GRegexError = 164;
14128pub const GRegexError_G_REGEX_ERROR_EXTRA_SUBPATTERN_NAME: GRegexError = 165;
14129pub const GRegexError_G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_REQUIRED: GRegexError = 166;
14130pub const GRegexError_G_REGEX_ERROR_INVALID_CONTROL_CHAR: GRegexError = 168;
14131pub const GRegexError_G_REGEX_ERROR_MISSING_NAME: GRegexError = 169;
14132pub const GRegexError_G_REGEX_ERROR_NOT_SUPPORTED_IN_CLASS: GRegexError = 171;
14133pub const GRegexError_G_REGEX_ERROR_TOO_MANY_FORWARD_REFERENCES: GRegexError = 172;
14134pub const GRegexError_G_REGEX_ERROR_NAME_TOO_LONG: GRegexError = 175;
14135pub const GRegexError_G_REGEX_ERROR_CHARACTER_VALUE_TOO_LARGE: GRegexError = 176;
14136pub type GRegexError = ::std::os::raw::c_uint;
14137extern "C" {
14138    pub fn g_regex_error_quark() -> GQuark;
14139}
14140pub const GRegexCompileFlags_G_REGEX_DEFAULT: GRegexCompileFlags = 0;
14141pub const GRegexCompileFlags_G_REGEX_CASELESS: GRegexCompileFlags = 1;
14142pub const GRegexCompileFlags_G_REGEX_MULTILINE: GRegexCompileFlags = 2;
14143pub const GRegexCompileFlags_G_REGEX_DOTALL: GRegexCompileFlags = 4;
14144pub const GRegexCompileFlags_G_REGEX_EXTENDED: GRegexCompileFlags = 8;
14145pub const GRegexCompileFlags_G_REGEX_ANCHORED: GRegexCompileFlags = 16;
14146pub const GRegexCompileFlags_G_REGEX_DOLLAR_ENDONLY: GRegexCompileFlags = 32;
14147pub const GRegexCompileFlags_G_REGEX_UNGREEDY: GRegexCompileFlags = 512;
14148pub const GRegexCompileFlags_G_REGEX_RAW: GRegexCompileFlags = 2048;
14149pub const GRegexCompileFlags_G_REGEX_NO_AUTO_CAPTURE: GRegexCompileFlags = 4096;
14150pub const GRegexCompileFlags_G_REGEX_OPTIMIZE: GRegexCompileFlags = 8192;
14151pub const GRegexCompileFlags_G_REGEX_FIRSTLINE: GRegexCompileFlags = 262144;
14152pub const GRegexCompileFlags_G_REGEX_DUPNAMES: GRegexCompileFlags = 524288;
14153pub const GRegexCompileFlags_G_REGEX_NEWLINE_CR: GRegexCompileFlags = 1048576;
14154pub const GRegexCompileFlags_G_REGEX_NEWLINE_LF: GRegexCompileFlags = 2097152;
14155pub const GRegexCompileFlags_G_REGEX_NEWLINE_CRLF: GRegexCompileFlags = 3145728;
14156pub const GRegexCompileFlags_G_REGEX_NEWLINE_ANYCRLF: GRegexCompileFlags = 5242880;
14157pub const GRegexCompileFlags_G_REGEX_BSR_ANYCRLF: GRegexCompileFlags = 8388608;
14158pub const GRegexCompileFlags_G_REGEX_JAVASCRIPT_COMPAT: GRegexCompileFlags = 33554432;
14159pub type GRegexCompileFlags = ::std::os::raw::c_uint;
14160pub const GRegexMatchFlags_G_REGEX_MATCH_DEFAULT: GRegexMatchFlags = 0;
14161pub const GRegexMatchFlags_G_REGEX_MATCH_ANCHORED: GRegexMatchFlags = 16;
14162pub const GRegexMatchFlags_G_REGEX_MATCH_NOTBOL: GRegexMatchFlags = 128;
14163pub const GRegexMatchFlags_G_REGEX_MATCH_NOTEOL: GRegexMatchFlags = 256;
14164pub const GRegexMatchFlags_G_REGEX_MATCH_NOTEMPTY: GRegexMatchFlags = 1024;
14165pub const GRegexMatchFlags_G_REGEX_MATCH_PARTIAL: GRegexMatchFlags = 32768;
14166pub const GRegexMatchFlags_G_REGEX_MATCH_NEWLINE_CR: GRegexMatchFlags = 1048576;
14167pub const GRegexMatchFlags_G_REGEX_MATCH_NEWLINE_LF: GRegexMatchFlags = 2097152;
14168pub const GRegexMatchFlags_G_REGEX_MATCH_NEWLINE_CRLF: GRegexMatchFlags = 3145728;
14169pub const GRegexMatchFlags_G_REGEX_MATCH_NEWLINE_ANY: GRegexMatchFlags = 4194304;
14170pub const GRegexMatchFlags_G_REGEX_MATCH_NEWLINE_ANYCRLF: GRegexMatchFlags = 5242880;
14171pub const GRegexMatchFlags_G_REGEX_MATCH_BSR_ANYCRLF: GRegexMatchFlags = 8388608;
14172pub const GRegexMatchFlags_G_REGEX_MATCH_BSR_ANY: GRegexMatchFlags = 16777216;
14173pub const GRegexMatchFlags_G_REGEX_MATCH_PARTIAL_SOFT: GRegexMatchFlags = 32768;
14174pub const GRegexMatchFlags_G_REGEX_MATCH_PARTIAL_HARD: GRegexMatchFlags = 134217728;
14175pub const GRegexMatchFlags_G_REGEX_MATCH_NOTEMPTY_ATSTART: GRegexMatchFlags = 268435456;
14176pub type GRegexMatchFlags = ::std::os::raw::c_uint;
14177#[repr(C)]
14178#[derive(Debug, Copy, Clone)]
14179pub struct _GRegex {
14180    _unused: [u8; 0],
14181}
14182pub type GRegex = _GRegex;
14183#[repr(C)]
14184#[derive(Debug, Copy, Clone)]
14185pub struct _GMatchInfo {
14186    _unused: [u8; 0],
14187}
14188pub type GMatchInfo = _GMatchInfo;
14189pub type GRegexEvalCallback = ::std::option::Option<
14190    unsafe extern "C" fn(
14191        match_info: *const GMatchInfo,
14192        result: *mut GString,
14193        user_data: gpointer,
14194    ) -> gboolean,
14195>;
14196extern "C" {
14197    pub fn g_regex_new(
14198        pattern: *const gchar,
14199        compile_options: GRegexCompileFlags,
14200        match_options: GRegexMatchFlags,
14201        error: *mut *mut GError,
14202    ) -> *mut GRegex;
14203}
14204extern "C" {
14205    pub fn g_regex_ref(regex: *mut GRegex) -> *mut GRegex;
14206}
14207extern "C" {
14208    pub fn g_regex_unref(regex: *mut GRegex);
14209}
14210extern "C" {
14211    pub fn g_regex_get_pattern(regex: *const GRegex) -> *const gchar;
14212}
14213extern "C" {
14214    pub fn g_regex_get_max_backref(regex: *const GRegex) -> gint;
14215}
14216extern "C" {
14217    pub fn g_regex_get_capture_count(regex: *const GRegex) -> gint;
14218}
14219extern "C" {
14220    pub fn g_regex_get_has_cr_or_lf(regex: *const GRegex) -> gboolean;
14221}
14222extern "C" {
14223    pub fn g_regex_get_max_lookbehind(regex: *const GRegex) -> gint;
14224}
14225extern "C" {
14226    pub fn g_regex_get_string_number(regex: *const GRegex, name: *const gchar) -> gint;
14227}
14228extern "C" {
14229    pub fn g_regex_escape_string(string: *const gchar, length: gint) -> *mut gchar;
14230}
14231extern "C" {
14232    pub fn g_regex_escape_nul(string: *const gchar, length: gint) -> *mut gchar;
14233}
14234extern "C" {
14235    pub fn g_regex_get_compile_flags(regex: *const GRegex) -> GRegexCompileFlags;
14236}
14237extern "C" {
14238    pub fn g_regex_get_match_flags(regex: *const GRegex) -> GRegexMatchFlags;
14239}
14240extern "C" {
14241    pub fn g_regex_match_simple(
14242        pattern: *const gchar,
14243        string: *const gchar,
14244        compile_options: GRegexCompileFlags,
14245        match_options: GRegexMatchFlags,
14246    ) -> gboolean;
14247}
14248extern "C" {
14249    pub fn g_regex_match(
14250        regex: *const GRegex,
14251        string: *const gchar,
14252        match_options: GRegexMatchFlags,
14253        match_info: *mut *mut GMatchInfo,
14254    ) -> gboolean;
14255}
14256extern "C" {
14257    pub fn g_regex_match_full(
14258        regex: *const GRegex,
14259        string: *const gchar,
14260        string_len: gssize,
14261        start_position: gint,
14262        match_options: GRegexMatchFlags,
14263        match_info: *mut *mut GMatchInfo,
14264        error: *mut *mut GError,
14265    ) -> gboolean;
14266}
14267extern "C" {
14268    pub fn g_regex_match_all(
14269        regex: *const GRegex,
14270        string: *const gchar,
14271        match_options: GRegexMatchFlags,
14272        match_info: *mut *mut GMatchInfo,
14273    ) -> gboolean;
14274}
14275extern "C" {
14276    pub fn g_regex_match_all_full(
14277        regex: *const GRegex,
14278        string: *const gchar,
14279        string_len: gssize,
14280        start_position: gint,
14281        match_options: GRegexMatchFlags,
14282        match_info: *mut *mut GMatchInfo,
14283        error: *mut *mut GError,
14284    ) -> gboolean;
14285}
14286extern "C" {
14287    pub fn g_regex_split_simple(
14288        pattern: *const gchar,
14289        string: *const gchar,
14290        compile_options: GRegexCompileFlags,
14291        match_options: GRegexMatchFlags,
14292    ) -> *mut *mut gchar;
14293}
14294extern "C" {
14295    pub fn g_regex_split(
14296        regex: *const GRegex,
14297        string: *const gchar,
14298        match_options: GRegexMatchFlags,
14299    ) -> *mut *mut gchar;
14300}
14301extern "C" {
14302    pub fn g_regex_split_full(
14303        regex: *const GRegex,
14304        string: *const gchar,
14305        string_len: gssize,
14306        start_position: gint,
14307        match_options: GRegexMatchFlags,
14308        max_tokens: gint,
14309        error: *mut *mut GError,
14310    ) -> *mut *mut gchar;
14311}
14312extern "C" {
14313    pub fn g_regex_replace(
14314        regex: *const GRegex,
14315        string: *const gchar,
14316        string_len: gssize,
14317        start_position: gint,
14318        replacement: *const gchar,
14319        match_options: GRegexMatchFlags,
14320        error: *mut *mut GError,
14321    ) -> *mut gchar;
14322}
14323extern "C" {
14324    pub fn g_regex_replace_literal(
14325        regex: *const GRegex,
14326        string: *const gchar,
14327        string_len: gssize,
14328        start_position: gint,
14329        replacement: *const gchar,
14330        match_options: GRegexMatchFlags,
14331        error: *mut *mut GError,
14332    ) -> *mut gchar;
14333}
14334extern "C" {
14335    pub fn g_regex_replace_eval(
14336        regex: *const GRegex,
14337        string: *const gchar,
14338        string_len: gssize,
14339        start_position: gint,
14340        match_options: GRegexMatchFlags,
14341        eval: GRegexEvalCallback,
14342        user_data: gpointer,
14343        error: *mut *mut GError,
14344    ) -> *mut gchar;
14345}
14346extern "C" {
14347    pub fn g_regex_check_replacement(
14348        replacement: *const gchar,
14349        has_references: *mut gboolean,
14350        error: *mut *mut GError,
14351    ) -> gboolean;
14352}
14353extern "C" {
14354    pub fn g_match_info_get_regex(match_info: *const GMatchInfo) -> *mut GRegex;
14355}
14356extern "C" {
14357    pub fn g_match_info_get_string(match_info: *const GMatchInfo) -> *const gchar;
14358}
14359extern "C" {
14360    pub fn g_match_info_ref(match_info: *mut GMatchInfo) -> *mut GMatchInfo;
14361}
14362extern "C" {
14363    pub fn g_match_info_unref(match_info: *mut GMatchInfo);
14364}
14365extern "C" {
14366    pub fn g_match_info_free(match_info: *mut GMatchInfo);
14367}
14368extern "C" {
14369    pub fn g_match_info_next(match_info: *mut GMatchInfo, error: *mut *mut GError) -> gboolean;
14370}
14371extern "C" {
14372    pub fn g_match_info_matches(match_info: *const GMatchInfo) -> gboolean;
14373}
14374extern "C" {
14375    pub fn g_match_info_get_match_count(match_info: *const GMatchInfo) -> gint;
14376}
14377extern "C" {
14378    pub fn g_match_info_is_partial_match(match_info: *const GMatchInfo) -> gboolean;
14379}
14380extern "C" {
14381    pub fn g_match_info_expand_references(
14382        match_info: *const GMatchInfo,
14383        string_to_expand: *const gchar,
14384        error: *mut *mut GError,
14385    ) -> *mut gchar;
14386}
14387extern "C" {
14388    pub fn g_match_info_fetch(match_info: *const GMatchInfo, match_num: gint) -> *mut gchar;
14389}
14390extern "C" {
14391    pub fn g_match_info_fetch_pos(
14392        match_info: *const GMatchInfo,
14393        match_num: gint,
14394        start_pos: *mut gint,
14395        end_pos: *mut gint,
14396    ) -> gboolean;
14397}
14398extern "C" {
14399    pub fn g_match_info_fetch_named(
14400        match_info: *const GMatchInfo,
14401        name: *const gchar,
14402    ) -> *mut gchar;
14403}
14404extern "C" {
14405    pub fn g_match_info_fetch_named_pos(
14406        match_info: *const GMatchInfo,
14407        name: *const gchar,
14408        start_pos: *mut gint,
14409        end_pos: *mut gint,
14410    ) -> gboolean;
14411}
14412extern "C" {
14413    pub fn g_match_info_fetch_all(match_info: *const GMatchInfo) -> *mut *mut gchar;
14414}
14415pub type GScanner = _GScanner;
14416pub type GScannerConfig = _GScannerConfig;
14417pub type GTokenValue = _GTokenValue;
14418pub type GScannerMsgFunc = ::std::option::Option<
14419    unsafe extern "C" fn(scanner: *mut GScanner, message: *mut gchar, error: gboolean),
14420>;
14421pub const GErrorType_G_ERR_UNKNOWN: GErrorType = 0;
14422pub const GErrorType_G_ERR_UNEXP_EOF: GErrorType = 1;
14423pub const GErrorType_G_ERR_UNEXP_EOF_IN_STRING: GErrorType = 2;
14424pub const GErrorType_G_ERR_UNEXP_EOF_IN_COMMENT: GErrorType = 3;
14425pub const GErrorType_G_ERR_NON_DIGIT_IN_CONST: GErrorType = 4;
14426pub const GErrorType_G_ERR_DIGIT_RADIX: GErrorType = 5;
14427pub const GErrorType_G_ERR_FLOAT_RADIX: GErrorType = 6;
14428pub const GErrorType_G_ERR_FLOAT_MALFORMED: GErrorType = 7;
14429pub type GErrorType = ::std::os::raw::c_uint;
14430pub const GTokenType_G_TOKEN_EOF: GTokenType = 0;
14431pub const GTokenType_G_TOKEN_LEFT_PAREN: GTokenType = 40;
14432pub const GTokenType_G_TOKEN_RIGHT_PAREN: GTokenType = 41;
14433pub const GTokenType_G_TOKEN_LEFT_CURLY: GTokenType = 123;
14434pub const GTokenType_G_TOKEN_RIGHT_CURLY: GTokenType = 125;
14435pub const GTokenType_G_TOKEN_LEFT_BRACE: GTokenType = 91;
14436pub const GTokenType_G_TOKEN_RIGHT_BRACE: GTokenType = 93;
14437pub const GTokenType_G_TOKEN_EQUAL_SIGN: GTokenType = 61;
14438pub const GTokenType_G_TOKEN_COMMA: GTokenType = 44;
14439pub const GTokenType_G_TOKEN_NONE: GTokenType = 256;
14440pub const GTokenType_G_TOKEN_ERROR: GTokenType = 257;
14441pub const GTokenType_G_TOKEN_CHAR: GTokenType = 258;
14442pub const GTokenType_G_TOKEN_BINARY: GTokenType = 259;
14443pub const GTokenType_G_TOKEN_OCTAL: GTokenType = 260;
14444pub const GTokenType_G_TOKEN_INT: GTokenType = 261;
14445pub const GTokenType_G_TOKEN_HEX: GTokenType = 262;
14446pub const GTokenType_G_TOKEN_FLOAT: GTokenType = 263;
14447pub const GTokenType_G_TOKEN_STRING: GTokenType = 264;
14448pub const GTokenType_G_TOKEN_SYMBOL: GTokenType = 265;
14449pub const GTokenType_G_TOKEN_IDENTIFIER: GTokenType = 266;
14450pub const GTokenType_G_TOKEN_IDENTIFIER_NULL: GTokenType = 267;
14451pub const GTokenType_G_TOKEN_COMMENT_SINGLE: GTokenType = 268;
14452pub const GTokenType_G_TOKEN_COMMENT_MULTI: GTokenType = 269;
14453pub const GTokenType_G_TOKEN_LAST: GTokenType = 270;
14454pub type GTokenType = ::std::os::raw::c_uint;
14455#[repr(C)]
14456#[derive(Copy, Clone)]
14457pub union _GTokenValue {
14458    pub v_symbol: gpointer,
14459    pub v_identifier: *mut gchar,
14460    pub v_binary: gulong,
14461    pub v_octal: gulong,
14462    pub v_int: gulong,
14463    pub v_int64: guint64,
14464    pub v_float: gdouble,
14465    pub v_hex: gulong,
14466    pub v_string: *mut gchar,
14467    pub v_comment: *mut gchar,
14468    pub v_char: guchar,
14469    pub v_error: guint,
14470}
14471#[test]
14472fn bindgen_test_layout__GTokenValue() {
14473    const UNINIT: ::std::mem::MaybeUninit<_GTokenValue> = ::std::mem::MaybeUninit::uninit();
14474    let ptr = UNINIT.as_ptr();
14475    assert_eq!(
14476        ::std::mem::size_of::<_GTokenValue>(),
14477        8usize,
14478        concat!("Size of: ", stringify!(_GTokenValue))
14479    );
14480    assert_eq!(
14481        ::std::mem::align_of::<_GTokenValue>(),
14482        8usize,
14483        concat!("Alignment of ", stringify!(_GTokenValue))
14484    );
14485    assert_eq!(
14486        unsafe { ::std::ptr::addr_of!((*ptr).v_symbol) as usize - ptr as usize },
14487        0usize,
14488        concat!(
14489            "Offset of field: ",
14490            stringify!(_GTokenValue),
14491            "::",
14492            stringify!(v_symbol)
14493        )
14494    );
14495    assert_eq!(
14496        unsafe { ::std::ptr::addr_of!((*ptr).v_identifier) as usize - ptr as usize },
14497        0usize,
14498        concat!(
14499            "Offset of field: ",
14500            stringify!(_GTokenValue),
14501            "::",
14502            stringify!(v_identifier)
14503        )
14504    );
14505    assert_eq!(
14506        unsafe { ::std::ptr::addr_of!((*ptr).v_binary) as usize - ptr as usize },
14507        0usize,
14508        concat!(
14509            "Offset of field: ",
14510            stringify!(_GTokenValue),
14511            "::",
14512            stringify!(v_binary)
14513        )
14514    );
14515    assert_eq!(
14516        unsafe { ::std::ptr::addr_of!((*ptr).v_octal) as usize - ptr as usize },
14517        0usize,
14518        concat!(
14519            "Offset of field: ",
14520            stringify!(_GTokenValue),
14521            "::",
14522            stringify!(v_octal)
14523        )
14524    );
14525    assert_eq!(
14526        unsafe { ::std::ptr::addr_of!((*ptr).v_int) as usize - ptr as usize },
14527        0usize,
14528        concat!(
14529            "Offset of field: ",
14530            stringify!(_GTokenValue),
14531            "::",
14532            stringify!(v_int)
14533        )
14534    );
14535    assert_eq!(
14536        unsafe { ::std::ptr::addr_of!((*ptr).v_int64) as usize - ptr as usize },
14537        0usize,
14538        concat!(
14539            "Offset of field: ",
14540            stringify!(_GTokenValue),
14541            "::",
14542            stringify!(v_int64)
14543        )
14544    );
14545    assert_eq!(
14546        unsafe { ::std::ptr::addr_of!((*ptr).v_float) as usize - ptr as usize },
14547        0usize,
14548        concat!(
14549            "Offset of field: ",
14550            stringify!(_GTokenValue),
14551            "::",
14552            stringify!(v_float)
14553        )
14554    );
14555    assert_eq!(
14556        unsafe { ::std::ptr::addr_of!((*ptr).v_hex) as usize - ptr as usize },
14557        0usize,
14558        concat!(
14559            "Offset of field: ",
14560            stringify!(_GTokenValue),
14561            "::",
14562            stringify!(v_hex)
14563        )
14564    );
14565    assert_eq!(
14566        unsafe { ::std::ptr::addr_of!((*ptr).v_string) as usize - ptr as usize },
14567        0usize,
14568        concat!(
14569            "Offset of field: ",
14570            stringify!(_GTokenValue),
14571            "::",
14572            stringify!(v_string)
14573        )
14574    );
14575    assert_eq!(
14576        unsafe { ::std::ptr::addr_of!((*ptr).v_comment) as usize - ptr as usize },
14577        0usize,
14578        concat!(
14579            "Offset of field: ",
14580            stringify!(_GTokenValue),
14581            "::",
14582            stringify!(v_comment)
14583        )
14584    );
14585    assert_eq!(
14586        unsafe { ::std::ptr::addr_of!((*ptr).v_char) as usize - ptr as usize },
14587        0usize,
14588        concat!(
14589            "Offset of field: ",
14590            stringify!(_GTokenValue),
14591            "::",
14592            stringify!(v_char)
14593        )
14594    );
14595    assert_eq!(
14596        unsafe { ::std::ptr::addr_of!((*ptr).v_error) as usize - ptr as usize },
14597        0usize,
14598        concat!(
14599            "Offset of field: ",
14600            stringify!(_GTokenValue),
14601            "::",
14602            stringify!(v_error)
14603        )
14604    );
14605}
14606impl ::std::fmt::Debug for _GTokenValue {
14607    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14608        write!(f, "_GTokenValue {{ union }}")
14609    }
14610}
14611#[repr(C)]
14612#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14613pub struct _GScannerConfig {
14614    pub cset_skip_characters: *mut gchar,
14615    pub cset_identifier_first: *mut gchar,
14616    pub cset_identifier_nth: *mut gchar,
14617    pub cpair_comment_single: *mut gchar,
14618    pub _bitfield_align_1: [u8; 0],
14619    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>,
14620    pub padding_dummy: guint,
14621}
14622#[test]
14623fn bindgen_test_layout__GScannerConfig() {
14624    const UNINIT: ::std::mem::MaybeUninit<_GScannerConfig> = ::std::mem::MaybeUninit::uninit();
14625    let ptr = UNINIT.as_ptr();
14626    assert_eq!(
14627        ::std::mem::size_of::<_GScannerConfig>(),
14628        40usize,
14629        concat!("Size of: ", stringify!(_GScannerConfig))
14630    );
14631    assert_eq!(
14632        ::std::mem::align_of::<_GScannerConfig>(),
14633        8usize,
14634        concat!("Alignment of ", stringify!(_GScannerConfig))
14635    );
14636    assert_eq!(
14637        unsafe { ::std::ptr::addr_of!((*ptr).cset_skip_characters) as usize - ptr as usize },
14638        0usize,
14639        concat!(
14640            "Offset of field: ",
14641            stringify!(_GScannerConfig),
14642            "::",
14643            stringify!(cset_skip_characters)
14644        )
14645    );
14646    assert_eq!(
14647        unsafe { ::std::ptr::addr_of!((*ptr).cset_identifier_first) as usize - ptr as usize },
14648        8usize,
14649        concat!(
14650            "Offset of field: ",
14651            stringify!(_GScannerConfig),
14652            "::",
14653            stringify!(cset_identifier_first)
14654        )
14655    );
14656    assert_eq!(
14657        unsafe { ::std::ptr::addr_of!((*ptr).cset_identifier_nth) as usize - ptr as usize },
14658        16usize,
14659        concat!(
14660            "Offset of field: ",
14661            stringify!(_GScannerConfig),
14662            "::",
14663            stringify!(cset_identifier_nth)
14664        )
14665    );
14666    assert_eq!(
14667        unsafe { ::std::ptr::addr_of!((*ptr).cpair_comment_single) as usize - ptr as usize },
14668        24usize,
14669        concat!(
14670            "Offset of field: ",
14671            stringify!(_GScannerConfig),
14672            "::",
14673            stringify!(cpair_comment_single)
14674        )
14675    );
14676    assert_eq!(
14677        unsafe { ::std::ptr::addr_of!((*ptr).padding_dummy) as usize - ptr as usize },
14678        36usize,
14679        concat!(
14680            "Offset of field: ",
14681            stringify!(_GScannerConfig),
14682            "::",
14683            stringify!(padding_dummy)
14684        )
14685    );
14686}
14687impl _GScannerConfig {
14688    #[inline]
14689    pub fn case_sensitive(&self) -> guint {
14690        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
14691    }
14692    #[inline]
14693    pub fn set_case_sensitive(&mut self, val: guint) {
14694        unsafe {
14695            let val: u32 = ::std::mem::transmute(val);
14696            self._bitfield_1.set(0usize, 1u8, val as u64)
14697        }
14698    }
14699    #[inline]
14700    pub fn skip_comment_multi(&self) -> guint {
14701        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
14702    }
14703    #[inline]
14704    pub fn set_skip_comment_multi(&mut self, val: guint) {
14705        unsafe {
14706            let val: u32 = ::std::mem::transmute(val);
14707            self._bitfield_1.set(1usize, 1u8, val as u64)
14708        }
14709    }
14710    #[inline]
14711    pub fn skip_comment_single(&self) -> guint {
14712        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
14713    }
14714    #[inline]
14715    pub fn set_skip_comment_single(&mut self, val: guint) {
14716        unsafe {
14717            let val: u32 = ::std::mem::transmute(val);
14718            self._bitfield_1.set(2usize, 1u8, val as u64)
14719        }
14720    }
14721    #[inline]
14722    pub fn scan_comment_multi(&self) -> guint {
14723        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
14724    }
14725    #[inline]
14726    pub fn set_scan_comment_multi(&mut self, val: guint) {
14727        unsafe {
14728            let val: u32 = ::std::mem::transmute(val);
14729            self._bitfield_1.set(3usize, 1u8, val as u64)
14730        }
14731    }
14732    #[inline]
14733    pub fn scan_identifier(&self) -> guint {
14734        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
14735    }
14736    #[inline]
14737    pub fn set_scan_identifier(&mut self, val: guint) {
14738        unsafe {
14739            let val: u32 = ::std::mem::transmute(val);
14740            self._bitfield_1.set(4usize, 1u8, val as u64)
14741        }
14742    }
14743    #[inline]
14744    pub fn scan_identifier_1char(&self) -> guint {
14745        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
14746    }
14747    #[inline]
14748    pub fn set_scan_identifier_1char(&mut self, val: guint) {
14749        unsafe {
14750            let val: u32 = ::std::mem::transmute(val);
14751            self._bitfield_1.set(5usize, 1u8, val as u64)
14752        }
14753    }
14754    #[inline]
14755    pub fn scan_identifier_NULL(&self) -> guint {
14756        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
14757    }
14758    #[inline]
14759    pub fn set_scan_identifier_NULL(&mut self, val: guint) {
14760        unsafe {
14761            let val: u32 = ::std::mem::transmute(val);
14762            self._bitfield_1.set(6usize, 1u8, val as u64)
14763        }
14764    }
14765    #[inline]
14766    pub fn scan_symbols(&self) -> guint {
14767        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
14768    }
14769    #[inline]
14770    pub fn set_scan_symbols(&mut self, val: guint) {
14771        unsafe {
14772            let val: u32 = ::std::mem::transmute(val);
14773            self._bitfield_1.set(7usize, 1u8, val as u64)
14774        }
14775    }
14776    #[inline]
14777    pub fn scan_binary(&self) -> guint {
14778        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
14779    }
14780    #[inline]
14781    pub fn set_scan_binary(&mut self, val: guint) {
14782        unsafe {
14783            let val: u32 = ::std::mem::transmute(val);
14784            self._bitfield_1.set(8usize, 1u8, val as u64)
14785        }
14786    }
14787    #[inline]
14788    pub fn scan_octal(&self) -> guint {
14789        unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
14790    }
14791    #[inline]
14792    pub fn set_scan_octal(&mut self, val: guint) {
14793        unsafe {
14794            let val: u32 = ::std::mem::transmute(val);
14795            self._bitfield_1.set(9usize, 1u8, val as u64)
14796        }
14797    }
14798    #[inline]
14799    pub fn scan_float(&self) -> guint {
14800        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
14801    }
14802    #[inline]
14803    pub fn set_scan_float(&mut self, val: guint) {
14804        unsafe {
14805            let val: u32 = ::std::mem::transmute(val);
14806            self._bitfield_1.set(10usize, 1u8, val as u64)
14807        }
14808    }
14809    #[inline]
14810    pub fn scan_hex(&self) -> guint {
14811        unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
14812    }
14813    #[inline]
14814    pub fn set_scan_hex(&mut self, val: guint) {
14815        unsafe {
14816            let val: u32 = ::std::mem::transmute(val);
14817            self._bitfield_1.set(11usize, 1u8, val as u64)
14818        }
14819    }
14820    #[inline]
14821    pub fn scan_hex_dollar(&self) -> guint {
14822        unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
14823    }
14824    #[inline]
14825    pub fn set_scan_hex_dollar(&mut self, val: guint) {
14826        unsafe {
14827            let val: u32 = ::std::mem::transmute(val);
14828            self._bitfield_1.set(12usize, 1u8, val as u64)
14829        }
14830    }
14831    #[inline]
14832    pub fn scan_string_sq(&self) -> guint {
14833        unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
14834    }
14835    #[inline]
14836    pub fn set_scan_string_sq(&mut self, val: guint) {
14837        unsafe {
14838            let val: u32 = ::std::mem::transmute(val);
14839            self._bitfield_1.set(13usize, 1u8, val as u64)
14840        }
14841    }
14842    #[inline]
14843    pub fn scan_string_dq(&self) -> guint {
14844        unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
14845    }
14846    #[inline]
14847    pub fn set_scan_string_dq(&mut self, val: guint) {
14848        unsafe {
14849            let val: u32 = ::std::mem::transmute(val);
14850            self._bitfield_1.set(14usize, 1u8, val as u64)
14851        }
14852    }
14853    #[inline]
14854    pub fn numbers_2_int(&self) -> guint {
14855        unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
14856    }
14857    #[inline]
14858    pub fn set_numbers_2_int(&mut self, val: guint) {
14859        unsafe {
14860            let val: u32 = ::std::mem::transmute(val);
14861            self._bitfield_1.set(15usize, 1u8, val as u64)
14862        }
14863    }
14864    #[inline]
14865    pub fn int_2_float(&self) -> guint {
14866        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
14867    }
14868    #[inline]
14869    pub fn set_int_2_float(&mut self, val: guint) {
14870        unsafe {
14871            let val: u32 = ::std::mem::transmute(val);
14872            self._bitfield_1.set(16usize, 1u8, val as u64)
14873        }
14874    }
14875    #[inline]
14876    pub fn identifier_2_string(&self) -> guint {
14877        unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) }
14878    }
14879    #[inline]
14880    pub fn set_identifier_2_string(&mut self, val: guint) {
14881        unsafe {
14882            let val: u32 = ::std::mem::transmute(val);
14883            self._bitfield_1.set(17usize, 1u8, val as u64)
14884        }
14885    }
14886    #[inline]
14887    pub fn char_2_token(&self) -> guint {
14888        unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) }
14889    }
14890    #[inline]
14891    pub fn set_char_2_token(&mut self, val: guint) {
14892        unsafe {
14893            let val: u32 = ::std::mem::transmute(val);
14894            self._bitfield_1.set(18usize, 1u8, val as u64)
14895        }
14896    }
14897    #[inline]
14898    pub fn symbol_2_token(&self) -> guint {
14899        unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) }
14900    }
14901    #[inline]
14902    pub fn set_symbol_2_token(&mut self, val: guint) {
14903        unsafe {
14904            let val: u32 = ::std::mem::transmute(val);
14905            self._bitfield_1.set(19usize, 1u8, val as u64)
14906        }
14907    }
14908    #[inline]
14909    pub fn scope_0_fallback(&self) -> guint {
14910        unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) }
14911    }
14912    #[inline]
14913    pub fn set_scope_0_fallback(&mut self, val: guint) {
14914        unsafe {
14915            let val: u32 = ::std::mem::transmute(val);
14916            self._bitfield_1.set(20usize, 1u8, val as u64)
14917        }
14918    }
14919    #[inline]
14920    pub fn store_int64(&self) -> guint {
14921        unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) }
14922    }
14923    #[inline]
14924    pub fn set_store_int64(&mut self, val: guint) {
14925        unsafe {
14926            let val: u32 = ::std::mem::transmute(val);
14927            self._bitfield_1.set(21usize, 1u8, val as u64)
14928        }
14929    }
14930    #[inline]
14931    pub fn new_bitfield_1(
14932        case_sensitive: guint,
14933        skip_comment_multi: guint,
14934        skip_comment_single: guint,
14935        scan_comment_multi: guint,
14936        scan_identifier: guint,
14937        scan_identifier_1char: guint,
14938        scan_identifier_NULL: guint,
14939        scan_symbols: guint,
14940        scan_binary: guint,
14941        scan_octal: guint,
14942        scan_float: guint,
14943        scan_hex: guint,
14944        scan_hex_dollar: guint,
14945        scan_string_sq: guint,
14946        scan_string_dq: guint,
14947        numbers_2_int: guint,
14948        int_2_float: guint,
14949        identifier_2_string: guint,
14950        char_2_token: guint,
14951        symbol_2_token: guint,
14952        scope_0_fallback: guint,
14953        store_int64: guint,
14954    ) -> __BindgenBitfieldUnit<[u8; 3usize]> {
14955        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default();
14956        __bindgen_bitfield_unit.set(0usize, 1u8, {
14957            let case_sensitive: u32 = unsafe { ::std::mem::transmute(case_sensitive) };
14958            case_sensitive as u64
14959        });
14960        __bindgen_bitfield_unit.set(1usize, 1u8, {
14961            let skip_comment_multi: u32 = unsafe { ::std::mem::transmute(skip_comment_multi) };
14962            skip_comment_multi as u64
14963        });
14964        __bindgen_bitfield_unit.set(2usize, 1u8, {
14965            let skip_comment_single: u32 = unsafe { ::std::mem::transmute(skip_comment_single) };
14966            skip_comment_single as u64
14967        });
14968        __bindgen_bitfield_unit.set(3usize, 1u8, {
14969            let scan_comment_multi: u32 = unsafe { ::std::mem::transmute(scan_comment_multi) };
14970            scan_comment_multi as u64
14971        });
14972        __bindgen_bitfield_unit.set(4usize, 1u8, {
14973            let scan_identifier: u32 = unsafe { ::std::mem::transmute(scan_identifier) };
14974            scan_identifier as u64
14975        });
14976        __bindgen_bitfield_unit.set(5usize, 1u8, {
14977            let scan_identifier_1char: u32 =
14978                unsafe { ::std::mem::transmute(scan_identifier_1char) };
14979            scan_identifier_1char as u64
14980        });
14981        __bindgen_bitfield_unit.set(6usize, 1u8, {
14982            let scan_identifier_NULL: u32 = unsafe { ::std::mem::transmute(scan_identifier_NULL) };
14983            scan_identifier_NULL as u64
14984        });
14985        __bindgen_bitfield_unit.set(7usize, 1u8, {
14986            let scan_symbols: u32 = unsafe { ::std::mem::transmute(scan_symbols) };
14987            scan_symbols as u64
14988        });
14989        __bindgen_bitfield_unit.set(8usize, 1u8, {
14990            let scan_binary: u32 = unsafe { ::std::mem::transmute(scan_binary) };
14991            scan_binary as u64
14992        });
14993        __bindgen_bitfield_unit.set(9usize, 1u8, {
14994            let scan_octal: u32 = unsafe { ::std::mem::transmute(scan_octal) };
14995            scan_octal as u64
14996        });
14997        __bindgen_bitfield_unit.set(10usize, 1u8, {
14998            let scan_float: u32 = unsafe { ::std::mem::transmute(scan_float) };
14999            scan_float as u64
15000        });
15001        __bindgen_bitfield_unit.set(11usize, 1u8, {
15002            let scan_hex: u32 = unsafe { ::std::mem::transmute(scan_hex) };
15003            scan_hex as u64
15004        });
15005        __bindgen_bitfield_unit.set(12usize, 1u8, {
15006            let scan_hex_dollar: u32 = unsafe { ::std::mem::transmute(scan_hex_dollar) };
15007            scan_hex_dollar as u64
15008        });
15009        __bindgen_bitfield_unit.set(13usize, 1u8, {
15010            let scan_string_sq: u32 = unsafe { ::std::mem::transmute(scan_string_sq) };
15011            scan_string_sq as u64
15012        });
15013        __bindgen_bitfield_unit.set(14usize, 1u8, {
15014            let scan_string_dq: u32 = unsafe { ::std::mem::transmute(scan_string_dq) };
15015            scan_string_dq as u64
15016        });
15017        __bindgen_bitfield_unit.set(15usize, 1u8, {
15018            let numbers_2_int: u32 = unsafe { ::std::mem::transmute(numbers_2_int) };
15019            numbers_2_int as u64
15020        });
15021        __bindgen_bitfield_unit.set(16usize, 1u8, {
15022            let int_2_float: u32 = unsafe { ::std::mem::transmute(int_2_float) };
15023            int_2_float as u64
15024        });
15025        __bindgen_bitfield_unit.set(17usize, 1u8, {
15026            let identifier_2_string: u32 = unsafe { ::std::mem::transmute(identifier_2_string) };
15027            identifier_2_string as u64
15028        });
15029        __bindgen_bitfield_unit.set(18usize, 1u8, {
15030            let char_2_token: u32 = unsafe { ::std::mem::transmute(char_2_token) };
15031            char_2_token as u64
15032        });
15033        __bindgen_bitfield_unit.set(19usize, 1u8, {
15034            let symbol_2_token: u32 = unsafe { ::std::mem::transmute(symbol_2_token) };
15035            symbol_2_token as u64
15036        });
15037        __bindgen_bitfield_unit.set(20usize, 1u8, {
15038            let scope_0_fallback: u32 = unsafe { ::std::mem::transmute(scope_0_fallback) };
15039            scope_0_fallback as u64
15040        });
15041        __bindgen_bitfield_unit.set(21usize, 1u8, {
15042            let store_int64: u32 = unsafe { ::std::mem::transmute(store_int64) };
15043            store_int64 as u64
15044        });
15045        __bindgen_bitfield_unit
15046    }
15047}
15048#[repr(C)]
15049#[derive(Copy, Clone)]
15050pub struct _GScanner {
15051    pub user_data: gpointer,
15052    pub max_parse_errors: guint,
15053    pub parse_errors: guint,
15054    pub input_name: *const gchar,
15055    pub qdata: *mut GData,
15056    pub config: *mut GScannerConfig,
15057    pub token: GTokenType,
15058    pub value: GTokenValue,
15059    pub line: guint,
15060    pub position: guint,
15061    pub next_token: GTokenType,
15062    pub next_value: GTokenValue,
15063    pub next_line: guint,
15064    pub next_position: guint,
15065    pub symbol_table: *mut GHashTable,
15066    pub input_fd: gint,
15067    pub text: *const gchar,
15068    pub text_end: *const gchar,
15069    pub buffer: *mut gchar,
15070    pub scope_id: guint,
15071    pub msg_handler: GScannerMsgFunc,
15072}
15073#[test]
15074fn bindgen_test_layout__GScanner() {
15075    const UNINIT: ::std::mem::MaybeUninit<_GScanner> = ::std::mem::MaybeUninit::uninit();
15076    let ptr = UNINIT.as_ptr();
15077    assert_eq!(
15078        ::std::mem::size_of::<_GScanner>(),
15079        144usize,
15080        concat!("Size of: ", stringify!(_GScanner))
15081    );
15082    assert_eq!(
15083        ::std::mem::align_of::<_GScanner>(),
15084        8usize,
15085        concat!("Alignment of ", stringify!(_GScanner))
15086    );
15087    assert_eq!(
15088        unsafe { ::std::ptr::addr_of!((*ptr).user_data) as usize - ptr as usize },
15089        0usize,
15090        concat!(
15091            "Offset of field: ",
15092            stringify!(_GScanner),
15093            "::",
15094            stringify!(user_data)
15095        )
15096    );
15097    assert_eq!(
15098        unsafe { ::std::ptr::addr_of!((*ptr).max_parse_errors) as usize - ptr as usize },
15099        8usize,
15100        concat!(
15101            "Offset of field: ",
15102            stringify!(_GScanner),
15103            "::",
15104            stringify!(max_parse_errors)
15105        )
15106    );
15107    assert_eq!(
15108        unsafe { ::std::ptr::addr_of!((*ptr).parse_errors) as usize - ptr as usize },
15109        12usize,
15110        concat!(
15111            "Offset of field: ",
15112            stringify!(_GScanner),
15113            "::",
15114            stringify!(parse_errors)
15115        )
15116    );
15117    assert_eq!(
15118        unsafe { ::std::ptr::addr_of!((*ptr).input_name) as usize - ptr as usize },
15119        16usize,
15120        concat!(
15121            "Offset of field: ",
15122            stringify!(_GScanner),
15123            "::",
15124            stringify!(input_name)
15125        )
15126    );
15127    assert_eq!(
15128        unsafe { ::std::ptr::addr_of!((*ptr).qdata) as usize - ptr as usize },
15129        24usize,
15130        concat!(
15131            "Offset of field: ",
15132            stringify!(_GScanner),
15133            "::",
15134            stringify!(qdata)
15135        )
15136    );
15137    assert_eq!(
15138        unsafe { ::std::ptr::addr_of!((*ptr).config) as usize - ptr as usize },
15139        32usize,
15140        concat!(
15141            "Offset of field: ",
15142            stringify!(_GScanner),
15143            "::",
15144            stringify!(config)
15145        )
15146    );
15147    assert_eq!(
15148        unsafe { ::std::ptr::addr_of!((*ptr).token) as usize - ptr as usize },
15149        40usize,
15150        concat!(
15151            "Offset of field: ",
15152            stringify!(_GScanner),
15153            "::",
15154            stringify!(token)
15155        )
15156    );
15157    assert_eq!(
15158        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
15159        48usize,
15160        concat!(
15161            "Offset of field: ",
15162            stringify!(_GScanner),
15163            "::",
15164            stringify!(value)
15165        )
15166    );
15167    assert_eq!(
15168        unsafe { ::std::ptr::addr_of!((*ptr).line) as usize - ptr as usize },
15169        56usize,
15170        concat!(
15171            "Offset of field: ",
15172            stringify!(_GScanner),
15173            "::",
15174            stringify!(line)
15175        )
15176    );
15177    assert_eq!(
15178        unsafe { ::std::ptr::addr_of!((*ptr).position) as usize - ptr as usize },
15179        60usize,
15180        concat!(
15181            "Offset of field: ",
15182            stringify!(_GScanner),
15183            "::",
15184            stringify!(position)
15185        )
15186    );
15187    assert_eq!(
15188        unsafe { ::std::ptr::addr_of!((*ptr).next_token) as usize - ptr as usize },
15189        64usize,
15190        concat!(
15191            "Offset of field: ",
15192            stringify!(_GScanner),
15193            "::",
15194            stringify!(next_token)
15195        )
15196    );
15197    assert_eq!(
15198        unsafe { ::std::ptr::addr_of!((*ptr).next_value) as usize - ptr as usize },
15199        72usize,
15200        concat!(
15201            "Offset of field: ",
15202            stringify!(_GScanner),
15203            "::",
15204            stringify!(next_value)
15205        )
15206    );
15207    assert_eq!(
15208        unsafe { ::std::ptr::addr_of!((*ptr).next_line) as usize - ptr as usize },
15209        80usize,
15210        concat!(
15211            "Offset of field: ",
15212            stringify!(_GScanner),
15213            "::",
15214            stringify!(next_line)
15215        )
15216    );
15217    assert_eq!(
15218        unsafe { ::std::ptr::addr_of!((*ptr).next_position) as usize - ptr as usize },
15219        84usize,
15220        concat!(
15221            "Offset of field: ",
15222            stringify!(_GScanner),
15223            "::",
15224            stringify!(next_position)
15225        )
15226    );
15227    assert_eq!(
15228        unsafe { ::std::ptr::addr_of!((*ptr).symbol_table) as usize - ptr as usize },
15229        88usize,
15230        concat!(
15231            "Offset of field: ",
15232            stringify!(_GScanner),
15233            "::",
15234            stringify!(symbol_table)
15235        )
15236    );
15237    assert_eq!(
15238        unsafe { ::std::ptr::addr_of!((*ptr).input_fd) as usize - ptr as usize },
15239        96usize,
15240        concat!(
15241            "Offset of field: ",
15242            stringify!(_GScanner),
15243            "::",
15244            stringify!(input_fd)
15245        )
15246    );
15247    assert_eq!(
15248        unsafe { ::std::ptr::addr_of!((*ptr).text) as usize - ptr as usize },
15249        104usize,
15250        concat!(
15251            "Offset of field: ",
15252            stringify!(_GScanner),
15253            "::",
15254            stringify!(text)
15255        )
15256    );
15257    assert_eq!(
15258        unsafe { ::std::ptr::addr_of!((*ptr).text_end) as usize - ptr as usize },
15259        112usize,
15260        concat!(
15261            "Offset of field: ",
15262            stringify!(_GScanner),
15263            "::",
15264            stringify!(text_end)
15265        )
15266    );
15267    assert_eq!(
15268        unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
15269        120usize,
15270        concat!(
15271            "Offset of field: ",
15272            stringify!(_GScanner),
15273            "::",
15274            stringify!(buffer)
15275        )
15276    );
15277    assert_eq!(
15278        unsafe { ::std::ptr::addr_of!((*ptr).scope_id) as usize - ptr as usize },
15279        128usize,
15280        concat!(
15281            "Offset of field: ",
15282            stringify!(_GScanner),
15283            "::",
15284            stringify!(scope_id)
15285        )
15286    );
15287    assert_eq!(
15288        unsafe { ::std::ptr::addr_of!((*ptr).msg_handler) as usize - ptr as usize },
15289        136usize,
15290        concat!(
15291            "Offset of field: ",
15292            stringify!(_GScanner),
15293            "::",
15294            stringify!(msg_handler)
15295        )
15296    );
15297}
15298impl ::std::fmt::Debug for _GScanner {
15299    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15300        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)
15301    }
15302}
15303extern "C" {
15304    pub fn g_scanner_new(config_templ: *const GScannerConfig) -> *mut GScanner;
15305}
15306extern "C" {
15307    pub fn g_scanner_destroy(scanner: *mut GScanner);
15308}
15309extern "C" {
15310    pub fn g_scanner_input_file(scanner: *mut GScanner, input_fd: gint);
15311}
15312extern "C" {
15313    pub fn g_scanner_sync_file_offset(scanner: *mut GScanner);
15314}
15315extern "C" {
15316    pub fn g_scanner_input_text(scanner: *mut GScanner, text: *const gchar, text_len: guint);
15317}
15318extern "C" {
15319    pub fn g_scanner_get_next_token(scanner: *mut GScanner) -> GTokenType;
15320}
15321extern "C" {
15322    pub fn g_scanner_peek_next_token(scanner: *mut GScanner) -> GTokenType;
15323}
15324extern "C" {
15325    pub fn g_scanner_cur_token(scanner: *mut GScanner) -> GTokenType;
15326}
15327extern "C" {
15328    pub fn g_scanner_cur_value(scanner: *mut GScanner) -> GTokenValue;
15329}
15330extern "C" {
15331    pub fn g_scanner_cur_line(scanner: *mut GScanner) -> guint;
15332}
15333extern "C" {
15334    pub fn g_scanner_cur_position(scanner: *mut GScanner) -> guint;
15335}
15336extern "C" {
15337    pub fn g_scanner_eof(scanner: *mut GScanner) -> gboolean;
15338}
15339extern "C" {
15340    pub fn g_scanner_set_scope(scanner: *mut GScanner, scope_id: guint) -> guint;
15341}
15342extern "C" {
15343    pub fn g_scanner_scope_add_symbol(
15344        scanner: *mut GScanner,
15345        scope_id: guint,
15346        symbol: *const gchar,
15347        value: gpointer,
15348    );
15349}
15350extern "C" {
15351    pub fn g_scanner_scope_remove_symbol(
15352        scanner: *mut GScanner,
15353        scope_id: guint,
15354        symbol: *const gchar,
15355    );
15356}
15357extern "C" {
15358    pub fn g_scanner_scope_lookup_symbol(
15359        scanner: *mut GScanner,
15360        scope_id: guint,
15361        symbol: *const gchar,
15362    ) -> gpointer;
15363}
15364extern "C" {
15365    pub fn g_scanner_scope_foreach_symbol(
15366        scanner: *mut GScanner,
15367        scope_id: guint,
15368        func: GHFunc,
15369        user_data: gpointer,
15370    );
15371}
15372extern "C" {
15373    pub fn g_scanner_lookup_symbol(scanner: *mut GScanner, symbol: *const gchar) -> gpointer;
15374}
15375extern "C" {
15376    pub fn g_scanner_unexp_token(
15377        scanner: *mut GScanner,
15378        expected_token: GTokenType,
15379        identifier_spec: *const gchar,
15380        symbol_spec: *const gchar,
15381        symbol_name: *const gchar,
15382        message: *const gchar,
15383        is_error: gint,
15384    );
15385}
15386extern "C" {
15387    pub fn g_scanner_error(scanner: *mut GScanner, format: *const gchar, ...);
15388}
15389extern "C" {
15390    pub fn g_scanner_warn(scanner: *mut GScanner, format: *const gchar, ...);
15391}
15392#[repr(C)]
15393#[derive(Debug, Copy, Clone)]
15394pub struct _GSequence {
15395    _unused: [u8; 0],
15396}
15397pub type GSequence = _GSequence;
15398#[repr(C)]
15399#[derive(Debug, Copy, Clone)]
15400pub struct _GSequenceNode {
15401    _unused: [u8; 0],
15402}
15403pub type GSequenceIter = _GSequenceNode;
15404pub type GSequenceIterCompareFunc = ::std::option::Option<
15405    unsafe extern "C" fn(a: *mut GSequenceIter, b: *mut GSequenceIter, data: gpointer) -> gint,
15406>;
15407extern "C" {
15408    pub fn g_sequence_new(data_destroy: GDestroyNotify) -> *mut GSequence;
15409}
15410extern "C" {
15411    pub fn g_sequence_free(seq: *mut GSequence);
15412}
15413extern "C" {
15414    pub fn g_sequence_get_length(seq: *mut GSequence) -> gint;
15415}
15416extern "C" {
15417    pub fn g_sequence_foreach(seq: *mut GSequence, func: GFunc, user_data: gpointer);
15418}
15419extern "C" {
15420    pub fn g_sequence_foreach_range(
15421        begin: *mut GSequenceIter,
15422        end: *mut GSequenceIter,
15423        func: GFunc,
15424        user_data: gpointer,
15425    );
15426}
15427extern "C" {
15428    pub fn g_sequence_sort(seq: *mut GSequence, cmp_func: GCompareDataFunc, cmp_data: gpointer);
15429}
15430extern "C" {
15431    pub fn g_sequence_sort_iter(
15432        seq: *mut GSequence,
15433        cmp_func: GSequenceIterCompareFunc,
15434        cmp_data: gpointer,
15435    );
15436}
15437extern "C" {
15438    pub fn g_sequence_is_empty(seq: *mut GSequence) -> gboolean;
15439}
15440extern "C" {
15441    pub fn g_sequence_get_begin_iter(seq: *mut GSequence) -> *mut GSequenceIter;
15442}
15443extern "C" {
15444    pub fn g_sequence_get_end_iter(seq: *mut GSequence) -> *mut GSequenceIter;
15445}
15446extern "C" {
15447    pub fn g_sequence_get_iter_at_pos(seq: *mut GSequence, pos: gint) -> *mut GSequenceIter;
15448}
15449extern "C" {
15450    pub fn g_sequence_append(seq: *mut GSequence, data: gpointer) -> *mut GSequenceIter;
15451}
15452extern "C" {
15453    pub fn g_sequence_prepend(seq: *mut GSequence, data: gpointer) -> *mut GSequenceIter;
15454}
15455extern "C" {
15456    pub fn g_sequence_insert_before(iter: *mut GSequenceIter, data: gpointer)
15457        -> *mut GSequenceIter;
15458}
15459extern "C" {
15460    pub fn g_sequence_move(src: *mut GSequenceIter, dest: *mut GSequenceIter);
15461}
15462extern "C" {
15463    pub fn g_sequence_swap(a: *mut GSequenceIter, b: *mut GSequenceIter);
15464}
15465extern "C" {
15466    pub fn g_sequence_insert_sorted(
15467        seq: *mut GSequence,
15468        data: gpointer,
15469        cmp_func: GCompareDataFunc,
15470        cmp_data: gpointer,
15471    ) -> *mut GSequenceIter;
15472}
15473extern "C" {
15474    pub fn g_sequence_insert_sorted_iter(
15475        seq: *mut GSequence,
15476        data: gpointer,
15477        iter_cmp: GSequenceIterCompareFunc,
15478        cmp_data: gpointer,
15479    ) -> *mut GSequenceIter;
15480}
15481extern "C" {
15482    pub fn g_sequence_sort_changed(
15483        iter: *mut GSequenceIter,
15484        cmp_func: GCompareDataFunc,
15485        cmp_data: gpointer,
15486    );
15487}
15488extern "C" {
15489    pub fn g_sequence_sort_changed_iter(
15490        iter: *mut GSequenceIter,
15491        iter_cmp: GSequenceIterCompareFunc,
15492        cmp_data: gpointer,
15493    );
15494}
15495extern "C" {
15496    pub fn g_sequence_remove(iter: *mut GSequenceIter);
15497}
15498extern "C" {
15499    pub fn g_sequence_remove_range(begin: *mut GSequenceIter, end: *mut GSequenceIter);
15500}
15501extern "C" {
15502    pub fn g_sequence_move_range(
15503        dest: *mut GSequenceIter,
15504        begin: *mut GSequenceIter,
15505        end: *mut GSequenceIter,
15506    );
15507}
15508extern "C" {
15509    pub fn g_sequence_search(
15510        seq: *mut GSequence,
15511        data: gpointer,
15512        cmp_func: GCompareDataFunc,
15513        cmp_data: gpointer,
15514    ) -> *mut GSequenceIter;
15515}
15516extern "C" {
15517    pub fn g_sequence_search_iter(
15518        seq: *mut GSequence,
15519        data: gpointer,
15520        iter_cmp: GSequenceIterCompareFunc,
15521        cmp_data: gpointer,
15522    ) -> *mut GSequenceIter;
15523}
15524extern "C" {
15525    pub fn g_sequence_lookup(
15526        seq: *mut GSequence,
15527        data: gpointer,
15528        cmp_func: GCompareDataFunc,
15529        cmp_data: gpointer,
15530    ) -> *mut GSequenceIter;
15531}
15532extern "C" {
15533    pub fn g_sequence_lookup_iter(
15534        seq: *mut GSequence,
15535        data: gpointer,
15536        iter_cmp: GSequenceIterCompareFunc,
15537        cmp_data: gpointer,
15538    ) -> *mut GSequenceIter;
15539}
15540extern "C" {
15541    pub fn g_sequence_get(iter: *mut GSequenceIter) -> gpointer;
15542}
15543extern "C" {
15544    pub fn g_sequence_set(iter: *mut GSequenceIter, data: gpointer);
15545}
15546extern "C" {
15547    pub fn g_sequence_iter_is_begin(iter: *mut GSequenceIter) -> gboolean;
15548}
15549extern "C" {
15550    pub fn g_sequence_iter_is_end(iter: *mut GSequenceIter) -> gboolean;
15551}
15552extern "C" {
15553    pub fn g_sequence_iter_next(iter: *mut GSequenceIter) -> *mut GSequenceIter;
15554}
15555extern "C" {
15556    pub fn g_sequence_iter_prev(iter: *mut GSequenceIter) -> *mut GSequenceIter;
15557}
15558extern "C" {
15559    pub fn g_sequence_iter_get_position(iter: *mut GSequenceIter) -> gint;
15560}
15561extern "C" {
15562    pub fn g_sequence_iter_move(iter: *mut GSequenceIter, delta: gint) -> *mut GSequenceIter;
15563}
15564extern "C" {
15565    pub fn g_sequence_iter_get_sequence(iter: *mut GSequenceIter) -> *mut GSequence;
15566}
15567extern "C" {
15568    pub fn g_sequence_iter_compare(a: *mut GSequenceIter, b: *mut GSequenceIter) -> gint;
15569}
15570extern "C" {
15571    pub fn g_sequence_range_get_midpoint(
15572        begin: *mut GSequenceIter,
15573        end: *mut GSequenceIter,
15574    ) -> *mut GSequenceIter;
15575}
15576pub const GShellError_G_SHELL_ERROR_BAD_QUOTING: GShellError = 0;
15577pub const GShellError_G_SHELL_ERROR_EMPTY_STRING: GShellError = 1;
15578pub const GShellError_G_SHELL_ERROR_FAILED: GShellError = 2;
15579pub type GShellError = ::std::os::raw::c_uint;
15580extern "C" {
15581    pub fn g_shell_error_quark() -> GQuark;
15582}
15583extern "C" {
15584    pub fn g_shell_quote(unquoted_string: *const gchar) -> *mut gchar;
15585}
15586extern "C" {
15587    pub fn g_shell_unquote(quoted_string: *const gchar, error: *mut *mut GError) -> *mut gchar;
15588}
15589extern "C" {
15590    pub fn g_shell_parse_argv(
15591        command_line: *const gchar,
15592        argcp: *mut gint,
15593        argvp: *mut *mut *mut gchar,
15594        error: *mut *mut GError,
15595    ) -> gboolean;
15596}
15597extern "C" {
15598    pub fn g_slice_alloc(block_size: gsize) -> gpointer;
15599}
15600extern "C" {
15601    pub fn g_slice_alloc0(block_size: gsize) -> gpointer;
15602}
15603extern "C" {
15604    pub fn g_slice_copy(block_size: gsize, mem_block: gconstpointer) -> gpointer;
15605}
15606extern "C" {
15607    pub fn g_slice_free1(block_size: gsize, mem_block: gpointer);
15608}
15609extern "C" {
15610    pub fn g_slice_free_chain_with_offset(
15611        block_size: gsize,
15612        mem_chain: gpointer,
15613        next_offset: gsize,
15614    );
15615}
15616pub const GSliceConfig_G_SLICE_CONFIG_ALWAYS_MALLOC: GSliceConfig = 1;
15617pub const GSliceConfig_G_SLICE_CONFIG_BYPASS_MAGAZINES: GSliceConfig = 2;
15618pub const GSliceConfig_G_SLICE_CONFIG_WORKING_SET_MSECS: GSliceConfig = 3;
15619pub const GSliceConfig_G_SLICE_CONFIG_COLOR_INCREMENT: GSliceConfig = 4;
15620pub const GSliceConfig_G_SLICE_CONFIG_CHUNK_SIZES: GSliceConfig = 5;
15621pub const GSliceConfig_G_SLICE_CONFIG_CONTENTION_COUNTER: GSliceConfig = 6;
15622pub type GSliceConfig = ::std::os::raw::c_uint;
15623extern "C" {
15624    pub fn g_slice_set_config(ckey: GSliceConfig, value: gint64);
15625}
15626extern "C" {
15627    pub fn g_slice_get_config(ckey: GSliceConfig) -> gint64;
15628}
15629extern "C" {
15630    pub fn g_slice_get_config_state(
15631        ckey: GSliceConfig,
15632        address: gint64,
15633        n_values: *mut guint,
15634    ) -> *mut gint64;
15635}
15636pub const GSpawnError_G_SPAWN_ERROR_FORK: GSpawnError = 0;
15637pub const GSpawnError_G_SPAWN_ERROR_READ: GSpawnError = 1;
15638pub const GSpawnError_G_SPAWN_ERROR_CHDIR: GSpawnError = 2;
15639pub const GSpawnError_G_SPAWN_ERROR_ACCES: GSpawnError = 3;
15640pub const GSpawnError_G_SPAWN_ERROR_PERM: GSpawnError = 4;
15641pub const GSpawnError_G_SPAWN_ERROR_TOO_BIG: GSpawnError = 5;
15642pub const GSpawnError_G_SPAWN_ERROR_2BIG: GSpawnError = 5;
15643pub const GSpawnError_G_SPAWN_ERROR_NOEXEC: GSpawnError = 6;
15644pub const GSpawnError_G_SPAWN_ERROR_NAMETOOLONG: GSpawnError = 7;
15645pub const GSpawnError_G_SPAWN_ERROR_NOENT: GSpawnError = 8;
15646pub const GSpawnError_G_SPAWN_ERROR_NOMEM: GSpawnError = 9;
15647pub const GSpawnError_G_SPAWN_ERROR_NOTDIR: GSpawnError = 10;
15648pub const GSpawnError_G_SPAWN_ERROR_LOOP: GSpawnError = 11;
15649pub const GSpawnError_G_SPAWN_ERROR_TXTBUSY: GSpawnError = 12;
15650pub const GSpawnError_G_SPAWN_ERROR_IO: GSpawnError = 13;
15651pub const GSpawnError_G_SPAWN_ERROR_NFILE: GSpawnError = 14;
15652pub const GSpawnError_G_SPAWN_ERROR_MFILE: GSpawnError = 15;
15653pub const GSpawnError_G_SPAWN_ERROR_INVAL: GSpawnError = 16;
15654pub const GSpawnError_G_SPAWN_ERROR_ISDIR: GSpawnError = 17;
15655pub const GSpawnError_G_SPAWN_ERROR_LIBBAD: GSpawnError = 18;
15656pub const GSpawnError_G_SPAWN_ERROR_FAILED: GSpawnError = 19;
15657pub type GSpawnError = ::std::os::raw::c_uint;
15658pub type GSpawnChildSetupFunc = ::std::option::Option<unsafe extern "C" fn(data: gpointer)>;
15659pub const GSpawnFlags_G_SPAWN_DEFAULT: GSpawnFlags = 0;
15660pub const GSpawnFlags_G_SPAWN_LEAVE_DESCRIPTORS_OPEN: GSpawnFlags = 1;
15661pub const GSpawnFlags_G_SPAWN_DO_NOT_REAP_CHILD: GSpawnFlags = 2;
15662pub const GSpawnFlags_G_SPAWN_SEARCH_PATH: GSpawnFlags = 4;
15663pub const GSpawnFlags_G_SPAWN_STDOUT_TO_DEV_NULL: GSpawnFlags = 8;
15664pub const GSpawnFlags_G_SPAWN_STDERR_TO_DEV_NULL: GSpawnFlags = 16;
15665pub const GSpawnFlags_G_SPAWN_CHILD_INHERITS_STDIN: GSpawnFlags = 32;
15666pub const GSpawnFlags_G_SPAWN_FILE_AND_ARGV_ZERO: GSpawnFlags = 64;
15667pub const GSpawnFlags_G_SPAWN_SEARCH_PATH_FROM_ENVP: GSpawnFlags = 128;
15668pub const GSpawnFlags_G_SPAWN_CLOEXEC_PIPES: GSpawnFlags = 256;
15669pub const GSpawnFlags_G_SPAWN_CHILD_INHERITS_STDOUT: GSpawnFlags = 512;
15670pub const GSpawnFlags_G_SPAWN_CHILD_INHERITS_STDERR: GSpawnFlags = 1024;
15671pub const GSpawnFlags_G_SPAWN_STDIN_FROM_DEV_NULL: GSpawnFlags = 2048;
15672pub type GSpawnFlags = ::std::os::raw::c_uint;
15673extern "C" {
15674    pub fn g_spawn_error_quark() -> GQuark;
15675}
15676extern "C" {
15677    pub fn g_spawn_exit_error_quark() -> GQuark;
15678}
15679extern "C" {
15680    pub fn g_spawn_async(
15681        working_directory: *const gchar,
15682        argv: *mut *mut gchar,
15683        envp: *mut *mut gchar,
15684        flags: GSpawnFlags,
15685        child_setup: GSpawnChildSetupFunc,
15686        user_data: gpointer,
15687        child_pid: *mut GPid,
15688        error: *mut *mut GError,
15689    ) -> gboolean;
15690}
15691extern "C" {
15692    pub fn g_spawn_async_with_pipes(
15693        working_directory: *const gchar,
15694        argv: *mut *mut gchar,
15695        envp: *mut *mut gchar,
15696        flags: GSpawnFlags,
15697        child_setup: GSpawnChildSetupFunc,
15698        user_data: gpointer,
15699        child_pid: *mut GPid,
15700        standard_input: *mut gint,
15701        standard_output: *mut gint,
15702        standard_error: *mut gint,
15703        error: *mut *mut GError,
15704    ) -> gboolean;
15705}
15706extern "C" {
15707    pub fn g_spawn_async_with_pipes_and_fds(
15708        working_directory: *const gchar,
15709        argv: *const *const gchar,
15710        envp: *const *const gchar,
15711        flags: GSpawnFlags,
15712        child_setup: GSpawnChildSetupFunc,
15713        user_data: gpointer,
15714        stdin_fd: gint,
15715        stdout_fd: gint,
15716        stderr_fd: gint,
15717        source_fds: *const gint,
15718        target_fds: *const gint,
15719        n_fds: gsize,
15720        child_pid_out: *mut GPid,
15721        stdin_pipe_out: *mut gint,
15722        stdout_pipe_out: *mut gint,
15723        stderr_pipe_out: *mut gint,
15724        error: *mut *mut GError,
15725    ) -> gboolean;
15726}
15727extern "C" {
15728    pub fn g_spawn_async_with_fds(
15729        working_directory: *const gchar,
15730        argv: *mut *mut gchar,
15731        envp: *mut *mut gchar,
15732        flags: GSpawnFlags,
15733        child_setup: GSpawnChildSetupFunc,
15734        user_data: gpointer,
15735        child_pid: *mut GPid,
15736        stdin_fd: gint,
15737        stdout_fd: gint,
15738        stderr_fd: gint,
15739        error: *mut *mut GError,
15740    ) -> gboolean;
15741}
15742extern "C" {
15743    pub fn g_spawn_sync(
15744        working_directory: *const gchar,
15745        argv: *mut *mut gchar,
15746        envp: *mut *mut gchar,
15747        flags: GSpawnFlags,
15748        child_setup: GSpawnChildSetupFunc,
15749        user_data: gpointer,
15750        standard_output: *mut *mut gchar,
15751        standard_error: *mut *mut gchar,
15752        wait_status: *mut gint,
15753        error: *mut *mut GError,
15754    ) -> gboolean;
15755}
15756extern "C" {
15757    pub fn g_spawn_command_line_sync(
15758        command_line: *const gchar,
15759        standard_output: *mut *mut gchar,
15760        standard_error: *mut *mut gchar,
15761        wait_status: *mut gint,
15762        error: *mut *mut GError,
15763    ) -> gboolean;
15764}
15765extern "C" {
15766    pub fn g_spawn_command_line_async(
15767        command_line: *const gchar,
15768        error: *mut *mut GError,
15769    ) -> gboolean;
15770}
15771extern "C" {
15772    pub fn g_spawn_check_wait_status(wait_status: gint, error: *mut *mut GError) -> gboolean;
15773}
15774extern "C" {
15775    pub fn g_spawn_check_exit_status(wait_status: gint, error: *mut *mut GError) -> gboolean;
15776}
15777extern "C" {
15778    pub fn g_spawn_close_pid(pid: GPid);
15779}
15780#[repr(C)]
15781#[derive(Debug, Copy, Clone)]
15782pub struct _GStringChunk {
15783    _unused: [u8; 0],
15784}
15785pub type GStringChunk = _GStringChunk;
15786extern "C" {
15787    pub fn g_string_chunk_new(size: gsize) -> *mut GStringChunk;
15788}
15789extern "C" {
15790    pub fn g_string_chunk_free(chunk: *mut GStringChunk);
15791}
15792extern "C" {
15793    pub fn g_string_chunk_clear(chunk: *mut GStringChunk);
15794}
15795extern "C" {
15796    pub fn g_string_chunk_insert(chunk: *mut GStringChunk, string: *const gchar) -> *mut gchar;
15797}
15798extern "C" {
15799    pub fn g_string_chunk_insert_len(
15800        chunk: *mut GStringChunk,
15801        string: *const gchar,
15802        len: gssize,
15803    ) -> *mut gchar;
15804}
15805extern "C" {
15806    pub fn g_string_chunk_insert_const(
15807        chunk: *mut GStringChunk,
15808        string: *const gchar,
15809    ) -> *mut gchar;
15810}
15811#[repr(C)]
15812#[derive(Debug, Copy, Clone)]
15813pub struct _GStrvBuilder {
15814    _unused: [u8; 0],
15815}
15816pub type GStrvBuilder = _GStrvBuilder;
15817extern "C" {
15818    pub fn g_strv_builder_new() -> *mut GStrvBuilder;
15819}
15820extern "C" {
15821    pub fn g_strv_builder_unref(builder: *mut GStrvBuilder);
15822}
15823extern "C" {
15824    pub fn g_strv_builder_ref(builder: *mut GStrvBuilder) -> *mut GStrvBuilder;
15825}
15826extern "C" {
15827    pub fn g_strv_builder_add(builder: *mut GStrvBuilder, value: *const ::std::os::raw::c_char);
15828}
15829extern "C" {
15830    pub fn g_strv_builder_addv(
15831        builder: *mut GStrvBuilder,
15832        value: *mut *const ::std::os::raw::c_char,
15833    );
15834}
15835extern "C" {
15836    pub fn g_strv_builder_add_many(builder: *mut GStrvBuilder, ...);
15837}
15838extern "C" {
15839    pub fn g_strv_builder_end(builder: *mut GStrvBuilder) -> GStrv;
15840}
15841extern "C" {
15842    pub fn __errno_location() -> *mut ::std::os::raw::c_int;
15843}
15844#[repr(C)]
15845#[derive(Debug, Copy, Clone)]
15846pub struct GTestCase {
15847    _unused: [u8; 0],
15848}
15849#[repr(C)]
15850#[derive(Debug, Copy, Clone)]
15851pub struct GTestSuite {
15852    _unused: [u8; 0],
15853}
15854pub type GTestFunc = ::std::option::Option<unsafe extern "C" fn()>;
15855pub type GTestDataFunc = ::std::option::Option<unsafe extern "C" fn(user_data: gconstpointer)>;
15856pub type GTestFixtureFunc =
15857    ::std::option::Option<unsafe extern "C" fn(fixture: gpointer, user_data: gconstpointer)>;
15858extern "C" {
15859    pub fn g_strcmp0(
15860        str1: *const ::std::os::raw::c_char,
15861        str2: *const ::std::os::raw::c_char,
15862    ) -> ::std::os::raw::c_int;
15863}
15864extern "C" {
15865    pub fn g_test_minimized_result(
15866        minimized_quantity: f64,
15867        format: *const ::std::os::raw::c_char,
15868        ...
15869    );
15870}
15871extern "C" {
15872    pub fn g_test_maximized_result(
15873        maximized_quantity: f64,
15874        format: *const ::std::os::raw::c_char,
15875        ...
15876    );
15877}
15878extern "C" {
15879    pub fn g_test_init(
15880        argc: *mut ::std::os::raw::c_int,
15881        argv: *mut *mut *mut ::std::os::raw::c_char,
15882        ...
15883    );
15884}
15885extern "C" {
15886    pub fn g_test_subprocess() -> gboolean;
15887}
15888extern "C" {
15889    pub fn g_test_run() -> ::std::os::raw::c_int;
15890}
15891extern "C" {
15892    pub fn g_test_add_func(testpath: *const ::std::os::raw::c_char, test_func: GTestFunc);
15893}
15894extern "C" {
15895    pub fn g_test_add_data_func(
15896        testpath: *const ::std::os::raw::c_char,
15897        test_data: gconstpointer,
15898        test_func: GTestDataFunc,
15899    );
15900}
15901extern "C" {
15902    pub fn g_test_add_data_func_full(
15903        testpath: *const ::std::os::raw::c_char,
15904        test_data: gpointer,
15905        test_func: GTestDataFunc,
15906        data_free_func: GDestroyNotify,
15907    );
15908}
15909extern "C" {
15910    pub fn g_test_get_path() -> *const ::std::os::raw::c_char;
15911}
15912extern "C" {
15913    pub fn g_test_fail();
15914}
15915extern "C" {
15916    pub fn g_test_fail_printf(format: *const ::std::os::raw::c_char, ...);
15917}
15918extern "C" {
15919    pub fn g_test_incomplete(msg: *const gchar);
15920}
15921extern "C" {
15922    pub fn g_test_incomplete_printf(format: *const ::std::os::raw::c_char, ...);
15923}
15924extern "C" {
15925    pub fn g_test_skip(msg: *const gchar);
15926}
15927extern "C" {
15928    pub fn g_test_skip_printf(format: *const ::std::os::raw::c_char, ...);
15929}
15930extern "C" {
15931    pub fn g_test_failed() -> gboolean;
15932}
15933extern "C" {
15934    pub fn g_test_set_nonfatal_assertions();
15935}
15936extern "C" {
15937    pub fn g_test_disable_crash_reporting();
15938}
15939extern "C" {
15940    pub fn g_test_message(format: *const ::std::os::raw::c_char, ...);
15941}
15942extern "C" {
15943    pub fn g_test_bug_base(uri_pattern: *const ::std::os::raw::c_char);
15944}
15945extern "C" {
15946    pub fn g_test_bug(bug_uri_snippet: *const ::std::os::raw::c_char);
15947}
15948extern "C" {
15949    pub fn g_test_summary(summary: *const ::std::os::raw::c_char);
15950}
15951extern "C" {
15952    pub fn g_test_timer_start();
15953}
15954extern "C" {
15955    pub fn g_test_timer_elapsed() -> f64;
15956}
15957extern "C" {
15958    pub fn g_test_timer_last() -> f64;
15959}
15960extern "C" {
15961    pub fn g_test_queue_free(gfree_pointer: gpointer);
15962}
15963extern "C" {
15964    pub fn g_test_queue_destroy(destroy_func: GDestroyNotify, destroy_data: gpointer);
15965}
15966pub const GTestTrapFlags_G_TEST_TRAP_DEFAULT: GTestTrapFlags = 0;
15967pub const GTestTrapFlags_G_TEST_TRAP_SILENCE_STDOUT: GTestTrapFlags = 128;
15968pub const GTestTrapFlags_G_TEST_TRAP_SILENCE_STDERR: GTestTrapFlags = 256;
15969pub const GTestTrapFlags_G_TEST_TRAP_INHERIT_STDIN: GTestTrapFlags = 512;
15970pub type GTestTrapFlags = ::std::os::raw::c_uint;
15971extern "C" {
15972    pub fn g_test_trap_fork(usec_timeout: guint64, test_trap_flags: GTestTrapFlags) -> gboolean;
15973}
15974pub const GTestSubprocessFlags_G_TEST_SUBPROCESS_DEFAULT: GTestSubprocessFlags = 0;
15975pub const GTestSubprocessFlags_G_TEST_SUBPROCESS_INHERIT_STDIN: GTestSubprocessFlags = 1;
15976pub const GTestSubprocessFlags_G_TEST_SUBPROCESS_INHERIT_STDOUT: GTestSubprocessFlags = 2;
15977pub const GTestSubprocessFlags_G_TEST_SUBPROCESS_INHERIT_STDERR: GTestSubprocessFlags = 4;
15978pub type GTestSubprocessFlags = ::std::os::raw::c_uint;
15979extern "C" {
15980    pub fn g_test_trap_subprocess(
15981        test_path: *const ::std::os::raw::c_char,
15982        usec_timeout: guint64,
15983        test_flags: GTestSubprocessFlags,
15984    );
15985}
15986extern "C" {
15987    pub fn g_test_trap_has_passed() -> gboolean;
15988}
15989extern "C" {
15990    pub fn g_test_trap_reached_timeout() -> gboolean;
15991}
15992extern "C" {
15993    pub fn g_test_rand_int() -> gint32;
15994}
15995extern "C" {
15996    pub fn g_test_rand_int_range(begin: gint32, end: gint32) -> gint32;
15997}
15998extern "C" {
15999    pub fn g_test_rand_double() -> f64;
16000}
16001extern "C" {
16002    pub fn g_test_rand_double_range(range_start: f64, range_end: f64) -> f64;
16003}
16004extern "C" {
16005    pub fn g_test_create_case(
16006        test_name: *const ::std::os::raw::c_char,
16007        data_size: gsize,
16008        test_data: gconstpointer,
16009        data_setup: GTestFixtureFunc,
16010        data_test: GTestFixtureFunc,
16011        data_teardown: GTestFixtureFunc,
16012    ) -> *mut GTestCase;
16013}
16014extern "C" {
16015    pub fn g_test_create_suite(suite_name: *const ::std::os::raw::c_char) -> *mut GTestSuite;
16016}
16017extern "C" {
16018    pub fn g_test_get_root() -> *mut GTestSuite;
16019}
16020extern "C" {
16021    pub fn g_test_suite_add(suite: *mut GTestSuite, test_case: *mut GTestCase);
16022}
16023extern "C" {
16024    pub fn g_test_suite_add_suite(suite: *mut GTestSuite, nestedsuite: *mut GTestSuite);
16025}
16026extern "C" {
16027    pub fn g_test_run_suite(suite: *mut GTestSuite) -> ::std::os::raw::c_int;
16028}
16029extern "C" {
16030    pub fn g_test_case_free(test_case: *mut GTestCase);
16031}
16032extern "C" {
16033    pub fn g_test_suite_free(suite: *mut GTestSuite);
16034}
16035extern "C" {
16036    pub fn g_test_trap_assertions(
16037        domain: *const ::std::os::raw::c_char,
16038        file: *const ::std::os::raw::c_char,
16039        line: ::std::os::raw::c_int,
16040        func: *const ::std::os::raw::c_char,
16041        assertion_flags: guint64,
16042        pattern: *const ::std::os::raw::c_char,
16043    );
16044}
16045extern "C" {
16046    pub fn g_assertion_message(
16047        domain: *const ::std::os::raw::c_char,
16048        file: *const ::std::os::raw::c_char,
16049        line: ::std::os::raw::c_int,
16050        func: *const ::std::os::raw::c_char,
16051        message: *const ::std::os::raw::c_char,
16052    );
16053}
16054extern "C" {
16055    pub fn g_assertion_message_expr(
16056        domain: *const ::std::os::raw::c_char,
16057        file: *const ::std::os::raw::c_char,
16058        line: ::std::os::raw::c_int,
16059        func: *const ::std::os::raw::c_char,
16060        expr: *const ::std::os::raw::c_char,
16061    ) -> !;
16062}
16063extern "C" {
16064    pub fn g_assertion_message_cmpstr(
16065        domain: *const ::std::os::raw::c_char,
16066        file: *const ::std::os::raw::c_char,
16067        line: ::std::os::raw::c_int,
16068        func: *const ::std::os::raw::c_char,
16069        expr: *const ::std::os::raw::c_char,
16070        arg1: *const ::std::os::raw::c_char,
16071        cmp: *const ::std::os::raw::c_char,
16072        arg2: *const ::std::os::raw::c_char,
16073    );
16074}
16075extern "C" {
16076    pub fn g_assertion_message_cmpstrv(
16077        domain: *const ::std::os::raw::c_char,
16078        file: *const ::std::os::raw::c_char,
16079        line: ::std::os::raw::c_int,
16080        func: *const ::std::os::raw::c_char,
16081        expr: *const ::std::os::raw::c_char,
16082        arg1: *const *const ::std::os::raw::c_char,
16083        arg2: *const *const ::std::os::raw::c_char,
16084        first_wrong_idx: gsize,
16085    );
16086}
16087extern "C" {
16088    pub fn g_assertion_message_cmpint(
16089        domain: *const ::std::os::raw::c_char,
16090        file: *const ::std::os::raw::c_char,
16091        line: ::std::os::raw::c_int,
16092        func: *const ::std::os::raw::c_char,
16093        expr: *const ::std::os::raw::c_char,
16094        arg1: guint64,
16095        cmp: *const ::std::os::raw::c_char,
16096        arg2: guint64,
16097        numtype: ::std::os::raw::c_char,
16098    );
16099}
16100extern "C" {
16101    pub fn g_assertion_message_cmpnum(
16102        domain: *const ::std::os::raw::c_char,
16103        file: *const ::std::os::raw::c_char,
16104        line: ::std::os::raw::c_int,
16105        func: *const ::std::os::raw::c_char,
16106        expr: *const ::std::os::raw::c_char,
16107        arg1: u128,
16108        cmp: *const ::std::os::raw::c_char,
16109        arg2: u128,
16110        numtype: ::std::os::raw::c_char,
16111    );
16112}
16113extern "C" {
16114    pub fn g_assertion_message_error(
16115        domain: *const ::std::os::raw::c_char,
16116        file: *const ::std::os::raw::c_char,
16117        line: ::std::os::raw::c_int,
16118        func: *const ::std::os::raw::c_char,
16119        expr: *const ::std::os::raw::c_char,
16120        error: *const GError,
16121        error_domain: GQuark,
16122        error_code: ::std::os::raw::c_int,
16123    );
16124}
16125extern "C" {
16126    pub fn g_test_add_vtable(
16127        testpath: *const ::std::os::raw::c_char,
16128        data_size: gsize,
16129        test_data: gconstpointer,
16130        data_setup: GTestFixtureFunc,
16131        data_test: GTestFixtureFunc,
16132        data_teardown: GTestFixtureFunc,
16133    );
16134}
16135#[repr(C)]
16136#[derive(Debug, Copy, Clone, PartialEq, Eq)]
16137pub struct GTestConfig {
16138    pub test_initialized: gboolean,
16139    pub test_quick: gboolean,
16140    pub test_perf: gboolean,
16141    pub test_verbose: gboolean,
16142    pub test_quiet: gboolean,
16143    pub test_undefined: gboolean,
16144}
16145#[test]
16146fn bindgen_test_layout_GTestConfig() {
16147    const UNINIT: ::std::mem::MaybeUninit<GTestConfig> = ::std::mem::MaybeUninit::uninit();
16148    let ptr = UNINIT.as_ptr();
16149    assert_eq!(
16150        ::std::mem::size_of::<GTestConfig>(),
16151        24usize,
16152        concat!("Size of: ", stringify!(GTestConfig))
16153    );
16154    assert_eq!(
16155        ::std::mem::align_of::<GTestConfig>(),
16156        4usize,
16157        concat!("Alignment of ", stringify!(GTestConfig))
16158    );
16159    assert_eq!(
16160        unsafe { ::std::ptr::addr_of!((*ptr).test_initialized) as usize - ptr as usize },
16161        0usize,
16162        concat!(
16163            "Offset of field: ",
16164            stringify!(GTestConfig),
16165            "::",
16166            stringify!(test_initialized)
16167        )
16168    );
16169    assert_eq!(
16170        unsafe { ::std::ptr::addr_of!((*ptr).test_quick) as usize - ptr as usize },
16171        4usize,
16172        concat!(
16173            "Offset of field: ",
16174            stringify!(GTestConfig),
16175            "::",
16176            stringify!(test_quick)
16177        )
16178    );
16179    assert_eq!(
16180        unsafe { ::std::ptr::addr_of!((*ptr).test_perf) as usize - ptr as usize },
16181        8usize,
16182        concat!(
16183            "Offset of field: ",
16184            stringify!(GTestConfig),
16185            "::",
16186            stringify!(test_perf)
16187        )
16188    );
16189    assert_eq!(
16190        unsafe { ::std::ptr::addr_of!((*ptr).test_verbose) as usize - ptr as usize },
16191        12usize,
16192        concat!(
16193            "Offset of field: ",
16194            stringify!(GTestConfig),
16195            "::",
16196            stringify!(test_verbose)
16197        )
16198    );
16199    assert_eq!(
16200        unsafe { ::std::ptr::addr_of!((*ptr).test_quiet) as usize - ptr as usize },
16201        16usize,
16202        concat!(
16203            "Offset of field: ",
16204            stringify!(GTestConfig),
16205            "::",
16206            stringify!(test_quiet)
16207        )
16208    );
16209    assert_eq!(
16210        unsafe { ::std::ptr::addr_of!((*ptr).test_undefined) as usize - ptr as usize },
16211        20usize,
16212        concat!(
16213            "Offset of field: ",
16214            stringify!(GTestConfig),
16215            "::",
16216            stringify!(test_undefined)
16217        )
16218    );
16219}
16220extern "C" {
16221    pub static g_test_config_vars: *const GTestConfig;
16222}
16223pub const GTestResult_G_TEST_RUN_SUCCESS: GTestResult = 0;
16224pub const GTestResult_G_TEST_RUN_SKIPPED: GTestResult = 1;
16225pub const GTestResult_G_TEST_RUN_FAILURE: GTestResult = 2;
16226pub const GTestResult_G_TEST_RUN_INCOMPLETE: GTestResult = 3;
16227pub type GTestResult = ::std::os::raw::c_uint;
16228pub const GTestLogType_G_TEST_LOG_NONE: GTestLogType = 0;
16229pub const GTestLogType_G_TEST_LOG_ERROR: GTestLogType = 1;
16230pub const GTestLogType_G_TEST_LOG_START_BINARY: GTestLogType = 2;
16231pub const GTestLogType_G_TEST_LOG_LIST_CASE: GTestLogType = 3;
16232pub const GTestLogType_G_TEST_LOG_SKIP_CASE: GTestLogType = 4;
16233pub const GTestLogType_G_TEST_LOG_START_CASE: GTestLogType = 5;
16234pub const GTestLogType_G_TEST_LOG_STOP_CASE: GTestLogType = 6;
16235pub const GTestLogType_G_TEST_LOG_MIN_RESULT: GTestLogType = 7;
16236pub const GTestLogType_G_TEST_LOG_MAX_RESULT: GTestLogType = 8;
16237pub const GTestLogType_G_TEST_LOG_MESSAGE: GTestLogType = 9;
16238pub const GTestLogType_G_TEST_LOG_START_SUITE: GTestLogType = 10;
16239pub const GTestLogType_G_TEST_LOG_STOP_SUITE: GTestLogType = 11;
16240pub type GTestLogType = ::std::os::raw::c_uint;
16241#[repr(C)]
16242#[derive(Debug, Copy, Clone, PartialEq, Eq)]
16243pub struct GTestLogMsg {
16244    pub log_type: GTestLogType,
16245    pub n_strings: guint,
16246    pub strings: *mut *mut gchar,
16247    pub n_nums: guint,
16248    pub nums: *mut u128,
16249}
16250#[test]
16251fn bindgen_test_layout_GTestLogMsg() {
16252    const UNINIT: ::std::mem::MaybeUninit<GTestLogMsg> = ::std::mem::MaybeUninit::uninit();
16253    let ptr = UNINIT.as_ptr();
16254    assert_eq!(
16255        ::std::mem::size_of::<GTestLogMsg>(),
16256        32usize,
16257        concat!("Size of: ", stringify!(GTestLogMsg))
16258    );
16259    assert_eq!(
16260        ::std::mem::align_of::<GTestLogMsg>(),
16261        8usize,
16262        concat!("Alignment of ", stringify!(GTestLogMsg))
16263    );
16264    assert_eq!(
16265        unsafe { ::std::ptr::addr_of!((*ptr).log_type) as usize - ptr as usize },
16266        0usize,
16267        concat!(
16268            "Offset of field: ",
16269            stringify!(GTestLogMsg),
16270            "::",
16271            stringify!(log_type)
16272        )
16273    );
16274    assert_eq!(
16275        unsafe { ::std::ptr::addr_of!((*ptr).n_strings) as usize - ptr as usize },
16276        4usize,
16277        concat!(
16278            "Offset of field: ",
16279            stringify!(GTestLogMsg),
16280            "::",
16281            stringify!(n_strings)
16282        )
16283    );
16284    assert_eq!(
16285        unsafe { ::std::ptr::addr_of!((*ptr).strings) as usize - ptr as usize },
16286        8usize,
16287        concat!(
16288            "Offset of field: ",
16289            stringify!(GTestLogMsg),
16290            "::",
16291            stringify!(strings)
16292        )
16293    );
16294    assert_eq!(
16295        unsafe { ::std::ptr::addr_of!((*ptr).n_nums) as usize - ptr as usize },
16296        16usize,
16297        concat!(
16298            "Offset of field: ",
16299            stringify!(GTestLogMsg),
16300            "::",
16301            stringify!(n_nums)
16302        )
16303    );
16304    assert_eq!(
16305        unsafe { ::std::ptr::addr_of!((*ptr).nums) as usize - ptr as usize },
16306        24usize,
16307        concat!(
16308            "Offset of field: ",
16309            stringify!(GTestLogMsg),
16310            "::",
16311            stringify!(nums)
16312        )
16313    );
16314}
16315#[repr(C)]
16316#[derive(Debug, Copy, Clone, PartialEq, Eq)]
16317pub struct GTestLogBuffer {
16318    pub data: *mut GString,
16319    pub msgs: *mut GSList,
16320}
16321#[test]
16322fn bindgen_test_layout_GTestLogBuffer() {
16323    const UNINIT: ::std::mem::MaybeUninit<GTestLogBuffer> = ::std::mem::MaybeUninit::uninit();
16324    let ptr = UNINIT.as_ptr();
16325    assert_eq!(
16326        ::std::mem::size_of::<GTestLogBuffer>(),
16327        16usize,
16328        concat!("Size of: ", stringify!(GTestLogBuffer))
16329    );
16330    assert_eq!(
16331        ::std::mem::align_of::<GTestLogBuffer>(),
16332        8usize,
16333        concat!("Alignment of ", stringify!(GTestLogBuffer))
16334    );
16335    assert_eq!(
16336        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
16337        0usize,
16338        concat!(
16339            "Offset of field: ",
16340            stringify!(GTestLogBuffer),
16341            "::",
16342            stringify!(data)
16343        )
16344    );
16345    assert_eq!(
16346        unsafe { ::std::ptr::addr_of!((*ptr).msgs) as usize - ptr as usize },
16347        8usize,
16348        concat!(
16349            "Offset of field: ",
16350            stringify!(GTestLogBuffer),
16351            "::",
16352            stringify!(msgs)
16353        )
16354    );
16355}
16356extern "C" {
16357    pub fn g_test_log_type_name(log_type: GTestLogType) -> *const ::std::os::raw::c_char;
16358}
16359extern "C" {
16360    pub fn g_test_log_buffer_new() -> *mut GTestLogBuffer;
16361}
16362extern "C" {
16363    pub fn g_test_log_buffer_free(tbuffer: *mut GTestLogBuffer);
16364}
16365extern "C" {
16366    pub fn g_test_log_buffer_push(
16367        tbuffer: *mut GTestLogBuffer,
16368        n_bytes: guint,
16369        bytes: *const guint8,
16370    );
16371}
16372extern "C" {
16373    pub fn g_test_log_buffer_pop(tbuffer: *mut GTestLogBuffer) -> *mut GTestLogMsg;
16374}
16375extern "C" {
16376    pub fn g_test_log_msg_free(tmsg: *mut GTestLogMsg);
16377}
16378pub type GTestLogFatalFunc = ::std::option::Option<
16379    unsafe extern "C" fn(
16380        log_domain: *const gchar,
16381        log_level: GLogLevelFlags,
16382        message: *const gchar,
16383        user_data: gpointer,
16384    ) -> gboolean,
16385>;
16386extern "C" {
16387    pub fn g_test_log_set_fatal_handler(log_func: GTestLogFatalFunc, user_data: gpointer);
16388}
16389extern "C" {
16390    pub fn g_test_expect_message(
16391        log_domain: *const gchar,
16392        log_level: GLogLevelFlags,
16393        pattern: *const gchar,
16394    );
16395}
16396extern "C" {
16397    pub fn g_test_assert_expected_messages_internal(
16398        domain: *const ::std::os::raw::c_char,
16399        file: *const ::std::os::raw::c_char,
16400        line: ::std::os::raw::c_int,
16401        func: *const ::std::os::raw::c_char,
16402    );
16403}
16404pub const GTestFileType_G_TEST_DIST: GTestFileType = 0;
16405pub const GTestFileType_G_TEST_BUILT: GTestFileType = 1;
16406pub type GTestFileType = ::std::os::raw::c_uint;
16407extern "C" {
16408    pub fn g_test_build_filename(
16409        file_type: GTestFileType,
16410        first_path: *const gchar,
16411        ...
16412    ) -> *mut gchar;
16413}
16414extern "C" {
16415    pub fn g_test_get_dir(file_type: GTestFileType) -> *const gchar;
16416}
16417extern "C" {
16418    pub fn g_test_get_filename(
16419        file_type: GTestFileType,
16420        first_path: *const gchar,
16421        ...
16422    ) -> *const gchar;
16423}
16424pub type GThreadPool = _GThreadPool;
16425#[repr(C)]
16426#[derive(Debug, Copy, Clone, PartialEq, Eq)]
16427pub struct _GThreadPool {
16428    pub func: GFunc,
16429    pub user_data: gpointer,
16430    pub exclusive: gboolean,
16431}
16432#[test]
16433fn bindgen_test_layout__GThreadPool() {
16434    const UNINIT: ::std::mem::MaybeUninit<_GThreadPool> = ::std::mem::MaybeUninit::uninit();
16435    let ptr = UNINIT.as_ptr();
16436    assert_eq!(
16437        ::std::mem::size_of::<_GThreadPool>(),
16438        24usize,
16439        concat!("Size of: ", stringify!(_GThreadPool))
16440    );
16441    assert_eq!(
16442        ::std::mem::align_of::<_GThreadPool>(),
16443        8usize,
16444        concat!("Alignment of ", stringify!(_GThreadPool))
16445    );
16446    assert_eq!(
16447        unsafe { ::std::ptr::addr_of!((*ptr).func) as usize - ptr as usize },
16448        0usize,
16449        concat!(
16450            "Offset of field: ",
16451            stringify!(_GThreadPool),
16452            "::",
16453            stringify!(func)
16454        )
16455    );
16456    assert_eq!(
16457        unsafe { ::std::ptr::addr_of!((*ptr).user_data) as usize - ptr as usize },
16458        8usize,
16459        concat!(
16460            "Offset of field: ",
16461            stringify!(_GThreadPool),
16462            "::",
16463            stringify!(user_data)
16464        )
16465    );
16466    assert_eq!(
16467        unsafe { ::std::ptr::addr_of!((*ptr).exclusive) as usize - ptr as usize },
16468        16usize,
16469        concat!(
16470            "Offset of field: ",
16471            stringify!(_GThreadPool),
16472            "::",
16473            stringify!(exclusive)
16474        )
16475    );
16476}
16477extern "C" {
16478    pub fn g_thread_pool_new(
16479        func: GFunc,
16480        user_data: gpointer,
16481        max_threads: gint,
16482        exclusive: gboolean,
16483        error: *mut *mut GError,
16484    ) -> *mut GThreadPool;
16485}
16486extern "C" {
16487    pub fn g_thread_pool_new_full(
16488        func: GFunc,
16489        user_data: gpointer,
16490        item_free_func: GDestroyNotify,
16491        max_threads: gint,
16492        exclusive: gboolean,
16493        error: *mut *mut GError,
16494    ) -> *mut GThreadPool;
16495}
16496extern "C" {
16497    pub fn g_thread_pool_free(pool: *mut GThreadPool, immediate: gboolean, wait_: gboolean);
16498}
16499extern "C" {
16500    pub fn g_thread_pool_push(
16501        pool: *mut GThreadPool,
16502        data: gpointer,
16503        error: *mut *mut GError,
16504    ) -> gboolean;
16505}
16506extern "C" {
16507    pub fn g_thread_pool_unprocessed(pool: *mut GThreadPool) -> guint;
16508}
16509extern "C" {
16510    pub fn g_thread_pool_set_sort_function(
16511        pool: *mut GThreadPool,
16512        func: GCompareDataFunc,
16513        user_data: gpointer,
16514    );
16515}
16516extern "C" {
16517    pub fn g_thread_pool_move_to_front(pool: *mut GThreadPool, data: gpointer) -> gboolean;
16518}
16519extern "C" {
16520    pub fn g_thread_pool_set_max_threads(
16521        pool: *mut GThreadPool,
16522        max_threads: gint,
16523        error: *mut *mut GError,
16524    ) -> gboolean;
16525}
16526extern "C" {
16527    pub fn g_thread_pool_get_max_threads(pool: *mut GThreadPool) -> gint;
16528}
16529extern "C" {
16530    pub fn g_thread_pool_get_num_threads(pool: *mut GThreadPool) -> guint;
16531}
16532extern "C" {
16533    pub fn g_thread_pool_set_max_unused_threads(max_threads: gint);
16534}
16535extern "C" {
16536    pub fn g_thread_pool_get_max_unused_threads() -> gint;
16537}
16538extern "C" {
16539    pub fn g_thread_pool_get_num_unused_threads() -> guint;
16540}
16541extern "C" {
16542    pub fn g_thread_pool_stop_unused_threads();
16543}
16544extern "C" {
16545    pub fn g_thread_pool_set_max_idle_time(interval: guint);
16546}
16547extern "C" {
16548    pub fn g_thread_pool_get_max_idle_time() -> guint;
16549}
16550#[repr(C)]
16551#[derive(Debug, Copy, Clone)]
16552pub struct _GTimer {
16553    _unused: [u8; 0],
16554}
16555pub type GTimer = _GTimer;
16556extern "C" {
16557    pub fn g_timer_new() -> *mut GTimer;
16558}
16559extern "C" {
16560    pub fn g_timer_destroy(timer: *mut GTimer);
16561}
16562extern "C" {
16563    pub fn g_timer_start(timer: *mut GTimer);
16564}
16565extern "C" {
16566    pub fn g_timer_stop(timer: *mut GTimer);
16567}
16568extern "C" {
16569    pub fn g_timer_reset(timer: *mut GTimer);
16570}
16571extern "C" {
16572    pub fn g_timer_continue(timer: *mut GTimer);
16573}
16574extern "C" {
16575    pub fn g_timer_elapsed(timer: *mut GTimer, microseconds: *mut gulong) -> gdouble;
16576}
16577extern "C" {
16578    pub fn g_timer_is_active(timer: *mut GTimer) -> gboolean;
16579}
16580extern "C" {
16581    pub fn g_usleep(microseconds: gulong);
16582}
16583extern "C" {
16584    pub fn g_time_val_add(time_: *mut GTimeVal, microseconds: glong);
16585}
16586extern "C" {
16587    pub fn g_time_val_from_iso8601(iso_date: *const gchar, time_: *mut GTimeVal) -> gboolean;
16588}
16589extern "C" {
16590    pub fn g_time_val_to_iso8601(time_: *mut GTimeVal) -> *mut gchar;
16591}
16592pub type GTrashStack = _GTrashStack;
16593#[repr(C)]
16594#[derive(Debug, Copy, Clone, PartialEq, Eq)]
16595pub struct _GTrashStack {
16596    pub next: *mut GTrashStack,
16597}
16598#[test]
16599fn bindgen_test_layout__GTrashStack() {
16600    const UNINIT: ::std::mem::MaybeUninit<_GTrashStack> = ::std::mem::MaybeUninit::uninit();
16601    let ptr = UNINIT.as_ptr();
16602    assert_eq!(
16603        ::std::mem::size_of::<_GTrashStack>(),
16604        8usize,
16605        concat!("Size of: ", stringify!(_GTrashStack))
16606    );
16607    assert_eq!(
16608        ::std::mem::align_of::<_GTrashStack>(),
16609        8usize,
16610        concat!("Alignment of ", stringify!(_GTrashStack))
16611    );
16612    assert_eq!(
16613        unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
16614        0usize,
16615        concat!(
16616            "Offset of field: ",
16617            stringify!(_GTrashStack),
16618            "::",
16619            stringify!(next)
16620        )
16621    );
16622}
16623extern "C" {
16624    pub fn g_trash_stack_push(stack_p: *mut *mut GTrashStack, data_p: gpointer);
16625}
16626extern "C" {
16627    pub fn g_trash_stack_pop(stack_p: *mut *mut GTrashStack) -> gpointer;
16628}
16629extern "C" {
16630    pub fn g_trash_stack_peek(stack_p: *mut *mut GTrashStack) -> gpointer;
16631}
16632extern "C" {
16633    pub fn g_trash_stack_height(stack_p: *mut *mut GTrashStack) -> guint;
16634}
16635#[repr(C)]
16636#[derive(Debug, Copy, Clone)]
16637pub struct _GTree {
16638    _unused: [u8; 0],
16639}
16640pub type GTree = _GTree;
16641#[repr(C)]
16642#[derive(Debug, Copy, Clone)]
16643pub struct _GTreeNode {
16644    _unused: [u8; 0],
16645}
16646pub type GTreeNode = _GTreeNode;
16647pub type GTraverseFunc = ::std::option::Option<
16648    unsafe extern "C" fn(key: gpointer, value: gpointer, data: gpointer) -> gboolean,
16649>;
16650pub type GTraverseNodeFunc =
16651    ::std::option::Option<unsafe extern "C" fn(node: *mut GTreeNode, data: gpointer) -> gboolean>;
16652extern "C" {
16653    pub fn g_tree_new(key_compare_func: GCompareFunc) -> *mut GTree;
16654}
16655extern "C" {
16656    pub fn g_tree_new_with_data(
16657        key_compare_func: GCompareDataFunc,
16658        key_compare_data: gpointer,
16659    ) -> *mut GTree;
16660}
16661extern "C" {
16662    pub fn g_tree_new_full(
16663        key_compare_func: GCompareDataFunc,
16664        key_compare_data: gpointer,
16665        key_destroy_func: GDestroyNotify,
16666        value_destroy_func: GDestroyNotify,
16667    ) -> *mut GTree;
16668}
16669extern "C" {
16670    pub fn g_tree_node_first(tree: *mut GTree) -> *mut GTreeNode;
16671}
16672extern "C" {
16673    pub fn g_tree_node_last(tree: *mut GTree) -> *mut GTreeNode;
16674}
16675extern "C" {
16676    pub fn g_tree_node_previous(node: *mut GTreeNode) -> *mut GTreeNode;
16677}
16678extern "C" {
16679    pub fn g_tree_node_next(node: *mut GTreeNode) -> *mut GTreeNode;
16680}
16681extern "C" {
16682    pub fn g_tree_ref(tree: *mut GTree) -> *mut GTree;
16683}
16684extern "C" {
16685    pub fn g_tree_unref(tree: *mut GTree);
16686}
16687extern "C" {
16688    pub fn g_tree_destroy(tree: *mut GTree);
16689}
16690extern "C" {
16691    pub fn g_tree_insert_node(tree: *mut GTree, key: gpointer, value: gpointer) -> *mut GTreeNode;
16692}
16693extern "C" {
16694    pub fn g_tree_insert(tree: *mut GTree, key: gpointer, value: gpointer);
16695}
16696extern "C" {
16697    pub fn g_tree_replace_node(tree: *mut GTree, key: gpointer, value: gpointer) -> *mut GTreeNode;
16698}
16699extern "C" {
16700    pub fn g_tree_replace(tree: *mut GTree, key: gpointer, value: gpointer);
16701}
16702extern "C" {
16703    pub fn g_tree_remove(tree: *mut GTree, key: gconstpointer) -> gboolean;
16704}
16705extern "C" {
16706    pub fn g_tree_remove_all(tree: *mut GTree);
16707}
16708extern "C" {
16709    pub fn g_tree_steal(tree: *mut GTree, key: gconstpointer) -> gboolean;
16710}
16711extern "C" {
16712    pub fn g_tree_node_key(node: *mut GTreeNode) -> gpointer;
16713}
16714extern "C" {
16715    pub fn g_tree_node_value(node: *mut GTreeNode) -> gpointer;
16716}
16717extern "C" {
16718    pub fn g_tree_lookup_node(tree: *mut GTree, key: gconstpointer) -> *mut GTreeNode;
16719}
16720extern "C" {
16721    pub fn g_tree_lookup(tree: *mut GTree, key: gconstpointer) -> gpointer;
16722}
16723extern "C" {
16724    pub fn g_tree_lookup_extended(
16725        tree: *mut GTree,
16726        lookup_key: gconstpointer,
16727        orig_key: *mut gpointer,
16728        value: *mut gpointer,
16729    ) -> gboolean;
16730}
16731extern "C" {
16732    pub fn g_tree_foreach(tree: *mut GTree, func: GTraverseFunc, user_data: gpointer);
16733}
16734extern "C" {
16735    pub fn g_tree_foreach_node(tree: *mut GTree, func: GTraverseNodeFunc, user_data: gpointer);
16736}
16737extern "C" {
16738    pub fn g_tree_traverse(
16739        tree: *mut GTree,
16740        traverse_func: GTraverseFunc,
16741        traverse_type: GTraverseType,
16742        user_data: gpointer,
16743    );
16744}
16745extern "C" {
16746    pub fn g_tree_search_node(
16747        tree: *mut GTree,
16748        search_func: GCompareFunc,
16749        user_data: gconstpointer,
16750    ) -> *mut GTreeNode;
16751}
16752extern "C" {
16753    pub fn g_tree_search(
16754        tree: *mut GTree,
16755        search_func: GCompareFunc,
16756        user_data: gconstpointer,
16757    ) -> gpointer;
16758}
16759extern "C" {
16760    pub fn g_tree_lower_bound(tree: *mut GTree, key: gconstpointer) -> *mut GTreeNode;
16761}
16762extern "C" {
16763    pub fn g_tree_upper_bound(tree: *mut GTree, key: gconstpointer) -> *mut GTreeNode;
16764}
16765extern "C" {
16766    pub fn g_tree_height(tree: *mut GTree) -> gint;
16767}
16768extern "C" {
16769    pub fn g_tree_nnodes(tree: *mut GTree) -> gint;
16770}
16771#[repr(C)]
16772#[derive(Debug, Copy, Clone)]
16773pub struct _GUri {
16774    _unused: [u8; 0],
16775}
16776pub type GUri = _GUri;
16777extern "C" {
16778    pub fn g_uri_ref(uri: *mut GUri) -> *mut GUri;
16779}
16780extern "C" {
16781    pub fn g_uri_unref(uri: *mut GUri);
16782}
16783pub const GUriFlags_G_URI_FLAGS_NONE: GUriFlags = 0;
16784pub const GUriFlags_G_URI_FLAGS_PARSE_RELAXED: GUriFlags = 1;
16785pub const GUriFlags_G_URI_FLAGS_HAS_PASSWORD: GUriFlags = 2;
16786pub const GUriFlags_G_URI_FLAGS_HAS_AUTH_PARAMS: GUriFlags = 4;
16787pub const GUriFlags_G_URI_FLAGS_ENCODED: GUriFlags = 8;
16788pub const GUriFlags_G_URI_FLAGS_NON_DNS: GUriFlags = 16;
16789pub const GUriFlags_G_URI_FLAGS_ENCODED_QUERY: GUriFlags = 32;
16790pub const GUriFlags_G_URI_FLAGS_ENCODED_PATH: GUriFlags = 64;
16791pub const GUriFlags_G_URI_FLAGS_ENCODED_FRAGMENT: GUriFlags = 128;
16792pub const GUriFlags_G_URI_FLAGS_SCHEME_NORMALIZE: GUriFlags = 256;
16793pub type GUriFlags = ::std::os::raw::c_uint;
16794extern "C" {
16795    pub fn g_uri_split(
16796        uri_ref: *const gchar,
16797        flags: GUriFlags,
16798        scheme: *mut *mut gchar,
16799        userinfo: *mut *mut gchar,
16800        host: *mut *mut gchar,
16801        port: *mut gint,
16802        path: *mut *mut gchar,
16803        query: *mut *mut gchar,
16804        fragment: *mut *mut gchar,
16805        error: *mut *mut GError,
16806    ) -> gboolean;
16807}
16808extern "C" {
16809    pub fn g_uri_split_with_user(
16810        uri_ref: *const gchar,
16811        flags: GUriFlags,
16812        scheme: *mut *mut gchar,
16813        user: *mut *mut gchar,
16814        password: *mut *mut gchar,
16815        auth_params: *mut *mut gchar,
16816        host: *mut *mut gchar,
16817        port: *mut gint,
16818        path: *mut *mut gchar,
16819        query: *mut *mut gchar,
16820        fragment: *mut *mut gchar,
16821        error: *mut *mut GError,
16822    ) -> gboolean;
16823}
16824extern "C" {
16825    pub fn g_uri_split_network(
16826        uri_string: *const gchar,
16827        flags: GUriFlags,
16828        scheme: *mut *mut gchar,
16829        host: *mut *mut gchar,
16830        port: *mut gint,
16831        error: *mut *mut GError,
16832    ) -> gboolean;
16833}
16834extern "C" {
16835    pub fn g_uri_is_valid(
16836        uri_string: *const gchar,
16837        flags: GUriFlags,
16838        error: *mut *mut GError,
16839    ) -> gboolean;
16840}
16841extern "C" {
16842    pub fn g_uri_join(
16843        flags: GUriFlags,
16844        scheme: *const gchar,
16845        userinfo: *const gchar,
16846        host: *const gchar,
16847        port: gint,
16848        path: *const gchar,
16849        query: *const gchar,
16850        fragment: *const gchar,
16851    ) -> *mut gchar;
16852}
16853extern "C" {
16854    pub fn g_uri_join_with_user(
16855        flags: GUriFlags,
16856        scheme: *const gchar,
16857        user: *const gchar,
16858        password: *const gchar,
16859        auth_params: *const gchar,
16860        host: *const gchar,
16861        port: gint,
16862        path: *const gchar,
16863        query: *const gchar,
16864        fragment: *const gchar,
16865    ) -> *mut gchar;
16866}
16867extern "C" {
16868    pub fn g_uri_parse(
16869        uri_string: *const gchar,
16870        flags: GUriFlags,
16871        error: *mut *mut GError,
16872    ) -> *mut GUri;
16873}
16874extern "C" {
16875    pub fn g_uri_parse_relative(
16876        base_uri: *mut GUri,
16877        uri_ref: *const gchar,
16878        flags: GUriFlags,
16879        error: *mut *mut GError,
16880    ) -> *mut GUri;
16881}
16882extern "C" {
16883    pub fn g_uri_resolve_relative(
16884        base_uri_string: *const gchar,
16885        uri_ref: *const gchar,
16886        flags: GUriFlags,
16887        error: *mut *mut GError,
16888    ) -> *mut gchar;
16889}
16890extern "C" {
16891    pub fn g_uri_build(
16892        flags: GUriFlags,
16893        scheme: *const gchar,
16894        userinfo: *const gchar,
16895        host: *const gchar,
16896        port: gint,
16897        path: *const gchar,
16898        query: *const gchar,
16899        fragment: *const gchar,
16900    ) -> *mut GUri;
16901}
16902extern "C" {
16903    pub fn g_uri_build_with_user(
16904        flags: GUriFlags,
16905        scheme: *const gchar,
16906        user: *const gchar,
16907        password: *const gchar,
16908        auth_params: *const gchar,
16909        host: *const gchar,
16910        port: gint,
16911        path: *const gchar,
16912        query: *const gchar,
16913        fragment: *const gchar,
16914    ) -> *mut GUri;
16915}
16916pub const GUriHideFlags_G_URI_HIDE_NONE: GUriHideFlags = 0;
16917pub const GUriHideFlags_G_URI_HIDE_USERINFO: GUriHideFlags = 1;
16918pub const GUriHideFlags_G_URI_HIDE_PASSWORD: GUriHideFlags = 2;
16919pub const GUriHideFlags_G_URI_HIDE_AUTH_PARAMS: GUriHideFlags = 4;
16920pub const GUriHideFlags_G_URI_HIDE_QUERY: GUriHideFlags = 8;
16921pub const GUriHideFlags_G_URI_HIDE_FRAGMENT: GUriHideFlags = 16;
16922pub type GUriHideFlags = ::std::os::raw::c_uint;
16923extern "C" {
16924    pub fn g_uri_to_string(uri: *mut GUri) -> *mut ::std::os::raw::c_char;
16925}
16926extern "C" {
16927    pub fn g_uri_to_string_partial(
16928        uri: *mut GUri,
16929        flags: GUriHideFlags,
16930    ) -> *mut ::std::os::raw::c_char;
16931}
16932extern "C" {
16933    pub fn g_uri_get_scheme(uri: *mut GUri) -> *const gchar;
16934}
16935extern "C" {
16936    pub fn g_uri_get_userinfo(uri: *mut GUri) -> *const gchar;
16937}
16938extern "C" {
16939    pub fn g_uri_get_user(uri: *mut GUri) -> *const gchar;
16940}
16941extern "C" {
16942    pub fn g_uri_get_password(uri: *mut GUri) -> *const gchar;
16943}
16944extern "C" {
16945    pub fn g_uri_get_auth_params(uri: *mut GUri) -> *const gchar;
16946}
16947extern "C" {
16948    pub fn g_uri_get_host(uri: *mut GUri) -> *const gchar;
16949}
16950extern "C" {
16951    pub fn g_uri_get_port(uri: *mut GUri) -> gint;
16952}
16953extern "C" {
16954    pub fn g_uri_get_path(uri: *mut GUri) -> *const gchar;
16955}
16956extern "C" {
16957    pub fn g_uri_get_query(uri: *mut GUri) -> *const gchar;
16958}
16959extern "C" {
16960    pub fn g_uri_get_fragment(uri: *mut GUri) -> *const gchar;
16961}
16962extern "C" {
16963    pub fn g_uri_get_flags(uri: *mut GUri) -> GUriFlags;
16964}
16965pub const GUriParamsFlags_G_URI_PARAMS_NONE: GUriParamsFlags = 0;
16966pub const GUriParamsFlags_G_URI_PARAMS_CASE_INSENSITIVE: GUriParamsFlags = 1;
16967pub const GUriParamsFlags_G_URI_PARAMS_WWW_FORM: GUriParamsFlags = 2;
16968pub const GUriParamsFlags_G_URI_PARAMS_PARSE_RELAXED: GUriParamsFlags = 4;
16969pub type GUriParamsFlags = ::std::os::raw::c_uint;
16970extern "C" {
16971    pub fn g_uri_parse_params(
16972        params: *const gchar,
16973        length: gssize,
16974        separators: *const gchar,
16975        flags: GUriParamsFlags,
16976        error: *mut *mut GError,
16977    ) -> *mut GHashTable;
16978}
16979pub type GUriParamsIter = _GUriParamsIter;
16980#[repr(C)]
16981#[derive(Debug, Copy, Clone, PartialEq, Eq)]
16982pub struct _GUriParamsIter {
16983    pub dummy0: gint,
16984    pub dummy1: gpointer,
16985    pub dummy2: gpointer,
16986    pub dummy3: [guint8; 256usize],
16987}
16988#[test]
16989fn bindgen_test_layout__GUriParamsIter() {
16990    const UNINIT: ::std::mem::MaybeUninit<_GUriParamsIter> = ::std::mem::MaybeUninit::uninit();
16991    let ptr = UNINIT.as_ptr();
16992    assert_eq!(
16993        ::std::mem::size_of::<_GUriParamsIter>(),
16994        280usize,
16995        concat!("Size of: ", stringify!(_GUriParamsIter))
16996    );
16997    assert_eq!(
16998        ::std::mem::align_of::<_GUriParamsIter>(),
16999        8usize,
17000        concat!("Alignment of ", stringify!(_GUriParamsIter))
17001    );
17002    assert_eq!(
17003        unsafe { ::std::ptr::addr_of!((*ptr).dummy0) as usize - ptr as usize },
17004        0usize,
17005        concat!(
17006            "Offset of field: ",
17007            stringify!(_GUriParamsIter),
17008            "::",
17009            stringify!(dummy0)
17010        )
17011    );
17012    assert_eq!(
17013        unsafe { ::std::ptr::addr_of!((*ptr).dummy1) as usize - ptr as usize },
17014        8usize,
17015        concat!(
17016            "Offset of field: ",
17017            stringify!(_GUriParamsIter),
17018            "::",
17019            stringify!(dummy1)
17020        )
17021    );
17022    assert_eq!(
17023        unsafe { ::std::ptr::addr_of!((*ptr).dummy2) as usize - ptr as usize },
17024        16usize,
17025        concat!(
17026            "Offset of field: ",
17027            stringify!(_GUriParamsIter),
17028            "::",
17029            stringify!(dummy2)
17030        )
17031    );
17032    assert_eq!(
17033        unsafe { ::std::ptr::addr_of!((*ptr).dummy3) as usize - ptr as usize },
17034        24usize,
17035        concat!(
17036            "Offset of field: ",
17037            stringify!(_GUriParamsIter),
17038            "::",
17039            stringify!(dummy3)
17040        )
17041    );
17042}
17043extern "C" {
17044    pub fn g_uri_params_iter_init(
17045        iter: *mut GUriParamsIter,
17046        params: *const gchar,
17047        length: gssize,
17048        separators: *const gchar,
17049        flags: GUriParamsFlags,
17050    );
17051}
17052extern "C" {
17053    pub fn g_uri_params_iter_next(
17054        iter: *mut GUriParamsIter,
17055        attribute: *mut *mut gchar,
17056        value: *mut *mut gchar,
17057        error: *mut *mut GError,
17058    ) -> gboolean;
17059}
17060extern "C" {
17061    pub fn g_uri_error_quark() -> GQuark;
17062}
17063pub const GUriError_G_URI_ERROR_FAILED: GUriError = 0;
17064pub const GUriError_G_URI_ERROR_BAD_SCHEME: GUriError = 1;
17065pub const GUriError_G_URI_ERROR_BAD_USER: GUriError = 2;
17066pub const GUriError_G_URI_ERROR_BAD_PASSWORD: GUriError = 3;
17067pub const GUriError_G_URI_ERROR_BAD_AUTH_PARAMS: GUriError = 4;
17068pub const GUriError_G_URI_ERROR_BAD_HOST: GUriError = 5;
17069pub const GUriError_G_URI_ERROR_BAD_PORT: GUriError = 6;
17070pub const GUriError_G_URI_ERROR_BAD_PATH: GUriError = 7;
17071pub const GUriError_G_URI_ERROR_BAD_QUERY: GUriError = 8;
17072pub const GUriError_G_URI_ERROR_BAD_FRAGMENT: GUriError = 9;
17073pub type GUriError = ::std::os::raw::c_uint;
17074extern "C" {
17075    pub fn g_uri_unescape_string(
17076        escaped_string: *const ::std::os::raw::c_char,
17077        illegal_characters: *const ::std::os::raw::c_char,
17078    ) -> *mut ::std::os::raw::c_char;
17079}
17080extern "C" {
17081    pub fn g_uri_unescape_segment(
17082        escaped_string: *const ::std::os::raw::c_char,
17083        escaped_string_end: *const ::std::os::raw::c_char,
17084        illegal_characters: *const ::std::os::raw::c_char,
17085    ) -> *mut ::std::os::raw::c_char;
17086}
17087extern "C" {
17088    pub fn g_uri_parse_scheme(uri: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
17089}
17090extern "C" {
17091    pub fn g_uri_peek_scheme(uri: *const ::std::os::raw::c_char) -> *const ::std::os::raw::c_char;
17092}
17093extern "C" {
17094    pub fn g_uri_escape_string(
17095        unescaped: *const ::std::os::raw::c_char,
17096        reserved_chars_allowed: *const ::std::os::raw::c_char,
17097        allow_utf8: gboolean,
17098    ) -> *mut ::std::os::raw::c_char;
17099}
17100extern "C" {
17101    pub fn g_uri_unescape_bytes(
17102        escaped_string: *const ::std::os::raw::c_char,
17103        length: gssize,
17104        illegal_characters: *const ::std::os::raw::c_char,
17105        error: *mut *mut GError,
17106    ) -> *mut GBytes;
17107}
17108extern "C" {
17109    pub fn g_uri_escape_bytes(
17110        unescaped: *const guint8,
17111        length: gsize,
17112        reserved_chars_allowed: *const ::std::os::raw::c_char,
17113    ) -> *mut ::std::os::raw::c_char;
17114}
17115extern "C" {
17116    pub fn g_uuid_string_is_valid(str_: *const gchar) -> gboolean;
17117}
17118extern "C" {
17119    pub fn g_uuid_string_random() -> *mut gchar;
17120}
17121extern "C" {
17122    pub static glib_major_version: guint;
17123}
17124extern "C" {
17125    pub static glib_minor_version: guint;
17126}
17127extern "C" {
17128    pub static glib_micro_version: guint;
17129}
17130extern "C" {
17131    pub static glib_interface_age: guint;
17132}
17133extern "C" {
17134    pub static glib_binary_age: guint;
17135}
17136extern "C" {
17137    pub fn glib_check_version(
17138        required_major: guint,
17139        required_minor: guint,
17140        required_micro: guint,
17141    ) -> *const gchar;
17142}
17143#[repr(C)]
17144#[derive(Debug, Copy, Clone)]
17145pub struct _GAllocator {
17146    _unused: [u8; 0],
17147}
17148pub type GAllocator = _GAllocator;
17149#[repr(C)]
17150#[derive(Debug, Copy, Clone)]
17151pub struct _GMemChunk {
17152    _unused: [u8; 0],
17153}
17154pub type GMemChunk = _GMemChunk;
17155extern "C" {
17156    pub fn g_mem_chunk_new(
17157        name: *const gchar,
17158        atom_size: gint,
17159        area_size: gsize,
17160        type_: gint,
17161    ) -> *mut GMemChunk;
17162}
17163extern "C" {
17164    pub fn g_mem_chunk_destroy(mem_chunk: *mut GMemChunk);
17165}
17166extern "C" {
17167    pub fn g_mem_chunk_alloc(mem_chunk: *mut GMemChunk) -> gpointer;
17168}
17169extern "C" {
17170    pub fn g_mem_chunk_alloc0(mem_chunk: *mut GMemChunk) -> gpointer;
17171}
17172extern "C" {
17173    pub fn g_mem_chunk_free(mem_chunk: *mut GMemChunk, mem: gpointer);
17174}
17175extern "C" {
17176    pub fn g_mem_chunk_clean(mem_chunk: *mut GMemChunk);
17177}
17178extern "C" {
17179    pub fn g_mem_chunk_reset(mem_chunk: *mut GMemChunk);
17180}
17181extern "C" {
17182    pub fn g_mem_chunk_print(mem_chunk: *mut GMemChunk);
17183}
17184extern "C" {
17185    pub fn g_mem_chunk_info();
17186}
17187extern "C" {
17188    pub fn g_blow_chunks();
17189}
17190extern "C" {
17191    pub fn g_allocator_new(name: *const gchar, n_preallocs: guint) -> *mut GAllocator;
17192}
17193extern "C" {
17194    pub fn g_allocator_free(allocator: *mut GAllocator);
17195}
17196extern "C" {
17197    pub fn g_list_push_allocator(allocator: *mut GAllocator);
17198}
17199extern "C" {
17200    pub fn g_list_pop_allocator();
17201}
17202extern "C" {
17203    pub fn g_slist_push_allocator(allocator: *mut GAllocator);
17204}
17205extern "C" {
17206    pub fn g_slist_pop_allocator();
17207}
17208extern "C" {
17209    pub fn g_node_push_allocator(allocator: *mut GAllocator);
17210}
17211extern "C" {
17212    pub fn g_node_pop_allocator();
17213}
17214#[repr(C)]
17215#[derive(Debug, Copy, Clone)]
17216pub struct _GCache {
17217    _unused: [u8; 0],
17218}
17219pub type GCache = _GCache;
17220pub type GCacheNewFunc = ::std::option::Option<unsafe extern "C" fn(key: gpointer) -> gpointer>;
17221pub type GCacheDupFunc = ::std::option::Option<unsafe extern "C" fn(value: gpointer) -> gpointer>;
17222pub type GCacheDestroyFunc = ::std::option::Option<unsafe extern "C" fn(value: gpointer)>;
17223extern "C" {
17224    pub fn g_cache_new(
17225        value_new_func: GCacheNewFunc,
17226        value_destroy_func: GCacheDestroyFunc,
17227        key_dup_func: GCacheDupFunc,
17228        key_destroy_func: GCacheDestroyFunc,
17229        hash_key_func: GHashFunc,
17230        hash_value_func: GHashFunc,
17231        key_equal_func: GEqualFunc,
17232    ) -> *mut GCache;
17233}
17234extern "C" {
17235    pub fn g_cache_destroy(cache: *mut GCache);
17236}
17237extern "C" {
17238    pub fn g_cache_insert(cache: *mut GCache, key: gpointer) -> gpointer;
17239}
17240extern "C" {
17241    pub fn g_cache_remove(cache: *mut GCache, value: gconstpointer);
17242}
17243extern "C" {
17244    pub fn g_cache_key_foreach(cache: *mut GCache, func: GHFunc, user_data: gpointer);
17245}
17246extern "C" {
17247    pub fn g_cache_value_foreach(cache: *mut GCache, func: GHFunc, user_data: gpointer);
17248}
17249pub type GCompletion = _GCompletion;
17250pub type GCompletionFunc =
17251    ::std::option::Option<unsafe extern "C" fn(arg1: gpointer) -> *mut gchar>;
17252pub type GCompletionStrncmpFunc = ::std::option::Option<
17253    unsafe extern "C" fn(s1: *const gchar, s2: *const gchar, n: gsize) -> gint,
17254>;
17255#[repr(C)]
17256#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17257pub struct _GCompletion {
17258    pub items: *mut GList,
17259    pub func: GCompletionFunc,
17260    pub prefix: *mut gchar,
17261    pub cache: *mut GList,
17262    pub strncmp_func: GCompletionStrncmpFunc,
17263}
17264#[test]
17265fn bindgen_test_layout__GCompletion() {
17266    const UNINIT: ::std::mem::MaybeUninit<_GCompletion> = ::std::mem::MaybeUninit::uninit();
17267    let ptr = UNINIT.as_ptr();
17268    assert_eq!(
17269        ::std::mem::size_of::<_GCompletion>(),
17270        40usize,
17271        concat!("Size of: ", stringify!(_GCompletion))
17272    );
17273    assert_eq!(
17274        ::std::mem::align_of::<_GCompletion>(),
17275        8usize,
17276        concat!("Alignment of ", stringify!(_GCompletion))
17277    );
17278    assert_eq!(
17279        unsafe { ::std::ptr::addr_of!((*ptr).items) as usize - ptr as usize },
17280        0usize,
17281        concat!(
17282            "Offset of field: ",
17283            stringify!(_GCompletion),
17284            "::",
17285            stringify!(items)
17286        )
17287    );
17288    assert_eq!(
17289        unsafe { ::std::ptr::addr_of!((*ptr).func) as usize - ptr as usize },
17290        8usize,
17291        concat!(
17292            "Offset of field: ",
17293            stringify!(_GCompletion),
17294            "::",
17295            stringify!(func)
17296        )
17297    );
17298    assert_eq!(
17299        unsafe { ::std::ptr::addr_of!((*ptr).prefix) as usize - ptr as usize },
17300        16usize,
17301        concat!(
17302            "Offset of field: ",
17303            stringify!(_GCompletion),
17304            "::",
17305            stringify!(prefix)
17306        )
17307    );
17308    assert_eq!(
17309        unsafe { ::std::ptr::addr_of!((*ptr).cache) as usize - ptr as usize },
17310        24usize,
17311        concat!(
17312            "Offset of field: ",
17313            stringify!(_GCompletion),
17314            "::",
17315            stringify!(cache)
17316        )
17317    );
17318    assert_eq!(
17319        unsafe { ::std::ptr::addr_of!((*ptr).strncmp_func) as usize - ptr as usize },
17320        32usize,
17321        concat!(
17322            "Offset of field: ",
17323            stringify!(_GCompletion),
17324            "::",
17325            stringify!(strncmp_func)
17326        )
17327    );
17328}
17329extern "C" {
17330    pub fn g_completion_new(func: GCompletionFunc) -> *mut GCompletion;
17331}
17332extern "C" {
17333    pub fn g_completion_add_items(cmp: *mut GCompletion, items: *mut GList);
17334}
17335extern "C" {
17336    pub fn g_completion_remove_items(cmp: *mut GCompletion, items: *mut GList);
17337}
17338extern "C" {
17339    pub fn g_completion_clear_items(cmp: *mut GCompletion);
17340}
17341extern "C" {
17342    pub fn g_completion_complete(
17343        cmp: *mut GCompletion,
17344        prefix: *const gchar,
17345        new_prefix: *mut *mut gchar,
17346    ) -> *mut GList;
17347}
17348extern "C" {
17349    pub fn g_completion_complete_utf8(
17350        cmp: *mut GCompletion,
17351        prefix: *const gchar,
17352        new_prefix: *mut *mut gchar,
17353    ) -> *mut GList;
17354}
17355extern "C" {
17356    pub fn g_completion_set_compare(cmp: *mut GCompletion, strncmp_func: GCompletionStrncmpFunc);
17357}
17358extern "C" {
17359    pub fn g_completion_free(cmp: *mut GCompletion);
17360}
17361#[repr(C)]
17362#[derive(Debug, Copy, Clone)]
17363pub struct _GRelation {
17364    _unused: [u8; 0],
17365}
17366pub type GRelation = _GRelation;
17367pub type GTuples = _GTuples;
17368#[repr(C)]
17369#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17370pub struct _GTuples {
17371    pub len: guint,
17372}
17373#[test]
17374fn bindgen_test_layout__GTuples() {
17375    const UNINIT: ::std::mem::MaybeUninit<_GTuples> = ::std::mem::MaybeUninit::uninit();
17376    let ptr = UNINIT.as_ptr();
17377    assert_eq!(
17378        ::std::mem::size_of::<_GTuples>(),
17379        4usize,
17380        concat!("Size of: ", stringify!(_GTuples))
17381    );
17382    assert_eq!(
17383        ::std::mem::align_of::<_GTuples>(),
17384        4usize,
17385        concat!("Alignment of ", stringify!(_GTuples))
17386    );
17387    assert_eq!(
17388        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
17389        0usize,
17390        concat!(
17391            "Offset of field: ",
17392            stringify!(_GTuples),
17393            "::",
17394            stringify!(len)
17395        )
17396    );
17397}
17398extern "C" {
17399    pub fn g_relation_new(fields: gint) -> *mut GRelation;
17400}
17401extern "C" {
17402    pub fn g_relation_destroy(relation: *mut GRelation);
17403}
17404extern "C" {
17405    pub fn g_relation_index(
17406        relation: *mut GRelation,
17407        field: gint,
17408        hash_func: GHashFunc,
17409        key_equal_func: GEqualFunc,
17410    );
17411}
17412extern "C" {
17413    pub fn g_relation_insert(relation: *mut GRelation, ...);
17414}
17415extern "C" {
17416    pub fn g_relation_delete(relation: *mut GRelation, key: gconstpointer, field: gint) -> gint;
17417}
17418extern "C" {
17419    pub fn g_relation_select(
17420        relation: *mut GRelation,
17421        key: gconstpointer,
17422        field: gint,
17423    ) -> *mut GTuples;
17424}
17425extern "C" {
17426    pub fn g_relation_count(relation: *mut GRelation, key: gconstpointer, field: gint) -> gint;
17427}
17428extern "C" {
17429    pub fn g_relation_exists(relation: *mut GRelation, ...) -> gboolean;
17430}
17431extern "C" {
17432    pub fn g_relation_print(relation: *mut GRelation);
17433}
17434extern "C" {
17435    pub fn g_tuples_destroy(tuples: *mut GTuples);
17436}
17437extern "C" {
17438    pub fn g_tuples_index(tuples: *mut GTuples, index_: gint, field: gint) -> gpointer;
17439}
17440pub const GThreadPriority_G_THREAD_PRIORITY_LOW: GThreadPriority = 0;
17441pub const GThreadPriority_G_THREAD_PRIORITY_NORMAL: GThreadPriority = 1;
17442pub const GThreadPriority_G_THREAD_PRIORITY_HIGH: GThreadPriority = 2;
17443pub const GThreadPriority_G_THREAD_PRIORITY_URGENT: GThreadPriority = 3;
17444pub type GThreadPriority = ::std::os::raw::c_uint;
17445#[repr(C)]
17446#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17447pub struct _GThread {
17448    pub func: GThreadFunc,
17449    pub data: gpointer,
17450    pub joinable: gboolean,
17451    pub priority: GThreadPriority,
17452}
17453#[test]
17454fn bindgen_test_layout__GThread() {
17455    const UNINIT: ::std::mem::MaybeUninit<_GThread> = ::std::mem::MaybeUninit::uninit();
17456    let ptr = UNINIT.as_ptr();
17457    assert_eq!(
17458        ::std::mem::size_of::<_GThread>(),
17459        24usize,
17460        concat!("Size of: ", stringify!(_GThread))
17461    );
17462    assert_eq!(
17463        ::std::mem::align_of::<_GThread>(),
17464        8usize,
17465        concat!("Alignment of ", stringify!(_GThread))
17466    );
17467    assert_eq!(
17468        unsafe { ::std::ptr::addr_of!((*ptr).func) as usize - ptr as usize },
17469        0usize,
17470        concat!(
17471            "Offset of field: ",
17472            stringify!(_GThread),
17473            "::",
17474            stringify!(func)
17475        )
17476    );
17477    assert_eq!(
17478        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
17479        8usize,
17480        concat!(
17481            "Offset of field: ",
17482            stringify!(_GThread),
17483            "::",
17484            stringify!(data)
17485        )
17486    );
17487    assert_eq!(
17488        unsafe { ::std::ptr::addr_of!((*ptr).joinable) as usize - ptr as usize },
17489        16usize,
17490        concat!(
17491            "Offset of field: ",
17492            stringify!(_GThread),
17493            "::",
17494            stringify!(joinable)
17495        )
17496    );
17497    assert_eq!(
17498        unsafe { ::std::ptr::addr_of!((*ptr).priority) as usize - ptr as usize },
17499        20usize,
17500        concat!(
17501            "Offset of field: ",
17502            stringify!(_GThread),
17503            "::",
17504            stringify!(priority)
17505        )
17506    );
17507}
17508pub type GThreadFunctions = _GThreadFunctions;
17509#[repr(C)]
17510#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17511pub struct _GThreadFunctions {
17512    pub mutex_new: ::std::option::Option<unsafe extern "C" fn() -> *mut GMutex>,
17513    pub mutex_lock: ::std::option::Option<unsafe extern "C" fn(mutex: *mut GMutex)>,
17514    pub mutex_trylock: ::std::option::Option<unsafe extern "C" fn(mutex: *mut GMutex) -> gboolean>,
17515    pub mutex_unlock: ::std::option::Option<unsafe extern "C" fn(mutex: *mut GMutex)>,
17516    pub mutex_free: ::std::option::Option<unsafe extern "C" fn(mutex: *mut GMutex)>,
17517    pub cond_new: ::std::option::Option<unsafe extern "C" fn() -> *mut GCond>,
17518    pub cond_signal: ::std::option::Option<unsafe extern "C" fn(cond: *mut GCond)>,
17519    pub cond_broadcast: ::std::option::Option<unsafe extern "C" fn(cond: *mut GCond)>,
17520    pub cond_wait:
17521        ::std::option::Option<unsafe extern "C" fn(cond: *mut GCond, mutex: *mut GMutex)>,
17522    pub cond_timed_wait: ::std::option::Option<
17523        unsafe extern "C" fn(
17524            cond: *mut GCond,
17525            mutex: *mut GMutex,
17526            end_time: *mut GTimeVal,
17527        ) -> gboolean,
17528    >,
17529    pub cond_free: ::std::option::Option<unsafe extern "C" fn(cond: *mut GCond)>,
17530    pub private_new:
17531        ::std::option::Option<unsafe extern "C" fn(destructor: GDestroyNotify) -> *mut GPrivate>,
17532    pub private_get:
17533        ::std::option::Option<unsafe extern "C" fn(private_key: *mut GPrivate) -> gpointer>,
17534    pub private_set:
17535        ::std::option::Option<unsafe extern "C" fn(private_key: *mut GPrivate, data: gpointer)>,
17536    pub thread_create: ::std::option::Option<
17537        unsafe extern "C" fn(
17538            func: GThreadFunc,
17539            data: gpointer,
17540            stack_size: gulong,
17541            joinable: gboolean,
17542            bound: gboolean,
17543            priority: GThreadPriority,
17544            thread: gpointer,
17545            error: *mut *mut GError,
17546        ),
17547    >,
17548    pub thread_yield: ::std::option::Option<unsafe extern "C" fn()>,
17549    pub thread_join: ::std::option::Option<unsafe extern "C" fn(thread: gpointer)>,
17550    pub thread_exit: ::std::option::Option<unsafe extern "C" fn()>,
17551    pub thread_set_priority:
17552        ::std::option::Option<unsafe extern "C" fn(thread: gpointer, priority: GThreadPriority)>,
17553    pub thread_self: ::std::option::Option<unsafe extern "C" fn(thread: gpointer)>,
17554    pub thread_equal: ::std::option::Option<
17555        unsafe extern "C" fn(thread1: gpointer, thread2: gpointer) -> gboolean,
17556    >,
17557}
17558#[test]
17559fn bindgen_test_layout__GThreadFunctions() {
17560    const UNINIT: ::std::mem::MaybeUninit<_GThreadFunctions> = ::std::mem::MaybeUninit::uninit();
17561    let ptr = UNINIT.as_ptr();
17562    assert_eq!(
17563        ::std::mem::size_of::<_GThreadFunctions>(),
17564        168usize,
17565        concat!("Size of: ", stringify!(_GThreadFunctions))
17566    );
17567    assert_eq!(
17568        ::std::mem::align_of::<_GThreadFunctions>(),
17569        8usize,
17570        concat!("Alignment of ", stringify!(_GThreadFunctions))
17571    );
17572    assert_eq!(
17573        unsafe { ::std::ptr::addr_of!((*ptr).mutex_new) as usize - ptr as usize },
17574        0usize,
17575        concat!(
17576            "Offset of field: ",
17577            stringify!(_GThreadFunctions),
17578            "::",
17579            stringify!(mutex_new)
17580        )
17581    );
17582    assert_eq!(
17583        unsafe { ::std::ptr::addr_of!((*ptr).mutex_lock) as usize - ptr as usize },
17584        8usize,
17585        concat!(
17586            "Offset of field: ",
17587            stringify!(_GThreadFunctions),
17588            "::",
17589            stringify!(mutex_lock)
17590        )
17591    );
17592    assert_eq!(
17593        unsafe { ::std::ptr::addr_of!((*ptr).mutex_trylock) as usize - ptr as usize },
17594        16usize,
17595        concat!(
17596            "Offset of field: ",
17597            stringify!(_GThreadFunctions),
17598            "::",
17599            stringify!(mutex_trylock)
17600        )
17601    );
17602    assert_eq!(
17603        unsafe { ::std::ptr::addr_of!((*ptr).mutex_unlock) as usize - ptr as usize },
17604        24usize,
17605        concat!(
17606            "Offset of field: ",
17607            stringify!(_GThreadFunctions),
17608            "::",
17609            stringify!(mutex_unlock)
17610        )
17611    );
17612    assert_eq!(
17613        unsafe { ::std::ptr::addr_of!((*ptr).mutex_free) as usize - ptr as usize },
17614        32usize,
17615        concat!(
17616            "Offset of field: ",
17617            stringify!(_GThreadFunctions),
17618            "::",
17619            stringify!(mutex_free)
17620        )
17621    );
17622    assert_eq!(
17623        unsafe { ::std::ptr::addr_of!((*ptr).cond_new) as usize - ptr as usize },
17624        40usize,
17625        concat!(
17626            "Offset of field: ",
17627            stringify!(_GThreadFunctions),
17628            "::",
17629            stringify!(cond_new)
17630        )
17631    );
17632    assert_eq!(
17633        unsafe { ::std::ptr::addr_of!((*ptr).cond_signal) as usize - ptr as usize },
17634        48usize,
17635        concat!(
17636            "Offset of field: ",
17637            stringify!(_GThreadFunctions),
17638            "::",
17639            stringify!(cond_signal)
17640        )
17641    );
17642    assert_eq!(
17643        unsafe { ::std::ptr::addr_of!((*ptr).cond_broadcast) as usize - ptr as usize },
17644        56usize,
17645        concat!(
17646            "Offset of field: ",
17647            stringify!(_GThreadFunctions),
17648            "::",
17649            stringify!(cond_broadcast)
17650        )
17651    );
17652    assert_eq!(
17653        unsafe { ::std::ptr::addr_of!((*ptr).cond_wait) as usize - ptr as usize },
17654        64usize,
17655        concat!(
17656            "Offset of field: ",
17657            stringify!(_GThreadFunctions),
17658            "::",
17659            stringify!(cond_wait)
17660        )
17661    );
17662    assert_eq!(
17663        unsafe { ::std::ptr::addr_of!((*ptr).cond_timed_wait) as usize - ptr as usize },
17664        72usize,
17665        concat!(
17666            "Offset of field: ",
17667            stringify!(_GThreadFunctions),
17668            "::",
17669            stringify!(cond_timed_wait)
17670        )
17671    );
17672    assert_eq!(
17673        unsafe { ::std::ptr::addr_of!((*ptr).cond_free) as usize - ptr as usize },
17674        80usize,
17675        concat!(
17676            "Offset of field: ",
17677            stringify!(_GThreadFunctions),
17678            "::",
17679            stringify!(cond_free)
17680        )
17681    );
17682    assert_eq!(
17683        unsafe { ::std::ptr::addr_of!((*ptr).private_new) as usize - ptr as usize },
17684        88usize,
17685        concat!(
17686            "Offset of field: ",
17687            stringify!(_GThreadFunctions),
17688            "::",
17689            stringify!(private_new)
17690        )
17691    );
17692    assert_eq!(
17693        unsafe { ::std::ptr::addr_of!((*ptr).private_get) as usize - ptr as usize },
17694        96usize,
17695        concat!(
17696            "Offset of field: ",
17697            stringify!(_GThreadFunctions),
17698            "::",
17699            stringify!(private_get)
17700        )
17701    );
17702    assert_eq!(
17703        unsafe { ::std::ptr::addr_of!((*ptr).private_set) as usize - ptr as usize },
17704        104usize,
17705        concat!(
17706            "Offset of field: ",
17707            stringify!(_GThreadFunctions),
17708            "::",
17709            stringify!(private_set)
17710        )
17711    );
17712    assert_eq!(
17713        unsafe { ::std::ptr::addr_of!((*ptr).thread_create) as usize - ptr as usize },
17714        112usize,
17715        concat!(
17716            "Offset of field: ",
17717            stringify!(_GThreadFunctions),
17718            "::",
17719            stringify!(thread_create)
17720        )
17721    );
17722    assert_eq!(
17723        unsafe { ::std::ptr::addr_of!((*ptr).thread_yield) as usize - ptr as usize },
17724        120usize,
17725        concat!(
17726            "Offset of field: ",
17727            stringify!(_GThreadFunctions),
17728            "::",
17729            stringify!(thread_yield)
17730        )
17731    );
17732    assert_eq!(
17733        unsafe { ::std::ptr::addr_of!((*ptr).thread_join) as usize - ptr as usize },
17734        128usize,
17735        concat!(
17736            "Offset of field: ",
17737            stringify!(_GThreadFunctions),
17738            "::",
17739            stringify!(thread_join)
17740        )
17741    );
17742    assert_eq!(
17743        unsafe { ::std::ptr::addr_of!((*ptr).thread_exit) as usize - ptr as usize },
17744        136usize,
17745        concat!(
17746            "Offset of field: ",
17747            stringify!(_GThreadFunctions),
17748            "::",
17749            stringify!(thread_exit)
17750        )
17751    );
17752    assert_eq!(
17753        unsafe { ::std::ptr::addr_of!((*ptr).thread_set_priority) as usize - ptr as usize },
17754        144usize,
17755        concat!(
17756            "Offset of field: ",
17757            stringify!(_GThreadFunctions),
17758            "::",
17759            stringify!(thread_set_priority)
17760        )
17761    );
17762    assert_eq!(
17763        unsafe { ::std::ptr::addr_of!((*ptr).thread_self) as usize - ptr as usize },
17764        152usize,
17765        concat!(
17766            "Offset of field: ",
17767            stringify!(_GThreadFunctions),
17768            "::",
17769            stringify!(thread_self)
17770        )
17771    );
17772    assert_eq!(
17773        unsafe { ::std::ptr::addr_of!((*ptr).thread_equal) as usize - ptr as usize },
17774        160usize,
17775        concat!(
17776            "Offset of field: ",
17777            stringify!(_GThreadFunctions),
17778            "::",
17779            stringify!(thread_equal)
17780        )
17781    );
17782}
17783extern "C" {
17784    pub static mut g_thread_functions_for_glib_use: GThreadFunctions;
17785}
17786extern "C" {
17787    pub static mut g_thread_use_default_impl: gboolean;
17788}
17789extern "C" {
17790    pub static mut g_thread_gettime: ::std::option::Option<unsafe extern "C" fn() -> guint64>;
17791}
17792extern "C" {
17793    pub fn g_thread_create(
17794        func: GThreadFunc,
17795        data: gpointer,
17796        joinable: gboolean,
17797        error: *mut *mut GError,
17798    ) -> *mut GThread;
17799}
17800extern "C" {
17801    pub fn g_thread_create_full(
17802        func: GThreadFunc,
17803        data: gpointer,
17804        stack_size: gulong,
17805        joinable: gboolean,
17806        bound: gboolean,
17807        priority: GThreadPriority,
17808        error: *mut *mut GError,
17809    ) -> *mut GThread;
17810}
17811extern "C" {
17812    pub fn g_thread_set_priority(thread: *mut GThread, priority: GThreadPriority);
17813}
17814extern "C" {
17815    pub fn g_thread_foreach(thread_func: GFunc, user_data: gpointer);
17816}
17817pub type blksize_t = ::std::os::raw::c_int;
17818pub type nlink_t = ::std::os::raw::c_uint;
17819pub type ssize_t = ::std::os::raw::c_long;
17820pub type register_t = ::std::os::raw::c_long;
17821pub type suseconds_t = ::std::os::raw::c_long;
17822pub type u_int64_t = ::std::os::raw::c_ulong;
17823pub type mode_t = ::std::os::raw::c_uint;
17824pub type dev_t = ::std::os::raw::c_ulong;
17825pub type blkcnt_t = ::std::os::raw::c_long;
17826pub type fsblkcnt_t = ::std::os::raw::c_ulong;
17827pub type fsfilcnt_t = ::std::os::raw::c_ulong;
17828pub type id_t = ::std::os::raw::c_uint;
17829pub type gid_t = ::std::os::raw::c_uint;
17830pub type key_t = ::std::os::raw::c_int;
17831pub type useconds_t = ::std::os::raw::c_uint;
17832pub type pthread_once_t = ::std::os::raw::c_int;
17833pub type pthread_key_t = ::std::os::raw::c_uint;
17834pub type pthread_spinlock_t = ::std::os::raw::c_int;
17835#[repr(C)]
17836#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17837pub struct pthread_mutexattr_t {
17838    pub __attr: ::std::os::raw::c_uint,
17839}
17840#[test]
17841fn bindgen_test_layout_pthread_mutexattr_t() {
17842    const UNINIT: ::std::mem::MaybeUninit<pthread_mutexattr_t> = ::std::mem::MaybeUninit::uninit();
17843    let ptr = UNINIT.as_ptr();
17844    assert_eq!(
17845        ::std::mem::size_of::<pthread_mutexattr_t>(),
17846        4usize,
17847        concat!("Size of: ", stringify!(pthread_mutexattr_t))
17848    );
17849    assert_eq!(
17850        ::std::mem::align_of::<pthread_mutexattr_t>(),
17851        4usize,
17852        concat!("Alignment of ", stringify!(pthread_mutexattr_t))
17853    );
17854    assert_eq!(
17855        unsafe { ::std::ptr::addr_of!((*ptr).__attr) as usize - ptr as usize },
17856        0usize,
17857        concat!(
17858            "Offset of field: ",
17859            stringify!(pthread_mutexattr_t),
17860            "::",
17861            stringify!(__attr)
17862        )
17863    );
17864}
17865#[repr(C)]
17866#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17867pub struct pthread_condattr_t {
17868    pub __attr: ::std::os::raw::c_uint,
17869}
17870#[test]
17871fn bindgen_test_layout_pthread_condattr_t() {
17872    const UNINIT: ::std::mem::MaybeUninit<pthread_condattr_t> = ::std::mem::MaybeUninit::uninit();
17873    let ptr = UNINIT.as_ptr();
17874    assert_eq!(
17875        ::std::mem::size_of::<pthread_condattr_t>(),
17876        4usize,
17877        concat!("Size of: ", stringify!(pthread_condattr_t))
17878    );
17879    assert_eq!(
17880        ::std::mem::align_of::<pthread_condattr_t>(),
17881        4usize,
17882        concat!("Alignment of ", stringify!(pthread_condattr_t))
17883    );
17884    assert_eq!(
17885        unsafe { ::std::ptr::addr_of!((*ptr).__attr) as usize - ptr as usize },
17886        0usize,
17887        concat!(
17888            "Offset of field: ",
17889            stringify!(pthread_condattr_t),
17890            "::",
17891            stringify!(__attr)
17892        )
17893    );
17894}
17895#[repr(C)]
17896#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17897pub struct pthread_barrierattr_t {
17898    pub __attr: ::std::os::raw::c_uint,
17899}
17900#[test]
17901fn bindgen_test_layout_pthread_barrierattr_t() {
17902    const UNINIT: ::std::mem::MaybeUninit<pthread_barrierattr_t> =
17903        ::std::mem::MaybeUninit::uninit();
17904    let ptr = UNINIT.as_ptr();
17905    assert_eq!(
17906        ::std::mem::size_of::<pthread_barrierattr_t>(),
17907        4usize,
17908        concat!("Size of: ", stringify!(pthread_barrierattr_t))
17909    );
17910    assert_eq!(
17911        ::std::mem::align_of::<pthread_barrierattr_t>(),
17912        4usize,
17913        concat!("Alignment of ", stringify!(pthread_barrierattr_t))
17914    );
17915    assert_eq!(
17916        unsafe { ::std::ptr::addr_of!((*ptr).__attr) as usize - ptr as usize },
17917        0usize,
17918        concat!(
17919            "Offset of field: ",
17920            stringify!(pthread_barrierattr_t),
17921            "::",
17922            stringify!(__attr)
17923        )
17924    );
17925}
17926#[repr(C)]
17927#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17928pub struct pthread_rwlockattr_t {
17929    pub __attr: [::std::os::raw::c_uint; 2usize],
17930}
17931#[test]
17932fn bindgen_test_layout_pthread_rwlockattr_t() {
17933    const UNINIT: ::std::mem::MaybeUninit<pthread_rwlockattr_t> = ::std::mem::MaybeUninit::uninit();
17934    let ptr = UNINIT.as_ptr();
17935    assert_eq!(
17936        ::std::mem::size_of::<pthread_rwlockattr_t>(),
17937        8usize,
17938        concat!("Size of: ", stringify!(pthread_rwlockattr_t))
17939    );
17940    assert_eq!(
17941        ::std::mem::align_of::<pthread_rwlockattr_t>(),
17942        4usize,
17943        concat!("Alignment of ", stringify!(pthread_rwlockattr_t))
17944    );
17945    assert_eq!(
17946        unsafe { ::std::ptr::addr_of!((*ptr).__attr) as usize - ptr as usize },
17947        0usize,
17948        concat!(
17949            "Offset of field: ",
17950            stringify!(pthread_rwlockattr_t),
17951            "::",
17952            stringify!(__attr)
17953        )
17954    );
17955}
17956#[repr(C)]
17957#[derive(Copy, Clone)]
17958pub struct pthread_mutex_t {
17959    pub __u: pthread_mutex_t__bindgen_ty_1,
17960}
17961#[repr(C)]
17962#[derive(Copy, Clone)]
17963pub union pthread_mutex_t__bindgen_ty_1 {
17964    pub __i: [::std::os::raw::c_int; 10usize],
17965    pub __vi: [::std::os::raw::c_int; 10usize],
17966    pub __p: [*mut ::std::os::raw::c_void; 5usize],
17967}
17968#[test]
17969fn bindgen_test_layout_pthread_mutex_t__bindgen_ty_1() {
17970    const UNINIT: ::std::mem::MaybeUninit<pthread_mutex_t__bindgen_ty_1> =
17971        ::std::mem::MaybeUninit::uninit();
17972    let ptr = UNINIT.as_ptr();
17973    assert_eq!(
17974        ::std::mem::size_of::<pthread_mutex_t__bindgen_ty_1>(),
17975        40usize,
17976        concat!("Size of: ", stringify!(pthread_mutex_t__bindgen_ty_1))
17977    );
17978    assert_eq!(
17979        ::std::mem::align_of::<pthread_mutex_t__bindgen_ty_1>(),
17980        8usize,
17981        concat!("Alignment of ", stringify!(pthread_mutex_t__bindgen_ty_1))
17982    );
17983    assert_eq!(
17984        unsafe { ::std::ptr::addr_of!((*ptr).__i) as usize - ptr as usize },
17985        0usize,
17986        concat!(
17987            "Offset of field: ",
17988            stringify!(pthread_mutex_t__bindgen_ty_1),
17989            "::",
17990            stringify!(__i)
17991        )
17992    );
17993    assert_eq!(
17994        unsafe { ::std::ptr::addr_of!((*ptr).__vi) as usize - ptr as usize },
17995        0usize,
17996        concat!(
17997            "Offset of field: ",
17998            stringify!(pthread_mutex_t__bindgen_ty_1),
17999            "::",
18000            stringify!(__vi)
18001        )
18002    );
18003    assert_eq!(
18004        unsafe { ::std::ptr::addr_of!((*ptr).__p) as usize - ptr as usize },
18005        0usize,
18006        concat!(
18007            "Offset of field: ",
18008            stringify!(pthread_mutex_t__bindgen_ty_1),
18009            "::",
18010            stringify!(__p)
18011        )
18012    );
18013}
18014impl ::std::fmt::Debug for pthread_mutex_t__bindgen_ty_1 {
18015    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18016        write!(f, "pthread_mutex_t__bindgen_ty_1 {{ union }}")
18017    }
18018}
18019#[test]
18020fn bindgen_test_layout_pthread_mutex_t() {
18021    const UNINIT: ::std::mem::MaybeUninit<pthread_mutex_t> = ::std::mem::MaybeUninit::uninit();
18022    let ptr = UNINIT.as_ptr();
18023    assert_eq!(
18024        ::std::mem::size_of::<pthread_mutex_t>(),
18025        40usize,
18026        concat!("Size of: ", stringify!(pthread_mutex_t))
18027    );
18028    assert_eq!(
18029        ::std::mem::align_of::<pthread_mutex_t>(),
18030        8usize,
18031        concat!("Alignment of ", stringify!(pthread_mutex_t))
18032    );
18033    assert_eq!(
18034        unsafe { ::std::ptr::addr_of!((*ptr).__u) as usize - ptr as usize },
18035        0usize,
18036        concat!(
18037            "Offset of field: ",
18038            stringify!(pthread_mutex_t),
18039            "::",
18040            stringify!(__u)
18041        )
18042    );
18043}
18044impl ::std::fmt::Debug for pthread_mutex_t {
18045    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18046        write!(f, "pthread_mutex_t {{ __u: {:?} }}", self.__u)
18047    }
18048}
18049#[repr(C)]
18050#[derive(Copy, Clone)]
18051pub struct pthread_cond_t {
18052    pub __u: pthread_cond_t__bindgen_ty_1,
18053}
18054#[repr(C)]
18055#[derive(Copy, Clone)]
18056pub union pthread_cond_t__bindgen_ty_1 {
18057    pub __i: [::std::os::raw::c_int; 12usize],
18058    pub __vi: [::std::os::raw::c_int; 12usize],
18059    pub __p: [*mut ::std::os::raw::c_void; 6usize],
18060}
18061#[test]
18062fn bindgen_test_layout_pthread_cond_t__bindgen_ty_1() {
18063    const UNINIT: ::std::mem::MaybeUninit<pthread_cond_t__bindgen_ty_1> =
18064        ::std::mem::MaybeUninit::uninit();
18065    let ptr = UNINIT.as_ptr();
18066    assert_eq!(
18067        ::std::mem::size_of::<pthread_cond_t__bindgen_ty_1>(),
18068        48usize,
18069        concat!("Size of: ", stringify!(pthread_cond_t__bindgen_ty_1))
18070    );
18071    assert_eq!(
18072        ::std::mem::align_of::<pthread_cond_t__bindgen_ty_1>(),
18073        8usize,
18074        concat!("Alignment of ", stringify!(pthread_cond_t__bindgen_ty_1))
18075    );
18076    assert_eq!(
18077        unsafe { ::std::ptr::addr_of!((*ptr).__i) as usize - ptr as usize },
18078        0usize,
18079        concat!(
18080            "Offset of field: ",
18081            stringify!(pthread_cond_t__bindgen_ty_1),
18082            "::",
18083            stringify!(__i)
18084        )
18085    );
18086    assert_eq!(
18087        unsafe { ::std::ptr::addr_of!((*ptr).__vi) as usize - ptr as usize },
18088        0usize,
18089        concat!(
18090            "Offset of field: ",
18091            stringify!(pthread_cond_t__bindgen_ty_1),
18092            "::",
18093            stringify!(__vi)
18094        )
18095    );
18096    assert_eq!(
18097        unsafe { ::std::ptr::addr_of!((*ptr).__p) as usize - ptr as usize },
18098        0usize,
18099        concat!(
18100            "Offset of field: ",
18101            stringify!(pthread_cond_t__bindgen_ty_1),
18102            "::",
18103            stringify!(__p)
18104        )
18105    );
18106}
18107impl ::std::fmt::Debug for pthread_cond_t__bindgen_ty_1 {
18108    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18109        write!(f, "pthread_cond_t__bindgen_ty_1 {{ union }}")
18110    }
18111}
18112#[test]
18113fn bindgen_test_layout_pthread_cond_t() {
18114    const UNINIT: ::std::mem::MaybeUninit<pthread_cond_t> = ::std::mem::MaybeUninit::uninit();
18115    let ptr = UNINIT.as_ptr();
18116    assert_eq!(
18117        ::std::mem::size_of::<pthread_cond_t>(),
18118        48usize,
18119        concat!("Size of: ", stringify!(pthread_cond_t))
18120    );
18121    assert_eq!(
18122        ::std::mem::align_of::<pthread_cond_t>(),
18123        8usize,
18124        concat!("Alignment of ", stringify!(pthread_cond_t))
18125    );
18126    assert_eq!(
18127        unsafe { ::std::ptr::addr_of!((*ptr).__u) as usize - ptr as usize },
18128        0usize,
18129        concat!(
18130            "Offset of field: ",
18131            stringify!(pthread_cond_t),
18132            "::",
18133            stringify!(__u)
18134        )
18135    );
18136}
18137impl ::std::fmt::Debug for pthread_cond_t {
18138    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18139        write!(f, "pthread_cond_t {{ __u: {:?} }}", self.__u)
18140    }
18141}
18142#[repr(C)]
18143#[derive(Copy, Clone)]
18144pub struct pthread_rwlock_t {
18145    pub __u: pthread_rwlock_t__bindgen_ty_1,
18146}
18147#[repr(C)]
18148#[derive(Copy, Clone)]
18149pub union pthread_rwlock_t__bindgen_ty_1 {
18150    pub __i: [::std::os::raw::c_int; 14usize],
18151    pub __vi: [::std::os::raw::c_int; 14usize],
18152    pub __p: [*mut ::std::os::raw::c_void; 7usize],
18153}
18154#[test]
18155fn bindgen_test_layout_pthread_rwlock_t__bindgen_ty_1() {
18156    const UNINIT: ::std::mem::MaybeUninit<pthread_rwlock_t__bindgen_ty_1> =
18157        ::std::mem::MaybeUninit::uninit();
18158    let ptr = UNINIT.as_ptr();
18159    assert_eq!(
18160        ::std::mem::size_of::<pthread_rwlock_t__bindgen_ty_1>(),
18161        56usize,
18162        concat!("Size of: ", stringify!(pthread_rwlock_t__bindgen_ty_1))
18163    );
18164    assert_eq!(
18165        ::std::mem::align_of::<pthread_rwlock_t__bindgen_ty_1>(),
18166        8usize,
18167        concat!("Alignment of ", stringify!(pthread_rwlock_t__bindgen_ty_1))
18168    );
18169    assert_eq!(
18170        unsafe { ::std::ptr::addr_of!((*ptr).__i) as usize - ptr as usize },
18171        0usize,
18172        concat!(
18173            "Offset of field: ",
18174            stringify!(pthread_rwlock_t__bindgen_ty_1),
18175            "::",
18176            stringify!(__i)
18177        )
18178    );
18179    assert_eq!(
18180        unsafe { ::std::ptr::addr_of!((*ptr).__vi) as usize - ptr as usize },
18181        0usize,
18182        concat!(
18183            "Offset of field: ",
18184            stringify!(pthread_rwlock_t__bindgen_ty_1),
18185            "::",
18186            stringify!(__vi)
18187        )
18188    );
18189    assert_eq!(
18190        unsafe { ::std::ptr::addr_of!((*ptr).__p) as usize - ptr as usize },
18191        0usize,
18192        concat!(
18193            "Offset of field: ",
18194            stringify!(pthread_rwlock_t__bindgen_ty_1),
18195            "::",
18196            stringify!(__p)
18197        )
18198    );
18199}
18200impl ::std::fmt::Debug for pthread_rwlock_t__bindgen_ty_1 {
18201    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18202        write!(f, "pthread_rwlock_t__bindgen_ty_1 {{ union }}")
18203    }
18204}
18205#[test]
18206fn bindgen_test_layout_pthread_rwlock_t() {
18207    const UNINIT: ::std::mem::MaybeUninit<pthread_rwlock_t> = ::std::mem::MaybeUninit::uninit();
18208    let ptr = UNINIT.as_ptr();
18209    assert_eq!(
18210        ::std::mem::size_of::<pthread_rwlock_t>(),
18211        56usize,
18212        concat!("Size of: ", stringify!(pthread_rwlock_t))
18213    );
18214    assert_eq!(
18215        ::std::mem::align_of::<pthread_rwlock_t>(),
18216        8usize,
18217        concat!("Alignment of ", stringify!(pthread_rwlock_t))
18218    );
18219    assert_eq!(
18220        unsafe { ::std::ptr::addr_of!((*ptr).__u) as usize - ptr as usize },
18221        0usize,
18222        concat!(
18223            "Offset of field: ",
18224            stringify!(pthread_rwlock_t),
18225            "::",
18226            stringify!(__u)
18227        )
18228    );
18229}
18230impl ::std::fmt::Debug for pthread_rwlock_t {
18231    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18232        write!(f, "pthread_rwlock_t {{ __u: {:?} }}", self.__u)
18233    }
18234}
18235#[repr(C)]
18236#[derive(Copy, Clone)]
18237pub struct pthread_barrier_t {
18238    pub __u: pthread_barrier_t__bindgen_ty_1,
18239}
18240#[repr(C)]
18241#[derive(Copy, Clone)]
18242pub union pthread_barrier_t__bindgen_ty_1 {
18243    pub __i: [::std::os::raw::c_int; 8usize],
18244    pub __vi: [::std::os::raw::c_int; 8usize],
18245    pub __p: [*mut ::std::os::raw::c_void; 4usize],
18246}
18247#[test]
18248fn bindgen_test_layout_pthread_barrier_t__bindgen_ty_1() {
18249    const UNINIT: ::std::mem::MaybeUninit<pthread_barrier_t__bindgen_ty_1> =
18250        ::std::mem::MaybeUninit::uninit();
18251    let ptr = UNINIT.as_ptr();
18252    assert_eq!(
18253        ::std::mem::size_of::<pthread_barrier_t__bindgen_ty_1>(),
18254        32usize,
18255        concat!("Size of: ", stringify!(pthread_barrier_t__bindgen_ty_1))
18256    );
18257    assert_eq!(
18258        ::std::mem::align_of::<pthread_barrier_t__bindgen_ty_1>(),
18259        8usize,
18260        concat!("Alignment of ", stringify!(pthread_barrier_t__bindgen_ty_1))
18261    );
18262    assert_eq!(
18263        unsafe { ::std::ptr::addr_of!((*ptr).__i) as usize - ptr as usize },
18264        0usize,
18265        concat!(
18266            "Offset of field: ",
18267            stringify!(pthread_barrier_t__bindgen_ty_1),
18268            "::",
18269            stringify!(__i)
18270        )
18271    );
18272    assert_eq!(
18273        unsafe { ::std::ptr::addr_of!((*ptr).__vi) as usize - ptr as usize },
18274        0usize,
18275        concat!(
18276            "Offset of field: ",
18277            stringify!(pthread_barrier_t__bindgen_ty_1),
18278            "::",
18279            stringify!(__vi)
18280        )
18281    );
18282    assert_eq!(
18283        unsafe { ::std::ptr::addr_of!((*ptr).__p) as usize - ptr as usize },
18284        0usize,
18285        concat!(
18286            "Offset of field: ",
18287            stringify!(pthread_barrier_t__bindgen_ty_1),
18288            "::",
18289            stringify!(__p)
18290        )
18291    );
18292}
18293impl ::std::fmt::Debug for pthread_barrier_t__bindgen_ty_1 {
18294    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18295        write!(f, "pthread_barrier_t__bindgen_ty_1 {{ union }}")
18296    }
18297}
18298#[test]
18299fn bindgen_test_layout_pthread_barrier_t() {
18300    const UNINIT: ::std::mem::MaybeUninit<pthread_barrier_t> = ::std::mem::MaybeUninit::uninit();
18301    let ptr = UNINIT.as_ptr();
18302    assert_eq!(
18303        ::std::mem::size_of::<pthread_barrier_t>(),
18304        32usize,
18305        concat!("Size of: ", stringify!(pthread_barrier_t))
18306    );
18307    assert_eq!(
18308        ::std::mem::align_of::<pthread_barrier_t>(),
18309        8usize,
18310        concat!("Alignment of ", stringify!(pthread_barrier_t))
18311    );
18312    assert_eq!(
18313        unsafe { ::std::ptr::addr_of!((*ptr).__u) as usize - ptr as usize },
18314        0usize,
18315        concat!(
18316            "Offset of field: ",
18317            stringify!(pthread_barrier_t),
18318            "::",
18319            stringify!(__u)
18320        )
18321    );
18322}
18323impl ::std::fmt::Debug for pthread_barrier_t {
18324    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18325        write!(f, "pthread_barrier_t {{ __u: {:?} }}", self.__u)
18326    }
18327}
18328pub type u_int8_t = ::std::os::raw::c_uchar;
18329pub type u_int16_t = ::std::os::raw::c_ushort;
18330pub type u_int32_t = ::std::os::raw::c_uint;
18331pub type caddr_t = *mut ::std::os::raw::c_char;
18332pub type u_char = ::std::os::raw::c_uchar;
18333pub type u_short = ::std::os::raw::c_ushort;
18334pub type ushort = ::std::os::raw::c_ushort;
18335pub type u_int = ::std::os::raw::c_uint;
18336pub type uint = ::std::os::raw::c_uint;
18337pub type u_long = ::std::os::raw::c_ulong;
18338pub type ulong = ::std::os::raw::c_ulong;
18339pub type quad_t = ::std::os::raw::c_longlong;
18340pub type u_quad_t = ::std::os::raw::c_ulonglong;
18341#[repr(C)]
18342#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18343pub struct timeval {
18344    pub tv_sec: time_t,
18345    pub tv_usec: suseconds_t,
18346}
18347#[test]
18348fn bindgen_test_layout_timeval() {
18349    const UNINIT: ::std::mem::MaybeUninit<timeval> = ::std::mem::MaybeUninit::uninit();
18350    let ptr = UNINIT.as_ptr();
18351    assert_eq!(
18352        ::std::mem::size_of::<timeval>(),
18353        16usize,
18354        concat!("Size of: ", stringify!(timeval))
18355    );
18356    assert_eq!(
18357        ::std::mem::align_of::<timeval>(),
18358        8usize,
18359        concat!("Alignment of ", stringify!(timeval))
18360    );
18361    assert_eq!(
18362        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
18363        0usize,
18364        concat!(
18365            "Offset of field: ",
18366            stringify!(timeval),
18367            "::",
18368            stringify!(tv_sec)
18369        )
18370    );
18371    assert_eq!(
18372        unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
18373        8usize,
18374        concat!(
18375            "Offset of field: ",
18376            stringify!(timeval),
18377            "::",
18378            stringify!(tv_usec)
18379        )
18380    );
18381}
18382pub type fd_mask = ::std::os::raw::c_ulong;
18383#[repr(C)]
18384#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18385pub struct fd_set {
18386    pub fds_bits: [::std::os::raw::c_ulong; 16usize],
18387}
18388#[test]
18389fn bindgen_test_layout_fd_set() {
18390    const UNINIT: ::std::mem::MaybeUninit<fd_set> = ::std::mem::MaybeUninit::uninit();
18391    let ptr = UNINIT.as_ptr();
18392    assert_eq!(
18393        ::std::mem::size_of::<fd_set>(),
18394        128usize,
18395        concat!("Size of: ", stringify!(fd_set))
18396    );
18397    assert_eq!(
18398        ::std::mem::align_of::<fd_set>(),
18399        8usize,
18400        concat!("Alignment of ", stringify!(fd_set))
18401    );
18402    assert_eq!(
18403        unsafe { ::std::ptr::addr_of!((*ptr).fds_bits) as usize - ptr as usize },
18404        0usize,
18405        concat!(
18406            "Offset of field: ",
18407            stringify!(fd_set),
18408            "::",
18409            stringify!(fds_bits)
18410        )
18411    );
18412}
18413extern "C" {
18414    pub fn select(
18415        arg1: ::std::os::raw::c_int,
18416        arg2: *mut fd_set,
18417        arg3: *mut fd_set,
18418        arg4: *mut fd_set,
18419        arg5: *mut timeval,
18420    ) -> ::std::os::raw::c_int;
18421}
18422extern "C" {
18423    pub fn pselect(
18424        arg1: ::std::os::raw::c_int,
18425        arg2: *mut fd_set,
18426        arg3: *mut fd_set,
18427        arg4: *mut fd_set,
18428        arg5: *const timespec,
18429        arg6: *const sigset_t,
18430    ) -> ::std::os::raw::c_int;
18431}
18432#[repr(C)]
18433#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18434pub struct sched_param {
18435    pub sched_priority: ::std::os::raw::c_int,
18436    pub __reserved1: ::std::os::raw::c_int,
18437    pub __reserved2: [sched_param__bindgen_ty_1; 2usize],
18438    pub __reserved3: ::std::os::raw::c_int,
18439}
18440#[repr(C)]
18441#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18442pub struct sched_param__bindgen_ty_1 {
18443    pub __reserved1: time_t,
18444    pub __reserved2: ::std::os::raw::c_long,
18445}
18446#[test]
18447fn bindgen_test_layout_sched_param__bindgen_ty_1() {
18448    const UNINIT: ::std::mem::MaybeUninit<sched_param__bindgen_ty_1> =
18449        ::std::mem::MaybeUninit::uninit();
18450    let ptr = UNINIT.as_ptr();
18451    assert_eq!(
18452        ::std::mem::size_of::<sched_param__bindgen_ty_1>(),
18453        16usize,
18454        concat!("Size of: ", stringify!(sched_param__bindgen_ty_1))
18455    );
18456    assert_eq!(
18457        ::std::mem::align_of::<sched_param__bindgen_ty_1>(),
18458        8usize,
18459        concat!("Alignment of ", stringify!(sched_param__bindgen_ty_1))
18460    );
18461    assert_eq!(
18462        unsafe { ::std::ptr::addr_of!((*ptr).__reserved1) as usize - ptr as usize },
18463        0usize,
18464        concat!(
18465            "Offset of field: ",
18466            stringify!(sched_param__bindgen_ty_1),
18467            "::",
18468            stringify!(__reserved1)
18469        )
18470    );
18471    assert_eq!(
18472        unsafe { ::std::ptr::addr_of!((*ptr).__reserved2) as usize - ptr as usize },
18473        8usize,
18474        concat!(
18475            "Offset of field: ",
18476            stringify!(sched_param__bindgen_ty_1),
18477            "::",
18478            stringify!(__reserved2)
18479        )
18480    );
18481}
18482#[test]
18483fn bindgen_test_layout_sched_param() {
18484    const UNINIT: ::std::mem::MaybeUninit<sched_param> = ::std::mem::MaybeUninit::uninit();
18485    let ptr = UNINIT.as_ptr();
18486    assert_eq!(
18487        ::std::mem::size_of::<sched_param>(),
18488        48usize,
18489        concat!("Size of: ", stringify!(sched_param))
18490    );
18491    assert_eq!(
18492        ::std::mem::align_of::<sched_param>(),
18493        8usize,
18494        concat!("Alignment of ", stringify!(sched_param))
18495    );
18496    assert_eq!(
18497        unsafe { ::std::ptr::addr_of!((*ptr).sched_priority) as usize - ptr as usize },
18498        0usize,
18499        concat!(
18500            "Offset of field: ",
18501            stringify!(sched_param),
18502            "::",
18503            stringify!(sched_priority)
18504        )
18505    );
18506    assert_eq!(
18507        unsafe { ::std::ptr::addr_of!((*ptr).__reserved1) as usize - ptr as usize },
18508        4usize,
18509        concat!(
18510            "Offset of field: ",
18511            stringify!(sched_param),
18512            "::",
18513            stringify!(__reserved1)
18514        )
18515    );
18516    assert_eq!(
18517        unsafe { ::std::ptr::addr_of!((*ptr).__reserved2) as usize - ptr as usize },
18518        8usize,
18519        concat!(
18520            "Offset of field: ",
18521            stringify!(sched_param),
18522            "::",
18523            stringify!(__reserved2)
18524        )
18525    );
18526    assert_eq!(
18527        unsafe { ::std::ptr::addr_of!((*ptr).__reserved3) as usize - ptr as usize },
18528        40usize,
18529        concat!(
18530            "Offset of field: ",
18531            stringify!(sched_param),
18532            "::",
18533            stringify!(__reserved3)
18534        )
18535    );
18536}
18537extern "C" {
18538    pub fn sched_get_priority_max(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
18539}
18540extern "C" {
18541    pub fn sched_get_priority_min(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
18542}
18543extern "C" {
18544    pub fn sched_getparam(arg1: pid_t, arg2: *mut sched_param) -> ::std::os::raw::c_int;
18545}
18546extern "C" {
18547    pub fn sched_getscheduler(arg1: pid_t) -> ::std::os::raw::c_int;
18548}
18549extern "C" {
18550    pub fn sched_rr_get_interval(arg1: pid_t, arg2: *mut timespec) -> ::std::os::raw::c_int;
18551}
18552extern "C" {
18553    pub fn sched_setparam(arg1: pid_t, arg2: *const sched_param) -> ::std::os::raw::c_int;
18554}
18555extern "C" {
18556    pub fn sched_setscheduler(
18557        arg1: pid_t,
18558        arg2: ::std::os::raw::c_int,
18559        arg3: *const sched_param,
18560    ) -> ::std::os::raw::c_int;
18561}
18562extern "C" {
18563    pub fn sched_yield() -> ::std::os::raw::c_int;
18564}
18565extern "C" {
18566    pub fn pthread_create(
18567        arg1: *mut pthread_t,
18568        arg2: *const pthread_attr_t,
18569        arg3: ::std::option::Option<
18570            unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
18571        >,
18572        arg4: *mut ::std::os::raw::c_void,
18573    ) -> ::std::os::raw::c_int;
18574}
18575extern "C" {
18576    pub fn pthread_detach(arg1: pthread_t) -> ::std::os::raw::c_int;
18577}
18578extern "C" {
18579    pub fn pthread_exit(arg1: *mut ::std::os::raw::c_void);
18580}
18581extern "C" {
18582    pub fn pthread_join(
18583        arg1: pthread_t,
18584        arg2: *mut *mut ::std::os::raw::c_void,
18585    ) -> ::std::os::raw::c_int;
18586}
18587extern "C" {
18588    pub fn pthread_self() -> pthread_t;
18589}
18590extern "C" {
18591    pub fn pthread_equal(arg1: pthread_t, arg2: pthread_t) -> ::std::os::raw::c_int;
18592}
18593extern "C" {
18594    pub fn pthread_setcancelstate(
18595        arg1: ::std::os::raw::c_int,
18596        arg2: *mut ::std::os::raw::c_int,
18597    ) -> ::std::os::raw::c_int;
18598}
18599extern "C" {
18600    pub fn pthread_setcanceltype(
18601        arg1: ::std::os::raw::c_int,
18602        arg2: *mut ::std::os::raw::c_int,
18603    ) -> ::std::os::raw::c_int;
18604}
18605extern "C" {
18606    pub fn pthread_testcancel();
18607}
18608extern "C" {
18609    pub fn pthread_cancel(arg1: pthread_t) -> ::std::os::raw::c_int;
18610}
18611extern "C" {
18612    pub fn pthread_getschedparam(
18613        arg1: pthread_t,
18614        arg2: *mut ::std::os::raw::c_int,
18615        arg3: *mut sched_param,
18616    ) -> ::std::os::raw::c_int;
18617}
18618extern "C" {
18619    pub fn pthread_setschedparam(
18620        arg1: pthread_t,
18621        arg2: ::std::os::raw::c_int,
18622        arg3: *const sched_param,
18623    ) -> ::std::os::raw::c_int;
18624}
18625extern "C" {
18626    pub fn pthread_setschedprio(
18627        arg1: pthread_t,
18628        arg2: ::std::os::raw::c_int,
18629    ) -> ::std::os::raw::c_int;
18630}
18631extern "C" {
18632    pub fn pthread_once(
18633        arg1: *mut pthread_once_t,
18634        arg2: ::std::option::Option<unsafe extern "C" fn()>,
18635    ) -> ::std::os::raw::c_int;
18636}
18637extern "C" {
18638    pub fn pthread_mutex_init(
18639        arg1: *mut pthread_mutex_t,
18640        arg2: *const pthread_mutexattr_t,
18641    ) -> ::std::os::raw::c_int;
18642}
18643extern "C" {
18644    pub fn pthread_mutex_lock(arg1: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
18645}
18646extern "C" {
18647    pub fn pthread_mutex_unlock(arg1: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
18648}
18649extern "C" {
18650    pub fn pthread_mutex_trylock(arg1: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
18651}
18652extern "C" {
18653    pub fn pthread_mutex_timedlock(
18654        arg1: *mut pthread_mutex_t,
18655        arg2: *const timespec,
18656    ) -> ::std::os::raw::c_int;
18657}
18658extern "C" {
18659    pub fn pthread_mutex_destroy(arg1: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
18660}
18661extern "C" {
18662    pub fn pthread_mutex_consistent(arg1: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
18663}
18664extern "C" {
18665    pub fn pthread_mutex_getprioceiling(
18666        arg1: *const pthread_mutex_t,
18667        arg2: *mut ::std::os::raw::c_int,
18668    ) -> ::std::os::raw::c_int;
18669}
18670extern "C" {
18671    pub fn pthread_mutex_setprioceiling(
18672        arg1: *mut pthread_mutex_t,
18673        arg2: ::std::os::raw::c_int,
18674        arg3: *mut ::std::os::raw::c_int,
18675    ) -> ::std::os::raw::c_int;
18676}
18677extern "C" {
18678    pub fn pthread_cond_init(
18679        arg1: *mut pthread_cond_t,
18680        arg2: *const pthread_condattr_t,
18681    ) -> ::std::os::raw::c_int;
18682}
18683extern "C" {
18684    pub fn pthread_cond_destroy(arg1: *mut pthread_cond_t) -> ::std::os::raw::c_int;
18685}
18686extern "C" {
18687    pub fn pthread_cond_wait(
18688        arg1: *mut pthread_cond_t,
18689        arg2: *mut pthread_mutex_t,
18690    ) -> ::std::os::raw::c_int;
18691}
18692extern "C" {
18693    pub fn pthread_cond_timedwait(
18694        arg1: *mut pthread_cond_t,
18695        arg2: *mut pthread_mutex_t,
18696        arg3: *const timespec,
18697    ) -> ::std::os::raw::c_int;
18698}
18699extern "C" {
18700    pub fn pthread_cond_broadcast(arg1: *mut pthread_cond_t) -> ::std::os::raw::c_int;
18701}
18702extern "C" {
18703    pub fn pthread_cond_signal(arg1: *mut pthread_cond_t) -> ::std::os::raw::c_int;
18704}
18705extern "C" {
18706    pub fn pthread_rwlock_init(
18707        arg1: *mut pthread_rwlock_t,
18708        arg2: *const pthread_rwlockattr_t,
18709    ) -> ::std::os::raw::c_int;
18710}
18711extern "C" {
18712    pub fn pthread_rwlock_destroy(arg1: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
18713}
18714extern "C" {
18715    pub fn pthread_rwlock_rdlock(arg1: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
18716}
18717extern "C" {
18718    pub fn pthread_rwlock_tryrdlock(arg1: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
18719}
18720extern "C" {
18721    pub fn pthread_rwlock_timedrdlock(
18722        arg1: *mut pthread_rwlock_t,
18723        arg2: *const timespec,
18724    ) -> ::std::os::raw::c_int;
18725}
18726extern "C" {
18727    pub fn pthread_rwlock_wrlock(arg1: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
18728}
18729extern "C" {
18730    pub fn pthread_rwlock_trywrlock(arg1: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
18731}
18732extern "C" {
18733    pub fn pthread_rwlock_timedwrlock(
18734        arg1: *mut pthread_rwlock_t,
18735        arg2: *const timespec,
18736    ) -> ::std::os::raw::c_int;
18737}
18738extern "C" {
18739    pub fn pthread_rwlock_unlock(arg1: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
18740}
18741extern "C" {
18742    pub fn pthread_spin_init(
18743        arg1: *mut pthread_spinlock_t,
18744        arg2: ::std::os::raw::c_int,
18745    ) -> ::std::os::raw::c_int;
18746}
18747extern "C" {
18748    pub fn pthread_spin_destroy(arg1: *mut pthread_spinlock_t) -> ::std::os::raw::c_int;
18749}
18750extern "C" {
18751    pub fn pthread_spin_lock(arg1: *mut pthread_spinlock_t) -> ::std::os::raw::c_int;
18752}
18753extern "C" {
18754    pub fn pthread_spin_trylock(arg1: *mut pthread_spinlock_t) -> ::std::os::raw::c_int;
18755}
18756extern "C" {
18757    pub fn pthread_spin_unlock(arg1: *mut pthread_spinlock_t) -> ::std::os::raw::c_int;
18758}
18759extern "C" {
18760    pub fn pthread_barrier_init(
18761        arg1: *mut pthread_barrier_t,
18762        arg2: *const pthread_barrierattr_t,
18763        arg3: ::std::os::raw::c_uint,
18764    ) -> ::std::os::raw::c_int;
18765}
18766extern "C" {
18767    pub fn pthread_barrier_destroy(arg1: *mut pthread_barrier_t) -> ::std::os::raw::c_int;
18768}
18769extern "C" {
18770    pub fn pthread_barrier_wait(arg1: *mut pthread_barrier_t) -> ::std::os::raw::c_int;
18771}
18772extern "C" {
18773    pub fn pthread_key_create(
18774        arg1: *mut pthread_key_t,
18775        arg2: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
18776    ) -> ::std::os::raw::c_int;
18777}
18778extern "C" {
18779    pub fn pthread_key_delete(arg1: pthread_key_t) -> ::std::os::raw::c_int;
18780}
18781extern "C" {
18782    pub fn pthread_getspecific(arg1: pthread_key_t) -> *mut ::std::os::raw::c_void;
18783}
18784extern "C" {
18785    pub fn pthread_setspecific(
18786        arg1: pthread_key_t,
18787        arg2: *const ::std::os::raw::c_void,
18788    ) -> ::std::os::raw::c_int;
18789}
18790extern "C" {
18791    pub fn pthread_attr_init(arg1: *mut pthread_attr_t) -> ::std::os::raw::c_int;
18792}
18793extern "C" {
18794    pub fn pthread_attr_destroy(arg1: *mut pthread_attr_t) -> ::std::os::raw::c_int;
18795}
18796extern "C" {
18797    pub fn pthread_attr_getguardsize(
18798        arg1: *const pthread_attr_t,
18799        arg2: *mut size_t,
18800    ) -> ::std::os::raw::c_int;
18801}
18802extern "C" {
18803    pub fn pthread_attr_setguardsize(
18804        arg1: *mut pthread_attr_t,
18805        arg2: size_t,
18806    ) -> ::std::os::raw::c_int;
18807}
18808extern "C" {
18809    pub fn pthread_attr_getstacksize(
18810        arg1: *const pthread_attr_t,
18811        arg2: *mut size_t,
18812    ) -> ::std::os::raw::c_int;
18813}
18814extern "C" {
18815    pub fn pthread_attr_setstacksize(
18816        arg1: *mut pthread_attr_t,
18817        arg2: size_t,
18818    ) -> ::std::os::raw::c_int;
18819}
18820extern "C" {
18821    pub fn pthread_attr_getdetachstate(
18822        arg1: *const pthread_attr_t,
18823        arg2: *mut ::std::os::raw::c_int,
18824    ) -> ::std::os::raw::c_int;
18825}
18826extern "C" {
18827    pub fn pthread_attr_setdetachstate(
18828        arg1: *mut pthread_attr_t,
18829        arg2: ::std::os::raw::c_int,
18830    ) -> ::std::os::raw::c_int;
18831}
18832extern "C" {
18833    pub fn pthread_attr_getstack(
18834        arg1: *const pthread_attr_t,
18835        arg2: *mut *mut ::std::os::raw::c_void,
18836        arg3: *mut size_t,
18837    ) -> ::std::os::raw::c_int;
18838}
18839extern "C" {
18840    pub fn pthread_attr_setstack(
18841        arg1: *mut pthread_attr_t,
18842        arg2: *mut ::std::os::raw::c_void,
18843        arg3: size_t,
18844    ) -> ::std::os::raw::c_int;
18845}
18846extern "C" {
18847    pub fn pthread_attr_getscope(
18848        arg1: *const pthread_attr_t,
18849        arg2: *mut ::std::os::raw::c_int,
18850    ) -> ::std::os::raw::c_int;
18851}
18852extern "C" {
18853    pub fn pthread_attr_setscope(
18854        arg1: *mut pthread_attr_t,
18855        arg2: ::std::os::raw::c_int,
18856    ) -> ::std::os::raw::c_int;
18857}
18858extern "C" {
18859    pub fn pthread_attr_getschedpolicy(
18860        arg1: *const pthread_attr_t,
18861        arg2: *mut ::std::os::raw::c_int,
18862    ) -> ::std::os::raw::c_int;
18863}
18864extern "C" {
18865    pub fn pthread_attr_setschedpolicy(
18866        arg1: *mut pthread_attr_t,
18867        arg2: ::std::os::raw::c_int,
18868    ) -> ::std::os::raw::c_int;
18869}
18870extern "C" {
18871    pub fn pthread_attr_getschedparam(
18872        arg1: *const pthread_attr_t,
18873        arg2: *mut sched_param,
18874    ) -> ::std::os::raw::c_int;
18875}
18876extern "C" {
18877    pub fn pthread_attr_setschedparam(
18878        arg1: *mut pthread_attr_t,
18879        arg2: *const sched_param,
18880    ) -> ::std::os::raw::c_int;
18881}
18882extern "C" {
18883    pub fn pthread_attr_getinheritsched(
18884        arg1: *const pthread_attr_t,
18885        arg2: *mut ::std::os::raw::c_int,
18886    ) -> ::std::os::raw::c_int;
18887}
18888extern "C" {
18889    pub fn pthread_attr_setinheritsched(
18890        arg1: *mut pthread_attr_t,
18891        arg2: ::std::os::raw::c_int,
18892    ) -> ::std::os::raw::c_int;
18893}
18894extern "C" {
18895    pub fn pthread_mutexattr_destroy(arg1: *mut pthread_mutexattr_t) -> ::std::os::raw::c_int;
18896}
18897extern "C" {
18898    pub fn pthread_mutexattr_getprioceiling(
18899        arg1: *const pthread_mutexattr_t,
18900        arg2: *mut ::std::os::raw::c_int,
18901    ) -> ::std::os::raw::c_int;
18902}
18903extern "C" {
18904    pub fn pthread_mutexattr_getprotocol(
18905        arg1: *const pthread_mutexattr_t,
18906        arg2: *mut ::std::os::raw::c_int,
18907    ) -> ::std::os::raw::c_int;
18908}
18909extern "C" {
18910    pub fn pthread_mutexattr_getpshared(
18911        arg1: *const pthread_mutexattr_t,
18912        arg2: *mut ::std::os::raw::c_int,
18913    ) -> ::std::os::raw::c_int;
18914}
18915extern "C" {
18916    pub fn pthread_mutexattr_getrobust(
18917        arg1: *const pthread_mutexattr_t,
18918        arg2: *mut ::std::os::raw::c_int,
18919    ) -> ::std::os::raw::c_int;
18920}
18921extern "C" {
18922    pub fn pthread_mutexattr_gettype(
18923        arg1: *const pthread_mutexattr_t,
18924        arg2: *mut ::std::os::raw::c_int,
18925    ) -> ::std::os::raw::c_int;
18926}
18927extern "C" {
18928    pub fn pthread_mutexattr_init(arg1: *mut pthread_mutexattr_t) -> ::std::os::raw::c_int;
18929}
18930extern "C" {
18931    pub fn pthread_mutexattr_setprioceiling(
18932        arg1: *mut pthread_mutexattr_t,
18933        arg2: ::std::os::raw::c_int,
18934    ) -> ::std::os::raw::c_int;
18935}
18936extern "C" {
18937    pub fn pthread_mutexattr_setprotocol(
18938        arg1: *mut pthread_mutexattr_t,
18939        arg2: ::std::os::raw::c_int,
18940    ) -> ::std::os::raw::c_int;
18941}
18942extern "C" {
18943    pub fn pthread_mutexattr_setpshared(
18944        arg1: *mut pthread_mutexattr_t,
18945        arg2: ::std::os::raw::c_int,
18946    ) -> ::std::os::raw::c_int;
18947}
18948extern "C" {
18949    pub fn pthread_mutexattr_setrobust(
18950        arg1: *mut pthread_mutexattr_t,
18951        arg2: ::std::os::raw::c_int,
18952    ) -> ::std::os::raw::c_int;
18953}
18954extern "C" {
18955    pub fn pthread_mutexattr_settype(
18956        arg1: *mut pthread_mutexattr_t,
18957        arg2: ::std::os::raw::c_int,
18958    ) -> ::std::os::raw::c_int;
18959}
18960extern "C" {
18961    pub fn pthread_condattr_init(arg1: *mut pthread_condattr_t) -> ::std::os::raw::c_int;
18962}
18963extern "C" {
18964    pub fn pthread_condattr_destroy(arg1: *mut pthread_condattr_t) -> ::std::os::raw::c_int;
18965}
18966extern "C" {
18967    pub fn pthread_condattr_setclock(
18968        arg1: *mut pthread_condattr_t,
18969        arg2: clockid_t,
18970    ) -> ::std::os::raw::c_int;
18971}
18972extern "C" {
18973    pub fn pthread_condattr_setpshared(
18974        arg1: *mut pthread_condattr_t,
18975        arg2: ::std::os::raw::c_int,
18976    ) -> ::std::os::raw::c_int;
18977}
18978extern "C" {
18979    pub fn pthread_condattr_getclock(
18980        arg1: *const pthread_condattr_t,
18981        arg2: *mut clockid_t,
18982    ) -> ::std::os::raw::c_int;
18983}
18984extern "C" {
18985    pub fn pthread_condattr_getpshared(
18986        arg1: *const pthread_condattr_t,
18987        arg2: *mut ::std::os::raw::c_int,
18988    ) -> ::std::os::raw::c_int;
18989}
18990extern "C" {
18991    pub fn pthread_rwlockattr_init(arg1: *mut pthread_rwlockattr_t) -> ::std::os::raw::c_int;
18992}
18993extern "C" {
18994    pub fn pthread_rwlockattr_destroy(arg1: *mut pthread_rwlockattr_t) -> ::std::os::raw::c_int;
18995}
18996extern "C" {
18997    pub fn pthread_rwlockattr_setpshared(
18998        arg1: *mut pthread_rwlockattr_t,
18999        arg2: ::std::os::raw::c_int,
19000    ) -> ::std::os::raw::c_int;
19001}
19002extern "C" {
19003    pub fn pthread_rwlockattr_getpshared(
19004        arg1: *const pthread_rwlockattr_t,
19005        arg2: *mut ::std::os::raw::c_int,
19006    ) -> ::std::os::raw::c_int;
19007}
19008extern "C" {
19009    pub fn pthread_barrierattr_destroy(arg1: *mut pthread_barrierattr_t) -> ::std::os::raw::c_int;
19010}
19011extern "C" {
19012    pub fn pthread_barrierattr_getpshared(
19013        arg1: *const pthread_barrierattr_t,
19014        arg2: *mut ::std::os::raw::c_int,
19015    ) -> ::std::os::raw::c_int;
19016}
19017extern "C" {
19018    pub fn pthread_barrierattr_init(arg1: *mut pthread_barrierattr_t) -> ::std::os::raw::c_int;
19019}
19020extern "C" {
19021    pub fn pthread_barrierattr_setpshared(
19022        arg1: *mut pthread_barrierattr_t,
19023        arg2: ::std::os::raw::c_int,
19024    ) -> ::std::os::raw::c_int;
19025}
19026extern "C" {
19027    pub fn pthread_atfork(
19028        arg1: ::std::option::Option<unsafe extern "C" fn()>,
19029        arg2: ::std::option::Option<unsafe extern "C" fn()>,
19030        arg3: ::std::option::Option<unsafe extern "C" fn()>,
19031    ) -> ::std::os::raw::c_int;
19032}
19033extern "C" {
19034    pub fn pthread_getconcurrency() -> ::std::os::raw::c_int;
19035}
19036extern "C" {
19037    pub fn pthread_setconcurrency(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
19038}
19039extern "C" {
19040    pub fn pthread_getcpuclockid(arg1: pthread_t, arg2: *mut clockid_t) -> ::std::os::raw::c_int;
19041}
19042#[repr(C)]
19043#[derive(Debug, Copy, Clone, PartialEq, Eq)]
19044pub struct __ptcb {
19045    pub __f: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
19046    pub __x: *mut ::std::os::raw::c_void,
19047    pub __next: *mut __ptcb,
19048}
19049#[test]
19050fn bindgen_test_layout___ptcb() {
19051    const UNINIT: ::std::mem::MaybeUninit<__ptcb> = ::std::mem::MaybeUninit::uninit();
19052    let ptr = UNINIT.as_ptr();
19053    assert_eq!(
19054        ::std::mem::size_of::<__ptcb>(),
19055        24usize,
19056        concat!("Size of: ", stringify!(__ptcb))
19057    );
19058    assert_eq!(
19059        ::std::mem::align_of::<__ptcb>(),
19060        8usize,
19061        concat!("Alignment of ", stringify!(__ptcb))
19062    );
19063    assert_eq!(
19064        unsafe { ::std::ptr::addr_of!((*ptr).__f) as usize - ptr as usize },
19065        0usize,
19066        concat!(
19067            "Offset of field: ",
19068            stringify!(__ptcb),
19069            "::",
19070            stringify!(__f)
19071        )
19072    );
19073    assert_eq!(
19074        unsafe { ::std::ptr::addr_of!((*ptr).__x) as usize - ptr as usize },
19075        8usize,
19076        concat!(
19077            "Offset of field: ",
19078            stringify!(__ptcb),
19079            "::",
19080            stringify!(__x)
19081        )
19082    );
19083    assert_eq!(
19084        unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
19085        16usize,
19086        concat!(
19087            "Offset of field: ",
19088            stringify!(__ptcb),
19089            "::",
19090            stringify!(__next)
19091        )
19092    );
19093}
19094extern "C" {
19095    pub fn _pthread_cleanup_push(
19096        arg1: *mut __ptcb,
19097        arg2: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
19098        arg3: *mut ::std::os::raw::c_void,
19099    );
19100}
19101extern "C" {
19102    pub fn _pthread_cleanup_pop(arg1: *mut __ptcb, arg2: ::std::os::raw::c_int);
19103}
19104#[repr(C)]
19105#[derive(Copy, Clone)]
19106pub struct GStaticMutex {
19107    pub mutex: *mut GMutex,
19108    pub unused: pthread_mutex_t,
19109}
19110#[test]
19111fn bindgen_test_layout_GStaticMutex() {
19112    const UNINIT: ::std::mem::MaybeUninit<GStaticMutex> = ::std::mem::MaybeUninit::uninit();
19113    let ptr = UNINIT.as_ptr();
19114    assert_eq!(
19115        ::std::mem::size_of::<GStaticMutex>(),
19116        48usize,
19117        concat!("Size of: ", stringify!(GStaticMutex))
19118    );
19119    assert_eq!(
19120        ::std::mem::align_of::<GStaticMutex>(),
19121        8usize,
19122        concat!("Alignment of ", stringify!(GStaticMutex))
19123    );
19124    assert_eq!(
19125        unsafe { ::std::ptr::addr_of!((*ptr).mutex) as usize - ptr as usize },
19126        0usize,
19127        concat!(
19128            "Offset of field: ",
19129            stringify!(GStaticMutex),
19130            "::",
19131            stringify!(mutex)
19132        )
19133    );
19134    assert_eq!(
19135        unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize },
19136        8usize,
19137        concat!(
19138            "Offset of field: ",
19139            stringify!(GStaticMutex),
19140            "::",
19141            stringify!(unused)
19142        )
19143    );
19144}
19145impl ::std::fmt::Debug for GStaticMutex {
19146    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19147        write!(
19148            f,
19149            "GStaticMutex {{ mutex: {:?}, unused: {:?} }}",
19150            self.mutex, self.unused
19151        )
19152    }
19153}
19154extern "C" {
19155    pub fn g_static_mutex_init(mutex: *mut GStaticMutex);
19156}
19157extern "C" {
19158    pub fn g_static_mutex_free(mutex: *mut GStaticMutex);
19159}
19160extern "C" {
19161    pub fn g_static_mutex_get_mutex_impl(mutex: *mut GStaticMutex) -> *mut GMutex;
19162}
19163pub type GStaticRecMutex = _GStaticRecMutex;
19164#[repr(C)]
19165#[derive(Copy, Clone)]
19166pub struct _GStaticRecMutex {
19167    pub mutex: GStaticMutex,
19168    pub depth: guint,
19169    pub unused: _GStaticRecMutex__bindgen_ty_1,
19170}
19171#[repr(C)]
19172#[derive(Copy, Clone)]
19173pub union _GStaticRecMutex__bindgen_ty_1 {
19174    pub owner: pthread_t,
19175    pub dummy: gdouble,
19176}
19177#[test]
19178fn bindgen_test_layout__GStaticRecMutex__bindgen_ty_1() {
19179    const UNINIT: ::std::mem::MaybeUninit<_GStaticRecMutex__bindgen_ty_1> =
19180        ::std::mem::MaybeUninit::uninit();
19181    let ptr = UNINIT.as_ptr();
19182    assert_eq!(
19183        ::std::mem::size_of::<_GStaticRecMutex__bindgen_ty_1>(),
19184        8usize,
19185        concat!("Size of: ", stringify!(_GStaticRecMutex__bindgen_ty_1))
19186    );
19187    assert_eq!(
19188        ::std::mem::align_of::<_GStaticRecMutex__bindgen_ty_1>(),
19189        8usize,
19190        concat!("Alignment of ", stringify!(_GStaticRecMutex__bindgen_ty_1))
19191    );
19192    assert_eq!(
19193        unsafe { ::std::ptr::addr_of!((*ptr).owner) as usize - ptr as usize },
19194        0usize,
19195        concat!(
19196            "Offset of field: ",
19197            stringify!(_GStaticRecMutex__bindgen_ty_1),
19198            "::",
19199            stringify!(owner)
19200        )
19201    );
19202    assert_eq!(
19203        unsafe { ::std::ptr::addr_of!((*ptr).dummy) as usize - ptr as usize },
19204        0usize,
19205        concat!(
19206            "Offset of field: ",
19207            stringify!(_GStaticRecMutex__bindgen_ty_1),
19208            "::",
19209            stringify!(dummy)
19210        )
19211    );
19212}
19213impl ::std::fmt::Debug for _GStaticRecMutex__bindgen_ty_1 {
19214    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19215        write!(f, "_GStaticRecMutex__bindgen_ty_1 {{ union }}")
19216    }
19217}
19218#[test]
19219fn bindgen_test_layout__GStaticRecMutex() {
19220    const UNINIT: ::std::mem::MaybeUninit<_GStaticRecMutex> = ::std::mem::MaybeUninit::uninit();
19221    let ptr = UNINIT.as_ptr();
19222    assert_eq!(
19223        ::std::mem::size_of::<_GStaticRecMutex>(),
19224        64usize,
19225        concat!("Size of: ", stringify!(_GStaticRecMutex))
19226    );
19227    assert_eq!(
19228        ::std::mem::align_of::<_GStaticRecMutex>(),
19229        8usize,
19230        concat!("Alignment of ", stringify!(_GStaticRecMutex))
19231    );
19232    assert_eq!(
19233        unsafe { ::std::ptr::addr_of!((*ptr).mutex) as usize - ptr as usize },
19234        0usize,
19235        concat!(
19236            "Offset of field: ",
19237            stringify!(_GStaticRecMutex),
19238            "::",
19239            stringify!(mutex)
19240        )
19241    );
19242    assert_eq!(
19243        unsafe { ::std::ptr::addr_of!((*ptr).depth) as usize - ptr as usize },
19244        48usize,
19245        concat!(
19246            "Offset of field: ",
19247            stringify!(_GStaticRecMutex),
19248            "::",
19249            stringify!(depth)
19250        )
19251    );
19252    assert_eq!(
19253        unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize },
19254        56usize,
19255        concat!(
19256            "Offset of field: ",
19257            stringify!(_GStaticRecMutex),
19258            "::",
19259            stringify!(unused)
19260        )
19261    );
19262}
19263impl ::std::fmt::Debug for _GStaticRecMutex {
19264    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19265        write!(
19266            f,
19267            "_GStaticRecMutex {{ mutex: {:?}, depth: {:?}, unused: {:?} }}",
19268            self.mutex, self.depth, self.unused
19269        )
19270    }
19271}
19272extern "C" {
19273    pub fn g_static_rec_mutex_init(mutex: *mut GStaticRecMutex);
19274}
19275extern "C" {
19276    pub fn g_static_rec_mutex_lock(mutex: *mut GStaticRecMutex);
19277}
19278extern "C" {
19279    pub fn g_static_rec_mutex_trylock(mutex: *mut GStaticRecMutex) -> gboolean;
19280}
19281extern "C" {
19282    pub fn g_static_rec_mutex_unlock(mutex: *mut GStaticRecMutex);
19283}
19284extern "C" {
19285    pub fn g_static_rec_mutex_lock_full(mutex: *mut GStaticRecMutex, depth: guint);
19286}
19287extern "C" {
19288    pub fn g_static_rec_mutex_unlock_full(mutex: *mut GStaticRecMutex) -> guint;
19289}
19290extern "C" {
19291    pub fn g_static_rec_mutex_free(mutex: *mut GStaticRecMutex);
19292}
19293pub type GStaticRWLock = _GStaticRWLock;
19294#[repr(C)]
19295#[derive(Copy, Clone)]
19296pub struct _GStaticRWLock {
19297    pub mutex: GStaticMutex,
19298    pub read_cond: *mut GCond,
19299    pub write_cond: *mut GCond,
19300    pub read_counter: guint,
19301    pub have_writer: gboolean,
19302    pub want_to_read: guint,
19303    pub want_to_write: guint,
19304}
19305#[test]
19306fn bindgen_test_layout__GStaticRWLock() {
19307    const UNINIT: ::std::mem::MaybeUninit<_GStaticRWLock> = ::std::mem::MaybeUninit::uninit();
19308    let ptr = UNINIT.as_ptr();
19309    assert_eq!(
19310        ::std::mem::size_of::<_GStaticRWLock>(),
19311        80usize,
19312        concat!("Size of: ", stringify!(_GStaticRWLock))
19313    );
19314    assert_eq!(
19315        ::std::mem::align_of::<_GStaticRWLock>(),
19316        8usize,
19317        concat!("Alignment of ", stringify!(_GStaticRWLock))
19318    );
19319    assert_eq!(
19320        unsafe { ::std::ptr::addr_of!((*ptr).mutex) as usize - ptr as usize },
19321        0usize,
19322        concat!(
19323            "Offset of field: ",
19324            stringify!(_GStaticRWLock),
19325            "::",
19326            stringify!(mutex)
19327        )
19328    );
19329    assert_eq!(
19330        unsafe { ::std::ptr::addr_of!((*ptr).read_cond) as usize - ptr as usize },
19331        48usize,
19332        concat!(
19333            "Offset of field: ",
19334            stringify!(_GStaticRWLock),
19335            "::",
19336            stringify!(read_cond)
19337        )
19338    );
19339    assert_eq!(
19340        unsafe { ::std::ptr::addr_of!((*ptr).write_cond) as usize - ptr as usize },
19341        56usize,
19342        concat!(
19343            "Offset of field: ",
19344            stringify!(_GStaticRWLock),
19345            "::",
19346            stringify!(write_cond)
19347        )
19348    );
19349    assert_eq!(
19350        unsafe { ::std::ptr::addr_of!((*ptr).read_counter) as usize - ptr as usize },
19351        64usize,
19352        concat!(
19353            "Offset of field: ",
19354            stringify!(_GStaticRWLock),
19355            "::",
19356            stringify!(read_counter)
19357        )
19358    );
19359    assert_eq!(
19360        unsafe { ::std::ptr::addr_of!((*ptr).have_writer) as usize - ptr as usize },
19361        68usize,
19362        concat!(
19363            "Offset of field: ",
19364            stringify!(_GStaticRWLock),
19365            "::",
19366            stringify!(have_writer)
19367        )
19368    );
19369    assert_eq!(
19370        unsafe { ::std::ptr::addr_of!((*ptr).want_to_read) as usize - ptr as usize },
19371        72usize,
19372        concat!(
19373            "Offset of field: ",
19374            stringify!(_GStaticRWLock),
19375            "::",
19376            stringify!(want_to_read)
19377        )
19378    );
19379    assert_eq!(
19380        unsafe { ::std::ptr::addr_of!((*ptr).want_to_write) as usize - ptr as usize },
19381        76usize,
19382        concat!(
19383            "Offset of field: ",
19384            stringify!(_GStaticRWLock),
19385            "::",
19386            stringify!(want_to_write)
19387        )
19388    );
19389}
19390impl ::std::fmt::Debug for _GStaticRWLock {
19391    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19392        write ! (f , "_GStaticRWLock {{ mutex: {:?}, read_cond: {:?}, write_cond: {:?}, read_counter: {:?}, have_writer: {:?}, want_to_read: {:?}, want_to_write: {:?} }}" , self . mutex , self . read_cond , self . write_cond , self . read_counter , self . have_writer , self . want_to_read , self . want_to_write)
19393    }
19394}
19395extern "C" {
19396    pub fn g_static_rw_lock_init(lock: *mut GStaticRWLock);
19397}
19398extern "C" {
19399    pub fn g_static_rw_lock_reader_lock(lock: *mut GStaticRWLock);
19400}
19401extern "C" {
19402    pub fn g_static_rw_lock_reader_trylock(lock: *mut GStaticRWLock) -> gboolean;
19403}
19404extern "C" {
19405    pub fn g_static_rw_lock_reader_unlock(lock: *mut GStaticRWLock);
19406}
19407extern "C" {
19408    pub fn g_static_rw_lock_writer_lock(lock: *mut GStaticRWLock);
19409}
19410extern "C" {
19411    pub fn g_static_rw_lock_writer_trylock(lock: *mut GStaticRWLock) -> gboolean;
19412}
19413extern "C" {
19414    pub fn g_static_rw_lock_writer_unlock(lock: *mut GStaticRWLock);
19415}
19416extern "C" {
19417    pub fn g_static_rw_lock_free(lock: *mut GStaticRWLock);
19418}
19419extern "C" {
19420    pub fn g_private_new(notify: GDestroyNotify) -> *mut GPrivate;
19421}
19422pub type GStaticPrivate = _GStaticPrivate;
19423#[repr(C)]
19424#[derive(Debug, Copy, Clone, PartialEq, Eq)]
19425pub struct _GStaticPrivate {
19426    pub index: guint,
19427}
19428#[test]
19429fn bindgen_test_layout__GStaticPrivate() {
19430    const UNINIT: ::std::mem::MaybeUninit<_GStaticPrivate> = ::std::mem::MaybeUninit::uninit();
19431    let ptr = UNINIT.as_ptr();
19432    assert_eq!(
19433        ::std::mem::size_of::<_GStaticPrivate>(),
19434        4usize,
19435        concat!("Size of: ", stringify!(_GStaticPrivate))
19436    );
19437    assert_eq!(
19438        ::std::mem::align_of::<_GStaticPrivate>(),
19439        4usize,
19440        concat!("Alignment of ", stringify!(_GStaticPrivate))
19441    );
19442    assert_eq!(
19443        unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
19444        0usize,
19445        concat!(
19446            "Offset of field: ",
19447            stringify!(_GStaticPrivate),
19448            "::",
19449            stringify!(index)
19450        )
19451    );
19452}
19453extern "C" {
19454    pub fn g_static_private_init(private_key: *mut GStaticPrivate);
19455}
19456extern "C" {
19457    pub fn g_static_private_get(private_key: *mut GStaticPrivate) -> gpointer;
19458}
19459extern "C" {
19460    pub fn g_static_private_set(
19461        private_key: *mut GStaticPrivate,
19462        data: gpointer,
19463        notify: GDestroyNotify,
19464    );
19465}
19466extern "C" {
19467    pub fn g_static_private_free(private_key: *mut GStaticPrivate);
19468}
19469extern "C" {
19470    pub fn g_once_init_enter_impl(location: *mut gsize) -> gboolean;
19471}
19472extern "C" {
19473    pub fn g_thread_init(vtable: gpointer);
19474}
19475extern "C" {
19476    pub fn g_thread_init_with_errorcheck_mutexes(vtable: gpointer);
19477}
19478extern "C" {
19479    pub fn g_thread_get_initialized() -> gboolean;
19480}
19481extern "C" {
19482    pub static mut g_threads_got_initialized: gboolean;
19483}
19484extern "C" {
19485    pub fn g_mutex_new() -> *mut GMutex;
19486}
19487extern "C" {
19488    pub fn g_mutex_free(mutex: *mut GMutex);
19489}
19490extern "C" {
19491    pub fn g_cond_new() -> *mut GCond;
19492}
19493extern "C" {
19494    pub fn g_cond_free(cond: *mut GCond);
19495}
19496extern "C" {
19497    pub fn g_cond_timed_wait(
19498        cond: *mut GCond,
19499        mutex: *mut GMutex,
19500        timeval: *mut GTimeVal,
19501    ) -> gboolean;
19502}
19503pub type GAsyncQueue_autoptr = *mut GAsyncQueue;
19504pub type GAsyncQueue_listautoptr = *mut GList;
19505pub type GAsyncQueue_slistautoptr = *mut GSList;
19506pub type GAsyncQueue_queueautoptr = *mut GQueue;
19507pub type GBookmarkFile_autoptr = *mut GBookmarkFile;
19508pub type GBookmarkFile_listautoptr = *mut GList;
19509pub type GBookmarkFile_slistautoptr = *mut GSList;
19510pub type GBookmarkFile_queueautoptr = *mut GQueue;
19511pub type GBytes_autoptr = *mut GBytes;
19512pub type GBytes_listautoptr = *mut GList;
19513pub type GBytes_slistautoptr = *mut GSList;
19514pub type GBytes_queueautoptr = *mut GQueue;
19515pub type GChecksum_autoptr = *mut GChecksum;
19516pub type GChecksum_listautoptr = *mut GList;
19517pub type GChecksum_slistautoptr = *mut GSList;
19518pub type GChecksum_queueautoptr = *mut GQueue;
19519pub type GDateTime_autoptr = *mut GDateTime;
19520pub type GDateTime_listautoptr = *mut GList;
19521pub type GDateTime_slistautoptr = *mut GSList;
19522pub type GDateTime_queueautoptr = *mut GQueue;
19523pub type GDate_autoptr = *mut GDate;
19524pub type GDate_listautoptr = *mut GList;
19525pub type GDate_slistautoptr = *mut GSList;
19526pub type GDate_queueautoptr = *mut GQueue;
19527pub type GDir_autoptr = *mut GDir;
19528pub type GDir_listautoptr = *mut GList;
19529pub type GDir_slistautoptr = *mut GSList;
19530pub type GDir_queueautoptr = *mut GQueue;
19531pub type GError_autoptr = *mut GError;
19532pub type GError_listautoptr = *mut GList;
19533pub type GError_slistautoptr = *mut GSList;
19534pub type GError_queueautoptr = *mut GQueue;
19535pub type GHashTable_autoptr = *mut GHashTable;
19536pub type GHashTable_listautoptr = *mut GList;
19537pub type GHashTable_slistautoptr = *mut GSList;
19538pub type GHashTable_queueautoptr = *mut GQueue;
19539pub type GHmac_autoptr = *mut GHmac;
19540pub type GHmac_listautoptr = *mut GList;
19541pub type GHmac_slistautoptr = *mut GSList;
19542pub type GHmac_queueautoptr = *mut GQueue;
19543pub type GIOChannel_autoptr = *mut GIOChannel;
19544pub type GIOChannel_listautoptr = *mut GList;
19545pub type GIOChannel_slistautoptr = *mut GSList;
19546pub type GIOChannel_queueautoptr = *mut GQueue;
19547pub type GKeyFile_autoptr = *mut GKeyFile;
19548pub type GKeyFile_listautoptr = *mut GList;
19549pub type GKeyFile_slistautoptr = *mut GSList;
19550pub type GKeyFile_queueautoptr = *mut GQueue;
19551pub type GList_autoptr = *mut GList;
19552pub type GList_listautoptr = *mut GList;
19553pub type GList_slistautoptr = *mut GSList;
19554pub type GList_queueautoptr = *mut GQueue;
19555pub type GArray_autoptr = *mut GArray;
19556pub type GArray_listautoptr = *mut GList;
19557pub type GArray_slistautoptr = *mut GSList;
19558pub type GArray_queueautoptr = *mut GQueue;
19559pub type GPtrArray_autoptr = *mut GPtrArray;
19560pub type GPtrArray_listautoptr = *mut GList;
19561pub type GPtrArray_slistautoptr = *mut GSList;
19562pub type GPtrArray_queueautoptr = *mut GQueue;
19563pub type GByteArray_autoptr = *mut GByteArray;
19564pub type GByteArray_listautoptr = *mut GList;
19565pub type GByteArray_slistautoptr = *mut GSList;
19566pub type GByteArray_queueautoptr = *mut GQueue;
19567pub type GMainContext_autoptr = *mut GMainContext;
19568pub type GMainContext_listautoptr = *mut GList;
19569pub type GMainContext_slistautoptr = *mut GSList;
19570pub type GMainContext_queueautoptr = *mut GQueue;
19571pub type GMainContextPusher_autoptr = *mut GMainContextPusher;
19572pub type GMainContextPusher_listautoptr = *mut GList;
19573pub type GMainContextPusher_slistautoptr = *mut GSList;
19574pub type GMainContextPusher_queueautoptr = *mut GQueue;
19575pub type GMainLoop_autoptr = *mut GMainLoop;
19576pub type GMainLoop_listautoptr = *mut GList;
19577pub type GMainLoop_slistautoptr = *mut GSList;
19578pub type GMainLoop_queueautoptr = *mut GQueue;
19579pub type GSource_autoptr = *mut GSource;
19580pub type GSource_listautoptr = *mut GList;
19581pub type GSource_slistautoptr = *mut GSList;
19582pub type GSource_queueautoptr = *mut GQueue;
19583pub type GMappedFile_autoptr = *mut GMappedFile;
19584pub type GMappedFile_listautoptr = *mut GList;
19585pub type GMappedFile_slistautoptr = *mut GSList;
19586pub type GMappedFile_queueautoptr = *mut GQueue;
19587pub type GMarkupParseContext_autoptr = *mut GMarkupParseContext;
19588pub type GMarkupParseContext_listautoptr = *mut GList;
19589pub type GMarkupParseContext_slistautoptr = *mut GSList;
19590pub type GMarkupParseContext_queueautoptr = *mut GQueue;
19591pub type GNode_autoptr = *mut GNode;
19592pub type GNode_listautoptr = *mut GList;
19593pub type GNode_slistautoptr = *mut GSList;
19594pub type GNode_queueautoptr = *mut GQueue;
19595pub type GOptionContext_autoptr = *mut GOptionContext;
19596pub type GOptionContext_listautoptr = *mut GList;
19597pub type GOptionContext_slistautoptr = *mut GSList;
19598pub type GOptionContext_queueautoptr = *mut GQueue;
19599pub type GOptionGroup_autoptr = *mut GOptionGroup;
19600pub type GOptionGroup_listautoptr = *mut GList;
19601pub type GOptionGroup_slistautoptr = *mut GSList;
19602pub type GOptionGroup_queueautoptr = *mut GQueue;
19603pub type GPatternSpec_autoptr = *mut GPatternSpec;
19604pub type GPatternSpec_listautoptr = *mut GList;
19605pub type GPatternSpec_slistautoptr = *mut GSList;
19606pub type GPatternSpec_queueautoptr = *mut GQueue;
19607pub type GQueue_autoptr = *mut GQueue;
19608pub type GQueue_listautoptr = *mut GList;
19609pub type GQueue_slistautoptr = *mut GSList;
19610pub type GQueue_queueautoptr = *mut GQueue;
19611pub type GRand_autoptr = *mut GRand;
19612pub type GRand_listautoptr = *mut GList;
19613pub type GRand_slistautoptr = *mut GSList;
19614pub type GRand_queueautoptr = *mut GQueue;
19615pub type GRegex_autoptr = *mut GRegex;
19616pub type GRegex_listautoptr = *mut GList;
19617pub type GRegex_slistautoptr = *mut GSList;
19618pub type GRegex_queueautoptr = *mut GQueue;
19619pub type GMatchInfo_autoptr = *mut GMatchInfo;
19620pub type GMatchInfo_listautoptr = *mut GList;
19621pub type GMatchInfo_slistautoptr = *mut GSList;
19622pub type GMatchInfo_queueautoptr = *mut GQueue;
19623pub type GScanner_autoptr = *mut GScanner;
19624pub type GScanner_listautoptr = *mut GList;
19625pub type GScanner_slistautoptr = *mut GSList;
19626pub type GScanner_queueautoptr = *mut GQueue;
19627pub type GSequence_autoptr = *mut GSequence;
19628pub type GSequence_listautoptr = *mut GList;
19629pub type GSequence_slistautoptr = *mut GSList;
19630pub type GSequence_queueautoptr = *mut GQueue;
19631pub type GSList_autoptr = *mut GSList;
19632pub type GSList_listautoptr = *mut GList;
19633pub type GSList_slistautoptr = *mut GSList;
19634pub type GSList_queueautoptr = *mut GQueue;
19635pub type GString_autoptr = *mut GString;
19636pub type GString_listautoptr = *mut GList;
19637pub type GString_slistautoptr = *mut GSList;
19638pub type GString_queueautoptr = *mut GQueue;
19639pub type GStringChunk_autoptr = *mut GStringChunk;
19640pub type GStringChunk_listautoptr = *mut GList;
19641pub type GStringChunk_slistautoptr = *mut GSList;
19642pub type GStringChunk_queueautoptr = *mut GQueue;
19643pub type GStrvBuilder_autoptr = *mut GStrvBuilder;
19644pub type GStrvBuilder_listautoptr = *mut GList;
19645pub type GStrvBuilder_slistautoptr = *mut GSList;
19646pub type GStrvBuilder_queueautoptr = *mut GQueue;
19647pub type GThread_autoptr = *mut GThread;
19648pub type GThread_listautoptr = *mut GList;
19649pub type GThread_slistautoptr = *mut GSList;
19650pub type GThread_queueautoptr = *mut GQueue;
19651pub type GMutexLocker_autoptr = *mut GMutexLocker;
19652pub type GMutexLocker_listautoptr = *mut GList;
19653pub type GMutexLocker_slistautoptr = *mut GSList;
19654pub type GMutexLocker_queueautoptr = *mut GQueue;
19655pub type GRecMutexLocker_autoptr = *mut GRecMutexLocker;
19656pub type GRecMutexLocker_listautoptr = *mut GList;
19657pub type GRecMutexLocker_slistautoptr = *mut GSList;
19658pub type GRecMutexLocker_queueautoptr = *mut GQueue;
19659pub type GRWLockWriterLocker_autoptr = *mut GRWLockWriterLocker;
19660pub type GRWLockWriterLocker_listautoptr = *mut GList;
19661pub type GRWLockWriterLocker_slistautoptr = *mut GSList;
19662pub type GRWLockWriterLocker_queueautoptr = *mut GQueue;
19663pub type GRWLockReaderLocker_autoptr = *mut GRWLockReaderLocker;
19664pub type GRWLockReaderLocker_listautoptr = *mut GList;
19665pub type GRWLockReaderLocker_slistautoptr = *mut GSList;
19666pub type GRWLockReaderLocker_queueautoptr = *mut GQueue;
19667pub type GTimer_autoptr = *mut GTimer;
19668pub type GTimer_listautoptr = *mut GList;
19669pub type GTimer_slistautoptr = *mut GSList;
19670pub type GTimer_queueautoptr = *mut GQueue;
19671pub type GTimeZone_autoptr = *mut GTimeZone;
19672pub type GTimeZone_listautoptr = *mut GList;
19673pub type GTimeZone_slistautoptr = *mut GSList;
19674pub type GTimeZone_queueautoptr = *mut GQueue;
19675pub type GTree_autoptr = *mut GTree;
19676pub type GTree_listautoptr = *mut GList;
19677pub type GTree_slistautoptr = *mut GSList;
19678pub type GTree_queueautoptr = *mut GQueue;
19679pub type GVariant_autoptr = *mut GVariant;
19680pub type GVariant_listautoptr = *mut GList;
19681pub type GVariant_slistautoptr = *mut GSList;
19682pub type GVariant_queueautoptr = *mut GQueue;
19683pub type GVariantBuilder_autoptr = *mut GVariantBuilder;
19684pub type GVariantBuilder_listautoptr = *mut GList;
19685pub type GVariantBuilder_slistautoptr = *mut GSList;
19686pub type GVariantBuilder_queueautoptr = *mut GQueue;
19687pub type GVariantIter_autoptr = *mut GVariantIter;
19688pub type GVariantIter_listautoptr = *mut GList;
19689pub type GVariantIter_slistautoptr = *mut GSList;
19690pub type GVariantIter_queueautoptr = *mut GQueue;
19691pub type GVariantDict_autoptr = *mut GVariantDict;
19692pub type GVariantDict_listautoptr = *mut GList;
19693pub type GVariantDict_slistautoptr = *mut GSList;
19694pub type GVariantDict_queueautoptr = *mut GQueue;
19695pub type GVariantType_autoptr = *mut GVariantType;
19696pub type GVariantType_listautoptr = *mut GList;
19697pub type GVariantType_slistautoptr = *mut GSList;
19698pub type GVariantType_queueautoptr = *mut GQueue;
19699pub type GRefString_autoptr = *mut GRefString;
19700pub type GRefString_listautoptr = *mut GList;
19701pub type GRefString_slistautoptr = *mut GSList;
19702pub type GRefString_queueautoptr = *mut GQueue;
19703pub type GUri_autoptr = *mut GUri;
19704pub type GUri_listautoptr = *mut GList;
19705pub type GUri_slistautoptr = *mut GSList;
19706pub type GUri_queueautoptr = *mut GQueue;
19707pub type GPathBuf_autoptr = *mut GPathBuf;
19708pub type GPathBuf_listautoptr = *mut GList;
19709pub type GPathBuf_slistautoptr = *mut GSList;
19710pub type GPathBuf_queueautoptr = *mut GQueue;
19711#[repr(C)]
19712#[derive(Debug, Copy, Clone)]
19713pub struct _IO_FILE {
19714    _unused: [u8; 0],
19715}
19716pub type FILE = _IO_FILE;
19717pub type __isoc_va_list = [u64; 4usize];
19718#[repr(C)]
19719#[derive(Copy, Clone)]
19720pub union _G_fpos64_t {
19721    pub __opaque: [::std::os::raw::c_char; 16usize],
19722    pub __lldata: ::std::os::raw::c_longlong,
19723    pub __align: f64,
19724}
19725#[test]
19726fn bindgen_test_layout__G_fpos64_t() {
19727    const UNINIT: ::std::mem::MaybeUninit<_G_fpos64_t> = ::std::mem::MaybeUninit::uninit();
19728    let ptr = UNINIT.as_ptr();
19729    assert_eq!(
19730        ::std::mem::size_of::<_G_fpos64_t>(),
19731        16usize,
19732        concat!("Size of: ", stringify!(_G_fpos64_t))
19733    );
19734    assert_eq!(
19735        ::std::mem::align_of::<_G_fpos64_t>(),
19736        8usize,
19737        concat!("Alignment of ", stringify!(_G_fpos64_t))
19738    );
19739    assert_eq!(
19740        unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
19741        0usize,
19742        concat!(
19743            "Offset of field: ",
19744            stringify!(_G_fpos64_t),
19745            "::",
19746            stringify!(__opaque)
19747        )
19748    );
19749    assert_eq!(
19750        unsafe { ::std::ptr::addr_of!((*ptr).__lldata) as usize - ptr as usize },
19751        0usize,
19752        concat!(
19753            "Offset of field: ",
19754            stringify!(_G_fpos64_t),
19755            "::",
19756            stringify!(__lldata)
19757        )
19758    );
19759    assert_eq!(
19760        unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
19761        0usize,
19762        concat!(
19763            "Offset of field: ",
19764            stringify!(_G_fpos64_t),
19765            "::",
19766            stringify!(__align)
19767        )
19768    );
19769}
19770impl ::std::fmt::Debug for _G_fpos64_t {
19771    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19772        write!(f, "_G_fpos64_t {{ union }}")
19773    }
19774}
19775pub type fpos_t = _G_fpos64_t;
19776extern "C" {
19777    pub static stdin: *mut FILE;
19778}
19779extern "C" {
19780    pub static stdout: *mut FILE;
19781}
19782extern "C" {
19783    pub static stderr: *mut FILE;
19784}
19785extern "C" {
19786    pub fn fopen(
19787        arg1: *const ::std::os::raw::c_char,
19788        arg2: *const ::std::os::raw::c_char,
19789    ) -> *mut FILE;
19790}
19791extern "C" {
19792    pub fn freopen(
19793        arg1: *const ::std::os::raw::c_char,
19794        arg2: *const ::std::os::raw::c_char,
19795        arg3: *mut FILE,
19796    ) -> *mut FILE;
19797}
19798extern "C" {
19799    pub fn fclose(arg1: *mut FILE) -> ::std::os::raw::c_int;
19800}
19801extern "C" {
19802    pub fn remove(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
19803}
19804extern "C" {
19805    pub fn rename(
19806        arg1: *const ::std::os::raw::c_char,
19807        arg2: *const ::std::os::raw::c_char,
19808    ) -> ::std::os::raw::c_int;
19809}
19810extern "C" {
19811    pub fn feof(arg1: *mut FILE) -> ::std::os::raw::c_int;
19812}
19813extern "C" {
19814    pub fn ferror(arg1: *mut FILE) -> ::std::os::raw::c_int;
19815}
19816extern "C" {
19817    pub fn fflush(arg1: *mut FILE) -> ::std::os::raw::c_int;
19818}
19819extern "C" {
19820    pub fn clearerr(arg1: *mut FILE);
19821}
19822extern "C" {
19823    pub fn fseek(
19824        arg1: *mut FILE,
19825        arg2: ::std::os::raw::c_long,
19826        arg3: ::std::os::raw::c_int,
19827    ) -> ::std::os::raw::c_int;
19828}
19829extern "C" {
19830    pub fn ftell(arg1: *mut FILE) -> ::std::os::raw::c_long;
19831}
19832extern "C" {
19833    pub fn rewind(arg1: *mut FILE);
19834}
19835extern "C" {
19836    pub fn fgetpos(arg1: *mut FILE, arg2: *mut fpos_t) -> ::std::os::raw::c_int;
19837}
19838extern "C" {
19839    pub fn fsetpos(arg1: *mut FILE, arg2: *const fpos_t) -> ::std::os::raw::c_int;
19840}
19841extern "C" {
19842    pub fn fread(
19843        arg1: *mut ::std::os::raw::c_void,
19844        arg2: ::std::os::raw::c_ulong,
19845        arg3: ::std::os::raw::c_ulong,
19846        arg4: *mut FILE,
19847    ) -> ::std::os::raw::c_ulong;
19848}
19849extern "C" {
19850    pub fn fwrite(
19851        arg1: *const ::std::os::raw::c_void,
19852        arg2: ::std::os::raw::c_ulong,
19853        arg3: ::std::os::raw::c_ulong,
19854        arg4: *mut FILE,
19855    ) -> ::std::os::raw::c_ulong;
19856}
19857extern "C" {
19858    pub fn fgetc(arg1: *mut FILE) -> ::std::os::raw::c_int;
19859}
19860extern "C" {
19861    pub fn getc(arg1: *mut FILE) -> ::std::os::raw::c_int;
19862}
19863extern "C" {
19864    pub fn getchar() -> ::std::os::raw::c_int;
19865}
19866extern "C" {
19867    pub fn ungetc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
19868}
19869extern "C" {
19870    pub fn fputc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
19871}
19872extern "C" {
19873    pub fn putc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
19874}
19875extern "C" {
19876    pub fn putchar(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
19877}
19878extern "C" {
19879    pub fn fgets(
19880        arg1: *mut ::std::os::raw::c_char,
19881        arg2: ::std::os::raw::c_int,
19882        arg3: *mut FILE,
19883    ) -> *mut ::std::os::raw::c_char;
19884}
19885extern "C" {
19886    pub fn fputs(arg1: *const ::std::os::raw::c_char, arg2: *mut FILE) -> ::std::os::raw::c_int;
19887}
19888extern "C" {
19889    pub fn puts(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
19890}
19891extern "C" {
19892    pub fn printf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
19893}
19894extern "C" {
19895    pub fn fprintf(
19896        arg1: *mut FILE,
19897        arg2: *const ::std::os::raw::c_char,
19898        ...
19899    ) -> ::std::os::raw::c_int;
19900}
19901extern "C" {
19902    pub fn sprintf(
19903        arg1: *mut ::std::os::raw::c_char,
19904        arg2: *const ::std::os::raw::c_char,
19905        ...
19906    ) -> ::std::os::raw::c_int;
19907}
19908extern "C" {
19909    pub fn snprintf(
19910        arg1: *mut ::std::os::raw::c_char,
19911        arg2: ::std::os::raw::c_ulong,
19912        arg3: *const ::std::os::raw::c_char,
19913        ...
19914    ) -> ::std::os::raw::c_int;
19915}
19916extern "C" {
19917    pub fn vprintf(
19918        arg1: *const ::std::os::raw::c_char,
19919        arg2: [u64; 4usize],
19920    ) -> ::std::os::raw::c_int;
19921}
19922extern "C" {
19923    pub fn vfprintf(
19924        arg1: *mut FILE,
19925        arg2: *const ::std::os::raw::c_char,
19926        arg3: [u64; 4usize],
19927    ) -> ::std::os::raw::c_int;
19928}
19929extern "C" {
19930    pub fn vsprintf(
19931        arg1: *mut ::std::os::raw::c_char,
19932        arg2: *const ::std::os::raw::c_char,
19933        arg3: [u64; 4usize],
19934    ) -> ::std::os::raw::c_int;
19935}
19936extern "C" {
19937    pub fn vsnprintf(
19938        arg1: *mut ::std::os::raw::c_char,
19939        arg2: ::std::os::raw::c_ulong,
19940        arg3: *const ::std::os::raw::c_char,
19941        arg4: [u64; 4usize],
19942    ) -> ::std::os::raw::c_int;
19943}
19944extern "C" {
19945    pub fn scanf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
19946}
19947extern "C" {
19948    pub fn fscanf(
19949        arg1: *mut FILE,
19950        arg2: *const ::std::os::raw::c_char,
19951        ...
19952    ) -> ::std::os::raw::c_int;
19953}
19954extern "C" {
19955    pub fn sscanf(
19956        arg1: *const ::std::os::raw::c_char,
19957        arg2: *const ::std::os::raw::c_char,
19958        ...
19959    ) -> ::std::os::raw::c_int;
19960}
19961extern "C" {
19962    pub fn vscanf(
19963        arg1: *const ::std::os::raw::c_char,
19964        arg2: [u64; 4usize],
19965    ) -> ::std::os::raw::c_int;
19966}
19967extern "C" {
19968    pub fn vfscanf(
19969        arg1: *mut FILE,
19970        arg2: *const ::std::os::raw::c_char,
19971        arg3: [u64; 4usize],
19972    ) -> ::std::os::raw::c_int;
19973}
19974extern "C" {
19975    pub fn vsscanf(
19976        arg1: *const ::std::os::raw::c_char,
19977        arg2: *const ::std::os::raw::c_char,
19978        arg3: [u64; 4usize],
19979    ) -> ::std::os::raw::c_int;
19980}
19981extern "C" {
19982    pub fn perror(arg1: *const ::std::os::raw::c_char);
19983}
19984extern "C" {
19985    pub fn setvbuf(
19986        arg1: *mut FILE,
19987        arg2: *mut ::std::os::raw::c_char,
19988        arg3: ::std::os::raw::c_int,
19989        arg4: size_t,
19990    ) -> ::std::os::raw::c_int;
19991}
19992extern "C" {
19993    pub fn setbuf(arg1: *mut FILE, arg2: *mut ::std::os::raw::c_char);
19994}
19995extern "C" {
19996    pub fn tmpnam(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
19997}
19998extern "C" {
19999    pub fn tmpfile() -> *mut FILE;
20000}
20001extern "C" {
20002    pub fn fmemopen(
20003        arg1: *mut ::std::os::raw::c_void,
20004        arg2: size_t,
20005        arg3: *const ::std::os::raw::c_char,
20006    ) -> *mut FILE;
20007}
20008extern "C" {
20009    pub fn open_memstream(arg1: *mut *mut ::std::os::raw::c_char, arg2: *mut size_t) -> *mut FILE;
20010}
20011extern "C" {
20012    pub fn fdopen(arg1: ::std::os::raw::c_int, arg2: *const ::std::os::raw::c_char) -> *mut FILE;
20013}
20014extern "C" {
20015    pub fn popen(
20016        arg1: *const ::std::os::raw::c_char,
20017        arg2: *const ::std::os::raw::c_char,
20018    ) -> *mut FILE;
20019}
20020extern "C" {
20021    pub fn pclose(arg1: *mut FILE) -> ::std::os::raw::c_int;
20022}
20023extern "C" {
20024    pub fn fileno(arg1: *mut FILE) -> ::std::os::raw::c_int;
20025}
20026extern "C" {
20027    pub fn fseeko(
20028        arg1: *mut FILE,
20029        arg2: off_t,
20030        arg3: ::std::os::raw::c_int,
20031    ) -> ::std::os::raw::c_int;
20032}
20033extern "C" {
20034    pub fn ftello(arg1: *mut FILE) -> off_t;
20035}
20036extern "C" {
20037    pub fn dprintf(
20038        arg1: ::std::os::raw::c_int,
20039        arg2: *const ::std::os::raw::c_char,
20040        ...
20041    ) -> ::std::os::raw::c_int;
20042}
20043extern "C" {
20044    pub fn vdprintf(
20045        arg1: ::std::os::raw::c_int,
20046        arg2: *const ::std::os::raw::c_char,
20047        arg3: __isoc_va_list,
20048    ) -> ::std::os::raw::c_int;
20049}
20050extern "C" {
20051    pub fn flockfile(arg1: *mut FILE);
20052}
20053extern "C" {
20054    pub fn ftrylockfile(arg1: *mut FILE) -> ::std::os::raw::c_int;
20055}
20056extern "C" {
20057    pub fn funlockfile(arg1: *mut FILE);
20058}
20059extern "C" {
20060    pub fn getc_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int;
20061}
20062extern "C" {
20063    pub fn getchar_unlocked() -> ::std::os::raw::c_int;
20064}
20065extern "C" {
20066    pub fn putc_unlocked(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
20067}
20068extern "C" {
20069    pub fn putchar_unlocked(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
20070}
20071extern "C" {
20072    pub fn getdelim(
20073        arg1: *mut *mut ::std::os::raw::c_char,
20074        arg2: *mut size_t,
20075        arg3: ::std::os::raw::c_int,
20076        arg4: *mut FILE,
20077    ) -> ssize_t;
20078}
20079extern "C" {
20080    pub fn getline(
20081        arg1: *mut *mut ::std::os::raw::c_char,
20082        arg2: *mut size_t,
20083        arg3: *mut FILE,
20084    ) -> ssize_t;
20085}
20086extern "C" {
20087    pub fn renameat(
20088        arg1: ::std::os::raw::c_int,
20089        arg2: *const ::std::os::raw::c_char,
20090        arg3: ::std::os::raw::c_int,
20091        arg4: *const ::std::os::raw::c_char,
20092    ) -> ::std::os::raw::c_int;
20093}
20094extern "C" {
20095    pub fn ctermid(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
20096}
20097extern "C" {
20098    pub fn tempnam(
20099        arg1: *const ::std::os::raw::c_char,
20100        arg2: *const ::std::os::raw::c_char,
20101    ) -> *mut ::std::os::raw::c_char;
20102}
20103extern "C" {
20104    pub fn cuserid(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
20105}
20106extern "C" {
20107    pub fn setlinebuf(arg1: *mut FILE);
20108}
20109extern "C" {
20110    pub fn setbuffer(arg1: *mut FILE, arg2: *mut ::std::os::raw::c_char, arg3: size_t);
20111}
20112extern "C" {
20113    pub fn fgetc_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int;
20114}
20115extern "C" {
20116    pub fn fputc_unlocked(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
20117}
20118extern "C" {
20119    pub fn fflush_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int;
20120}
20121extern "C" {
20122    pub fn fread_unlocked(
20123        arg1: *mut ::std::os::raw::c_void,
20124        arg2: size_t,
20125        arg3: size_t,
20126        arg4: *mut FILE,
20127    ) -> size_t;
20128}
20129extern "C" {
20130    pub fn fwrite_unlocked(
20131        arg1: *const ::std::os::raw::c_void,
20132        arg2: size_t,
20133        arg3: size_t,
20134        arg4: *mut FILE,
20135    ) -> size_t;
20136}
20137extern "C" {
20138    pub fn clearerr_unlocked(arg1: *mut FILE);
20139}
20140extern "C" {
20141    pub fn feof_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int;
20142}
20143extern "C" {
20144    pub fn ferror_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int;
20145}
20146extern "C" {
20147    pub fn fileno_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int;
20148}
20149extern "C" {
20150    pub fn getw(arg1: *mut FILE) -> ::std::os::raw::c_int;
20151}
20152extern "C" {
20153    pub fn putw(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
20154}
20155extern "C" {
20156    pub fn fgetln(arg1: *mut FILE, arg2: *mut size_t) -> *mut ::std::os::raw::c_char;
20157}
20158extern "C" {
20159    pub fn asprintf(
20160        arg1: *mut *mut ::std::os::raw::c_char,
20161        arg2: *const ::std::os::raw::c_char,
20162        ...
20163    ) -> ::std::os::raw::c_int;
20164}
20165extern "C" {
20166    pub fn vasprintf(
20167        arg1: *mut *mut ::std::os::raw::c_char,
20168        arg2: *const ::std::os::raw::c_char,
20169        arg3: __isoc_va_list,
20170    ) -> ::std::os::raw::c_int;
20171}
20172extern "C" {
20173    pub fn g_printf(format: *const gchar, ...) -> gint;
20174}
20175extern "C" {
20176    pub fn g_fprintf(file: *mut FILE, format: *const gchar, ...) -> gint;
20177}
20178extern "C" {
20179    pub fn g_sprintf(string: *mut gchar, format: *const gchar, ...) -> gint;
20180}
20181extern "C" {
20182    pub fn g_vprintf(format: *const gchar, args: va_list) -> gint;
20183}
20184extern "C" {
20185    pub fn g_vfprintf(file: *mut FILE, format: *const gchar, args: va_list) -> gint;
20186}
20187extern "C" {
20188    pub fn g_vsprintf(string: *mut gchar, format: *const gchar, args: va_list) -> gint;
20189}
20190extern "C" {
20191    pub fn g_vasprintf(string: *mut *mut gchar, format: *const gchar, args: va_list) -> gint;
20192}
20193#[repr(C)]
20194#[derive(Debug, Copy, Clone, PartialEq, Eq)]
20195pub struct stat {
20196    pub st_dev: dev_t,
20197    pub st_ino: ino_t,
20198    pub st_mode: mode_t,
20199    pub st_nlink: nlink_t,
20200    pub st_uid: uid_t,
20201    pub st_gid: gid_t,
20202    pub st_rdev: dev_t,
20203    pub __pad: ::std::os::raw::c_ulong,
20204    pub st_size: off_t,
20205    pub st_blksize: blksize_t,
20206    pub __pad2: ::std::os::raw::c_int,
20207    pub st_blocks: blkcnt_t,
20208    pub st_atim: timespec,
20209    pub st_mtim: timespec,
20210    pub st_ctim: timespec,
20211    pub __unused: [::std::os::raw::c_uint; 2usize],
20212}
20213#[test]
20214fn bindgen_test_layout_stat() {
20215    const UNINIT: ::std::mem::MaybeUninit<stat> = ::std::mem::MaybeUninit::uninit();
20216    let ptr = UNINIT.as_ptr();
20217    assert_eq!(
20218        ::std::mem::size_of::<stat>(),
20219        128usize,
20220        concat!("Size of: ", stringify!(stat))
20221    );
20222    assert_eq!(
20223        ::std::mem::align_of::<stat>(),
20224        8usize,
20225        concat!("Alignment of ", stringify!(stat))
20226    );
20227    assert_eq!(
20228        unsafe { ::std::ptr::addr_of!((*ptr).st_dev) as usize - ptr as usize },
20229        0usize,
20230        concat!(
20231            "Offset of field: ",
20232            stringify!(stat),
20233            "::",
20234            stringify!(st_dev)
20235        )
20236    );
20237    assert_eq!(
20238        unsafe { ::std::ptr::addr_of!((*ptr).st_ino) as usize - ptr as usize },
20239        8usize,
20240        concat!(
20241            "Offset of field: ",
20242            stringify!(stat),
20243            "::",
20244            stringify!(st_ino)
20245        )
20246    );
20247    assert_eq!(
20248        unsafe { ::std::ptr::addr_of!((*ptr).st_mode) as usize - ptr as usize },
20249        16usize,
20250        concat!(
20251            "Offset of field: ",
20252            stringify!(stat),
20253            "::",
20254            stringify!(st_mode)
20255        )
20256    );
20257    assert_eq!(
20258        unsafe { ::std::ptr::addr_of!((*ptr).st_nlink) as usize - ptr as usize },
20259        20usize,
20260        concat!(
20261            "Offset of field: ",
20262            stringify!(stat),
20263            "::",
20264            stringify!(st_nlink)
20265        )
20266    );
20267    assert_eq!(
20268        unsafe { ::std::ptr::addr_of!((*ptr).st_uid) as usize - ptr as usize },
20269        24usize,
20270        concat!(
20271            "Offset of field: ",
20272            stringify!(stat),
20273            "::",
20274            stringify!(st_uid)
20275        )
20276    );
20277    assert_eq!(
20278        unsafe { ::std::ptr::addr_of!((*ptr).st_gid) as usize - ptr as usize },
20279        28usize,
20280        concat!(
20281            "Offset of field: ",
20282            stringify!(stat),
20283            "::",
20284            stringify!(st_gid)
20285        )
20286    );
20287    assert_eq!(
20288        unsafe { ::std::ptr::addr_of!((*ptr).st_rdev) as usize - ptr as usize },
20289        32usize,
20290        concat!(
20291            "Offset of field: ",
20292            stringify!(stat),
20293            "::",
20294            stringify!(st_rdev)
20295        )
20296    );
20297    assert_eq!(
20298        unsafe { ::std::ptr::addr_of!((*ptr).__pad) as usize - ptr as usize },
20299        40usize,
20300        concat!(
20301            "Offset of field: ",
20302            stringify!(stat),
20303            "::",
20304            stringify!(__pad)
20305        )
20306    );
20307    assert_eq!(
20308        unsafe { ::std::ptr::addr_of!((*ptr).st_size) as usize - ptr as usize },
20309        48usize,
20310        concat!(
20311            "Offset of field: ",
20312            stringify!(stat),
20313            "::",
20314            stringify!(st_size)
20315        )
20316    );
20317    assert_eq!(
20318        unsafe { ::std::ptr::addr_of!((*ptr).st_blksize) as usize - ptr as usize },
20319        56usize,
20320        concat!(
20321            "Offset of field: ",
20322            stringify!(stat),
20323            "::",
20324            stringify!(st_blksize)
20325        )
20326    );
20327    assert_eq!(
20328        unsafe { ::std::ptr::addr_of!((*ptr).__pad2) as usize - ptr as usize },
20329        60usize,
20330        concat!(
20331            "Offset of field: ",
20332            stringify!(stat),
20333            "::",
20334            stringify!(__pad2)
20335        )
20336    );
20337    assert_eq!(
20338        unsafe { ::std::ptr::addr_of!((*ptr).st_blocks) as usize - ptr as usize },
20339        64usize,
20340        concat!(
20341            "Offset of field: ",
20342            stringify!(stat),
20343            "::",
20344            stringify!(st_blocks)
20345        )
20346    );
20347    assert_eq!(
20348        unsafe { ::std::ptr::addr_of!((*ptr).st_atim) as usize - ptr as usize },
20349        72usize,
20350        concat!(
20351            "Offset of field: ",
20352            stringify!(stat),
20353            "::",
20354            stringify!(st_atim)
20355        )
20356    );
20357    assert_eq!(
20358        unsafe { ::std::ptr::addr_of!((*ptr).st_mtim) as usize - ptr as usize },
20359        88usize,
20360        concat!(
20361            "Offset of field: ",
20362            stringify!(stat),
20363            "::",
20364            stringify!(st_mtim)
20365        )
20366    );
20367    assert_eq!(
20368        unsafe { ::std::ptr::addr_of!((*ptr).st_ctim) as usize - ptr as usize },
20369        104usize,
20370        concat!(
20371            "Offset of field: ",
20372            stringify!(stat),
20373            "::",
20374            stringify!(st_ctim)
20375        )
20376    );
20377    assert_eq!(
20378        unsafe { ::std::ptr::addr_of!((*ptr).__unused) as usize - ptr as usize },
20379        120usize,
20380        concat!(
20381            "Offset of field: ",
20382            stringify!(stat),
20383            "::",
20384            stringify!(__unused)
20385        )
20386    );
20387}
20388extern "C" {
20389    pub fn stat(arg1: *const ::std::os::raw::c_char, arg2: *mut stat) -> ::std::os::raw::c_int;
20390}
20391extern "C" {
20392    pub fn fstat(arg1: ::std::os::raw::c_int, arg2: *mut stat) -> ::std::os::raw::c_int;
20393}
20394extern "C" {
20395    pub fn lstat(arg1: *const ::std::os::raw::c_char, arg2: *mut stat) -> ::std::os::raw::c_int;
20396}
20397extern "C" {
20398    pub fn fstatat(
20399        arg1: ::std::os::raw::c_int,
20400        arg2: *const ::std::os::raw::c_char,
20401        arg3: *mut stat,
20402        arg4: ::std::os::raw::c_int,
20403    ) -> ::std::os::raw::c_int;
20404}
20405extern "C" {
20406    pub fn chmod(arg1: *const ::std::os::raw::c_char, arg2: mode_t) -> ::std::os::raw::c_int;
20407}
20408extern "C" {
20409    pub fn fchmod(arg1: ::std::os::raw::c_int, arg2: mode_t) -> ::std::os::raw::c_int;
20410}
20411extern "C" {
20412    pub fn fchmodat(
20413        arg1: ::std::os::raw::c_int,
20414        arg2: *const ::std::os::raw::c_char,
20415        arg3: mode_t,
20416        arg4: ::std::os::raw::c_int,
20417    ) -> ::std::os::raw::c_int;
20418}
20419extern "C" {
20420    pub fn umask(arg1: mode_t) -> mode_t;
20421}
20422extern "C" {
20423    pub fn mkdir(arg1: *const ::std::os::raw::c_char, arg2: mode_t) -> ::std::os::raw::c_int;
20424}
20425extern "C" {
20426    pub fn mkfifo(arg1: *const ::std::os::raw::c_char, arg2: mode_t) -> ::std::os::raw::c_int;
20427}
20428extern "C" {
20429    pub fn mkdirat(
20430        arg1: ::std::os::raw::c_int,
20431        arg2: *const ::std::os::raw::c_char,
20432        arg3: mode_t,
20433    ) -> ::std::os::raw::c_int;
20434}
20435extern "C" {
20436    pub fn mkfifoat(
20437        arg1: ::std::os::raw::c_int,
20438        arg2: *const ::std::os::raw::c_char,
20439        arg3: mode_t,
20440    ) -> ::std::os::raw::c_int;
20441}
20442extern "C" {
20443    pub fn mknod(
20444        arg1: *const ::std::os::raw::c_char,
20445        arg2: mode_t,
20446        arg3: dev_t,
20447    ) -> ::std::os::raw::c_int;
20448}
20449extern "C" {
20450    pub fn mknodat(
20451        arg1: ::std::os::raw::c_int,
20452        arg2: *const ::std::os::raw::c_char,
20453        arg3: mode_t,
20454        arg4: dev_t,
20455    ) -> ::std::os::raw::c_int;
20456}
20457extern "C" {
20458    pub fn futimens(arg1: ::std::os::raw::c_int, arg2: *const timespec) -> ::std::os::raw::c_int;
20459}
20460extern "C" {
20461    pub fn utimensat(
20462        arg1: ::std::os::raw::c_int,
20463        arg2: *const ::std::os::raw::c_char,
20464        arg3: *const timespec,
20465        arg4: ::std::os::raw::c_int,
20466    ) -> ::std::os::raw::c_int;
20467}
20468extern "C" {
20469    pub fn lchmod(arg1: *const ::std::os::raw::c_char, arg2: mode_t) -> ::std::os::raw::c_int;
20470}
20471pub type GStatBuf = stat;
20472extern "C" {
20473    pub fn g_access(filename: *const gchar, mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
20474}
20475extern "C" {
20476    pub fn g_chdir(path: *const gchar) -> ::std::os::raw::c_int;
20477}
20478extern "C" {
20479    pub fn g_unlink(filename: *const gchar) -> ::std::os::raw::c_int;
20480}
20481extern "C" {
20482    pub fn g_rmdir(filename: *const gchar) -> ::std::os::raw::c_int;
20483}
20484extern "C" {
20485    pub fn g_close(fd: gint, error: *mut *mut GError) -> gboolean;
20486}
20487pub const GModuleFlags_G_MODULE_BIND_LAZY: GModuleFlags = 1;
20488pub const GModuleFlags_G_MODULE_BIND_LOCAL: GModuleFlags = 2;
20489pub const GModuleFlags_G_MODULE_BIND_MASK: GModuleFlags = 3;
20490pub type GModuleFlags = ::std::os::raw::c_uint;
20491#[repr(C)]
20492#[derive(Debug, Copy, Clone)]
20493pub struct _GModule {
20494    _unused: [u8; 0],
20495}
20496pub type GModule = _GModule;
20497pub type GModuleCheckInit =
20498    ::std::option::Option<unsafe extern "C" fn(module: *mut GModule) -> *const gchar>;
20499pub type GModuleUnload = ::std::option::Option<unsafe extern "C" fn(module: *mut GModule)>;
20500extern "C" {
20501    pub fn g_module_error_quark() -> GQuark;
20502}
20503pub const GModuleError_G_MODULE_ERROR_FAILED: GModuleError = 0;
20504pub const GModuleError_G_MODULE_ERROR_CHECK_FAILED: GModuleError = 1;
20505pub type GModuleError = ::std::os::raw::c_uint;
20506extern "C" {
20507    pub fn g_module_supported() -> gboolean;
20508}
20509extern "C" {
20510    pub fn g_module_open(file_name: *const gchar, flags: GModuleFlags) -> *mut GModule;
20511}
20512extern "C" {
20513    pub fn g_module_open_full(
20514        file_name: *const gchar,
20515        flags: GModuleFlags,
20516        error: *mut *mut GError,
20517    ) -> *mut GModule;
20518}
20519extern "C" {
20520    pub fn g_module_close(module: *mut GModule) -> gboolean;
20521}
20522extern "C" {
20523    pub fn g_module_make_resident(module: *mut GModule);
20524}
20525extern "C" {
20526    pub fn g_module_error() -> *const gchar;
20527}
20528extern "C" {
20529    pub fn g_module_symbol(
20530        module: *mut GModule,
20531        symbol_name: *const gchar,
20532        symbol: *mut gpointer,
20533    ) -> gboolean;
20534}
20535extern "C" {
20536    pub fn g_module_name(module: *mut GModule) -> *const gchar;
20537}
20538extern "C" {
20539    pub fn g_module_build_path(directory: *const gchar, module_name: *const gchar) -> *mut gchar;
20540}
20541pub type GType = gsize;
20542pub type GValue = _GValue;
20543#[repr(C)]
20544#[derive(Copy, Clone)]
20545pub struct _GTypeCValue {
20546    _unused: [u8; 0],
20547}
20548impl ::std::fmt::Debug for _GTypeCValue {
20549    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
20550        write!(f, "_GTypeCValue {{ union }}")
20551    }
20552}
20553pub type GTypeCValue = _GTypeCValue;
20554#[repr(C)]
20555#[derive(Debug, Copy, Clone)]
20556pub struct _GTypePlugin {
20557    _unused: [u8; 0],
20558}
20559pub type GTypePlugin = _GTypePlugin;
20560pub type GTypeClass = _GTypeClass;
20561pub type GTypeInterface = _GTypeInterface;
20562pub type GTypeInstance = _GTypeInstance;
20563pub type GTypeInfo = _GTypeInfo;
20564pub type GTypeFundamentalInfo = _GTypeFundamentalInfo;
20565pub type GInterfaceInfo = _GInterfaceInfo;
20566pub type GTypeValueTable = _GTypeValueTable;
20567pub type GTypeQuery = _GTypeQuery;
20568#[repr(C)]
20569#[derive(Debug, Copy, Clone, PartialEq, Eq)]
20570pub struct _GTypeClass {
20571    pub g_type: GType,
20572}
20573#[test]
20574fn bindgen_test_layout__GTypeClass() {
20575    const UNINIT: ::std::mem::MaybeUninit<_GTypeClass> = ::std::mem::MaybeUninit::uninit();
20576    let ptr = UNINIT.as_ptr();
20577    assert_eq!(
20578        ::std::mem::size_of::<_GTypeClass>(),
20579        8usize,
20580        concat!("Size of: ", stringify!(_GTypeClass))
20581    );
20582    assert_eq!(
20583        ::std::mem::align_of::<_GTypeClass>(),
20584        8usize,
20585        concat!("Alignment of ", stringify!(_GTypeClass))
20586    );
20587    assert_eq!(
20588        unsafe { ::std::ptr::addr_of!((*ptr).g_type) as usize - ptr as usize },
20589        0usize,
20590        concat!(
20591            "Offset of field: ",
20592            stringify!(_GTypeClass),
20593            "::",
20594            stringify!(g_type)
20595        )
20596    );
20597}
20598#[repr(C)]
20599#[derive(Debug, Copy, Clone, PartialEq, Eq)]
20600pub struct _GTypeInstance {
20601    pub g_class: *mut GTypeClass,
20602}
20603#[test]
20604fn bindgen_test_layout__GTypeInstance() {
20605    const UNINIT: ::std::mem::MaybeUninit<_GTypeInstance> = ::std::mem::MaybeUninit::uninit();
20606    let ptr = UNINIT.as_ptr();
20607    assert_eq!(
20608        ::std::mem::size_of::<_GTypeInstance>(),
20609        8usize,
20610        concat!("Size of: ", stringify!(_GTypeInstance))
20611    );
20612    assert_eq!(
20613        ::std::mem::align_of::<_GTypeInstance>(),
20614        8usize,
20615        concat!("Alignment of ", stringify!(_GTypeInstance))
20616    );
20617    assert_eq!(
20618        unsafe { ::std::ptr::addr_of!((*ptr).g_class) as usize - ptr as usize },
20619        0usize,
20620        concat!(
20621            "Offset of field: ",
20622            stringify!(_GTypeInstance),
20623            "::",
20624            stringify!(g_class)
20625        )
20626    );
20627}
20628#[repr(C)]
20629#[derive(Debug, Copy, Clone, PartialEq, Eq)]
20630pub struct _GTypeInterface {
20631    pub g_type: GType,
20632    pub g_instance_type: GType,
20633}
20634#[test]
20635fn bindgen_test_layout__GTypeInterface() {
20636    const UNINIT: ::std::mem::MaybeUninit<_GTypeInterface> = ::std::mem::MaybeUninit::uninit();
20637    let ptr = UNINIT.as_ptr();
20638    assert_eq!(
20639        ::std::mem::size_of::<_GTypeInterface>(),
20640        16usize,
20641        concat!("Size of: ", stringify!(_GTypeInterface))
20642    );
20643    assert_eq!(
20644        ::std::mem::align_of::<_GTypeInterface>(),
20645        8usize,
20646        concat!("Alignment of ", stringify!(_GTypeInterface))
20647    );
20648    assert_eq!(
20649        unsafe { ::std::ptr::addr_of!((*ptr).g_type) as usize - ptr as usize },
20650        0usize,
20651        concat!(
20652            "Offset of field: ",
20653            stringify!(_GTypeInterface),
20654            "::",
20655            stringify!(g_type)
20656        )
20657    );
20658    assert_eq!(
20659        unsafe { ::std::ptr::addr_of!((*ptr).g_instance_type) as usize - ptr as usize },
20660        8usize,
20661        concat!(
20662            "Offset of field: ",
20663            stringify!(_GTypeInterface),
20664            "::",
20665            stringify!(g_instance_type)
20666        )
20667    );
20668}
20669#[repr(C)]
20670#[derive(Debug, Copy, Clone, PartialEq, Eq)]
20671pub struct _GTypeQuery {
20672    pub type_: GType,
20673    pub type_name: *const gchar,
20674    pub class_size: guint,
20675    pub instance_size: guint,
20676}
20677#[test]
20678fn bindgen_test_layout__GTypeQuery() {
20679    const UNINIT: ::std::mem::MaybeUninit<_GTypeQuery> = ::std::mem::MaybeUninit::uninit();
20680    let ptr = UNINIT.as_ptr();
20681    assert_eq!(
20682        ::std::mem::size_of::<_GTypeQuery>(),
20683        24usize,
20684        concat!("Size of: ", stringify!(_GTypeQuery))
20685    );
20686    assert_eq!(
20687        ::std::mem::align_of::<_GTypeQuery>(),
20688        8usize,
20689        concat!("Alignment of ", stringify!(_GTypeQuery))
20690    );
20691    assert_eq!(
20692        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
20693        0usize,
20694        concat!(
20695            "Offset of field: ",
20696            stringify!(_GTypeQuery),
20697            "::",
20698            stringify!(type_)
20699        )
20700    );
20701    assert_eq!(
20702        unsafe { ::std::ptr::addr_of!((*ptr).type_name) as usize - ptr as usize },
20703        8usize,
20704        concat!(
20705            "Offset of field: ",
20706            stringify!(_GTypeQuery),
20707            "::",
20708            stringify!(type_name)
20709        )
20710    );
20711    assert_eq!(
20712        unsafe { ::std::ptr::addr_of!((*ptr).class_size) as usize - ptr as usize },
20713        16usize,
20714        concat!(
20715            "Offset of field: ",
20716            stringify!(_GTypeQuery),
20717            "::",
20718            stringify!(class_size)
20719        )
20720    );
20721    assert_eq!(
20722        unsafe { ::std::ptr::addr_of!((*ptr).instance_size) as usize - ptr as usize },
20723        20usize,
20724        concat!(
20725            "Offset of field: ",
20726            stringify!(_GTypeQuery),
20727            "::",
20728            stringify!(instance_size)
20729        )
20730    );
20731}
20732pub const GTypeDebugFlags_G_TYPE_DEBUG_NONE: GTypeDebugFlags = 0;
20733pub const GTypeDebugFlags_G_TYPE_DEBUG_OBJECTS: GTypeDebugFlags = 1;
20734pub const GTypeDebugFlags_G_TYPE_DEBUG_SIGNALS: GTypeDebugFlags = 2;
20735pub const GTypeDebugFlags_G_TYPE_DEBUG_INSTANCE_COUNT: GTypeDebugFlags = 4;
20736pub const GTypeDebugFlags_G_TYPE_DEBUG_MASK: GTypeDebugFlags = 7;
20737pub type GTypeDebugFlags = ::std::os::raw::c_uint;
20738extern "C" {
20739    pub fn g_type_init();
20740}
20741extern "C" {
20742    pub fn g_type_init_with_debug_flags(debug_flags: GTypeDebugFlags);
20743}
20744extern "C" {
20745    pub fn g_type_name(type_: GType) -> *const gchar;
20746}
20747extern "C" {
20748    pub fn g_type_qname(type_: GType) -> GQuark;
20749}
20750extern "C" {
20751    pub fn g_type_from_name(name: *const gchar) -> GType;
20752}
20753extern "C" {
20754    pub fn g_type_parent(type_: GType) -> GType;
20755}
20756extern "C" {
20757    pub fn g_type_depth(type_: GType) -> guint;
20758}
20759extern "C" {
20760    pub fn g_type_next_base(leaf_type: GType, root_type: GType) -> GType;
20761}
20762extern "C" {
20763    pub fn g_type_is_a(type_: GType, is_a_type: GType) -> gboolean;
20764}
20765extern "C" {
20766    pub fn g_type_class_ref(type_: GType) -> gpointer;
20767}
20768extern "C" {
20769    pub fn g_type_class_peek(type_: GType) -> gpointer;
20770}
20771extern "C" {
20772    pub fn g_type_class_peek_static(type_: GType) -> gpointer;
20773}
20774extern "C" {
20775    pub fn g_type_class_unref(g_class: gpointer);
20776}
20777extern "C" {
20778    pub fn g_type_class_peek_parent(g_class: gpointer) -> gpointer;
20779}
20780extern "C" {
20781    pub fn g_type_interface_peek(instance_class: gpointer, iface_type: GType) -> gpointer;
20782}
20783extern "C" {
20784    pub fn g_type_interface_peek_parent(g_iface: gpointer) -> gpointer;
20785}
20786extern "C" {
20787    pub fn g_type_default_interface_ref(g_type: GType) -> gpointer;
20788}
20789extern "C" {
20790    pub fn g_type_default_interface_peek(g_type: GType) -> gpointer;
20791}
20792extern "C" {
20793    pub fn g_type_default_interface_unref(g_iface: gpointer);
20794}
20795extern "C" {
20796    pub fn g_type_children(type_: GType, n_children: *mut guint) -> *mut GType;
20797}
20798extern "C" {
20799    pub fn g_type_interfaces(type_: GType, n_interfaces: *mut guint) -> *mut GType;
20800}
20801extern "C" {
20802    pub fn g_type_set_qdata(type_: GType, quark: GQuark, data: gpointer);
20803}
20804extern "C" {
20805    pub fn g_type_get_qdata(type_: GType, quark: GQuark) -> gpointer;
20806}
20807extern "C" {
20808    pub fn g_type_query(type_: GType, query: *mut GTypeQuery);
20809}
20810extern "C" {
20811    pub fn g_type_get_instance_count(type_: GType) -> ::std::os::raw::c_int;
20812}
20813pub type GBaseInitFunc = ::std::option::Option<unsafe extern "C" fn(g_class: gpointer)>;
20814pub type GBaseFinalizeFunc = ::std::option::Option<unsafe extern "C" fn(g_class: gpointer)>;
20815pub type GClassInitFunc =
20816    ::std::option::Option<unsafe extern "C" fn(g_class: gpointer, class_data: gpointer)>;
20817pub type GClassFinalizeFunc =
20818    ::std::option::Option<unsafe extern "C" fn(g_class: gpointer, class_data: gpointer)>;
20819pub type GInstanceInitFunc =
20820    ::std::option::Option<unsafe extern "C" fn(instance: *mut GTypeInstance, g_class: gpointer)>;
20821pub type GInterfaceInitFunc =
20822    ::std::option::Option<unsafe extern "C" fn(g_iface: gpointer, iface_data: gpointer)>;
20823pub type GInterfaceFinalizeFunc =
20824    ::std::option::Option<unsafe extern "C" fn(g_iface: gpointer, iface_data: gpointer)>;
20825pub type GTypeClassCacheFunc = ::std::option::Option<
20826    unsafe extern "C" fn(cache_data: gpointer, g_class: *mut GTypeClass) -> gboolean,
20827>;
20828pub type GTypeInterfaceCheckFunc =
20829    ::std::option::Option<unsafe extern "C" fn(check_data: gpointer, g_iface: gpointer)>;
20830pub const GTypeFundamentalFlags_G_TYPE_FLAG_CLASSED: GTypeFundamentalFlags = 1;
20831pub const GTypeFundamentalFlags_G_TYPE_FLAG_INSTANTIATABLE: GTypeFundamentalFlags = 2;
20832pub const GTypeFundamentalFlags_G_TYPE_FLAG_DERIVABLE: GTypeFundamentalFlags = 4;
20833pub const GTypeFundamentalFlags_G_TYPE_FLAG_DEEP_DERIVABLE: GTypeFundamentalFlags = 8;
20834pub type GTypeFundamentalFlags = ::std::os::raw::c_uint;
20835pub const GTypeFlags_G_TYPE_FLAG_NONE: GTypeFlags = 0;
20836pub const GTypeFlags_G_TYPE_FLAG_ABSTRACT: GTypeFlags = 16;
20837pub const GTypeFlags_G_TYPE_FLAG_VALUE_ABSTRACT: GTypeFlags = 32;
20838pub const GTypeFlags_G_TYPE_FLAG_FINAL: GTypeFlags = 64;
20839pub const GTypeFlags_G_TYPE_FLAG_DEPRECATED: GTypeFlags = 128;
20840pub type GTypeFlags = ::std::os::raw::c_uint;
20841#[repr(C)]
20842#[derive(Debug, Copy, Clone, PartialEq, Eq)]
20843pub struct _GTypeInfo {
20844    pub class_size: guint16,
20845    pub base_init: GBaseInitFunc,
20846    pub base_finalize: GBaseFinalizeFunc,
20847    pub class_init: GClassInitFunc,
20848    pub class_finalize: GClassFinalizeFunc,
20849    pub class_data: gconstpointer,
20850    pub instance_size: guint16,
20851    pub n_preallocs: guint16,
20852    pub instance_init: GInstanceInitFunc,
20853    pub value_table: *const GTypeValueTable,
20854}
20855#[test]
20856fn bindgen_test_layout__GTypeInfo() {
20857    const UNINIT: ::std::mem::MaybeUninit<_GTypeInfo> = ::std::mem::MaybeUninit::uninit();
20858    let ptr = UNINIT.as_ptr();
20859    assert_eq!(
20860        ::std::mem::size_of::<_GTypeInfo>(),
20861        72usize,
20862        concat!("Size of: ", stringify!(_GTypeInfo))
20863    );
20864    assert_eq!(
20865        ::std::mem::align_of::<_GTypeInfo>(),
20866        8usize,
20867        concat!("Alignment of ", stringify!(_GTypeInfo))
20868    );
20869    assert_eq!(
20870        unsafe { ::std::ptr::addr_of!((*ptr).class_size) as usize - ptr as usize },
20871        0usize,
20872        concat!(
20873            "Offset of field: ",
20874            stringify!(_GTypeInfo),
20875            "::",
20876            stringify!(class_size)
20877        )
20878    );
20879    assert_eq!(
20880        unsafe { ::std::ptr::addr_of!((*ptr).base_init) as usize - ptr as usize },
20881        8usize,
20882        concat!(
20883            "Offset of field: ",
20884            stringify!(_GTypeInfo),
20885            "::",
20886            stringify!(base_init)
20887        )
20888    );
20889    assert_eq!(
20890        unsafe { ::std::ptr::addr_of!((*ptr).base_finalize) as usize - ptr as usize },
20891        16usize,
20892        concat!(
20893            "Offset of field: ",
20894            stringify!(_GTypeInfo),
20895            "::",
20896            stringify!(base_finalize)
20897        )
20898    );
20899    assert_eq!(
20900        unsafe { ::std::ptr::addr_of!((*ptr).class_init) as usize - ptr as usize },
20901        24usize,
20902        concat!(
20903            "Offset of field: ",
20904            stringify!(_GTypeInfo),
20905            "::",
20906            stringify!(class_init)
20907        )
20908    );
20909    assert_eq!(
20910        unsafe { ::std::ptr::addr_of!((*ptr).class_finalize) as usize - ptr as usize },
20911        32usize,
20912        concat!(
20913            "Offset of field: ",
20914            stringify!(_GTypeInfo),
20915            "::",
20916            stringify!(class_finalize)
20917        )
20918    );
20919    assert_eq!(
20920        unsafe { ::std::ptr::addr_of!((*ptr).class_data) as usize - ptr as usize },
20921        40usize,
20922        concat!(
20923            "Offset of field: ",
20924            stringify!(_GTypeInfo),
20925            "::",
20926            stringify!(class_data)
20927        )
20928    );
20929    assert_eq!(
20930        unsafe { ::std::ptr::addr_of!((*ptr).instance_size) as usize - ptr as usize },
20931        48usize,
20932        concat!(
20933            "Offset of field: ",
20934            stringify!(_GTypeInfo),
20935            "::",
20936            stringify!(instance_size)
20937        )
20938    );
20939    assert_eq!(
20940        unsafe { ::std::ptr::addr_of!((*ptr).n_preallocs) as usize - ptr as usize },
20941        50usize,
20942        concat!(
20943            "Offset of field: ",
20944            stringify!(_GTypeInfo),
20945            "::",
20946            stringify!(n_preallocs)
20947        )
20948    );
20949    assert_eq!(
20950        unsafe { ::std::ptr::addr_of!((*ptr).instance_init) as usize - ptr as usize },
20951        56usize,
20952        concat!(
20953            "Offset of field: ",
20954            stringify!(_GTypeInfo),
20955            "::",
20956            stringify!(instance_init)
20957        )
20958    );
20959    assert_eq!(
20960        unsafe { ::std::ptr::addr_of!((*ptr).value_table) as usize - ptr as usize },
20961        64usize,
20962        concat!(
20963            "Offset of field: ",
20964            stringify!(_GTypeInfo),
20965            "::",
20966            stringify!(value_table)
20967        )
20968    );
20969}
20970#[repr(C)]
20971#[derive(Debug, Copy, Clone, PartialEq, Eq)]
20972pub struct _GTypeFundamentalInfo {
20973    pub type_flags: GTypeFundamentalFlags,
20974}
20975#[test]
20976fn bindgen_test_layout__GTypeFundamentalInfo() {
20977    const UNINIT: ::std::mem::MaybeUninit<_GTypeFundamentalInfo> =
20978        ::std::mem::MaybeUninit::uninit();
20979    let ptr = UNINIT.as_ptr();
20980    assert_eq!(
20981        ::std::mem::size_of::<_GTypeFundamentalInfo>(),
20982        4usize,
20983        concat!("Size of: ", stringify!(_GTypeFundamentalInfo))
20984    );
20985    assert_eq!(
20986        ::std::mem::align_of::<_GTypeFundamentalInfo>(),
20987        4usize,
20988        concat!("Alignment of ", stringify!(_GTypeFundamentalInfo))
20989    );
20990    assert_eq!(
20991        unsafe { ::std::ptr::addr_of!((*ptr).type_flags) as usize - ptr as usize },
20992        0usize,
20993        concat!(
20994            "Offset of field: ",
20995            stringify!(_GTypeFundamentalInfo),
20996            "::",
20997            stringify!(type_flags)
20998        )
20999    );
21000}
21001#[repr(C)]
21002#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21003pub struct _GInterfaceInfo {
21004    pub interface_init: GInterfaceInitFunc,
21005    pub interface_finalize: GInterfaceFinalizeFunc,
21006    pub interface_data: gpointer,
21007}
21008#[test]
21009fn bindgen_test_layout__GInterfaceInfo() {
21010    const UNINIT: ::std::mem::MaybeUninit<_GInterfaceInfo> = ::std::mem::MaybeUninit::uninit();
21011    let ptr = UNINIT.as_ptr();
21012    assert_eq!(
21013        ::std::mem::size_of::<_GInterfaceInfo>(),
21014        24usize,
21015        concat!("Size of: ", stringify!(_GInterfaceInfo))
21016    );
21017    assert_eq!(
21018        ::std::mem::align_of::<_GInterfaceInfo>(),
21019        8usize,
21020        concat!("Alignment of ", stringify!(_GInterfaceInfo))
21021    );
21022    assert_eq!(
21023        unsafe { ::std::ptr::addr_of!((*ptr).interface_init) as usize - ptr as usize },
21024        0usize,
21025        concat!(
21026            "Offset of field: ",
21027            stringify!(_GInterfaceInfo),
21028            "::",
21029            stringify!(interface_init)
21030        )
21031    );
21032    assert_eq!(
21033        unsafe { ::std::ptr::addr_of!((*ptr).interface_finalize) as usize - ptr as usize },
21034        8usize,
21035        concat!(
21036            "Offset of field: ",
21037            stringify!(_GInterfaceInfo),
21038            "::",
21039            stringify!(interface_finalize)
21040        )
21041    );
21042    assert_eq!(
21043        unsafe { ::std::ptr::addr_of!((*ptr).interface_data) as usize - ptr as usize },
21044        16usize,
21045        concat!(
21046            "Offset of field: ",
21047            stringify!(_GInterfaceInfo),
21048            "::",
21049            stringify!(interface_data)
21050        )
21051    );
21052}
21053pub type GTypeValueInitFunc = ::std::option::Option<unsafe extern "C" fn(value: *mut GValue)>;
21054pub type GTypeValueFreeFunc = ::std::option::Option<unsafe extern "C" fn(value: *mut GValue)>;
21055pub type GTypeValueCopyFunc =
21056    ::std::option::Option<unsafe extern "C" fn(src_value: *const GValue, dest_value: *mut GValue)>;
21057pub type GTypeValuePeekPointerFunc =
21058    ::std::option::Option<unsafe extern "C" fn(value: *const GValue) -> gpointer>;
21059pub type GTypeValueCollectFunc = ::std::option::Option<
21060    unsafe extern "C" fn(
21061        value: *mut GValue,
21062        n_collect_values: guint,
21063        collect_values: *mut GTypeCValue,
21064        collect_flags: guint,
21065    ) -> *mut gchar,
21066>;
21067pub type GTypeValueLCopyFunc = ::std::option::Option<
21068    unsafe extern "C" fn(
21069        value: *const GValue,
21070        n_collect_values: guint,
21071        collect_values: *mut GTypeCValue,
21072        collect_flags: guint,
21073    ) -> *mut gchar,
21074>;
21075#[repr(C)]
21076#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21077pub struct _GTypeValueTable {
21078    pub value_init: GTypeValueInitFunc,
21079    pub value_free: GTypeValueFreeFunc,
21080    pub value_copy: GTypeValueCopyFunc,
21081    pub value_peek_pointer: GTypeValuePeekPointerFunc,
21082    pub collect_format: *const gchar,
21083    pub collect_value: GTypeValueCollectFunc,
21084    pub lcopy_format: *const gchar,
21085    pub lcopy_value: GTypeValueLCopyFunc,
21086}
21087#[test]
21088fn bindgen_test_layout__GTypeValueTable() {
21089    const UNINIT: ::std::mem::MaybeUninit<_GTypeValueTable> = ::std::mem::MaybeUninit::uninit();
21090    let ptr = UNINIT.as_ptr();
21091    assert_eq!(
21092        ::std::mem::size_of::<_GTypeValueTable>(),
21093        64usize,
21094        concat!("Size of: ", stringify!(_GTypeValueTable))
21095    );
21096    assert_eq!(
21097        ::std::mem::align_of::<_GTypeValueTable>(),
21098        8usize,
21099        concat!("Alignment of ", stringify!(_GTypeValueTable))
21100    );
21101    assert_eq!(
21102        unsafe { ::std::ptr::addr_of!((*ptr).value_init) as usize - ptr as usize },
21103        0usize,
21104        concat!(
21105            "Offset of field: ",
21106            stringify!(_GTypeValueTable),
21107            "::",
21108            stringify!(value_init)
21109        )
21110    );
21111    assert_eq!(
21112        unsafe { ::std::ptr::addr_of!((*ptr).value_free) as usize - ptr as usize },
21113        8usize,
21114        concat!(
21115            "Offset of field: ",
21116            stringify!(_GTypeValueTable),
21117            "::",
21118            stringify!(value_free)
21119        )
21120    );
21121    assert_eq!(
21122        unsafe { ::std::ptr::addr_of!((*ptr).value_copy) as usize - ptr as usize },
21123        16usize,
21124        concat!(
21125            "Offset of field: ",
21126            stringify!(_GTypeValueTable),
21127            "::",
21128            stringify!(value_copy)
21129        )
21130    );
21131    assert_eq!(
21132        unsafe { ::std::ptr::addr_of!((*ptr).value_peek_pointer) as usize - ptr as usize },
21133        24usize,
21134        concat!(
21135            "Offset of field: ",
21136            stringify!(_GTypeValueTable),
21137            "::",
21138            stringify!(value_peek_pointer)
21139        )
21140    );
21141    assert_eq!(
21142        unsafe { ::std::ptr::addr_of!((*ptr).collect_format) as usize - ptr as usize },
21143        32usize,
21144        concat!(
21145            "Offset of field: ",
21146            stringify!(_GTypeValueTable),
21147            "::",
21148            stringify!(collect_format)
21149        )
21150    );
21151    assert_eq!(
21152        unsafe { ::std::ptr::addr_of!((*ptr).collect_value) as usize - ptr as usize },
21153        40usize,
21154        concat!(
21155            "Offset of field: ",
21156            stringify!(_GTypeValueTable),
21157            "::",
21158            stringify!(collect_value)
21159        )
21160    );
21161    assert_eq!(
21162        unsafe { ::std::ptr::addr_of!((*ptr).lcopy_format) as usize - ptr as usize },
21163        48usize,
21164        concat!(
21165            "Offset of field: ",
21166            stringify!(_GTypeValueTable),
21167            "::",
21168            stringify!(lcopy_format)
21169        )
21170    );
21171    assert_eq!(
21172        unsafe { ::std::ptr::addr_of!((*ptr).lcopy_value) as usize - ptr as usize },
21173        56usize,
21174        concat!(
21175            "Offset of field: ",
21176            stringify!(_GTypeValueTable),
21177            "::",
21178            stringify!(lcopy_value)
21179        )
21180    );
21181}
21182extern "C" {
21183    pub fn g_type_register_static(
21184        parent_type: GType,
21185        type_name: *const gchar,
21186        info: *const GTypeInfo,
21187        flags: GTypeFlags,
21188    ) -> GType;
21189}
21190extern "C" {
21191    pub fn g_type_register_static_simple(
21192        parent_type: GType,
21193        type_name: *const gchar,
21194        class_size: guint,
21195        class_init: GClassInitFunc,
21196        instance_size: guint,
21197        instance_init: GInstanceInitFunc,
21198        flags: GTypeFlags,
21199    ) -> GType;
21200}
21201extern "C" {
21202    pub fn g_type_register_dynamic(
21203        parent_type: GType,
21204        type_name: *const gchar,
21205        plugin: *mut GTypePlugin,
21206        flags: GTypeFlags,
21207    ) -> GType;
21208}
21209extern "C" {
21210    pub fn g_type_register_fundamental(
21211        type_id: GType,
21212        type_name: *const gchar,
21213        info: *const GTypeInfo,
21214        finfo: *const GTypeFundamentalInfo,
21215        flags: GTypeFlags,
21216    ) -> GType;
21217}
21218extern "C" {
21219    pub fn g_type_add_interface_static(
21220        instance_type: GType,
21221        interface_type: GType,
21222        info: *const GInterfaceInfo,
21223    );
21224}
21225extern "C" {
21226    pub fn g_type_add_interface_dynamic(
21227        instance_type: GType,
21228        interface_type: GType,
21229        plugin: *mut GTypePlugin,
21230    );
21231}
21232extern "C" {
21233    pub fn g_type_interface_add_prerequisite(interface_type: GType, prerequisite_type: GType);
21234}
21235extern "C" {
21236    pub fn g_type_interface_prerequisites(
21237        interface_type: GType,
21238        n_prerequisites: *mut guint,
21239    ) -> *mut GType;
21240}
21241extern "C" {
21242    pub fn g_type_interface_instantiatable_prerequisite(interface_type: GType) -> GType;
21243}
21244extern "C" {
21245    pub fn g_type_class_add_private(g_class: gpointer, private_size: gsize);
21246}
21247extern "C" {
21248    pub fn g_type_add_instance_private(class_type: GType, private_size: gsize) -> gint;
21249}
21250extern "C" {
21251    pub fn g_type_instance_get_private(
21252        instance: *mut GTypeInstance,
21253        private_type: GType,
21254    ) -> gpointer;
21255}
21256extern "C" {
21257    pub fn g_type_class_adjust_private_offset(g_class: gpointer, private_size_or_offset: *mut gint);
21258}
21259extern "C" {
21260    pub fn g_type_add_class_private(class_type: GType, private_size: gsize);
21261}
21262extern "C" {
21263    pub fn g_type_class_get_private(klass: *mut GTypeClass, private_type: GType) -> gpointer;
21264}
21265extern "C" {
21266    pub fn g_type_class_get_instance_private_offset(g_class: gpointer) -> gint;
21267}
21268extern "C" {
21269    pub fn g_type_ensure(type_: GType);
21270}
21271extern "C" {
21272    pub fn g_type_get_type_registration_serial() -> guint;
21273}
21274extern "C" {
21275    pub fn g_type_get_plugin(type_: GType) -> *mut GTypePlugin;
21276}
21277extern "C" {
21278    pub fn g_type_interface_get_plugin(
21279        instance_type: GType,
21280        interface_type: GType,
21281    ) -> *mut GTypePlugin;
21282}
21283extern "C" {
21284    pub fn g_type_fundamental_next() -> GType;
21285}
21286extern "C" {
21287    pub fn g_type_fundamental(type_id: GType) -> GType;
21288}
21289extern "C" {
21290    pub fn g_type_create_instance(type_: GType) -> *mut GTypeInstance;
21291}
21292extern "C" {
21293    pub fn g_type_free_instance(instance: *mut GTypeInstance);
21294}
21295extern "C" {
21296    pub fn g_type_add_class_cache_func(cache_data: gpointer, cache_func: GTypeClassCacheFunc);
21297}
21298extern "C" {
21299    pub fn g_type_remove_class_cache_func(cache_data: gpointer, cache_func: GTypeClassCacheFunc);
21300}
21301extern "C" {
21302    pub fn g_type_class_unref_uncached(g_class: gpointer);
21303}
21304extern "C" {
21305    pub fn g_type_add_interface_check(check_data: gpointer, check_func: GTypeInterfaceCheckFunc);
21306}
21307extern "C" {
21308    pub fn g_type_remove_interface_check(check_data: gpointer, check_func: GTypeInterfaceCheckFunc);
21309}
21310extern "C" {
21311    pub fn g_type_value_table_peek(type_: GType) -> *mut GTypeValueTable;
21312}
21313extern "C" {
21314    pub fn g_type_check_instance(instance: *mut GTypeInstance) -> gboolean;
21315}
21316extern "C" {
21317    pub fn g_type_check_instance_cast(
21318        instance: *mut GTypeInstance,
21319        iface_type: GType,
21320    ) -> *mut GTypeInstance;
21321}
21322extern "C" {
21323    pub fn g_type_check_instance_is_a(instance: *mut GTypeInstance, iface_type: GType) -> gboolean;
21324}
21325extern "C" {
21326    pub fn g_type_check_instance_is_fundamentally_a(
21327        instance: *mut GTypeInstance,
21328        fundamental_type: GType,
21329    ) -> gboolean;
21330}
21331extern "C" {
21332    pub fn g_type_check_class_cast(g_class: *mut GTypeClass, is_a_type: GType) -> *mut GTypeClass;
21333}
21334extern "C" {
21335    pub fn g_type_check_class_is_a(g_class: *mut GTypeClass, is_a_type: GType) -> gboolean;
21336}
21337extern "C" {
21338    pub fn g_type_check_is_value_type(type_: GType) -> gboolean;
21339}
21340extern "C" {
21341    pub fn g_type_check_value(value: *const GValue) -> gboolean;
21342}
21343extern "C" {
21344    pub fn g_type_check_value_holds(value: *const GValue, type_: GType) -> gboolean;
21345}
21346extern "C" {
21347    pub fn g_type_test_flags(type_: GType, flags: guint) -> gboolean;
21348}
21349extern "C" {
21350    pub fn g_type_name_from_instance(instance: *mut GTypeInstance) -> *const gchar;
21351}
21352extern "C" {
21353    pub fn g_type_name_from_class(g_class: *mut GTypeClass) -> *const gchar;
21354}
21355pub type GValueTransform =
21356    ::std::option::Option<unsafe extern "C" fn(src_value: *const GValue, dest_value: *mut GValue)>;
21357#[repr(C)]
21358#[derive(Copy, Clone)]
21359pub struct _GValue {
21360    pub g_type: GType,
21361    pub data: [_GValue__bindgen_ty_1; 2usize],
21362}
21363#[repr(C)]
21364#[derive(Copy, Clone)]
21365pub union _GValue__bindgen_ty_1 {
21366    pub v_int: gint,
21367    pub v_uint: guint,
21368    pub v_long: glong,
21369    pub v_ulong: gulong,
21370    pub v_int64: gint64,
21371    pub v_uint64: guint64,
21372    pub v_float: gfloat,
21373    pub v_double: gdouble,
21374    pub v_pointer: gpointer,
21375}
21376#[test]
21377fn bindgen_test_layout__GValue__bindgen_ty_1() {
21378    const UNINIT: ::std::mem::MaybeUninit<_GValue__bindgen_ty_1> =
21379        ::std::mem::MaybeUninit::uninit();
21380    let ptr = UNINIT.as_ptr();
21381    assert_eq!(
21382        ::std::mem::size_of::<_GValue__bindgen_ty_1>(),
21383        8usize,
21384        concat!("Size of: ", stringify!(_GValue__bindgen_ty_1))
21385    );
21386    assert_eq!(
21387        ::std::mem::align_of::<_GValue__bindgen_ty_1>(),
21388        8usize,
21389        concat!("Alignment of ", stringify!(_GValue__bindgen_ty_1))
21390    );
21391    assert_eq!(
21392        unsafe { ::std::ptr::addr_of!((*ptr).v_int) as usize - ptr as usize },
21393        0usize,
21394        concat!(
21395            "Offset of field: ",
21396            stringify!(_GValue__bindgen_ty_1),
21397            "::",
21398            stringify!(v_int)
21399        )
21400    );
21401    assert_eq!(
21402        unsafe { ::std::ptr::addr_of!((*ptr).v_uint) as usize - ptr as usize },
21403        0usize,
21404        concat!(
21405            "Offset of field: ",
21406            stringify!(_GValue__bindgen_ty_1),
21407            "::",
21408            stringify!(v_uint)
21409        )
21410    );
21411    assert_eq!(
21412        unsafe { ::std::ptr::addr_of!((*ptr).v_long) as usize - ptr as usize },
21413        0usize,
21414        concat!(
21415            "Offset of field: ",
21416            stringify!(_GValue__bindgen_ty_1),
21417            "::",
21418            stringify!(v_long)
21419        )
21420    );
21421    assert_eq!(
21422        unsafe { ::std::ptr::addr_of!((*ptr).v_ulong) as usize - ptr as usize },
21423        0usize,
21424        concat!(
21425            "Offset of field: ",
21426            stringify!(_GValue__bindgen_ty_1),
21427            "::",
21428            stringify!(v_ulong)
21429        )
21430    );
21431    assert_eq!(
21432        unsafe { ::std::ptr::addr_of!((*ptr).v_int64) as usize - ptr as usize },
21433        0usize,
21434        concat!(
21435            "Offset of field: ",
21436            stringify!(_GValue__bindgen_ty_1),
21437            "::",
21438            stringify!(v_int64)
21439        )
21440    );
21441    assert_eq!(
21442        unsafe { ::std::ptr::addr_of!((*ptr).v_uint64) as usize - ptr as usize },
21443        0usize,
21444        concat!(
21445            "Offset of field: ",
21446            stringify!(_GValue__bindgen_ty_1),
21447            "::",
21448            stringify!(v_uint64)
21449        )
21450    );
21451    assert_eq!(
21452        unsafe { ::std::ptr::addr_of!((*ptr).v_float) as usize - ptr as usize },
21453        0usize,
21454        concat!(
21455            "Offset of field: ",
21456            stringify!(_GValue__bindgen_ty_1),
21457            "::",
21458            stringify!(v_float)
21459        )
21460    );
21461    assert_eq!(
21462        unsafe { ::std::ptr::addr_of!((*ptr).v_double) as usize - ptr as usize },
21463        0usize,
21464        concat!(
21465            "Offset of field: ",
21466            stringify!(_GValue__bindgen_ty_1),
21467            "::",
21468            stringify!(v_double)
21469        )
21470    );
21471    assert_eq!(
21472        unsafe { ::std::ptr::addr_of!((*ptr).v_pointer) as usize - ptr as usize },
21473        0usize,
21474        concat!(
21475            "Offset of field: ",
21476            stringify!(_GValue__bindgen_ty_1),
21477            "::",
21478            stringify!(v_pointer)
21479        )
21480    );
21481}
21482impl ::std::fmt::Debug for _GValue__bindgen_ty_1 {
21483    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21484        write!(f, "_GValue__bindgen_ty_1 {{ union }}")
21485    }
21486}
21487#[test]
21488fn bindgen_test_layout__GValue() {
21489    const UNINIT: ::std::mem::MaybeUninit<_GValue> = ::std::mem::MaybeUninit::uninit();
21490    let ptr = UNINIT.as_ptr();
21491    assert_eq!(
21492        ::std::mem::size_of::<_GValue>(),
21493        24usize,
21494        concat!("Size of: ", stringify!(_GValue))
21495    );
21496    assert_eq!(
21497        ::std::mem::align_of::<_GValue>(),
21498        8usize,
21499        concat!("Alignment of ", stringify!(_GValue))
21500    );
21501    assert_eq!(
21502        unsafe { ::std::ptr::addr_of!((*ptr).g_type) as usize - ptr as usize },
21503        0usize,
21504        concat!(
21505            "Offset of field: ",
21506            stringify!(_GValue),
21507            "::",
21508            stringify!(g_type)
21509        )
21510    );
21511    assert_eq!(
21512        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
21513        8usize,
21514        concat!(
21515            "Offset of field: ",
21516            stringify!(_GValue),
21517            "::",
21518            stringify!(data)
21519        )
21520    );
21521}
21522impl ::std::fmt::Debug for _GValue {
21523    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21524        write!(
21525            f,
21526            "_GValue {{ g_type: {:?}, data: {:?} }}",
21527            self.g_type, self.data
21528        )
21529    }
21530}
21531extern "C" {
21532    pub fn g_value_init(value: *mut GValue, g_type: GType) -> *mut GValue;
21533}
21534extern "C" {
21535    pub fn g_value_copy(src_value: *const GValue, dest_value: *mut GValue);
21536}
21537extern "C" {
21538    pub fn g_value_reset(value: *mut GValue) -> *mut GValue;
21539}
21540extern "C" {
21541    pub fn g_value_unset(value: *mut GValue);
21542}
21543extern "C" {
21544    pub fn g_value_set_instance(value: *mut GValue, instance: gpointer);
21545}
21546extern "C" {
21547    pub fn g_value_init_from_instance(value: *mut GValue, instance: gpointer);
21548}
21549extern "C" {
21550    pub fn g_value_fits_pointer(value: *const GValue) -> gboolean;
21551}
21552extern "C" {
21553    pub fn g_value_peek_pointer(value: *const GValue) -> gpointer;
21554}
21555extern "C" {
21556    pub fn g_value_type_compatible(src_type: GType, dest_type: GType) -> gboolean;
21557}
21558extern "C" {
21559    pub fn g_value_type_transformable(src_type: GType, dest_type: GType) -> gboolean;
21560}
21561extern "C" {
21562    pub fn g_value_transform(src_value: *const GValue, dest_value: *mut GValue) -> gboolean;
21563}
21564extern "C" {
21565    pub fn g_value_register_transform_func(
21566        src_type: GType,
21567        dest_type: GType,
21568        transform_func: GValueTransform,
21569    );
21570}
21571pub const GParamFlags_G_PARAM_READABLE: GParamFlags = 1;
21572pub const GParamFlags_G_PARAM_WRITABLE: GParamFlags = 2;
21573pub const GParamFlags_G_PARAM_READWRITE: GParamFlags = 3;
21574pub const GParamFlags_G_PARAM_CONSTRUCT: GParamFlags = 4;
21575pub const GParamFlags_G_PARAM_CONSTRUCT_ONLY: GParamFlags = 8;
21576pub const GParamFlags_G_PARAM_LAX_VALIDATION: GParamFlags = 16;
21577pub const GParamFlags_G_PARAM_STATIC_NAME: GParamFlags = 32;
21578pub const GParamFlags_G_PARAM_PRIVATE: GParamFlags = 32;
21579pub const GParamFlags_G_PARAM_STATIC_NICK: GParamFlags = 64;
21580pub const GParamFlags_G_PARAM_STATIC_BLURB: GParamFlags = 128;
21581pub const GParamFlags_G_PARAM_EXPLICIT_NOTIFY: GParamFlags = 1073741824;
21582pub const GParamFlags_G_PARAM_DEPRECATED: GParamFlags = -2147483648;
21583pub type GParamFlags = ::std::os::raw::c_int;
21584pub type GParamSpec = _GParamSpec;
21585pub type GParamSpecClass = _GParamSpecClass;
21586pub type GParameter = _GParameter;
21587#[repr(C)]
21588#[derive(Debug, Copy, Clone)]
21589pub struct _GParamSpecPool {
21590    _unused: [u8; 0],
21591}
21592pub type GParamSpecPool = _GParamSpecPool;
21593#[repr(C)]
21594#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21595pub struct _GParamSpec {
21596    pub g_type_instance: GTypeInstance,
21597    pub name: *const gchar,
21598    pub flags: GParamFlags,
21599    pub value_type: GType,
21600    pub owner_type: GType,
21601    pub _nick: *mut gchar,
21602    pub _blurb: *mut gchar,
21603    pub qdata: *mut GData,
21604    pub ref_count: guint,
21605    pub param_id: guint,
21606}
21607#[test]
21608fn bindgen_test_layout__GParamSpec() {
21609    const UNINIT: ::std::mem::MaybeUninit<_GParamSpec> = ::std::mem::MaybeUninit::uninit();
21610    let ptr = UNINIT.as_ptr();
21611    assert_eq!(
21612        ::std::mem::size_of::<_GParamSpec>(),
21613        72usize,
21614        concat!("Size of: ", stringify!(_GParamSpec))
21615    );
21616    assert_eq!(
21617        ::std::mem::align_of::<_GParamSpec>(),
21618        8usize,
21619        concat!("Alignment of ", stringify!(_GParamSpec))
21620    );
21621    assert_eq!(
21622        unsafe { ::std::ptr::addr_of!((*ptr).g_type_instance) as usize - ptr as usize },
21623        0usize,
21624        concat!(
21625            "Offset of field: ",
21626            stringify!(_GParamSpec),
21627            "::",
21628            stringify!(g_type_instance)
21629        )
21630    );
21631    assert_eq!(
21632        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
21633        8usize,
21634        concat!(
21635            "Offset of field: ",
21636            stringify!(_GParamSpec),
21637            "::",
21638            stringify!(name)
21639        )
21640    );
21641    assert_eq!(
21642        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
21643        16usize,
21644        concat!(
21645            "Offset of field: ",
21646            stringify!(_GParamSpec),
21647            "::",
21648            stringify!(flags)
21649        )
21650    );
21651    assert_eq!(
21652        unsafe { ::std::ptr::addr_of!((*ptr).value_type) as usize - ptr as usize },
21653        24usize,
21654        concat!(
21655            "Offset of field: ",
21656            stringify!(_GParamSpec),
21657            "::",
21658            stringify!(value_type)
21659        )
21660    );
21661    assert_eq!(
21662        unsafe { ::std::ptr::addr_of!((*ptr).owner_type) as usize - ptr as usize },
21663        32usize,
21664        concat!(
21665            "Offset of field: ",
21666            stringify!(_GParamSpec),
21667            "::",
21668            stringify!(owner_type)
21669        )
21670    );
21671    assert_eq!(
21672        unsafe { ::std::ptr::addr_of!((*ptr)._nick) as usize - ptr as usize },
21673        40usize,
21674        concat!(
21675            "Offset of field: ",
21676            stringify!(_GParamSpec),
21677            "::",
21678            stringify!(_nick)
21679        )
21680    );
21681    assert_eq!(
21682        unsafe { ::std::ptr::addr_of!((*ptr)._blurb) as usize - ptr as usize },
21683        48usize,
21684        concat!(
21685            "Offset of field: ",
21686            stringify!(_GParamSpec),
21687            "::",
21688            stringify!(_blurb)
21689        )
21690    );
21691    assert_eq!(
21692        unsafe { ::std::ptr::addr_of!((*ptr).qdata) as usize - ptr as usize },
21693        56usize,
21694        concat!(
21695            "Offset of field: ",
21696            stringify!(_GParamSpec),
21697            "::",
21698            stringify!(qdata)
21699        )
21700    );
21701    assert_eq!(
21702        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
21703        64usize,
21704        concat!(
21705            "Offset of field: ",
21706            stringify!(_GParamSpec),
21707            "::",
21708            stringify!(ref_count)
21709        )
21710    );
21711    assert_eq!(
21712        unsafe { ::std::ptr::addr_of!((*ptr).param_id) as usize - ptr as usize },
21713        68usize,
21714        concat!(
21715            "Offset of field: ",
21716            stringify!(_GParamSpec),
21717            "::",
21718            stringify!(param_id)
21719        )
21720    );
21721}
21722#[repr(C)]
21723#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21724pub struct _GParamSpecClass {
21725    pub g_type_class: GTypeClass,
21726    pub value_type: GType,
21727    pub finalize: ::std::option::Option<unsafe extern "C" fn(pspec: *mut GParamSpec)>,
21728    pub value_set_default:
21729        ::std::option::Option<unsafe extern "C" fn(pspec: *mut GParamSpec, value: *mut GValue)>,
21730    pub value_validate: ::std::option::Option<
21731        unsafe extern "C" fn(pspec: *mut GParamSpec, value: *mut GValue) -> gboolean,
21732    >,
21733    pub values_cmp: ::std::option::Option<
21734        unsafe extern "C" fn(
21735            pspec: *mut GParamSpec,
21736            value1: *const GValue,
21737            value2: *const GValue,
21738        ) -> gint,
21739    >,
21740    pub value_is_valid: ::std::option::Option<
21741        unsafe extern "C" fn(pspec: *mut GParamSpec, value: *const GValue) -> gboolean,
21742    >,
21743    pub dummy: [gpointer; 3usize],
21744}
21745#[test]
21746fn bindgen_test_layout__GParamSpecClass() {
21747    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecClass> = ::std::mem::MaybeUninit::uninit();
21748    let ptr = UNINIT.as_ptr();
21749    assert_eq!(
21750        ::std::mem::size_of::<_GParamSpecClass>(),
21751        80usize,
21752        concat!("Size of: ", stringify!(_GParamSpecClass))
21753    );
21754    assert_eq!(
21755        ::std::mem::align_of::<_GParamSpecClass>(),
21756        8usize,
21757        concat!("Alignment of ", stringify!(_GParamSpecClass))
21758    );
21759    assert_eq!(
21760        unsafe { ::std::ptr::addr_of!((*ptr).g_type_class) as usize - ptr as usize },
21761        0usize,
21762        concat!(
21763            "Offset of field: ",
21764            stringify!(_GParamSpecClass),
21765            "::",
21766            stringify!(g_type_class)
21767        )
21768    );
21769    assert_eq!(
21770        unsafe { ::std::ptr::addr_of!((*ptr).value_type) as usize - ptr as usize },
21771        8usize,
21772        concat!(
21773            "Offset of field: ",
21774            stringify!(_GParamSpecClass),
21775            "::",
21776            stringify!(value_type)
21777        )
21778    );
21779    assert_eq!(
21780        unsafe { ::std::ptr::addr_of!((*ptr).finalize) as usize - ptr as usize },
21781        16usize,
21782        concat!(
21783            "Offset of field: ",
21784            stringify!(_GParamSpecClass),
21785            "::",
21786            stringify!(finalize)
21787        )
21788    );
21789    assert_eq!(
21790        unsafe { ::std::ptr::addr_of!((*ptr).value_set_default) as usize - ptr as usize },
21791        24usize,
21792        concat!(
21793            "Offset of field: ",
21794            stringify!(_GParamSpecClass),
21795            "::",
21796            stringify!(value_set_default)
21797        )
21798    );
21799    assert_eq!(
21800        unsafe { ::std::ptr::addr_of!((*ptr).value_validate) as usize - ptr as usize },
21801        32usize,
21802        concat!(
21803            "Offset of field: ",
21804            stringify!(_GParamSpecClass),
21805            "::",
21806            stringify!(value_validate)
21807        )
21808    );
21809    assert_eq!(
21810        unsafe { ::std::ptr::addr_of!((*ptr).values_cmp) as usize - ptr as usize },
21811        40usize,
21812        concat!(
21813            "Offset of field: ",
21814            stringify!(_GParamSpecClass),
21815            "::",
21816            stringify!(values_cmp)
21817        )
21818    );
21819    assert_eq!(
21820        unsafe { ::std::ptr::addr_of!((*ptr).value_is_valid) as usize - ptr as usize },
21821        48usize,
21822        concat!(
21823            "Offset of field: ",
21824            stringify!(_GParamSpecClass),
21825            "::",
21826            stringify!(value_is_valid)
21827        )
21828    );
21829    assert_eq!(
21830        unsafe { ::std::ptr::addr_of!((*ptr).dummy) as usize - ptr as usize },
21831        56usize,
21832        concat!(
21833            "Offset of field: ",
21834            stringify!(_GParamSpecClass),
21835            "::",
21836            stringify!(dummy)
21837        )
21838    );
21839}
21840#[repr(C)]
21841#[derive(Copy, Clone)]
21842pub struct _GParameter {
21843    pub name: *const gchar,
21844    pub value: GValue,
21845}
21846#[test]
21847fn bindgen_test_layout__GParameter() {
21848    const UNINIT: ::std::mem::MaybeUninit<_GParameter> = ::std::mem::MaybeUninit::uninit();
21849    let ptr = UNINIT.as_ptr();
21850    assert_eq!(
21851        ::std::mem::size_of::<_GParameter>(),
21852        32usize,
21853        concat!("Size of: ", stringify!(_GParameter))
21854    );
21855    assert_eq!(
21856        ::std::mem::align_of::<_GParameter>(),
21857        8usize,
21858        concat!("Alignment of ", stringify!(_GParameter))
21859    );
21860    assert_eq!(
21861        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
21862        0usize,
21863        concat!(
21864            "Offset of field: ",
21865            stringify!(_GParameter),
21866            "::",
21867            stringify!(name)
21868        )
21869    );
21870    assert_eq!(
21871        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
21872        8usize,
21873        concat!(
21874            "Offset of field: ",
21875            stringify!(_GParameter),
21876            "::",
21877            stringify!(value)
21878        )
21879    );
21880}
21881impl ::std::fmt::Debug for _GParameter {
21882    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21883        write!(
21884            f,
21885            "_GParameter {{ name: {:?}, value: {:?} }}",
21886            self.name, self.value
21887        )
21888    }
21889}
21890extern "C" {
21891    pub fn g_param_spec_ref(pspec: *mut GParamSpec) -> *mut GParamSpec;
21892}
21893extern "C" {
21894    pub fn g_param_spec_unref(pspec: *mut GParamSpec);
21895}
21896extern "C" {
21897    pub fn g_param_spec_sink(pspec: *mut GParamSpec);
21898}
21899extern "C" {
21900    pub fn g_param_spec_ref_sink(pspec: *mut GParamSpec) -> *mut GParamSpec;
21901}
21902extern "C" {
21903    pub fn g_param_spec_get_qdata(pspec: *mut GParamSpec, quark: GQuark) -> gpointer;
21904}
21905extern "C" {
21906    pub fn g_param_spec_set_qdata(pspec: *mut GParamSpec, quark: GQuark, data: gpointer);
21907}
21908extern "C" {
21909    pub fn g_param_spec_set_qdata_full(
21910        pspec: *mut GParamSpec,
21911        quark: GQuark,
21912        data: gpointer,
21913        destroy: GDestroyNotify,
21914    );
21915}
21916extern "C" {
21917    pub fn g_param_spec_steal_qdata(pspec: *mut GParamSpec, quark: GQuark) -> gpointer;
21918}
21919extern "C" {
21920    pub fn g_param_spec_get_redirect_target(pspec: *mut GParamSpec) -> *mut GParamSpec;
21921}
21922extern "C" {
21923    pub fn g_param_value_set_default(pspec: *mut GParamSpec, value: *mut GValue);
21924}
21925extern "C" {
21926    pub fn g_param_value_defaults(pspec: *mut GParamSpec, value: *const GValue) -> gboolean;
21927}
21928extern "C" {
21929    pub fn g_param_value_validate(pspec: *mut GParamSpec, value: *mut GValue) -> gboolean;
21930}
21931extern "C" {
21932    pub fn g_param_value_is_valid(pspec: *mut GParamSpec, value: *const GValue) -> gboolean;
21933}
21934extern "C" {
21935    pub fn g_param_value_convert(
21936        pspec: *mut GParamSpec,
21937        src_value: *const GValue,
21938        dest_value: *mut GValue,
21939        strict_validation: gboolean,
21940    ) -> gboolean;
21941}
21942extern "C" {
21943    pub fn g_param_values_cmp(
21944        pspec: *mut GParamSpec,
21945        value1: *const GValue,
21946        value2: *const GValue,
21947    ) -> gint;
21948}
21949extern "C" {
21950    pub fn g_param_spec_get_name(pspec: *mut GParamSpec) -> *const gchar;
21951}
21952extern "C" {
21953    pub fn g_param_spec_get_nick(pspec: *mut GParamSpec) -> *const gchar;
21954}
21955extern "C" {
21956    pub fn g_param_spec_get_blurb(pspec: *mut GParamSpec) -> *const gchar;
21957}
21958extern "C" {
21959    pub fn g_value_set_param(value: *mut GValue, param: *mut GParamSpec);
21960}
21961extern "C" {
21962    pub fn g_value_get_param(value: *const GValue) -> *mut GParamSpec;
21963}
21964extern "C" {
21965    pub fn g_value_dup_param(value: *const GValue) -> *mut GParamSpec;
21966}
21967extern "C" {
21968    pub fn g_value_take_param(value: *mut GValue, param: *mut GParamSpec);
21969}
21970extern "C" {
21971    pub fn g_value_set_param_take_ownership(value: *mut GValue, param: *mut GParamSpec);
21972}
21973extern "C" {
21974    pub fn g_param_spec_get_default_value(pspec: *mut GParamSpec) -> *const GValue;
21975}
21976extern "C" {
21977    pub fn g_param_spec_get_name_quark(pspec: *mut GParamSpec) -> GQuark;
21978}
21979pub type GParamSpecTypeInfo = _GParamSpecTypeInfo;
21980#[repr(C)]
21981#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21982pub struct _GParamSpecTypeInfo {
21983    pub instance_size: guint16,
21984    pub n_preallocs: guint16,
21985    pub instance_init: ::std::option::Option<unsafe extern "C" fn(pspec: *mut GParamSpec)>,
21986    pub value_type: GType,
21987    pub finalize: ::std::option::Option<unsafe extern "C" fn(pspec: *mut GParamSpec)>,
21988    pub value_set_default:
21989        ::std::option::Option<unsafe extern "C" fn(pspec: *mut GParamSpec, value: *mut GValue)>,
21990    pub value_validate: ::std::option::Option<
21991        unsafe extern "C" fn(pspec: *mut GParamSpec, value: *mut GValue) -> gboolean,
21992    >,
21993    pub values_cmp: ::std::option::Option<
21994        unsafe extern "C" fn(
21995            pspec: *mut GParamSpec,
21996            value1: *const GValue,
21997            value2: *const GValue,
21998        ) -> gint,
21999    >,
22000}
22001#[test]
22002fn bindgen_test_layout__GParamSpecTypeInfo() {
22003    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecTypeInfo> = ::std::mem::MaybeUninit::uninit();
22004    let ptr = UNINIT.as_ptr();
22005    assert_eq!(
22006        ::std::mem::size_of::<_GParamSpecTypeInfo>(),
22007        56usize,
22008        concat!("Size of: ", stringify!(_GParamSpecTypeInfo))
22009    );
22010    assert_eq!(
22011        ::std::mem::align_of::<_GParamSpecTypeInfo>(),
22012        8usize,
22013        concat!("Alignment of ", stringify!(_GParamSpecTypeInfo))
22014    );
22015    assert_eq!(
22016        unsafe { ::std::ptr::addr_of!((*ptr).instance_size) as usize - ptr as usize },
22017        0usize,
22018        concat!(
22019            "Offset of field: ",
22020            stringify!(_GParamSpecTypeInfo),
22021            "::",
22022            stringify!(instance_size)
22023        )
22024    );
22025    assert_eq!(
22026        unsafe { ::std::ptr::addr_of!((*ptr).n_preallocs) as usize - ptr as usize },
22027        2usize,
22028        concat!(
22029            "Offset of field: ",
22030            stringify!(_GParamSpecTypeInfo),
22031            "::",
22032            stringify!(n_preallocs)
22033        )
22034    );
22035    assert_eq!(
22036        unsafe { ::std::ptr::addr_of!((*ptr).instance_init) as usize - ptr as usize },
22037        8usize,
22038        concat!(
22039            "Offset of field: ",
22040            stringify!(_GParamSpecTypeInfo),
22041            "::",
22042            stringify!(instance_init)
22043        )
22044    );
22045    assert_eq!(
22046        unsafe { ::std::ptr::addr_of!((*ptr).value_type) as usize - ptr as usize },
22047        16usize,
22048        concat!(
22049            "Offset of field: ",
22050            stringify!(_GParamSpecTypeInfo),
22051            "::",
22052            stringify!(value_type)
22053        )
22054    );
22055    assert_eq!(
22056        unsafe { ::std::ptr::addr_of!((*ptr).finalize) as usize - ptr as usize },
22057        24usize,
22058        concat!(
22059            "Offset of field: ",
22060            stringify!(_GParamSpecTypeInfo),
22061            "::",
22062            stringify!(finalize)
22063        )
22064    );
22065    assert_eq!(
22066        unsafe { ::std::ptr::addr_of!((*ptr).value_set_default) as usize - ptr as usize },
22067        32usize,
22068        concat!(
22069            "Offset of field: ",
22070            stringify!(_GParamSpecTypeInfo),
22071            "::",
22072            stringify!(value_set_default)
22073        )
22074    );
22075    assert_eq!(
22076        unsafe { ::std::ptr::addr_of!((*ptr).value_validate) as usize - ptr as usize },
22077        40usize,
22078        concat!(
22079            "Offset of field: ",
22080            stringify!(_GParamSpecTypeInfo),
22081            "::",
22082            stringify!(value_validate)
22083        )
22084    );
22085    assert_eq!(
22086        unsafe { ::std::ptr::addr_of!((*ptr).values_cmp) as usize - ptr as usize },
22087        48usize,
22088        concat!(
22089            "Offset of field: ",
22090            stringify!(_GParamSpecTypeInfo),
22091            "::",
22092            stringify!(values_cmp)
22093        )
22094    );
22095}
22096extern "C" {
22097    pub fn g_param_type_register_static(
22098        name: *const gchar,
22099        pspec_info: *const GParamSpecTypeInfo,
22100    ) -> GType;
22101}
22102extern "C" {
22103    pub fn g_param_spec_is_valid_name(name: *const gchar) -> gboolean;
22104}
22105extern "C" {
22106    pub fn _g_param_type_register_static_constant(
22107        name: *const gchar,
22108        pspec_info: *const GParamSpecTypeInfo,
22109        opt_type: GType,
22110    ) -> GType;
22111}
22112extern "C" {
22113    pub fn g_param_spec_internal(
22114        param_type: GType,
22115        name: *const gchar,
22116        nick: *const gchar,
22117        blurb: *const gchar,
22118        flags: GParamFlags,
22119    ) -> gpointer;
22120}
22121extern "C" {
22122    pub fn g_param_spec_pool_new(type_prefixing: gboolean) -> *mut GParamSpecPool;
22123}
22124extern "C" {
22125    pub fn g_param_spec_pool_insert(
22126        pool: *mut GParamSpecPool,
22127        pspec: *mut GParamSpec,
22128        owner_type: GType,
22129    );
22130}
22131extern "C" {
22132    pub fn g_param_spec_pool_remove(pool: *mut GParamSpecPool, pspec: *mut GParamSpec);
22133}
22134extern "C" {
22135    pub fn g_param_spec_pool_lookup(
22136        pool: *mut GParamSpecPool,
22137        param_name: *const gchar,
22138        owner_type: GType,
22139        walk_ancestors: gboolean,
22140    ) -> *mut GParamSpec;
22141}
22142extern "C" {
22143    pub fn g_param_spec_pool_list_owned(pool: *mut GParamSpecPool, owner_type: GType)
22144        -> *mut GList;
22145}
22146extern "C" {
22147    pub fn g_param_spec_pool_list(
22148        pool: *mut GParamSpecPool,
22149        owner_type: GType,
22150        n_pspecs_p: *mut guint,
22151    ) -> *mut *mut GParamSpec;
22152}
22153pub type GClosure = _GClosure;
22154pub type GClosureNotifyData = _GClosureNotifyData;
22155pub type GCallback = ::std::option::Option<unsafe extern "C" fn()>;
22156pub type GClosureNotify =
22157    ::std::option::Option<unsafe extern "C" fn(data: gpointer, closure: *mut GClosure)>;
22158pub type GClosureMarshal = ::std::option::Option<
22159    unsafe extern "C" fn(
22160        closure: *mut GClosure,
22161        return_value: *mut GValue,
22162        n_param_values: guint,
22163        param_values: *const GValue,
22164        invocation_hint: gpointer,
22165        marshal_data: gpointer,
22166    ),
22167>;
22168pub type GVaClosureMarshal = ::std::option::Option<
22169    unsafe extern "C" fn(
22170        closure: *mut GClosure,
22171        return_value: *mut GValue,
22172        instance: gpointer,
22173        args: va_list,
22174        marshal_data: gpointer,
22175        n_params: ::std::os::raw::c_int,
22176        param_types: *mut GType,
22177    ),
22178>;
22179pub type GCClosure = _GCClosure;
22180#[repr(C)]
22181#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22182pub struct _GClosureNotifyData {
22183    pub data: gpointer,
22184    pub notify: GClosureNotify,
22185}
22186#[test]
22187fn bindgen_test_layout__GClosureNotifyData() {
22188    const UNINIT: ::std::mem::MaybeUninit<_GClosureNotifyData> = ::std::mem::MaybeUninit::uninit();
22189    let ptr = UNINIT.as_ptr();
22190    assert_eq!(
22191        ::std::mem::size_of::<_GClosureNotifyData>(),
22192        16usize,
22193        concat!("Size of: ", stringify!(_GClosureNotifyData))
22194    );
22195    assert_eq!(
22196        ::std::mem::align_of::<_GClosureNotifyData>(),
22197        8usize,
22198        concat!("Alignment of ", stringify!(_GClosureNotifyData))
22199    );
22200    assert_eq!(
22201        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
22202        0usize,
22203        concat!(
22204            "Offset of field: ",
22205            stringify!(_GClosureNotifyData),
22206            "::",
22207            stringify!(data)
22208        )
22209    );
22210    assert_eq!(
22211        unsafe { ::std::ptr::addr_of!((*ptr).notify) as usize - ptr as usize },
22212        8usize,
22213        concat!(
22214            "Offset of field: ",
22215            stringify!(_GClosureNotifyData),
22216            "::",
22217            stringify!(notify)
22218        )
22219    );
22220}
22221#[repr(C)]
22222#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22223pub struct _GClosure {
22224    pub _bitfield_align_1: [u16; 0],
22225    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
22226    pub marshal: ::std::option::Option<
22227        unsafe extern "C" fn(
22228            closure: *mut GClosure,
22229            return_value: *mut GValue,
22230            n_param_values: guint,
22231            param_values: *const GValue,
22232            invocation_hint: gpointer,
22233            marshal_data: gpointer,
22234        ),
22235    >,
22236    pub data: gpointer,
22237    pub notifiers: *mut GClosureNotifyData,
22238}
22239#[test]
22240fn bindgen_test_layout__GClosure() {
22241    const UNINIT: ::std::mem::MaybeUninit<_GClosure> = ::std::mem::MaybeUninit::uninit();
22242    let ptr = UNINIT.as_ptr();
22243    assert_eq!(
22244        ::std::mem::size_of::<_GClosure>(),
22245        32usize,
22246        concat!("Size of: ", stringify!(_GClosure))
22247    );
22248    assert_eq!(
22249        ::std::mem::align_of::<_GClosure>(),
22250        8usize,
22251        concat!("Alignment of ", stringify!(_GClosure))
22252    );
22253    assert_eq!(
22254        unsafe { ::std::ptr::addr_of!((*ptr).marshal) as usize - ptr as usize },
22255        8usize,
22256        concat!(
22257            "Offset of field: ",
22258            stringify!(_GClosure),
22259            "::",
22260            stringify!(marshal)
22261        )
22262    );
22263    assert_eq!(
22264        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
22265        16usize,
22266        concat!(
22267            "Offset of field: ",
22268            stringify!(_GClosure),
22269            "::",
22270            stringify!(data)
22271        )
22272    );
22273    assert_eq!(
22274        unsafe { ::std::ptr::addr_of!((*ptr).notifiers) as usize - ptr as usize },
22275        24usize,
22276        concat!(
22277            "Offset of field: ",
22278            stringify!(_GClosure),
22279            "::",
22280            stringify!(notifiers)
22281        )
22282    );
22283}
22284impl _GClosure {
22285    #[inline]
22286    pub fn ref_count(&self) -> guint {
22287        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 15u8) as u32) }
22288    }
22289    #[inline]
22290    pub fn set_ref_count(&mut self, val: guint) {
22291        unsafe {
22292            let val: u32 = ::std::mem::transmute(val);
22293            self._bitfield_1.set(0usize, 15u8, val as u64)
22294        }
22295    }
22296    #[inline]
22297    pub fn meta_marshal_nouse(&self) -> guint {
22298        unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
22299    }
22300    #[inline]
22301    pub fn set_meta_marshal_nouse(&mut self, val: guint) {
22302        unsafe {
22303            let val: u32 = ::std::mem::transmute(val);
22304            self._bitfield_1.set(15usize, 1u8, val as u64)
22305        }
22306    }
22307    #[inline]
22308    pub fn n_guards(&self) -> guint {
22309        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
22310    }
22311    #[inline]
22312    pub fn set_n_guards(&mut self, val: guint) {
22313        unsafe {
22314            let val: u32 = ::std::mem::transmute(val);
22315            self._bitfield_1.set(16usize, 1u8, val as u64)
22316        }
22317    }
22318    #[inline]
22319    pub fn n_fnotifiers(&self) -> guint {
22320        unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 2u8) as u32) }
22321    }
22322    #[inline]
22323    pub fn set_n_fnotifiers(&mut self, val: guint) {
22324        unsafe {
22325            let val: u32 = ::std::mem::transmute(val);
22326            self._bitfield_1.set(17usize, 2u8, val as u64)
22327        }
22328    }
22329    #[inline]
22330    pub fn n_inotifiers(&self) -> guint {
22331        unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 8u8) as u32) }
22332    }
22333    #[inline]
22334    pub fn set_n_inotifiers(&mut self, val: guint) {
22335        unsafe {
22336            let val: u32 = ::std::mem::transmute(val);
22337            self._bitfield_1.set(19usize, 8u8, val as u64)
22338        }
22339    }
22340    #[inline]
22341    pub fn in_inotify(&self) -> guint {
22342        unsafe { ::std::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u32) }
22343    }
22344    #[inline]
22345    pub fn set_in_inotify(&mut self, val: guint) {
22346        unsafe {
22347            let val: u32 = ::std::mem::transmute(val);
22348            self._bitfield_1.set(27usize, 1u8, val as u64)
22349        }
22350    }
22351    #[inline]
22352    pub fn floating(&self) -> guint {
22353        unsafe { ::std::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u32) }
22354    }
22355    #[inline]
22356    pub fn set_floating(&mut self, val: guint) {
22357        unsafe {
22358            let val: u32 = ::std::mem::transmute(val);
22359            self._bitfield_1.set(28usize, 1u8, val as u64)
22360        }
22361    }
22362    #[inline]
22363    pub fn derivative_flag(&self) -> guint {
22364        unsafe { ::std::mem::transmute(self._bitfield_1.get(29usize, 1u8) as u32) }
22365    }
22366    #[inline]
22367    pub fn set_derivative_flag(&mut self, val: guint) {
22368        unsafe {
22369            let val: u32 = ::std::mem::transmute(val);
22370            self._bitfield_1.set(29usize, 1u8, val as u64)
22371        }
22372    }
22373    #[inline]
22374    pub fn in_marshal(&self) -> guint {
22375        unsafe { ::std::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u32) }
22376    }
22377    #[inline]
22378    pub fn set_in_marshal(&mut self, val: guint) {
22379        unsafe {
22380            let val: u32 = ::std::mem::transmute(val);
22381            self._bitfield_1.set(30usize, 1u8, val as u64)
22382        }
22383    }
22384    #[inline]
22385    pub fn is_invalid(&self) -> guint {
22386        unsafe { ::std::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) }
22387    }
22388    #[inline]
22389    pub fn set_is_invalid(&mut self, val: guint) {
22390        unsafe {
22391            let val: u32 = ::std::mem::transmute(val);
22392            self._bitfield_1.set(31usize, 1u8, val as u64)
22393        }
22394    }
22395    #[inline]
22396    pub fn new_bitfield_1(
22397        ref_count: guint,
22398        meta_marshal_nouse: guint,
22399        n_guards: guint,
22400        n_fnotifiers: guint,
22401        n_inotifiers: guint,
22402        in_inotify: guint,
22403        floating: guint,
22404        derivative_flag: guint,
22405        in_marshal: guint,
22406        is_invalid: guint,
22407    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
22408        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
22409        __bindgen_bitfield_unit.set(0usize, 15u8, {
22410            let ref_count: u32 = unsafe { ::std::mem::transmute(ref_count) };
22411            ref_count as u64
22412        });
22413        __bindgen_bitfield_unit.set(15usize, 1u8, {
22414            let meta_marshal_nouse: u32 = unsafe { ::std::mem::transmute(meta_marshal_nouse) };
22415            meta_marshal_nouse as u64
22416        });
22417        __bindgen_bitfield_unit.set(16usize, 1u8, {
22418            let n_guards: u32 = unsafe { ::std::mem::transmute(n_guards) };
22419            n_guards as u64
22420        });
22421        __bindgen_bitfield_unit.set(17usize, 2u8, {
22422            let n_fnotifiers: u32 = unsafe { ::std::mem::transmute(n_fnotifiers) };
22423            n_fnotifiers as u64
22424        });
22425        __bindgen_bitfield_unit.set(19usize, 8u8, {
22426            let n_inotifiers: u32 = unsafe { ::std::mem::transmute(n_inotifiers) };
22427            n_inotifiers as u64
22428        });
22429        __bindgen_bitfield_unit.set(27usize, 1u8, {
22430            let in_inotify: u32 = unsafe { ::std::mem::transmute(in_inotify) };
22431            in_inotify as u64
22432        });
22433        __bindgen_bitfield_unit.set(28usize, 1u8, {
22434            let floating: u32 = unsafe { ::std::mem::transmute(floating) };
22435            floating as u64
22436        });
22437        __bindgen_bitfield_unit.set(29usize, 1u8, {
22438            let derivative_flag: u32 = unsafe { ::std::mem::transmute(derivative_flag) };
22439            derivative_flag as u64
22440        });
22441        __bindgen_bitfield_unit.set(30usize, 1u8, {
22442            let in_marshal: u32 = unsafe { ::std::mem::transmute(in_marshal) };
22443            in_marshal as u64
22444        });
22445        __bindgen_bitfield_unit.set(31usize, 1u8, {
22446            let is_invalid: u32 = unsafe { ::std::mem::transmute(is_invalid) };
22447            is_invalid as u64
22448        });
22449        __bindgen_bitfield_unit
22450    }
22451}
22452#[repr(C)]
22453#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22454pub struct _GCClosure {
22455    pub closure: GClosure,
22456    pub callback: gpointer,
22457}
22458#[test]
22459fn bindgen_test_layout__GCClosure() {
22460    const UNINIT: ::std::mem::MaybeUninit<_GCClosure> = ::std::mem::MaybeUninit::uninit();
22461    let ptr = UNINIT.as_ptr();
22462    assert_eq!(
22463        ::std::mem::size_of::<_GCClosure>(),
22464        40usize,
22465        concat!("Size of: ", stringify!(_GCClosure))
22466    );
22467    assert_eq!(
22468        ::std::mem::align_of::<_GCClosure>(),
22469        8usize,
22470        concat!("Alignment of ", stringify!(_GCClosure))
22471    );
22472    assert_eq!(
22473        unsafe { ::std::ptr::addr_of!((*ptr).closure) as usize - ptr as usize },
22474        0usize,
22475        concat!(
22476            "Offset of field: ",
22477            stringify!(_GCClosure),
22478            "::",
22479            stringify!(closure)
22480        )
22481    );
22482    assert_eq!(
22483        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
22484        32usize,
22485        concat!(
22486            "Offset of field: ",
22487            stringify!(_GCClosure),
22488            "::",
22489            stringify!(callback)
22490        )
22491    );
22492}
22493extern "C" {
22494    pub fn g_cclosure_new(
22495        callback_func: GCallback,
22496        user_data: gpointer,
22497        destroy_data: GClosureNotify,
22498    ) -> *mut GClosure;
22499}
22500extern "C" {
22501    pub fn g_cclosure_new_swap(
22502        callback_func: GCallback,
22503        user_data: gpointer,
22504        destroy_data: GClosureNotify,
22505    ) -> *mut GClosure;
22506}
22507extern "C" {
22508    pub fn g_signal_type_cclosure_new(itype: GType, struct_offset: guint) -> *mut GClosure;
22509}
22510extern "C" {
22511    pub fn g_closure_ref(closure: *mut GClosure) -> *mut GClosure;
22512}
22513extern "C" {
22514    pub fn g_closure_sink(closure: *mut GClosure);
22515}
22516extern "C" {
22517    pub fn g_closure_unref(closure: *mut GClosure);
22518}
22519extern "C" {
22520    pub fn g_closure_new_simple(sizeof_closure: guint, data: gpointer) -> *mut GClosure;
22521}
22522extern "C" {
22523    pub fn g_closure_add_finalize_notifier(
22524        closure: *mut GClosure,
22525        notify_data: gpointer,
22526        notify_func: GClosureNotify,
22527    );
22528}
22529extern "C" {
22530    pub fn g_closure_remove_finalize_notifier(
22531        closure: *mut GClosure,
22532        notify_data: gpointer,
22533        notify_func: GClosureNotify,
22534    );
22535}
22536extern "C" {
22537    pub fn g_closure_add_invalidate_notifier(
22538        closure: *mut GClosure,
22539        notify_data: gpointer,
22540        notify_func: GClosureNotify,
22541    );
22542}
22543extern "C" {
22544    pub fn g_closure_remove_invalidate_notifier(
22545        closure: *mut GClosure,
22546        notify_data: gpointer,
22547        notify_func: GClosureNotify,
22548    );
22549}
22550extern "C" {
22551    pub fn g_closure_add_marshal_guards(
22552        closure: *mut GClosure,
22553        pre_marshal_data: gpointer,
22554        pre_marshal_notify: GClosureNotify,
22555        post_marshal_data: gpointer,
22556        post_marshal_notify: GClosureNotify,
22557    );
22558}
22559extern "C" {
22560    pub fn g_closure_set_marshal(closure: *mut GClosure, marshal: GClosureMarshal);
22561}
22562extern "C" {
22563    pub fn g_closure_set_meta_marshal(
22564        closure: *mut GClosure,
22565        marshal_data: gpointer,
22566        meta_marshal: GClosureMarshal,
22567    );
22568}
22569extern "C" {
22570    pub fn g_closure_invalidate(closure: *mut GClosure);
22571}
22572extern "C" {
22573    pub fn g_closure_invoke(
22574        closure: *mut GClosure,
22575        return_value: *mut GValue,
22576        n_param_values: guint,
22577        param_values: *const GValue,
22578        invocation_hint: gpointer,
22579    );
22580}
22581extern "C" {
22582    pub fn g_cclosure_marshal_generic(
22583        closure: *mut GClosure,
22584        return_gvalue: *mut GValue,
22585        n_param_values: guint,
22586        param_values: *const GValue,
22587        invocation_hint: gpointer,
22588        marshal_data: gpointer,
22589    );
22590}
22591extern "C" {
22592    pub fn g_cclosure_marshal_generic_va(
22593        closure: *mut GClosure,
22594        return_value: *mut GValue,
22595        instance: gpointer,
22596        args_list: va_list,
22597        marshal_data: gpointer,
22598        n_params: ::std::os::raw::c_int,
22599        param_types: *mut GType,
22600    );
22601}
22602extern "C" {
22603    pub fn g_cclosure_marshal_VOID__VOID(
22604        closure: *mut GClosure,
22605        return_value: *mut GValue,
22606        n_param_values: guint,
22607        param_values: *const GValue,
22608        invocation_hint: gpointer,
22609        marshal_data: gpointer,
22610    );
22611}
22612extern "C" {
22613    pub fn g_cclosure_marshal_VOID__VOIDv(
22614        closure: *mut GClosure,
22615        return_value: *mut GValue,
22616        instance: gpointer,
22617        args: va_list,
22618        marshal_data: gpointer,
22619        n_params: ::std::os::raw::c_int,
22620        param_types: *mut GType,
22621    );
22622}
22623extern "C" {
22624    pub fn g_cclosure_marshal_VOID__BOOLEAN(
22625        closure: *mut GClosure,
22626        return_value: *mut GValue,
22627        n_param_values: guint,
22628        param_values: *const GValue,
22629        invocation_hint: gpointer,
22630        marshal_data: gpointer,
22631    );
22632}
22633extern "C" {
22634    pub fn g_cclosure_marshal_VOID__BOOLEANv(
22635        closure: *mut GClosure,
22636        return_value: *mut GValue,
22637        instance: gpointer,
22638        args: va_list,
22639        marshal_data: gpointer,
22640        n_params: ::std::os::raw::c_int,
22641        param_types: *mut GType,
22642    );
22643}
22644extern "C" {
22645    pub fn g_cclosure_marshal_VOID__CHAR(
22646        closure: *mut GClosure,
22647        return_value: *mut GValue,
22648        n_param_values: guint,
22649        param_values: *const GValue,
22650        invocation_hint: gpointer,
22651        marshal_data: gpointer,
22652    );
22653}
22654extern "C" {
22655    pub fn g_cclosure_marshal_VOID__CHARv(
22656        closure: *mut GClosure,
22657        return_value: *mut GValue,
22658        instance: gpointer,
22659        args: va_list,
22660        marshal_data: gpointer,
22661        n_params: ::std::os::raw::c_int,
22662        param_types: *mut GType,
22663    );
22664}
22665extern "C" {
22666    pub fn g_cclosure_marshal_VOID__UCHAR(
22667        closure: *mut GClosure,
22668        return_value: *mut GValue,
22669        n_param_values: guint,
22670        param_values: *const GValue,
22671        invocation_hint: gpointer,
22672        marshal_data: gpointer,
22673    );
22674}
22675extern "C" {
22676    pub fn g_cclosure_marshal_VOID__UCHARv(
22677        closure: *mut GClosure,
22678        return_value: *mut GValue,
22679        instance: gpointer,
22680        args: va_list,
22681        marshal_data: gpointer,
22682        n_params: ::std::os::raw::c_int,
22683        param_types: *mut GType,
22684    );
22685}
22686extern "C" {
22687    pub fn g_cclosure_marshal_VOID__INT(
22688        closure: *mut GClosure,
22689        return_value: *mut GValue,
22690        n_param_values: guint,
22691        param_values: *const GValue,
22692        invocation_hint: gpointer,
22693        marshal_data: gpointer,
22694    );
22695}
22696extern "C" {
22697    pub fn g_cclosure_marshal_VOID__INTv(
22698        closure: *mut GClosure,
22699        return_value: *mut GValue,
22700        instance: gpointer,
22701        args: va_list,
22702        marshal_data: gpointer,
22703        n_params: ::std::os::raw::c_int,
22704        param_types: *mut GType,
22705    );
22706}
22707extern "C" {
22708    pub fn g_cclosure_marshal_VOID__UINT(
22709        closure: *mut GClosure,
22710        return_value: *mut GValue,
22711        n_param_values: guint,
22712        param_values: *const GValue,
22713        invocation_hint: gpointer,
22714        marshal_data: gpointer,
22715    );
22716}
22717extern "C" {
22718    pub fn g_cclosure_marshal_VOID__UINTv(
22719        closure: *mut GClosure,
22720        return_value: *mut GValue,
22721        instance: gpointer,
22722        args: va_list,
22723        marshal_data: gpointer,
22724        n_params: ::std::os::raw::c_int,
22725        param_types: *mut GType,
22726    );
22727}
22728extern "C" {
22729    pub fn g_cclosure_marshal_VOID__LONG(
22730        closure: *mut GClosure,
22731        return_value: *mut GValue,
22732        n_param_values: guint,
22733        param_values: *const GValue,
22734        invocation_hint: gpointer,
22735        marshal_data: gpointer,
22736    );
22737}
22738extern "C" {
22739    pub fn g_cclosure_marshal_VOID__LONGv(
22740        closure: *mut GClosure,
22741        return_value: *mut GValue,
22742        instance: gpointer,
22743        args: va_list,
22744        marshal_data: gpointer,
22745        n_params: ::std::os::raw::c_int,
22746        param_types: *mut GType,
22747    );
22748}
22749extern "C" {
22750    pub fn g_cclosure_marshal_VOID__ULONG(
22751        closure: *mut GClosure,
22752        return_value: *mut GValue,
22753        n_param_values: guint,
22754        param_values: *const GValue,
22755        invocation_hint: gpointer,
22756        marshal_data: gpointer,
22757    );
22758}
22759extern "C" {
22760    pub fn g_cclosure_marshal_VOID__ULONGv(
22761        closure: *mut GClosure,
22762        return_value: *mut GValue,
22763        instance: gpointer,
22764        args: va_list,
22765        marshal_data: gpointer,
22766        n_params: ::std::os::raw::c_int,
22767        param_types: *mut GType,
22768    );
22769}
22770extern "C" {
22771    pub fn g_cclosure_marshal_VOID__ENUM(
22772        closure: *mut GClosure,
22773        return_value: *mut GValue,
22774        n_param_values: guint,
22775        param_values: *const GValue,
22776        invocation_hint: gpointer,
22777        marshal_data: gpointer,
22778    );
22779}
22780extern "C" {
22781    pub fn g_cclosure_marshal_VOID__ENUMv(
22782        closure: *mut GClosure,
22783        return_value: *mut GValue,
22784        instance: gpointer,
22785        args: va_list,
22786        marshal_data: gpointer,
22787        n_params: ::std::os::raw::c_int,
22788        param_types: *mut GType,
22789    );
22790}
22791extern "C" {
22792    pub fn g_cclosure_marshal_VOID__FLAGS(
22793        closure: *mut GClosure,
22794        return_value: *mut GValue,
22795        n_param_values: guint,
22796        param_values: *const GValue,
22797        invocation_hint: gpointer,
22798        marshal_data: gpointer,
22799    );
22800}
22801extern "C" {
22802    pub fn g_cclosure_marshal_VOID__FLAGSv(
22803        closure: *mut GClosure,
22804        return_value: *mut GValue,
22805        instance: gpointer,
22806        args: va_list,
22807        marshal_data: gpointer,
22808        n_params: ::std::os::raw::c_int,
22809        param_types: *mut GType,
22810    );
22811}
22812extern "C" {
22813    pub fn g_cclosure_marshal_VOID__FLOAT(
22814        closure: *mut GClosure,
22815        return_value: *mut GValue,
22816        n_param_values: guint,
22817        param_values: *const GValue,
22818        invocation_hint: gpointer,
22819        marshal_data: gpointer,
22820    );
22821}
22822extern "C" {
22823    pub fn g_cclosure_marshal_VOID__FLOATv(
22824        closure: *mut GClosure,
22825        return_value: *mut GValue,
22826        instance: gpointer,
22827        args: va_list,
22828        marshal_data: gpointer,
22829        n_params: ::std::os::raw::c_int,
22830        param_types: *mut GType,
22831    );
22832}
22833extern "C" {
22834    pub fn g_cclosure_marshal_VOID__DOUBLE(
22835        closure: *mut GClosure,
22836        return_value: *mut GValue,
22837        n_param_values: guint,
22838        param_values: *const GValue,
22839        invocation_hint: gpointer,
22840        marshal_data: gpointer,
22841    );
22842}
22843extern "C" {
22844    pub fn g_cclosure_marshal_VOID__DOUBLEv(
22845        closure: *mut GClosure,
22846        return_value: *mut GValue,
22847        instance: gpointer,
22848        args: va_list,
22849        marshal_data: gpointer,
22850        n_params: ::std::os::raw::c_int,
22851        param_types: *mut GType,
22852    );
22853}
22854extern "C" {
22855    pub fn g_cclosure_marshal_VOID__STRING(
22856        closure: *mut GClosure,
22857        return_value: *mut GValue,
22858        n_param_values: guint,
22859        param_values: *const GValue,
22860        invocation_hint: gpointer,
22861        marshal_data: gpointer,
22862    );
22863}
22864extern "C" {
22865    pub fn g_cclosure_marshal_VOID__STRINGv(
22866        closure: *mut GClosure,
22867        return_value: *mut GValue,
22868        instance: gpointer,
22869        args: va_list,
22870        marshal_data: gpointer,
22871        n_params: ::std::os::raw::c_int,
22872        param_types: *mut GType,
22873    );
22874}
22875extern "C" {
22876    pub fn g_cclosure_marshal_VOID__PARAM(
22877        closure: *mut GClosure,
22878        return_value: *mut GValue,
22879        n_param_values: guint,
22880        param_values: *const GValue,
22881        invocation_hint: gpointer,
22882        marshal_data: gpointer,
22883    );
22884}
22885extern "C" {
22886    pub fn g_cclosure_marshal_VOID__PARAMv(
22887        closure: *mut GClosure,
22888        return_value: *mut GValue,
22889        instance: gpointer,
22890        args: va_list,
22891        marshal_data: gpointer,
22892        n_params: ::std::os::raw::c_int,
22893        param_types: *mut GType,
22894    );
22895}
22896extern "C" {
22897    pub fn g_cclosure_marshal_VOID__BOXED(
22898        closure: *mut GClosure,
22899        return_value: *mut GValue,
22900        n_param_values: guint,
22901        param_values: *const GValue,
22902        invocation_hint: gpointer,
22903        marshal_data: gpointer,
22904    );
22905}
22906extern "C" {
22907    pub fn g_cclosure_marshal_VOID__BOXEDv(
22908        closure: *mut GClosure,
22909        return_value: *mut GValue,
22910        instance: gpointer,
22911        args: va_list,
22912        marshal_data: gpointer,
22913        n_params: ::std::os::raw::c_int,
22914        param_types: *mut GType,
22915    );
22916}
22917extern "C" {
22918    pub fn g_cclosure_marshal_VOID__POINTER(
22919        closure: *mut GClosure,
22920        return_value: *mut GValue,
22921        n_param_values: guint,
22922        param_values: *const GValue,
22923        invocation_hint: gpointer,
22924        marshal_data: gpointer,
22925    );
22926}
22927extern "C" {
22928    pub fn g_cclosure_marshal_VOID__POINTERv(
22929        closure: *mut GClosure,
22930        return_value: *mut GValue,
22931        instance: gpointer,
22932        args: va_list,
22933        marshal_data: gpointer,
22934        n_params: ::std::os::raw::c_int,
22935        param_types: *mut GType,
22936    );
22937}
22938extern "C" {
22939    pub fn g_cclosure_marshal_VOID__OBJECT(
22940        closure: *mut GClosure,
22941        return_value: *mut GValue,
22942        n_param_values: guint,
22943        param_values: *const GValue,
22944        invocation_hint: gpointer,
22945        marshal_data: gpointer,
22946    );
22947}
22948extern "C" {
22949    pub fn g_cclosure_marshal_VOID__OBJECTv(
22950        closure: *mut GClosure,
22951        return_value: *mut GValue,
22952        instance: gpointer,
22953        args: va_list,
22954        marshal_data: gpointer,
22955        n_params: ::std::os::raw::c_int,
22956        param_types: *mut GType,
22957    );
22958}
22959extern "C" {
22960    pub fn g_cclosure_marshal_VOID__VARIANT(
22961        closure: *mut GClosure,
22962        return_value: *mut GValue,
22963        n_param_values: guint,
22964        param_values: *const GValue,
22965        invocation_hint: gpointer,
22966        marshal_data: gpointer,
22967    );
22968}
22969extern "C" {
22970    pub fn g_cclosure_marshal_VOID__VARIANTv(
22971        closure: *mut GClosure,
22972        return_value: *mut GValue,
22973        instance: gpointer,
22974        args: va_list,
22975        marshal_data: gpointer,
22976        n_params: ::std::os::raw::c_int,
22977        param_types: *mut GType,
22978    );
22979}
22980extern "C" {
22981    pub fn g_cclosure_marshal_VOID__UINT_POINTER(
22982        closure: *mut GClosure,
22983        return_value: *mut GValue,
22984        n_param_values: guint,
22985        param_values: *const GValue,
22986        invocation_hint: gpointer,
22987        marshal_data: gpointer,
22988    );
22989}
22990extern "C" {
22991    pub fn g_cclosure_marshal_VOID__UINT_POINTERv(
22992        closure: *mut GClosure,
22993        return_value: *mut GValue,
22994        instance: gpointer,
22995        args: va_list,
22996        marshal_data: gpointer,
22997        n_params: ::std::os::raw::c_int,
22998        param_types: *mut GType,
22999    );
23000}
23001extern "C" {
23002    pub fn g_cclosure_marshal_BOOLEAN__FLAGS(
23003        closure: *mut GClosure,
23004        return_value: *mut GValue,
23005        n_param_values: guint,
23006        param_values: *const GValue,
23007        invocation_hint: gpointer,
23008        marshal_data: gpointer,
23009    );
23010}
23011extern "C" {
23012    pub fn g_cclosure_marshal_BOOLEAN__FLAGSv(
23013        closure: *mut GClosure,
23014        return_value: *mut GValue,
23015        instance: gpointer,
23016        args: va_list,
23017        marshal_data: gpointer,
23018        n_params: ::std::os::raw::c_int,
23019        param_types: *mut GType,
23020    );
23021}
23022extern "C" {
23023    pub fn g_cclosure_marshal_STRING__OBJECT_POINTER(
23024        closure: *mut GClosure,
23025        return_value: *mut GValue,
23026        n_param_values: guint,
23027        param_values: *const GValue,
23028        invocation_hint: gpointer,
23029        marshal_data: gpointer,
23030    );
23031}
23032extern "C" {
23033    pub fn g_cclosure_marshal_STRING__OBJECT_POINTERv(
23034        closure: *mut GClosure,
23035        return_value: *mut GValue,
23036        instance: gpointer,
23037        args: va_list,
23038        marshal_data: gpointer,
23039        n_params: ::std::os::raw::c_int,
23040        param_types: *mut GType,
23041    );
23042}
23043extern "C" {
23044    pub fn g_cclosure_marshal_BOOLEAN__BOXED_BOXED(
23045        closure: *mut GClosure,
23046        return_value: *mut GValue,
23047        n_param_values: guint,
23048        param_values: *const GValue,
23049        invocation_hint: gpointer,
23050        marshal_data: gpointer,
23051    );
23052}
23053extern "C" {
23054    pub fn g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv(
23055        closure: *mut GClosure,
23056        return_value: *mut GValue,
23057        instance: gpointer,
23058        args: va_list,
23059        marshal_data: gpointer,
23060        n_params: ::std::os::raw::c_int,
23061        param_types: *mut GType,
23062    );
23063}
23064pub type GSignalQuery = _GSignalQuery;
23065pub type GSignalInvocationHint = _GSignalInvocationHint;
23066pub type GSignalCMarshaller = GClosureMarshal;
23067pub type GSignalCVaMarshaller = GVaClosureMarshal;
23068pub type GSignalEmissionHook = ::std::option::Option<
23069    unsafe extern "C" fn(
23070        ihint: *mut GSignalInvocationHint,
23071        n_param_values: guint,
23072        param_values: *const GValue,
23073        data: gpointer,
23074    ) -> gboolean,
23075>;
23076pub type GSignalAccumulator = ::std::option::Option<
23077    unsafe extern "C" fn(
23078        ihint: *mut GSignalInvocationHint,
23079        return_accu: *mut GValue,
23080        handler_return: *const GValue,
23081        data: gpointer,
23082    ) -> gboolean,
23083>;
23084pub const GSignalFlags_G_SIGNAL_RUN_FIRST: GSignalFlags = 1;
23085pub const GSignalFlags_G_SIGNAL_RUN_LAST: GSignalFlags = 2;
23086pub const GSignalFlags_G_SIGNAL_RUN_CLEANUP: GSignalFlags = 4;
23087pub const GSignalFlags_G_SIGNAL_NO_RECURSE: GSignalFlags = 8;
23088pub const GSignalFlags_G_SIGNAL_DETAILED: GSignalFlags = 16;
23089pub const GSignalFlags_G_SIGNAL_ACTION: GSignalFlags = 32;
23090pub const GSignalFlags_G_SIGNAL_NO_HOOKS: GSignalFlags = 64;
23091pub const GSignalFlags_G_SIGNAL_MUST_COLLECT: GSignalFlags = 128;
23092pub const GSignalFlags_G_SIGNAL_DEPRECATED: GSignalFlags = 256;
23093pub const GSignalFlags_G_SIGNAL_ACCUMULATOR_FIRST_RUN: GSignalFlags = 131072;
23094pub type GSignalFlags = ::std::os::raw::c_uint;
23095pub const GConnectFlags_G_CONNECT_DEFAULT: GConnectFlags = 0;
23096pub const GConnectFlags_G_CONNECT_AFTER: GConnectFlags = 1;
23097pub const GConnectFlags_G_CONNECT_SWAPPED: GConnectFlags = 2;
23098pub type GConnectFlags = ::std::os::raw::c_uint;
23099pub const GSignalMatchType_G_SIGNAL_MATCH_ID: GSignalMatchType = 1;
23100pub const GSignalMatchType_G_SIGNAL_MATCH_DETAIL: GSignalMatchType = 2;
23101pub const GSignalMatchType_G_SIGNAL_MATCH_CLOSURE: GSignalMatchType = 4;
23102pub const GSignalMatchType_G_SIGNAL_MATCH_FUNC: GSignalMatchType = 8;
23103pub const GSignalMatchType_G_SIGNAL_MATCH_DATA: GSignalMatchType = 16;
23104pub const GSignalMatchType_G_SIGNAL_MATCH_UNBLOCKED: GSignalMatchType = 32;
23105pub type GSignalMatchType = ::std::os::raw::c_uint;
23106#[repr(C)]
23107#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23108pub struct _GSignalInvocationHint {
23109    pub signal_id: guint,
23110    pub detail: GQuark,
23111    pub run_type: GSignalFlags,
23112}
23113#[test]
23114fn bindgen_test_layout__GSignalInvocationHint() {
23115    const UNINIT: ::std::mem::MaybeUninit<_GSignalInvocationHint> =
23116        ::std::mem::MaybeUninit::uninit();
23117    let ptr = UNINIT.as_ptr();
23118    assert_eq!(
23119        ::std::mem::size_of::<_GSignalInvocationHint>(),
23120        12usize,
23121        concat!("Size of: ", stringify!(_GSignalInvocationHint))
23122    );
23123    assert_eq!(
23124        ::std::mem::align_of::<_GSignalInvocationHint>(),
23125        4usize,
23126        concat!("Alignment of ", stringify!(_GSignalInvocationHint))
23127    );
23128    assert_eq!(
23129        unsafe { ::std::ptr::addr_of!((*ptr).signal_id) as usize - ptr as usize },
23130        0usize,
23131        concat!(
23132            "Offset of field: ",
23133            stringify!(_GSignalInvocationHint),
23134            "::",
23135            stringify!(signal_id)
23136        )
23137    );
23138    assert_eq!(
23139        unsafe { ::std::ptr::addr_of!((*ptr).detail) as usize - ptr as usize },
23140        4usize,
23141        concat!(
23142            "Offset of field: ",
23143            stringify!(_GSignalInvocationHint),
23144            "::",
23145            stringify!(detail)
23146        )
23147    );
23148    assert_eq!(
23149        unsafe { ::std::ptr::addr_of!((*ptr).run_type) as usize - ptr as usize },
23150        8usize,
23151        concat!(
23152            "Offset of field: ",
23153            stringify!(_GSignalInvocationHint),
23154            "::",
23155            stringify!(run_type)
23156        )
23157    );
23158}
23159#[repr(C)]
23160#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23161pub struct _GSignalQuery {
23162    pub signal_id: guint,
23163    pub signal_name: *const gchar,
23164    pub itype: GType,
23165    pub signal_flags: GSignalFlags,
23166    pub return_type: GType,
23167    pub n_params: guint,
23168    pub param_types: *const GType,
23169}
23170#[test]
23171fn bindgen_test_layout__GSignalQuery() {
23172    const UNINIT: ::std::mem::MaybeUninit<_GSignalQuery> = ::std::mem::MaybeUninit::uninit();
23173    let ptr = UNINIT.as_ptr();
23174    assert_eq!(
23175        ::std::mem::size_of::<_GSignalQuery>(),
23176        56usize,
23177        concat!("Size of: ", stringify!(_GSignalQuery))
23178    );
23179    assert_eq!(
23180        ::std::mem::align_of::<_GSignalQuery>(),
23181        8usize,
23182        concat!("Alignment of ", stringify!(_GSignalQuery))
23183    );
23184    assert_eq!(
23185        unsafe { ::std::ptr::addr_of!((*ptr).signal_id) as usize - ptr as usize },
23186        0usize,
23187        concat!(
23188            "Offset of field: ",
23189            stringify!(_GSignalQuery),
23190            "::",
23191            stringify!(signal_id)
23192        )
23193    );
23194    assert_eq!(
23195        unsafe { ::std::ptr::addr_of!((*ptr).signal_name) as usize - ptr as usize },
23196        8usize,
23197        concat!(
23198            "Offset of field: ",
23199            stringify!(_GSignalQuery),
23200            "::",
23201            stringify!(signal_name)
23202        )
23203    );
23204    assert_eq!(
23205        unsafe { ::std::ptr::addr_of!((*ptr).itype) as usize - ptr as usize },
23206        16usize,
23207        concat!(
23208            "Offset of field: ",
23209            stringify!(_GSignalQuery),
23210            "::",
23211            stringify!(itype)
23212        )
23213    );
23214    assert_eq!(
23215        unsafe { ::std::ptr::addr_of!((*ptr).signal_flags) as usize - ptr as usize },
23216        24usize,
23217        concat!(
23218            "Offset of field: ",
23219            stringify!(_GSignalQuery),
23220            "::",
23221            stringify!(signal_flags)
23222        )
23223    );
23224    assert_eq!(
23225        unsafe { ::std::ptr::addr_of!((*ptr).return_type) as usize - ptr as usize },
23226        32usize,
23227        concat!(
23228            "Offset of field: ",
23229            stringify!(_GSignalQuery),
23230            "::",
23231            stringify!(return_type)
23232        )
23233    );
23234    assert_eq!(
23235        unsafe { ::std::ptr::addr_of!((*ptr).n_params) as usize - ptr as usize },
23236        40usize,
23237        concat!(
23238            "Offset of field: ",
23239            stringify!(_GSignalQuery),
23240            "::",
23241            stringify!(n_params)
23242        )
23243    );
23244    assert_eq!(
23245        unsafe { ::std::ptr::addr_of!((*ptr).param_types) as usize - ptr as usize },
23246        48usize,
23247        concat!(
23248            "Offset of field: ",
23249            stringify!(_GSignalQuery),
23250            "::",
23251            stringify!(param_types)
23252        )
23253    );
23254}
23255extern "C" {
23256    pub fn g_signal_newv(
23257        signal_name: *const gchar,
23258        itype: GType,
23259        signal_flags: GSignalFlags,
23260        class_closure: *mut GClosure,
23261        accumulator: GSignalAccumulator,
23262        accu_data: gpointer,
23263        c_marshaller: GSignalCMarshaller,
23264        return_type: GType,
23265        n_params: guint,
23266        param_types: *mut GType,
23267    ) -> guint;
23268}
23269extern "C" {
23270    pub fn g_signal_new_valist(
23271        signal_name: *const gchar,
23272        itype: GType,
23273        signal_flags: GSignalFlags,
23274        class_closure: *mut GClosure,
23275        accumulator: GSignalAccumulator,
23276        accu_data: gpointer,
23277        c_marshaller: GSignalCMarshaller,
23278        return_type: GType,
23279        n_params: guint,
23280        args: va_list,
23281    ) -> guint;
23282}
23283extern "C" {
23284    pub fn g_signal_new(
23285        signal_name: *const gchar,
23286        itype: GType,
23287        signal_flags: GSignalFlags,
23288        class_offset: guint,
23289        accumulator: GSignalAccumulator,
23290        accu_data: gpointer,
23291        c_marshaller: GSignalCMarshaller,
23292        return_type: GType,
23293        n_params: guint,
23294        ...
23295    ) -> guint;
23296}
23297extern "C" {
23298    pub fn g_signal_new_class_handler(
23299        signal_name: *const gchar,
23300        itype: GType,
23301        signal_flags: GSignalFlags,
23302        class_handler: GCallback,
23303        accumulator: GSignalAccumulator,
23304        accu_data: gpointer,
23305        c_marshaller: GSignalCMarshaller,
23306        return_type: GType,
23307        n_params: guint,
23308        ...
23309    ) -> guint;
23310}
23311extern "C" {
23312    pub fn g_signal_set_va_marshaller(
23313        signal_id: guint,
23314        instance_type: GType,
23315        va_marshaller: GSignalCVaMarshaller,
23316    );
23317}
23318extern "C" {
23319    pub fn g_signal_emitv(
23320        instance_and_params: *const GValue,
23321        signal_id: guint,
23322        detail: GQuark,
23323        return_value: *mut GValue,
23324    );
23325}
23326extern "C" {
23327    pub fn g_signal_emit_valist(
23328        instance: gpointer,
23329        signal_id: guint,
23330        detail: GQuark,
23331        var_args: va_list,
23332    );
23333}
23334extern "C" {
23335    pub fn g_signal_emit(instance: gpointer, signal_id: guint, detail: GQuark, ...);
23336}
23337extern "C" {
23338    pub fn g_signal_emit_by_name(instance: gpointer, detailed_signal: *const gchar, ...);
23339}
23340extern "C" {
23341    pub fn g_signal_lookup(name: *const gchar, itype: GType) -> guint;
23342}
23343extern "C" {
23344    pub fn g_signal_name(signal_id: guint) -> *const gchar;
23345}
23346extern "C" {
23347    pub fn g_signal_query(signal_id: guint, query: *mut GSignalQuery);
23348}
23349extern "C" {
23350    pub fn g_signal_list_ids(itype: GType, n_ids: *mut guint) -> *mut guint;
23351}
23352extern "C" {
23353    pub fn g_signal_is_valid_name(name: *const gchar) -> gboolean;
23354}
23355extern "C" {
23356    pub fn g_signal_parse_name(
23357        detailed_signal: *const gchar,
23358        itype: GType,
23359        signal_id_p: *mut guint,
23360        detail_p: *mut GQuark,
23361        force_detail_quark: gboolean,
23362    ) -> gboolean;
23363}
23364extern "C" {
23365    pub fn g_signal_get_invocation_hint(instance: gpointer) -> *mut GSignalInvocationHint;
23366}
23367extern "C" {
23368    pub fn g_signal_stop_emission(instance: gpointer, signal_id: guint, detail: GQuark);
23369}
23370extern "C" {
23371    pub fn g_signal_stop_emission_by_name(instance: gpointer, detailed_signal: *const gchar);
23372}
23373extern "C" {
23374    pub fn g_signal_add_emission_hook(
23375        signal_id: guint,
23376        detail: GQuark,
23377        hook_func: GSignalEmissionHook,
23378        hook_data: gpointer,
23379        data_destroy: GDestroyNotify,
23380    ) -> gulong;
23381}
23382extern "C" {
23383    pub fn g_signal_remove_emission_hook(signal_id: guint, hook_id: gulong);
23384}
23385extern "C" {
23386    pub fn g_signal_has_handler_pending(
23387        instance: gpointer,
23388        signal_id: guint,
23389        detail: GQuark,
23390        may_be_blocked: gboolean,
23391    ) -> gboolean;
23392}
23393extern "C" {
23394    pub fn g_signal_connect_closure_by_id(
23395        instance: gpointer,
23396        signal_id: guint,
23397        detail: GQuark,
23398        closure: *mut GClosure,
23399        after: gboolean,
23400    ) -> gulong;
23401}
23402extern "C" {
23403    pub fn g_signal_connect_closure(
23404        instance: gpointer,
23405        detailed_signal: *const gchar,
23406        closure: *mut GClosure,
23407        after: gboolean,
23408    ) -> gulong;
23409}
23410extern "C" {
23411    pub fn g_signal_connect_data(
23412        instance: gpointer,
23413        detailed_signal: *const gchar,
23414        c_handler: GCallback,
23415        data: gpointer,
23416        destroy_data: GClosureNotify,
23417        connect_flags: GConnectFlags,
23418    ) -> gulong;
23419}
23420extern "C" {
23421    pub fn g_signal_handler_block(instance: gpointer, handler_id: gulong);
23422}
23423extern "C" {
23424    pub fn g_signal_handler_unblock(instance: gpointer, handler_id: gulong);
23425}
23426extern "C" {
23427    pub fn g_signal_handler_disconnect(instance: gpointer, handler_id: gulong);
23428}
23429extern "C" {
23430    pub fn g_signal_handler_is_connected(instance: gpointer, handler_id: gulong) -> gboolean;
23431}
23432extern "C" {
23433    pub fn g_signal_handler_find(
23434        instance: gpointer,
23435        mask: GSignalMatchType,
23436        signal_id: guint,
23437        detail: GQuark,
23438        closure: *mut GClosure,
23439        func: gpointer,
23440        data: gpointer,
23441    ) -> gulong;
23442}
23443extern "C" {
23444    pub fn g_signal_handlers_block_matched(
23445        instance: gpointer,
23446        mask: GSignalMatchType,
23447        signal_id: guint,
23448        detail: GQuark,
23449        closure: *mut GClosure,
23450        func: gpointer,
23451        data: gpointer,
23452    ) -> guint;
23453}
23454extern "C" {
23455    pub fn g_signal_handlers_unblock_matched(
23456        instance: gpointer,
23457        mask: GSignalMatchType,
23458        signal_id: guint,
23459        detail: GQuark,
23460        closure: *mut GClosure,
23461        func: gpointer,
23462        data: gpointer,
23463    ) -> guint;
23464}
23465extern "C" {
23466    pub fn g_signal_handlers_disconnect_matched(
23467        instance: gpointer,
23468        mask: GSignalMatchType,
23469        signal_id: guint,
23470        detail: GQuark,
23471        closure: *mut GClosure,
23472        func: gpointer,
23473        data: gpointer,
23474    ) -> guint;
23475}
23476extern "C" {
23477    pub fn g_clear_signal_handler(handler_id_ptr: *mut gulong, instance: gpointer);
23478}
23479extern "C" {
23480    pub fn g_signal_override_class_closure(
23481        signal_id: guint,
23482        instance_type: GType,
23483        class_closure: *mut GClosure,
23484    );
23485}
23486extern "C" {
23487    pub fn g_signal_override_class_handler(
23488        signal_name: *const gchar,
23489        instance_type: GType,
23490        class_handler: GCallback,
23491    );
23492}
23493extern "C" {
23494    pub fn g_signal_chain_from_overridden(
23495        instance_and_params: *const GValue,
23496        return_value: *mut GValue,
23497    );
23498}
23499extern "C" {
23500    pub fn g_signal_chain_from_overridden_handler(instance: gpointer, ...);
23501}
23502extern "C" {
23503    pub fn g_signal_accumulator_true_handled(
23504        ihint: *mut GSignalInvocationHint,
23505        return_accu: *mut GValue,
23506        handler_return: *const GValue,
23507        dummy: gpointer,
23508    ) -> gboolean;
23509}
23510extern "C" {
23511    pub fn g_signal_accumulator_first_wins(
23512        ihint: *mut GSignalInvocationHint,
23513        return_accu: *mut GValue,
23514        handler_return: *const GValue,
23515        dummy: gpointer,
23516    ) -> gboolean;
23517}
23518extern "C" {
23519    pub fn g_signal_handlers_destroy(instance: gpointer);
23520}
23521extern "C" {
23522    pub fn _g_signals_destroy(itype: GType);
23523}
23524extern "C" {
23525    pub fn g_date_get_type() -> GType;
23526}
23527extern "C" {
23528    pub fn g_strv_get_type() -> GType;
23529}
23530extern "C" {
23531    pub fn g_gstring_get_type() -> GType;
23532}
23533extern "C" {
23534    pub fn g_hash_table_get_type() -> GType;
23535}
23536extern "C" {
23537    pub fn g_array_get_type() -> GType;
23538}
23539extern "C" {
23540    pub fn g_byte_array_get_type() -> GType;
23541}
23542extern "C" {
23543    pub fn g_ptr_array_get_type() -> GType;
23544}
23545extern "C" {
23546    pub fn g_bytes_get_type() -> GType;
23547}
23548extern "C" {
23549    pub fn g_variant_type_get_gtype() -> GType;
23550}
23551extern "C" {
23552    pub fn g_regex_get_type() -> GType;
23553}
23554extern "C" {
23555    pub fn g_match_info_get_type() -> GType;
23556}
23557extern "C" {
23558    pub fn g_error_get_type() -> GType;
23559}
23560extern "C" {
23561    pub fn g_date_time_get_type() -> GType;
23562}
23563extern "C" {
23564    pub fn g_time_zone_get_type() -> GType;
23565}
23566extern "C" {
23567    pub fn g_io_channel_get_type() -> GType;
23568}
23569extern "C" {
23570    pub fn g_io_condition_get_type() -> GType;
23571}
23572extern "C" {
23573    pub fn g_variant_builder_get_type() -> GType;
23574}
23575extern "C" {
23576    pub fn g_variant_dict_get_type() -> GType;
23577}
23578extern "C" {
23579    pub fn g_key_file_get_type() -> GType;
23580}
23581extern "C" {
23582    pub fn g_main_loop_get_type() -> GType;
23583}
23584extern "C" {
23585    pub fn g_main_context_get_type() -> GType;
23586}
23587extern "C" {
23588    pub fn g_source_get_type() -> GType;
23589}
23590extern "C" {
23591    pub fn g_pollfd_get_type() -> GType;
23592}
23593extern "C" {
23594    pub fn g_thread_get_type() -> GType;
23595}
23596extern "C" {
23597    pub fn g_checksum_get_type() -> GType;
23598}
23599extern "C" {
23600    pub fn g_markup_parse_context_get_type() -> GType;
23601}
23602extern "C" {
23603    pub fn g_mapped_file_get_type() -> GType;
23604}
23605extern "C" {
23606    pub fn g_option_group_get_type() -> GType;
23607}
23608extern "C" {
23609    pub fn g_uri_get_type() -> GType;
23610}
23611extern "C" {
23612    pub fn g_tree_get_type() -> GType;
23613}
23614extern "C" {
23615    pub fn g_pattern_spec_get_type() -> GType;
23616}
23617extern "C" {
23618    pub fn g_bookmark_file_get_type() -> GType;
23619}
23620extern "C" {
23621    pub fn g_variant_get_gtype() -> GType;
23622}
23623pub type GBoxedCopyFunc = ::std::option::Option<unsafe extern "C" fn(boxed: gpointer) -> gpointer>;
23624pub type GBoxedFreeFunc = ::std::option::Option<unsafe extern "C" fn(boxed: gpointer)>;
23625extern "C" {
23626    pub fn g_boxed_copy(boxed_type: GType, src_boxed: gconstpointer) -> gpointer;
23627}
23628extern "C" {
23629    pub fn g_boxed_free(boxed_type: GType, boxed: gpointer);
23630}
23631extern "C" {
23632    pub fn g_value_set_boxed(value: *mut GValue, v_boxed: gconstpointer);
23633}
23634extern "C" {
23635    pub fn g_value_set_static_boxed(value: *mut GValue, v_boxed: gconstpointer);
23636}
23637extern "C" {
23638    pub fn g_value_take_boxed(value: *mut GValue, v_boxed: gconstpointer);
23639}
23640extern "C" {
23641    pub fn g_value_set_boxed_take_ownership(value: *mut GValue, v_boxed: gconstpointer);
23642}
23643extern "C" {
23644    pub fn g_value_get_boxed(value: *const GValue) -> gpointer;
23645}
23646extern "C" {
23647    pub fn g_value_dup_boxed(value: *const GValue) -> gpointer;
23648}
23649extern "C" {
23650    pub fn g_boxed_type_register_static(
23651        name: *const gchar,
23652        boxed_copy: GBoxedCopyFunc,
23653        boxed_free: GBoxedFreeFunc,
23654    ) -> GType;
23655}
23656extern "C" {
23657    pub fn g_closure_get_type() -> GType;
23658}
23659extern "C" {
23660    pub fn g_value_get_type() -> GType;
23661}
23662pub type GObject = _GObject;
23663pub type GObjectClass = _GObjectClass;
23664pub type GInitiallyUnowned = _GObject;
23665pub type GInitiallyUnownedClass = _GObjectClass;
23666pub type GObjectConstructParam = _GObjectConstructParam;
23667pub type GObjectGetPropertyFunc = ::std::option::Option<
23668    unsafe extern "C" fn(
23669        object: *mut GObject,
23670        property_id: guint,
23671        value: *mut GValue,
23672        pspec: *mut GParamSpec,
23673    ),
23674>;
23675pub type GObjectSetPropertyFunc = ::std::option::Option<
23676    unsafe extern "C" fn(
23677        object: *mut GObject,
23678        property_id: guint,
23679        value: *const GValue,
23680        pspec: *mut GParamSpec,
23681    ),
23682>;
23683pub type GObjectFinalizeFunc = ::std::option::Option<unsafe extern "C" fn(object: *mut GObject)>;
23684pub type GWeakNotify =
23685    ::std::option::Option<unsafe extern "C" fn(data: gpointer, where_the_object_was: *mut GObject)>;
23686#[repr(C)]
23687#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23688pub struct _GObject {
23689    pub g_type_instance: GTypeInstance,
23690    pub ref_count: guint,
23691    pub qdata: *mut GData,
23692}
23693#[test]
23694fn bindgen_test_layout__GObject() {
23695    const UNINIT: ::std::mem::MaybeUninit<_GObject> = ::std::mem::MaybeUninit::uninit();
23696    let ptr = UNINIT.as_ptr();
23697    assert_eq!(
23698        ::std::mem::size_of::<_GObject>(),
23699        24usize,
23700        concat!("Size of: ", stringify!(_GObject))
23701    );
23702    assert_eq!(
23703        ::std::mem::align_of::<_GObject>(),
23704        8usize,
23705        concat!("Alignment of ", stringify!(_GObject))
23706    );
23707    assert_eq!(
23708        unsafe { ::std::ptr::addr_of!((*ptr).g_type_instance) as usize - ptr as usize },
23709        0usize,
23710        concat!(
23711            "Offset of field: ",
23712            stringify!(_GObject),
23713            "::",
23714            stringify!(g_type_instance)
23715        )
23716    );
23717    assert_eq!(
23718        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
23719        8usize,
23720        concat!(
23721            "Offset of field: ",
23722            stringify!(_GObject),
23723            "::",
23724            stringify!(ref_count)
23725        )
23726    );
23727    assert_eq!(
23728        unsafe { ::std::ptr::addr_of!((*ptr).qdata) as usize - ptr as usize },
23729        16usize,
23730        concat!(
23731            "Offset of field: ",
23732            stringify!(_GObject),
23733            "::",
23734            stringify!(qdata)
23735        )
23736    );
23737}
23738#[repr(C)]
23739#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23740pub struct _GObjectClass {
23741    pub g_type_class: GTypeClass,
23742    pub construct_properties: *mut GSList,
23743    pub constructor: ::std::option::Option<
23744        unsafe extern "C" fn(
23745            type_: GType,
23746            n_construct_properties: guint,
23747            construct_properties: *mut GObjectConstructParam,
23748        ) -> *mut GObject,
23749    >,
23750    pub set_property: ::std::option::Option<
23751        unsafe extern "C" fn(
23752            object: *mut GObject,
23753            property_id: guint,
23754            value: *const GValue,
23755            pspec: *mut GParamSpec,
23756        ),
23757    >,
23758    pub get_property: ::std::option::Option<
23759        unsafe extern "C" fn(
23760            object: *mut GObject,
23761            property_id: guint,
23762            value: *mut GValue,
23763            pspec: *mut GParamSpec,
23764        ),
23765    >,
23766    pub dispose: ::std::option::Option<unsafe extern "C" fn(object: *mut GObject)>,
23767    pub finalize: ::std::option::Option<unsafe extern "C" fn(object: *mut GObject)>,
23768    pub dispatch_properties_changed: ::std::option::Option<
23769        unsafe extern "C" fn(object: *mut GObject, n_pspecs: guint, pspecs: *mut *mut GParamSpec),
23770    >,
23771    pub notify:
23772        ::std::option::Option<unsafe extern "C" fn(object: *mut GObject, pspec: *mut GParamSpec)>,
23773    pub constructed: ::std::option::Option<unsafe extern "C" fn(object: *mut GObject)>,
23774    pub flags: gsize,
23775    pub n_construct_properties: gsize,
23776    pub pspecs: gpointer,
23777    pub n_pspecs: gsize,
23778    pub pdummy: [gpointer; 3usize],
23779}
23780#[test]
23781fn bindgen_test_layout__GObjectClass() {
23782    const UNINIT: ::std::mem::MaybeUninit<_GObjectClass> = ::std::mem::MaybeUninit::uninit();
23783    let ptr = UNINIT.as_ptr();
23784    assert_eq!(
23785        ::std::mem::size_of::<_GObjectClass>(),
23786        136usize,
23787        concat!("Size of: ", stringify!(_GObjectClass))
23788    );
23789    assert_eq!(
23790        ::std::mem::align_of::<_GObjectClass>(),
23791        8usize,
23792        concat!("Alignment of ", stringify!(_GObjectClass))
23793    );
23794    assert_eq!(
23795        unsafe { ::std::ptr::addr_of!((*ptr).g_type_class) as usize - ptr as usize },
23796        0usize,
23797        concat!(
23798            "Offset of field: ",
23799            stringify!(_GObjectClass),
23800            "::",
23801            stringify!(g_type_class)
23802        )
23803    );
23804    assert_eq!(
23805        unsafe { ::std::ptr::addr_of!((*ptr).construct_properties) as usize - ptr as usize },
23806        8usize,
23807        concat!(
23808            "Offset of field: ",
23809            stringify!(_GObjectClass),
23810            "::",
23811            stringify!(construct_properties)
23812        )
23813    );
23814    assert_eq!(
23815        unsafe { ::std::ptr::addr_of!((*ptr).constructor) as usize - ptr as usize },
23816        16usize,
23817        concat!(
23818            "Offset of field: ",
23819            stringify!(_GObjectClass),
23820            "::",
23821            stringify!(constructor)
23822        )
23823    );
23824    assert_eq!(
23825        unsafe { ::std::ptr::addr_of!((*ptr).set_property) as usize - ptr as usize },
23826        24usize,
23827        concat!(
23828            "Offset of field: ",
23829            stringify!(_GObjectClass),
23830            "::",
23831            stringify!(set_property)
23832        )
23833    );
23834    assert_eq!(
23835        unsafe { ::std::ptr::addr_of!((*ptr).get_property) as usize - ptr as usize },
23836        32usize,
23837        concat!(
23838            "Offset of field: ",
23839            stringify!(_GObjectClass),
23840            "::",
23841            stringify!(get_property)
23842        )
23843    );
23844    assert_eq!(
23845        unsafe { ::std::ptr::addr_of!((*ptr).dispose) as usize - ptr as usize },
23846        40usize,
23847        concat!(
23848            "Offset of field: ",
23849            stringify!(_GObjectClass),
23850            "::",
23851            stringify!(dispose)
23852        )
23853    );
23854    assert_eq!(
23855        unsafe { ::std::ptr::addr_of!((*ptr).finalize) as usize - ptr as usize },
23856        48usize,
23857        concat!(
23858            "Offset of field: ",
23859            stringify!(_GObjectClass),
23860            "::",
23861            stringify!(finalize)
23862        )
23863    );
23864    assert_eq!(
23865        unsafe { ::std::ptr::addr_of!((*ptr).dispatch_properties_changed) as usize - ptr as usize },
23866        56usize,
23867        concat!(
23868            "Offset of field: ",
23869            stringify!(_GObjectClass),
23870            "::",
23871            stringify!(dispatch_properties_changed)
23872        )
23873    );
23874    assert_eq!(
23875        unsafe { ::std::ptr::addr_of!((*ptr).notify) as usize - ptr as usize },
23876        64usize,
23877        concat!(
23878            "Offset of field: ",
23879            stringify!(_GObjectClass),
23880            "::",
23881            stringify!(notify)
23882        )
23883    );
23884    assert_eq!(
23885        unsafe { ::std::ptr::addr_of!((*ptr).constructed) as usize - ptr as usize },
23886        72usize,
23887        concat!(
23888            "Offset of field: ",
23889            stringify!(_GObjectClass),
23890            "::",
23891            stringify!(constructed)
23892        )
23893    );
23894    assert_eq!(
23895        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
23896        80usize,
23897        concat!(
23898            "Offset of field: ",
23899            stringify!(_GObjectClass),
23900            "::",
23901            stringify!(flags)
23902        )
23903    );
23904    assert_eq!(
23905        unsafe { ::std::ptr::addr_of!((*ptr).n_construct_properties) as usize - ptr as usize },
23906        88usize,
23907        concat!(
23908            "Offset of field: ",
23909            stringify!(_GObjectClass),
23910            "::",
23911            stringify!(n_construct_properties)
23912        )
23913    );
23914    assert_eq!(
23915        unsafe { ::std::ptr::addr_of!((*ptr).pspecs) as usize - ptr as usize },
23916        96usize,
23917        concat!(
23918            "Offset of field: ",
23919            stringify!(_GObjectClass),
23920            "::",
23921            stringify!(pspecs)
23922        )
23923    );
23924    assert_eq!(
23925        unsafe { ::std::ptr::addr_of!((*ptr).n_pspecs) as usize - ptr as usize },
23926        104usize,
23927        concat!(
23928            "Offset of field: ",
23929            stringify!(_GObjectClass),
23930            "::",
23931            stringify!(n_pspecs)
23932        )
23933    );
23934    assert_eq!(
23935        unsafe { ::std::ptr::addr_of!((*ptr).pdummy) as usize - ptr as usize },
23936        112usize,
23937        concat!(
23938            "Offset of field: ",
23939            stringify!(_GObjectClass),
23940            "::",
23941            stringify!(pdummy)
23942        )
23943    );
23944}
23945#[repr(C)]
23946#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23947pub struct _GObjectConstructParam {
23948    pub pspec: *mut GParamSpec,
23949    pub value: *mut GValue,
23950}
23951#[test]
23952fn bindgen_test_layout__GObjectConstructParam() {
23953    const UNINIT: ::std::mem::MaybeUninit<_GObjectConstructParam> =
23954        ::std::mem::MaybeUninit::uninit();
23955    let ptr = UNINIT.as_ptr();
23956    assert_eq!(
23957        ::std::mem::size_of::<_GObjectConstructParam>(),
23958        16usize,
23959        concat!("Size of: ", stringify!(_GObjectConstructParam))
23960    );
23961    assert_eq!(
23962        ::std::mem::align_of::<_GObjectConstructParam>(),
23963        8usize,
23964        concat!("Alignment of ", stringify!(_GObjectConstructParam))
23965    );
23966    assert_eq!(
23967        unsafe { ::std::ptr::addr_of!((*ptr).pspec) as usize - ptr as usize },
23968        0usize,
23969        concat!(
23970            "Offset of field: ",
23971            stringify!(_GObjectConstructParam),
23972            "::",
23973            stringify!(pspec)
23974        )
23975    );
23976    assert_eq!(
23977        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
23978        8usize,
23979        concat!(
23980            "Offset of field: ",
23981            stringify!(_GObjectConstructParam),
23982            "::",
23983            stringify!(value)
23984        )
23985    );
23986}
23987extern "C" {
23988    pub fn g_initially_unowned_get_type() -> GType;
23989}
23990extern "C" {
23991    pub fn g_object_class_install_property(
23992        oclass: *mut GObjectClass,
23993        property_id: guint,
23994        pspec: *mut GParamSpec,
23995    );
23996}
23997extern "C" {
23998    pub fn g_object_class_find_property(
23999        oclass: *mut GObjectClass,
24000        property_name: *const gchar,
24001    ) -> *mut GParamSpec;
24002}
24003extern "C" {
24004    pub fn g_object_class_list_properties(
24005        oclass: *mut GObjectClass,
24006        n_properties: *mut guint,
24007    ) -> *mut *mut GParamSpec;
24008}
24009extern "C" {
24010    pub fn g_object_class_override_property(
24011        oclass: *mut GObjectClass,
24012        property_id: guint,
24013        name: *const gchar,
24014    );
24015}
24016extern "C" {
24017    pub fn g_object_class_install_properties(
24018        oclass: *mut GObjectClass,
24019        n_pspecs: guint,
24020        pspecs: *mut *mut GParamSpec,
24021    );
24022}
24023extern "C" {
24024    pub fn g_object_interface_install_property(g_iface: gpointer, pspec: *mut GParamSpec);
24025}
24026extern "C" {
24027    pub fn g_object_interface_find_property(
24028        g_iface: gpointer,
24029        property_name: *const gchar,
24030    ) -> *mut GParamSpec;
24031}
24032extern "C" {
24033    pub fn g_object_interface_list_properties(
24034        g_iface: gpointer,
24035        n_properties_p: *mut guint,
24036    ) -> *mut *mut GParamSpec;
24037}
24038extern "C" {
24039    pub fn g_object_get_type() -> GType;
24040}
24041extern "C" {
24042    pub fn g_object_new(object_type: GType, first_property_name: *const gchar, ...) -> gpointer;
24043}
24044extern "C" {
24045    pub fn g_object_new_with_properties(
24046        object_type: GType,
24047        n_properties: guint,
24048        names: *mut *const ::std::os::raw::c_char,
24049        values: *const GValue,
24050    ) -> *mut GObject;
24051}
24052extern "C" {
24053    pub fn g_object_newv(
24054        object_type: GType,
24055        n_parameters: guint,
24056        parameters: *mut GParameter,
24057    ) -> gpointer;
24058}
24059extern "C" {
24060    pub fn g_object_new_valist(
24061        object_type: GType,
24062        first_property_name: *const gchar,
24063        var_args: va_list,
24064    ) -> *mut GObject;
24065}
24066extern "C" {
24067    pub fn g_object_set(object: gpointer, first_property_name: *const gchar, ...);
24068}
24069extern "C" {
24070    pub fn g_object_get(object: gpointer, first_property_name: *const gchar, ...);
24071}
24072extern "C" {
24073    pub fn g_object_connect(object: gpointer, signal_spec: *const gchar, ...) -> gpointer;
24074}
24075extern "C" {
24076    pub fn g_object_disconnect(object: gpointer, signal_spec: *const gchar, ...);
24077}
24078extern "C" {
24079    pub fn g_object_setv(
24080        object: *mut GObject,
24081        n_properties: guint,
24082        names: *mut *const gchar,
24083        values: *const GValue,
24084    );
24085}
24086extern "C" {
24087    pub fn g_object_set_valist(
24088        object: *mut GObject,
24089        first_property_name: *const gchar,
24090        var_args: va_list,
24091    );
24092}
24093extern "C" {
24094    pub fn g_object_getv(
24095        object: *mut GObject,
24096        n_properties: guint,
24097        names: *mut *const gchar,
24098        values: *mut GValue,
24099    );
24100}
24101extern "C" {
24102    pub fn g_object_get_valist(
24103        object: *mut GObject,
24104        first_property_name: *const gchar,
24105        var_args: va_list,
24106    );
24107}
24108extern "C" {
24109    pub fn g_object_set_property(
24110        object: *mut GObject,
24111        property_name: *const gchar,
24112        value: *const GValue,
24113    );
24114}
24115extern "C" {
24116    pub fn g_object_get_property(
24117        object: *mut GObject,
24118        property_name: *const gchar,
24119        value: *mut GValue,
24120    );
24121}
24122extern "C" {
24123    pub fn g_object_freeze_notify(object: *mut GObject);
24124}
24125extern "C" {
24126    pub fn g_object_notify(object: *mut GObject, property_name: *const gchar);
24127}
24128extern "C" {
24129    pub fn g_object_notify_by_pspec(object: *mut GObject, pspec: *mut GParamSpec);
24130}
24131extern "C" {
24132    pub fn g_object_thaw_notify(object: *mut GObject);
24133}
24134extern "C" {
24135    pub fn g_object_is_floating(object: gpointer) -> gboolean;
24136}
24137extern "C" {
24138    pub fn g_object_ref_sink(object: gpointer) -> gpointer;
24139}
24140extern "C" {
24141    pub fn g_object_take_ref(object: gpointer) -> gpointer;
24142}
24143extern "C" {
24144    pub fn g_object_ref(object: gpointer) -> gpointer;
24145}
24146extern "C" {
24147    pub fn g_object_unref(object: gpointer);
24148}
24149extern "C" {
24150    pub fn g_object_weak_ref(object: *mut GObject, notify: GWeakNotify, data: gpointer);
24151}
24152extern "C" {
24153    pub fn g_object_weak_unref(object: *mut GObject, notify: GWeakNotify, data: gpointer);
24154}
24155extern "C" {
24156    pub fn g_object_add_weak_pointer(object: *mut GObject, weak_pointer_location: *mut gpointer);
24157}
24158extern "C" {
24159    pub fn g_object_remove_weak_pointer(object: *mut GObject, weak_pointer_location: *mut gpointer);
24160}
24161pub type GToggleNotify = ::std::option::Option<
24162    unsafe extern "C" fn(data: gpointer, object: *mut GObject, is_last_ref: gboolean),
24163>;
24164extern "C" {
24165    pub fn g_object_add_toggle_ref(object: *mut GObject, notify: GToggleNotify, data: gpointer);
24166}
24167extern "C" {
24168    pub fn g_object_remove_toggle_ref(object: *mut GObject, notify: GToggleNotify, data: gpointer);
24169}
24170extern "C" {
24171    pub fn g_object_get_qdata(object: *mut GObject, quark: GQuark) -> gpointer;
24172}
24173extern "C" {
24174    pub fn g_object_set_qdata(object: *mut GObject, quark: GQuark, data: gpointer);
24175}
24176extern "C" {
24177    pub fn g_object_set_qdata_full(
24178        object: *mut GObject,
24179        quark: GQuark,
24180        data: gpointer,
24181        destroy: GDestroyNotify,
24182    );
24183}
24184extern "C" {
24185    pub fn g_object_steal_qdata(object: *mut GObject, quark: GQuark) -> gpointer;
24186}
24187extern "C" {
24188    pub fn g_object_dup_qdata(
24189        object: *mut GObject,
24190        quark: GQuark,
24191        dup_func: GDuplicateFunc,
24192        user_data: gpointer,
24193    ) -> gpointer;
24194}
24195extern "C" {
24196    pub fn g_object_replace_qdata(
24197        object: *mut GObject,
24198        quark: GQuark,
24199        oldval: gpointer,
24200        newval: gpointer,
24201        destroy: GDestroyNotify,
24202        old_destroy: *mut GDestroyNotify,
24203    ) -> gboolean;
24204}
24205extern "C" {
24206    pub fn g_object_get_data(object: *mut GObject, key: *const gchar) -> gpointer;
24207}
24208extern "C" {
24209    pub fn g_object_set_data(object: *mut GObject, key: *const gchar, data: gpointer);
24210}
24211extern "C" {
24212    pub fn g_object_set_data_full(
24213        object: *mut GObject,
24214        key: *const gchar,
24215        data: gpointer,
24216        destroy: GDestroyNotify,
24217    );
24218}
24219extern "C" {
24220    pub fn g_object_steal_data(object: *mut GObject, key: *const gchar) -> gpointer;
24221}
24222extern "C" {
24223    pub fn g_object_dup_data(
24224        object: *mut GObject,
24225        key: *const gchar,
24226        dup_func: GDuplicateFunc,
24227        user_data: gpointer,
24228    ) -> gpointer;
24229}
24230extern "C" {
24231    pub fn g_object_replace_data(
24232        object: *mut GObject,
24233        key: *const gchar,
24234        oldval: gpointer,
24235        newval: gpointer,
24236        destroy: GDestroyNotify,
24237        old_destroy: *mut GDestroyNotify,
24238    ) -> gboolean;
24239}
24240extern "C" {
24241    pub fn g_object_watch_closure(object: *mut GObject, closure: *mut GClosure);
24242}
24243extern "C" {
24244    pub fn g_cclosure_new_object(callback_func: GCallback, object: *mut GObject) -> *mut GClosure;
24245}
24246extern "C" {
24247    pub fn g_cclosure_new_object_swap(
24248        callback_func: GCallback,
24249        object: *mut GObject,
24250    ) -> *mut GClosure;
24251}
24252extern "C" {
24253    pub fn g_closure_new_object(sizeof_closure: guint, object: *mut GObject) -> *mut GClosure;
24254}
24255extern "C" {
24256    pub fn g_value_set_object(value: *mut GValue, v_object: gpointer);
24257}
24258extern "C" {
24259    pub fn g_value_get_object(value: *const GValue) -> gpointer;
24260}
24261extern "C" {
24262    pub fn g_value_dup_object(value: *const GValue) -> gpointer;
24263}
24264extern "C" {
24265    pub fn g_signal_connect_object(
24266        instance: gpointer,
24267        detailed_signal: *const gchar,
24268        c_handler: GCallback,
24269        gobject: gpointer,
24270        connect_flags: GConnectFlags,
24271    ) -> gulong;
24272}
24273extern "C" {
24274    pub fn g_object_force_floating(object: *mut GObject);
24275}
24276extern "C" {
24277    pub fn g_object_run_dispose(object: *mut GObject);
24278}
24279extern "C" {
24280    pub fn g_value_take_object(value: *mut GValue, v_object: gpointer);
24281}
24282extern "C" {
24283    pub fn g_value_set_object_take_ownership(value: *mut GValue, v_object: gpointer);
24284}
24285extern "C" {
24286    pub fn g_object_compat_control(what: gsize, data: gpointer) -> gsize;
24287}
24288extern "C" {
24289    pub fn g_clear_object(object_ptr: *mut *mut GObject);
24290}
24291#[repr(C)]
24292#[derive(Copy, Clone)]
24293pub struct GWeakRef {
24294    pub priv_: GWeakRef__bindgen_ty_1,
24295}
24296#[repr(C)]
24297#[derive(Copy, Clone)]
24298pub union GWeakRef__bindgen_ty_1 {
24299    pub p: gpointer,
24300}
24301#[test]
24302fn bindgen_test_layout_GWeakRef__bindgen_ty_1() {
24303    const UNINIT: ::std::mem::MaybeUninit<GWeakRef__bindgen_ty_1> =
24304        ::std::mem::MaybeUninit::uninit();
24305    let ptr = UNINIT.as_ptr();
24306    assert_eq!(
24307        ::std::mem::size_of::<GWeakRef__bindgen_ty_1>(),
24308        8usize,
24309        concat!("Size of: ", stringify!(GWeakRef__bindgen_ty_1))
24310    );
24311    assert_eq!(
24312        ::std::mem::align_of::<GWeakRef__bindgen_ty_1>(),
24313        8usize,
24314        concat!("Alignment of ", stringify!(GWeakRef__bindgen_ty_1))
24315    );
24316    assert_eq!(
24317        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
24318        0usize,
24319        concat!(
24320            "Offset of field: ",
24321            stringify!(GWeakRef__bindgen_ty_1),
24322            "::",
24323            stringify!(p)
24324        )
24325    );
24326}
24327impl ::std::fmt::Debug for GWeakRef__bindgen_ty_1 {
24328    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24329        write!(f, "GWeakRef__bindgen_ty_1 {{ union }}")
24330    }
24331}
24332#[test]
24333fn bindgen_test_layout_GWeakRef() {
24334    const UNINIT: ::std::mem::MaybeUninit<GWeakRef> = ::std::mem::MaybeUninit::uninit();
24335    let ptr = UNINIT.as_ptr();
24336    assert_eq!(
24337        ::std::mem::size_of::<GWeakRef>(),
24338        8usize,
24339        concat!("Size of: ", stringify!(GWeakRef))
24340    );
24341    assert_eq!(
24342        ::std::mem::align_of::<GWeakRef>(),
24343        8usize,
24344        concat!("Alignment of ", stringify!(GWeakRef))
24345    );
24346    assert_eq!(
24347        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
24348        0usize,
24349        concat!(
24350            "Offset of field: ",
24351            stringify!(GWeakRef),
24352            "::",
24353            stringify!(priv_)
24354        )
24355    );
24356}
24357impl ::std::fmt::Debug for GWeakRef {
24358    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24359        write!(f, "GWeakRef {{ priv: {:?} }}", self.priv_)
24360    }
24361}
24362extern "C" {
24363    pub fn g_weak_ref_init(weak_ref: *mut GWeakRef, object: gpointer);
24364}
24365extern "C" {
24366    pub fn g_weak_ref_clear(weak_ref: *mut GWeakRef);
24367}
24368extern "C" {
24369    pub fn g_weak_ref_get(weak_ref: *mut GWeakRef) -> gpointer;
24370}
24371extern "C" {
24372    pub fn g_weak_ref_set(weak_ref: *mut GWeakRef, object: gpointer);
24373}
24374#[repr(C)]
24375#[derive(Debug, Copy, Clone)]
24376pub struct _GBinding {
24377    _unused: [u8; 0],
24378}
24379pub type GBinding = _GBinding;
24380pub type GBindingTransformFunc = ::std::option::Option<
24381    unsafe extern "C" fn(
24382        binding: *mut GBinding,
24383        from_value: *const GValue,
24384        to_value: *mut GValue,
24385        user_data: gpointer,
24386    ) -> gboolean,
24387>;
24388pub const GBindingFlags_G_BINDING_DEFAULT: GBindingFlags = 0;
24389pub const GBindingFlags_G_BINDING_BIDIRECTIONAL: GBindingFlags = 1;
24390pub const GBindingFlags_G_BINDING_SYNC_CREATE: GBindingFlags = 2;
24391pub const GBindingFlags_G_BINDING_INVERT_BOOLEAN: GBindingFlags = 4;
24392pub type GBindingFlags = ::std::os::raw::c_uint;
24393extern "C" {
24394    pub fn g_binding_flags_get_type() -> GType;
24395}
24396extern "C" {
24397    pub fn g_binding_get_type() -> GType;
24398}
24399extern "C" {
24400    pub fn g_binding_get_flags(binding: *mut GBinding) -> GBindingFlags;
24401}
24402extern "C" {
24403    pub fn g_binding_get_source(binding: *mut GBinding) -> *mut GObject;
24404}
24405extern "C" {
24406    pub fn g_binding_dup_source(binding: *mut GBinding) -> *mut GObject;
24407}
24408extern "C" {
24409    pub fn g_binding_get_target(binding: *mut GBinding) -> *mut GObject;
24410}
24411extern "C" {
24412    pub fn g_binding_dup_target(binding: *mut GBinding) -> *mut GObject;
24413}
24414extern "C" {
24415    pub fn g_binding_get_source_property(binding: *mut GBinding) -> *const gchar;
24416}
24417extern "C" {
24418    pub fn g_binding_get_target_property(binding: *mut GBinding) -> *const gchar;
24419}
24420extern "C" {
24421    pub fn g_binding_unbind(binding: *mut GBinding);
24422}
24423extern "C" {
24424    pub fn g_object_bind_property(
24425        source: gpointer,
24426        source_property: *const gchar,
24427        target: gpointer,
24428        target_property: *const gchar,
24429        flags: GBindingFlags,
24430    ) -> *mut GBinding;
24431}
24432extern "C" {
24433    pub fn g_object_bind_property_full(
24434        source: gpointer,
24435        source_property: *const gchar,
24436        target: gpointer,
24437        target_property: *const gchar,
24438        flags: GBindingFlags,
24439        transform_to: GBindingTransformFunc,
24440        transform_from: GBindingTransformFunc,
24441        user_data: gpointer,
24442        notify: GDestroyNotify,
24443    ) -> *mut GBinding;
24444}
24445extern "C" {
24446    pub fn g_object_bind_property_with_closures(
24447        source: gpointer,
24448        source_property: *const gchar,
24449        target: gpointer,
24450        target_property: *const gchar,
24451        flags: GBindingFlags,
24452        transform_to: *mut GClosure,
24453        transform_from: *mut GClosure,
24454    ) -> *mut GBinding;
24455}
24456#[repr(C)]
24457#[derive(Debug, Copy, Clone)]
24458pub struct _GBindingGroup {
24459    _unused: [u8; 0],
24460}
24461pub type GBindingGroup = _GBindingGroup;
24462extern "C" {
24463    pub fn g_binding_group_get_type() -> GType;
24464}
24465extern "C" {
24466    pub fn g_binding_group_new() -> *mut GBindingGroup;
24467}
24468extern "C" {
24469    pub fn g_binding_group_dup_source(self_: *mut GBindingGroup) -> gpointer;
24470}
24471extern "C" {
24472    pub fn g_binding_group_set_source(self_: *mut GBindingGroup, source: gpointer);
24473}
24474extern "C" {
24475    pub fn g_binding_group_bind(
24476        self_: *mut GBindingGroup,
24477        source_property: *const gchar,
24478        target: gpointer,
24479        target_property: *const gchar,
24480        flags: GBindingFlags,
24481    );
24482}
24483extern "C" {
24484    pub fn g_binding_group_bind_full(
24485        self_: *mut GBindingGroup,
24486        source_property: *const gchar,
24487        target: gpointer,
24488        target_property: *const gchar,
24489        flags: GBindingFlags,
24490        transform_to: GBindingTransformFunc,
24491        transform_from: GBindingTransformFunc,
24492        user_data: gpointer,
24493        user_data_destroy: GDestroyNotify,
24494    );
24495}
24496extern "C" {
24497    pub fn g_binding_group_bind_with_closures(
24498        self_: *mut GBindingGroup,
24499        source_property: *const gchar,
24500        target: gpointer,
24501        target_property: *const gchar,
24502        flags: GBindingFlags,
24503        transform_to: *mut GClosure,
24504        transform_from: *mut GClosure,
24505    );
24506}
24507pub type GEnumClass = _GEnumClass;
24508pub type GFlagsClass = _GFlagsClass;
24509pub type GEnumValue = _GEnumValue;
24510pub type GFlagsValue = _GFlagsValue;
24511#[repr(C)]
24512#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24513pub struct _GEnumClass {
24514    pub g_type_class: GTypeClass,
24515    pub minimum: gint,
24516    pub maximum: gint,
24517    pub n_values: guint,
24518    pub values: *mut GEnumValue,
24519}
24520#[test]
24521fn bindgen_test_layout__GEnumClass() {
24522    const UNINIT: ::std::mem::MaybeUninit<_GEnumClass> = ::std::mem::MaybeUninit::uninit();
24523    let ptr = UNINIT.as_ptr();
24524    assert_eq!(
24525        ::std::mem::size_of::<_GEnumClass>(),
24526        32usize,
24527        concat!("Size of: ", stringify!(_GEnumClass))
24528    );
24529    assert_eq!(
24530        ::std::mem::align_of::<_GEnumClass>(),
24531        8usize,
24532        concat!("Alignment of ", stringify!(_GEnumClass))
24533    );
24534    assert_eq!(
24535        unsafe { ::std::ptr::addr_of!((*ptr).g_type_class) as usize - ptr as usize },
24536        0usize,
24537        concat!(
24538            "Offset of field: ",
24539            stringify!(_GEnumClass),
24540            "::",
24541            stringify!(g_type_class)
24542        )
24543    );
24544    assert_eq!(
24545        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
24546        8usize,
24547        concat!(
24548            "Offset of field: ",
24549            stringify!(_GEnumClass),
24550            "::",
24551            stringify!(minimum)
24552        )
24553    );
24554    assert_eq!(
24555        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
24556        12usize,
24557        concat!(
24558            "Offset of field: ",
24559            stringify!(_GEnumClass),
24560            "::",
24561            stringify!(maximum)
24562        )
24563    );
24564    assert_eq!(
24565        unsafe { ::std::ptr::addr_of!((*ptr).n_values) as usize - ptr as usize },
24566        16usize,
24567        concat!(
24568            "Offset of field: ",
24569            stringify!(_GEnumClass),
24570            "::",
24571            stringify!(n_values)
24572        )
24573    );
24574    assert_eq!(
24575        unsafe { ::std::ptr::addr_of!((*ptr).values) as usize - ptr as usize },
24576        24usize,
24577        concat!(
24578            "Offset of field: ",
24579            stringify!(_GEnumClass),
24580            "::",
24581            stringify!(values)
24582        )
24583    );
24584}
24585#[repr(C)]
24586#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24587pub struct _GFlagsClass {
24588    pub g_type_class: GTypeClass,
24589    pub mask: guint,
24590    pub n_values: guint,
24591    pub values: *mut GFlagsValue,
24592}
24593#[test]
24594fn bindgen_test_layout__GFlagsClass() {
24595    const UNINIT: ::std::mem::MaybeUninit<_GFlagsClass> = ::std::mem::MaybeUninit::uninit();
24596    let ptr = UNINIT.as_ptr();
24597    assert_eq!(
24598        ::std::mem::size_of::<_GFlagsClass>(),
24599        24usize,
24600        concat!("Size of: ", stringify!(_GFlagsClass))
24601    );
24602    assert_eq!(
24603        ::std::mem::align_of::<_GFlagsClass>(),
24604        8usize,
24605        concat!("Alignment of ", stringify!(_GFlagsClass))
24606    );
24607    assert_eq!(
24608        unsafe { ::std::ptr::addr_of!((*ptr).g_type_class) as usize - ptr as usize },
24609        0usize,
24610        concat!(
24611            "Offset of field: ",
24612            stringify!(_GFlagsClass),
24613            "::",
24614            stringify!(g_type_class)
24615        )
24616    );
24617    assert_eq!(
24618        unsafe { ::std::ptr::addr_of!((*ptr).mask) as usize - ptr as usize },
24619        8usize,
24620        concat!(
24621            "Offset of field: ",
24622            stringify!(_GFlagsClass),
24623            "::",
24624            stringify!(mask)
24625        )
24626    );
24627    assert_eq!(
24628        unsafe { ::std::ptr::addr_of!((*ptr).n_values) as usize - ptr as usize },
24629        12usize,
24630        concat!(
24631            "Offset of field: ",
24632            stringify!(_GFlagsClass),
24633            "::",
24634            stringify!(n_values)
24635        )
24636    );
24637    assert_eq!(
24638        unsafe { ::std::ptr::addr_of!((*ptr).values) as usize - ptr as usize },
24639        16usize,
24640        concat!(
24641            "Offset of field: ",
24642            stringify!(_GFlagsClass),
24643            "::",
24644            stringify!(values)
24645        )
24646    );
24647}
24648#[repr(C)]
24649#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24650pub struct _GEnumValue {
24651    pub value: gint,
24652    pub value_name: *const gchar,
24653    pub value_nick: *const gchar,
24654}
24655#[test]
24656fn bindgen_test_layout__GEnumValue() {
24657    const UNINIT: ::std::mem::MaybeUninit<_GEnumValue> = ::std::mem::MaybeUninit::uninit();
24658    let ptr = UNINIT.as_ptr();
24659    assert_eq!(
24660        ::std::mem::size_of::<_GEnumValue>(),
24661        24usize,
24662        concat!("Size of: ", stringify!(_GEnumValue))
24663    );
24664    assert_eq!(
24665        ::std::mem::align_of::<_GEnumValue>(),
24666        8usize,
24667        concat!("Alignment of ", stringify!(_GEnumValue))
24668    );
24669    assert_eq!(
24670        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
24671        0usize,
24672        concat!(
24673            "Offset of field: ",
24674            stringify!(_GEnumValue),
24675            "::",
24676            stringify!(value)
24677        )
24678    );
24679    assert_eq!(
24680        unsafe { ::std::ptr::addr_of!((*ptr).value_name) as usize - ptr as usize },
24681        8usize,
24682        concat!(
24683            "Offset of field: ",
24684            stringify!(_GEnumValue),
24685            "::",
24686            stringify!(value_name)
24687        )
24688    );
24689    assert_eq!(
24690        unsafe { ::std::ptr::addr_of!((*ptr).value_nick) as usize - ptr as usize },
24691        16usize,
24692        concat!(
24693            "Offset of field: ",
24694            stringify!(_GEnumValue),
24695            "::",
24696            stringify!(value_nick)
24697        )
24698    );
24699}
24700#[repr(C)]
24701#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24702pub struct _GFlagsValue {
24703    pub value: guint,
24704    pub value_name: *const gchar,
24705    pub value_nick: *const gchar,
24706}
24707#[test]
24708fn bindgen_test_layout__GFlagsValue() {
24709    const UNINIT: ::std::mem::MaybeUninit<_GFlagsValue> = ::std::mem::MaybeUninit::uninit();
24710    let ptr = UNINIT.as_ptr();
24711    assert_eq!(
24712        ::std::mem::size_of::<_GFlagsValue>(),
24713        24usize,
24714        concat!("Size of: ", stringify!(_GFlagsValue))
24715    );
24716    assert_eq!(
24717        ::std::mem::align_of::<_GFlagsValue>(),
24718        8usize,
24719        concat!("Alignment of ", stringify!(_GFlagsValue))
24720    );
24721    assert_eq!(
24722        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
24723        0usize,
24724        concat!(
24725            "Offset of field: ",
24726            stringify!(_GFlagsValue),
24727            "::",
24728            stringify!(value)
24729        )
24730    );
24731    assert_eq!(
24732        unsafe { ::std::ptr::addr_of!((*ptr).value_name) as usize - ptr as usize },
24733        8usize,
24734        concat!(
24735            "Offset of field: ",
24736            stringify!(_GFlagsValue),
24737            "::",
24738            stringify!(value_name)
24739        )
24740    );
24741    assert_eq!(
24742        unsafe { ::std::ptr::addr_of!((*ptr).value_nick) as usize - ptr as usize },
24743        16usize,
24744        concat!(
24745            "Offset of field: ",
24746            stringify!(_GFlagsValue),
24747            "::",
24748            stringify!(value_nick)
24749        )
24750    );
24751}
24752extern "C" {
24753    pub fn g_enum_get_value(enum_class: *mut GEnumClass, value: gint) -> *mut GEnumValue;
24754}
24755extern "C" {
24756    pub fn g_enum_get_value_by_name(
24757        enum_class: *mut GEnumClass,
24758        name: *const gchar,
24759    ) -> *mut GEnumValue;
24760}
24761extern "C" {
24762    pub fn g_enum_get_value_by_nick(
24763        enum_class: *mut GEnumClass,
24764        nick: *const gchar,
24765    ) -> *mut GEnumValue;
24766}
24767extern "C" {
24768    pub fn g_flags_get_first_value(flags_class: *mut GFlagsClass, value: guint)
24769        -> *mut GFlagsValue;
24770}
24771extern "C" {
24772    pub fn g_flags_get_value_by_name(
24773        flags_class: *mut GFlagsClass,
24774        name: *const gchar,
24775    ) -> *mut GFlagsValue;
24776}
24777extern "C" {
24778    pub fn g_flags_get_value_by_nick(
24779        flags_class: *mut GFlagsClass,
24780        nick: *const gchar,
24781    ) -> *mut GFlagsValue;
24782}
24783extern "C" {
24784    pub fn g_enum_to_string(g_enum_type: GType, value: gint) -> *mut gchar;
24785}
24786extern "C" {
24787    pub fn g_flags_to_string(flags_type: GType, value: guint) -> *mut gchar;
24788}
24789extern "C" {
24790    pub fn g_value_set_enum(value: *mut GValue, v_enum: gint);
24791}
24792extern "C" {
24793    pub fn g_value_get_enum(value: *const GValue) -> gint;
24794}
24795extern "C" {
24796    pub fn g_value_set_flags(value: *mut GValue, v_flags: guint);
24797}
24798extern "C" {
24799    pub fn g_value_get_flags(value: *const GValue) -> guint;
24800}
24801extern "C" {
24802    pub fn g_enum_register_static(
24803        name: *const gchar,
24804        const_static_values: *const GEnumValue,
24805    ) -> GType;
24806}
24807extern "C" {
24808    pub fn g_flags_register_static(
24809        name: *const gchar,
24810        const_static_values: *const GFlagsValue,
24811    ) -> GType;
24812}
24813extern "C" {
24814    pub fn g_enum_complete_type_info(
24815        g_enum_type: GType,
24816        info: *mut GTypeInfo,
24817        const_values: *const GEnumValue,
24818    );
24819}
24820extern "C" {
24821    pub fn g_flags_complete_type_info(
24822        g_flags_type: GType,
24823        info: *mut GTypeInfo,
24824        const_values: *const GFlagsValue,
24825    );
24826}
24827extern "C" {
24828    pub fn g_unicode_type_get_type() -> GType;
24829}
24830extern "C" {
24831    pub fn g_unicode_break_type_get_type() -> GType;
24832}
24833extern "C" {
24834    pub fn g_unicode_script_get_type() -> GType;
24835}
24836extern "C" {
24837    pub fn g_normalize_mode_get_type() -> GType;
24838}
24839pub type GParamSpecChar = _GParamSpecChar;
24840pub type GParamSpecUChar = _GParamSpecUChar;
24841pub type GParamSpecBoolean = _GParamSpecBoolean;
24842pub type GParamSpecInt = _GParamSpecInt;
24843pub type GParamSpecUInt = _GParamSpecUInt;
24844pub type GParamSpecLong = _GParamSpecLong;
24845pub type GParamSpecULong = _GParamSpecULong;
24846pub type GParamSpecInt64 = _GParamSpecInt64;
24847pub type GParamSpecUInt64 = _GParamSpecUInt64;
24848pub type GParamSpecUnichar = _GParamSpecUnichar;
24849pub type GParamSpecEnum = _GParamSpecEnum;
24850pub type GParamSpecFlags = _GParamSpecFlags;
24851pub type GParamSpecFloat = _GParamSpecFloat;
24852pub type GParamSpecDouble = _GParamSpecDouble;
24853pub type GParamSpecString = _GParamSpecString;
24854pub type GParamSpecParam = _GParamSpecParam;
24855pub type GParamSpecBoxed = _GParamSpecBoxed;
24856pub type GParamSpecPointer = _GParamSpecPointer;
24857pub type GParamSpecValueArray = _GParamSpecValueArray;
24858pub type GParamSpecObject = _GParamSpecObject;
24859pub type GParamSpecOverride = _GParamSpecOverride;
24860pub type GParamSpecGType = _GParamSpecGType;
24861pub type GParamSpecVariant = _GParamSpecVariant;
24862#[repr(C)]
24863#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24864pub struct _GParamSpecChar {
24865    pub parent_instance: GParamSpec,
24866    pub minimum: gint8,
24867    pub maximum: gint8,
24868    pub default_value: gint8,
24869}
24870#[test]
24871fn bindgen_test_layout__GParamSpecChar() {
24872    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecChar> = ::std::mem::MaybeUninit::uninit();
24873    let ptr = UNINIT.as_ptr();
24874    assert_eq!(
24875        ::std::mem::size_of::<_GParamSpecChar>(),
24876        80usize,
24877        concat!("Size of: ", stringify!(_GParamSpecChar))
24878    );
24879    assert_eq!(
24880        ::std::mem::align_of::<_GParamSpecChar>(),
24881        8usize,
24882        concat!("Alignment of ", stringify!(_GParamSpecChar))
24883    );
24884    assert_eq!(
24885        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
24886        0usize,
24887        concat!(
24888            "Offset of field: ",
24889            stringify!(_GParamSpecChar),
24890            "::",
24891            stringify!(parent_instance)
24892        )
24893    );
24894    assert_eq!(
24895        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
24896        72usize,
24897        concat!(
24898            "Offset of field: ",
24899            stringify!(_GParamSpecChar),
24900            "::",
24901            stringify!(minimum)
24902        )
24903    );
24904    assert_eq!(
24905        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
24906        73usize,
24907        concat!(
24908            "Offset of field: ",
24909            stringify!(_GParamSpecChar),
24910            "::",
24911            stringify!(maximum)
24912        )
24913    );
24914    assert_eq!(
24915        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
24916        74usize,
24917        concat!(
24918            "Offset of field: ",
24919            stringify!(_GParamSpecChar),
24920            "::",
24921            stringify!(default_value)
24922        )
24923    );
24924}
24925#[repr(C)]
24926#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24927pub struct _GParamSpecUChar {
24928    pub parent_instance: GParamSpec,
24929    pub minimum: guint8,
24930    pub maximum: guint8,
24931    pub default_value: guint8,
24932}
24933#[test]
24934fn bindgen_test_layout__GParamSpecUChar() {
24935    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecUChar> = ::std::mem::MaybeUninit::uninit();
24936    let ptr = UNINIT.as_ptr();
24937    assert_eq!(
24938        ::std::mem::size_of::<_GParamSpecUChar>(),
24939        80usize,
24940        concat!("Size of: ", stringify!(_GParamSpecUChar))
24941    );
24942    assert_eq!(
24943        ::std::mem::align_of::<_GParamSpecUChar>(),
24944        8usize,
24945        concat!("Alignment of ", stringify!(_GParamSpecUChar))
24946    );
24947    assert_eq!(
24948        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
24949        0usize,
24950        concat!(
24951            "Offset of field: ",
24952            stringify!(_GParamSpecUChar),
24953            "::",
24954            stringify!(parent_instance)
24955        )
24956    );
24957    assert_eq!(
24958        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
24959        72usize,
24960        concat!(
24961            "Offset of field: ",
24962            stringify!(_GParamSpecUChar),
24963            "::",
24964            stringify!(minimum)
24965        )
24966    );
24967    assert_eq!(
24968        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
24969        73usize,
24970        concat!(
24971            "Offset of field: ",
24972            stringify!(_GParamSpecUChar),
24973            "::",
24974            stringify!(maximum)
24975        )
24976    );
24977    assert_eq!(
24978        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
24979        74usize,
24980        concat!(
24981            "Offset of field: ",
24982            stringify!(_GParamSpecUChar),
24983            "::",
24984            stringify!(default_value)
24985        )
24986    );
24987}
24988#[repr(C)]
24989#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24990pub struct _GParamSpecBoolean {
24991    pub parent_instance: GParamSpec,
24992    pub default_value: gboolean,
24993}
24994#[test]
24995fn bindgen_test_layout__GParamSpecBoolean() {
24996    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecBoolean> = ::std::mem::MaybeUninit::uninit();
24997    let ptr = UNINIT.as_ptr();
24998    assert_eq!(
24999        ::std::mem::size_of::<_GParamSpecBoolean>(),
25000        80usize,
25001        concat!("Size of: ", stringify!(_GParamSpecBoolean))
25002    );
25003    assert_eq!(
25004        ::std::mem::align_of::<_GParamSpecBoolean>(),
25005        8usize,
25006        concat!("Alignment of ", stringify!(_GParamSpecBoolean))
25007    );
25008    assert_eq!(
25009        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
25010        0usize,
25011        concat!(
25012            "Offset of field: ",
25013            stringify!(_GParamSpecBoolean),
25014            "::",
25015            stringify!(parent_instance)
25016        )
25017    );
25018    assert_eq!(
25019        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
25020        72usize,
25021        concat!(
25022            "Offset of field: ",
25023            stringify!(_GParamSpecBoolean),
25024            "::",
25025            stringify!(default_value)
25026        )
25027    );
25028}
25029#[repr(C)]
25030#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25031pub struct _GParamSpecInt {
25032    pub parent_instance: GParamSpec,
25033    pub minimum: gint,
25034    pub maximum: gint,
25035    pub default_value: gint,
25036}
25037#[test]
25038fn bindgen_test_layout__GParamSpecInt() {
25039    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecInt> = ::std::mem::MaybeUninit::uninit();
25040    let ptr = UNINIT.as_ptr();
25041    assert_eq!(
25042        ::std::mem::size_of::<_GParamSpecInt>(),
25043        88usize,
25044        concat!("Size of: ", stringify!(_GParamSpecInt))
25045    );
25046    assert_eq!(
25047        ::std::mem::align_of::<_GParamSpecInt>(),
25048        8usize,
25049        concat!("Alignment of ", stringify!(_GParamSpecInt))
25050    );
25051    assert_eq!(
25052        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
25053        0usize,
25054        concat!(
25055            "Offset of field: ",
25056            stringify!(_GParamSpecInt),
25057            "::",
25058            stringify!(parent_instance)
25059        )
25060    );
25061    assert_eq!(
25062        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
25063        72usize,
25064        concat!(
25065            "Offset of field: ",
25066            stringify!(_GParamSpecInt),
25067            "::",
25068            stringify!(minimum)
25069        )
25070    );
25071    assert_eq!(
25072        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
25073        76usize,
25074        concat!(
25075            "Offset of field: ",
25076            stringify!(_GParamSpecInt),
25077            "::",
25078            stringify!(maximum)
25079        )
25080    );
25081    assert_eq!(
25082        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
25083        80usize,
25084        concat!(
25085            "Offset of field: ",
25086            stringify!(_GParamSpecInt),
25087            "::",
25088            stringify!(default_value)
25089        )
25090    );
25091}
25092#[repr(C)]
25093#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25094pub struct _GParamSpecUInt {
25095    pub parent_instance: GParamSpec,
25096    pub minimum: guint,
25097    pub maximum: guint,
25098    pub default_value: guint,
25099}
25100#[test]
25101fn bindgen_test_layout__GParamSpecUInt() {
25102    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecUInt> = ::std::mem::MaybeUninit::uninit();
25103    let ptr = UNINIT.as_ptr();
25104    assert_eq!(
25105        ::std::mem::size_of::<_GParamSpecUInt>(),
25106        88usize,
25107        concat!("Size of: ", stringify!(_GParamSpecUInt))
25108    );
25109    assert_eq!(
25110        ::std::mem::align_of::<_GParamSpecUInt>(),
25111        8usize,
25112        concat!("Alignment of ", stringify!(_GParamSpecUInt))
25113    );
25114    assert_eq!(
25115        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
25116        0usize,
25117        concat!(
25118            "Offset of field: ",
25119            stringify!(_GParamSpecUInt),
25120            "::",
25121            stringify!(parent_instance)
25122        )
25123    );
25124    assert_eq!(
25125        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
25126        72usize,
25127        concat!(
25128            "Offset of field: ",
25129            stringify!(_GParamSpecUInt),
25130            "::",
25131            stringify!(minimum)
25132        )
25133    );
25134    assert_eq!(
25135        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
25136        76usize,
25137        concat!(
25138            "Offset of field: ",
25139            stringify!(_GParamSpecUInt),
25140            "::",
25141            stringify!(maximum)
25142        )
25143    );
25144    assert_eq!(
25145        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
25146        80usize,
25147        concat!(
25148            "Offset of field: ",
25149            stringify!(_GParamSpecUInt),
25150            "::",
25151            stringify!(default_value)
25152        )
25153    );
25154}
25155#[repr(C)]
25156#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25157pub struct _GParamSpecLong {
25158    pub parent_instance: GParamSpec,
25159    pub minimum: glong,
25160    pub maximum: glong,
25161    pub default_value: glong,
25162}
25163#[test]
25164fn bindgen_test_layout__GParamSpecLong() {
25165    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecLong> = ::std::mem::MaybeUninit::uninit();
25166    let ptr = UNINIT.as_ptr();
25167    assert_eq!(
25168        ::std::mem::size_of::<_GParamSpecLong>(),
25169        96usize,
25170        concat!("Size of: ", stringify!(_GParamSpecLong))
25171    );
25172    assert_eq!(
25173        ::std::mem::align_of::<_GParamSpecLong>(),
25174        8usize,
25175        concat!("Alignment of ", stringify!(_GParamSpecLong))
25176    );
25177    assert_eq!(
25178        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
25179        0usize,
25180        concat!(
25181            "Offset of field: ",
25182            stringify!(_GParamSpecLong),
25183            "::",
25184            stringify!(parent_instance)
25185        )
25186    );
25187    assert_eq!(
25188        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
25189        72usize,
25190        concat!(
25191            "Offset of field: ",
25192            stringify!(_GParamSpecLong),
25193            "::",
25194            stringify!(minimum)
25195        )
25196    );
25197    assert_eq!(
25198        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
25199        80usize,
25200        concat!(
25201            "Offset of field: ",
25202            stringify!(_GParamSpecLong),
25203            "::",
25204            stringify!(maximum)
25205        )
25206    );
25207    assert_eq!(
25208        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
25209        88usize,
25210        concat!(
25211            "Offset of field: ",
25212            stringify!(_GParamSpecLong),
25213            "::",
25214            stringify!(default_value)
25215        )
25216    );
25217}
25218#[repr(C)]
25219#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25220pub struct _GParamSpecULong {
25221    pub parent_instance: GParamSpec,
25222    pub minimum: gulong,
25223    pub maximum: gulong,
25224    pub default_value: gulong,
25225}
25226#[test]
25227fn bindgen_test_layout__GParamSpecULong() {
25228    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecULong> = ::std::mem::MaybeUninit::uninit();
25229    let ptr = UNINIT.as_ptr();
25230    assert_eq!(
25231        ::std::mem::size_of::<_GParamSpecULong>(),
25232        96usize,
25233        concat!("Size of: ", stringify!(_GParamSpecULong))
25234    );
25235    assert_eq!(
25236        ::std::mem::align_of::<_GParamSpecULong>(),
25237        8usize,
25238        concat!("Alignment of ", stringify!(_GParamSpecULong))
25239    );
25240    assert_eq!(
25241        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
25242        0usize,
25243        concat!(
25244            "Offset of field: ",
25245            stringify!(_GParamSpecULong),
25246            "::",
25247            stringify!(parent_instance)
25248        )
25249    );
25250    assert_eq!(
25251        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
25252        72usize,
25253        concat!(
25254            "Offset of field: ",
25255            stringify!(_GParamSpecULong),
25256            "::",
25257            stringify!(minimum)
25258        )
25259    );
25260    assert_eq!(
25261        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
25262        80usize,
25263        concat!(
25264            "Offset of field: ",
25265            stringify!(_GParamSpecULong),
25266            "::",
25267            stringify!(maximum)
25268        )
25269    );
25270    assert_eq!(
25271        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
25272        88usize,
25273        concat!(
25274            "Offset of field: ",
25275            stringify!(_GParamSpecULong),
25276            "::",
25277            stringify!(default_value)
25278        )
25279    );
25280}
25281#[repr(C)]
25282#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25283pub struct _GParamSpecInt64 {
25284    pub parent_instance: GParamSpec,
25285    pub minimum: gint64,
25286    pub maximum: gint64,
25287    pub default_value: gint64,
25288}
25289#[test]
25290fn bindgen_test_layout__GParamSpecInt64() {
25291    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecInt64> = ::std::mem::MaybeUninit::uninit();
25292    let ptr = UNINIT.as_ptr();
25293    assert_eq!(
25294        ::std::mem::size_of::<_GParamSpecInt64>(),
25295        96usize,
25296        concat!("Size of: ", stringify!(_GParamSpecInt64))
25297    );
25298    assert_eq!(
25299        ::std::mem::align_of::<_GParamSpecInt64>(),
25300        8usize,
25301        concat!("Alignment of ", stringify!(_GParamSpecInt64))
25302    );
25303    assert_eq!(
25304        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
25305        0usize,
25306        concat!(
25307            "Offset of field: ",
25308            stringify!(_GParamSpecInt64),
25309            "::",
25310            stringify!(parent_instance)
25311        )
25312    );
25313    assert_eq!(
25314        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
25315        72usize,
25316        concat!(
25317            "Offset of field: ",
25318            stringify!(_GParamSpecInt64),
25319            "::",
25320            stringify!(minimum)
25321        )
25322    );
25323    assert_eq!(
25324        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
25325        80usize,
25326        concat!(
25327            "Offset of field: ",
25328            stringify!(_GParamSpecInt64),
25329            "::",
25330            stringify!(maximum)
25331        )
25332    );
25333    assert_eq!(
25334        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
25335        88usize,
25336        concat!(
25337            "Offset of field: ",
25338            stringify!(_GParamSpecInt64),
25339            "::",
25340            stringify!(default_value)
25341        )
25342    );
25343}
25344#[repr(C)]
25345#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25346pub struct _GParamSpecUInt64 {
25347    pub parent_instance: GParamSpec,
25348    pub minimum: guint64,
25349    pub maximum: guint64,
25350    pub default_value: guint64,
25351}
25352#[test]
25353fn bindgen_test_layout__GParamSpecUInt64() {
25354    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecUInt64> = ::std::mem::MaybeUninit::uninit();
25355    let ptr = UNINIT.as_ptr();
25356    assert_eq!(
25357        ::std::mem::size_of::<_GParamSpecUInt64>(),
25358        96usize,
25359        concat!("Size of: ", stringify!(_GParamSpecUInt64))
25360    );
25361    assert_eq!(
25362        ::std::mem::align_of::<_GParamSpecUInt64>(),
25363        8usize,
25364        concat!("Alignment of ", stringify!(_GParamSpecUInt64))
25365    );
25366    assert_eq!(
25367        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
25368        0usize,
25369        concat!(
25370            "Offset of field: ",
25371            stringify!(_GParamSpecUInt64),
25372            "::",
25373            stringify!(parent_instance)
25374        )
25375    );
25376    assert_eq!(
25377        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
25378        72usize,
25379        concat!(
25380            "Offset of field: ",
25381            stringify!(_GParamSpecUInt64),
25382            "::",
25383            stringify!(minimum)
25384        )
25385    );
25386    assert_eq!(
25387        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
25388        80usize,
25389        concat!(
25390            "Offset of field: ",
25391            stringify!(_GParamSpecUInt64),
25392            "::",
25393            stringify!(maximum)
25394        )
25395    );
25396    assert_eq!(
25397        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
25398        88usize,
25399        concat!(
25400            "Offset of field: ",
25401            stringify!(_GParamSpecUInt64),
25402            "::",
25403            stringify!(default_value)
25404        )
25405    );
25406}
25407#[repr(C)]
25408#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25409pub struct _GParamSpecUnichar {
25410    pub parent_instance: GParamSpec,
25411    pub default_value: gunichar,
25412}
25413#[test]
25414fn bindgen_test_layout__GParamSpecUnichar() {
25415    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecUnichar> = ::std::mem::MaybeUninit::uninit();
25416    let ptr = UNINIT.as_ptr();
25417    assert_eq!(
25418        ::std::mem::size_of::<_GParamSpecUnichar>(),
25419        80usize,
25420        concat!("Size of: ", stringify!(_GParamSpecUnichar))
25421    );
25422    assert_eq!(
25423        ::std::mem::align_of::<_GParamSpecUnichar>(),
25424        8usize,
25425        concat!("Alignment of ", stringify!(_GParamSpecUnichar))
25426    );
25427    assert_eq!(
25428        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
25429        0usize,
25430        concat!(
25431            "Offset of field: ",
25432            stringify!(_GParamSpecUnichar),
25433            "::",
25434            stringify!(parent_instance)
25435        )
25436    );
25437    assert_eq!(
25438        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
25439        72usize,
25440        concat!(
25441            "Offset of field: ",
25442            stringify!(_GParamSpecUnichar),
25443            "::",
25444            stringify!(default_value)
25445        )
25446    );
25447}
25448#[repr(C)]
25449#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25450pub struct _GParamSpecEnum {
25451    pub parent_instance: GParamSpec,
25452    pub enum_class: *mut GEnumClass,
25453    pub default_value: gint,
25454}
25455#[test]
25456fn bindgen_test_layout__GParamSpecEnum() {
25457    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecEnum> = ::std::mem::MaybeUninit::uninit();
25458    let ptr = UNINIT.as_ptr();
25459    assert_eq!(
25460        ::std::mem::size_of::<_GParamSpecEnum>(),
25461        88usize,
25462        concat!("Size of: ", stringify!(_GParamSpecEnum))
25463    );
25464    assert_eq!(
25465        ::std::mem::align_of::<_GParamSpecEnum>(),
25466        8usize,
25467        concat!("Alignment of ", stringify!(_GParamSpecEnum))
25468    );
25469    assert_eq!(
25470        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
25471        0usize,
25472        concat!(
25473            "Offset of field: ",
25474            stringify!(_GParamSpecEnum),
25475            "::",
25476            stringify!(parent_instance)
25477        )
25478    );
25479    assert_eq!(
25480        unsafe { ::std::ptr::addr_of!((*ptr).enum_class) as usize - ptr as usize },
25481        72usize,
25482        concat!(
25483            "Offset of field: ",
25484            stringify!(_GParamSpecEnum),
25485            "::",
25486            stringify!(enum_class)
25487        )
25488    );
25489    assert_eq!(
25490        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
25491        80usize,
25492        concat!(
25493            "Offset of field: ",
25494            stringify!(_GParamSpecEnum),
25495            "::",
25496            stringify!(default_value)
25497        )
25498    );
25499}
25500#[repr(C)]
25501#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25502pub struct _GParamSpecFlags {
25503    pub parent_instance: GParamSpec,
25504    pub flags_class: *mut GFlagsClass,
25505    pub default_value: guint,
25506}
25507#[test]
25508fn bindgen_test_layout__GParamSpecFlags() {
25509    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecFlags> = ::std::mem::MaybeUninit::uninit();
25510    let ptr = UNINIT.as_ptr();
25511    assert_eq!(
25512        ::std::mem::size_of::<_GParamSpecFlags>(),
25513        88usize,
25514        concat!("Size of: ", stringify!(_GParamSpecFlags))
25515    );
25516    assert_eq!(
25517        ::std::mem::align_of::<_GParamSpecFlags>(),
25518        8usize,
25519        concat!("Alignment of ", stringify!(_GParamSpecFlags))
25520    );
25521    assert_eq!(
25522        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
25523        0usize,
25524        concat!(
25525            "Offset of field: ",
25526            stringify!(_GParamSpecFlags),
25527            "::",
25528            stringify!(parent_instance)
25529        )
25530    );
25531    assert_eq!(
25532        unsafe { ::std::ptr::addr_of!((*ptr).flags_class) as usize - ptr as usize },
25533        72usize,
25534        concat!(
25535            "Offset of field: ",
25536            stringify!(_GParamSpecFlags),
25537            "::",
25538            stringify!(flags_class)
25539        )
25540    );
25541    assert_eq!(
25542        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
25543        80usize,
25544        concat!(
25545            "Offset of field: ",
25546            stringify!(_GParamSpecFlags),
25547            "::",
25548            stringify!(default_value)
25549        )
25550    );
25551}
25552#[repr(C)]
25553#[derive(Debug, Copy, Clone, PartialEq)]
25554pub struct _GParamSpecFloat {
25555    pub parent_instance: GParamSpec,
25556    pub minimum: gfloat,
25557    pub maximum: gfloat,
25558    pub default_value: gfloat,
25559    pub epsilon: gfloat,
25560}
25561#[test]
25562fn bindgen_test_layout__GParamSpecFloat() {
25563    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecFloat> = ::std::mem::MaybeUninit::uninit();
25564    let ptr = UNINIT.as_ptr();
25565    assert_eq!(
25566        ::std::mem::size_of::<_GParamSpecFloat>(),
25567        88usize,
25568        concat!("Size of: ", stringify!(_GParamSpecFloat))
25569    );
25570    assert_eq!(
25571        ::std::mem::align_of::<_GParamSpecFloat>(),
25572        8usize,
25573        concat!("Alignment of ", stringify!(_GParamSpecFloat))
25574    );
25575    assert_eq!(
25576        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
25577        0usize,
25578        concat!(
25579            "Offset of field: ",
25580            stringify!(_GParamSpecFloat),
25581            "::",
25582            stringify!(parent_instance)
25583        )
25584    );
25585    assert_eq!(
25586        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
25587        72usize,
25588        concat!(
25589            "Offset of field: ",
25590            stringify!(_GParamSpecFloat),
25591            "::",
25592            stringify!(minimum)
25593        )
25594    );
25595    assert_eq!(
25596        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
25597        76usize,
25598        concat!(
25599            "Offset of field: ",
25600            stringify!(_GParamSpecFloat),
25601            "::",
25602            stringify!(maximum)
25603        )
25604    );
25605    assert_eq!(
25606        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
25607        80usize,
25608        concat!(
25609            "Offset of field: ",
25610            stringify!(_GParamSpecFloat),
25611            "::",
25612            stringify!(default_value)
25613        )
25614    );
25615    assert_eq!(
25616        unsafe { ::std::ptr::addr_of!((*ptr).epsilon) as usize - ptr as usize },
25617        84usize,
25618        concat!(
25619            "Offset of field: ",
25620            stringify!(_GParamSpecFloat),
25621            "::",
25622            stringify!(epsilon)
25623        )
25624    );
25625}
25626#[repr(C)]
25627#[derive(Debug, Copy, Clone, PartialEq)]
25628pub struct _GParamSpecDouble {
25629    pub parent_instance: GParamSpec,
25630    pub minimum: gdouble,
25631    pub maximum: gdouble,
25632    pub default_value: gdouble,
25633    pub epsilon: gdouble,
25634}
25635#[test]
25636fn bindgen_test_layout__GParamSpecDouble() {
25637    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecDouble> = ::std::mem::MaybeUninit::uninit();
25638    let ptr = UNINIT.as_ptr();
25639    assert_eq!(
25640        ::std::mem::size_of::<_GParamSpecDouble>(),
25641        104usize,
25642        concat!("Size of: ", stringify!(_GParamSpecDouble))
25643    );
25644    assert_eq!(
25645        ::std::mem::align_of::<_GParamSpecDouble>(),
25646        8usize,
25647        concat!("Alignment of ", stringify!(_GParamSpecDouble))
25648    );
25649    assert_eq!(
25650        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
25651        0usize,
25652        concat!(
25653            "Offset of field: ",
25654            stringify!(_GParamSpecDouble),
25655            "::",
25656            stringify!(parent_instance)
25657        )
25658    );
25659    assert_eq!(
25660        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
25661        72usize,
25662        concat!(
25663            "Offset of field: ",
25664            stringify!(_GParamSpecDouble),
25665            "::",
25666            stringify!(minimum)
25667        )
25668    );
25669    assert_eq!(
25670        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
25671        80usize,
25672        concat!(
25673            "Offset of field: ",
25674            stringify!(_GParamSpecDouble),
25675            "::",
25676            stringify!(maximum)
25677        )
25678    );
25679    assert_eq!(
25680        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
25681        88usize,
25682        concat!(
25683            "Offset of field: ",
25684            stringify!(_GParamSpecDouble),
25685            "::",
25686            stringify!(default_value)
25687        )
25688    );
25689    assert_eq!(
25690        unsafe { ::std::ptr::addr_of!((*ptr).epsilon) as usize - ptr as usize },
25691        96usize,
25692        concat!(
25693            "Offset of field: ",
25694            stringify!(_GParamSpecDouble),
25695            "::",
25696            stringify!(epsilon)
25697        )
25698    );
25699}
25700#[repr(C)]
25701#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25702pub struct _GParamSpecString {
25703    pub parent_instance: GParamSpec,
25704    pub default_value: *mut gchar,
25705    pub cset_first: *mut gchar,
25706    pub cset_nth: *mut gchar,
25707    pub substitutor: gchar,
25708    pub _bitfield_align_1: [u8; 0],
25709    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
25710    pub __bindgen_padding_0: [u16; 3usize],
25711}
25712#[test]
25713fn bindgen_test_layout__GParamSpecString() {
25714    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecString> = ::std::mem::MaybeUninit::uninit();
25715    let ptr = UNINIT.as_ptr();
25716    assert_eq!(
25717        ::std::mem::size_of::<_GParamSpecString>(),
25718        104usize,
25719        concat!("Size of: ", stringify!(_GParamSpecString))
25720    );
25721    assert_eq!(
25722        ::std::mem::align_of::<_GParamSpecString>(),
25723        8usize,
25724        concat!("Alignment of ", stringify!(_GParamSpecString))
25725    );
25726    assert_eq!(
25727        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
25728        0usize,
25729        concat!(
25730            "Offset of field: ",
25731            stringify!(_GParamSpecString),
25732            "::",
25733            stringify!(parent_instance)
25734        )
25735    );
25736    assert_eq!(
25737        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
25738        72usize,
25739        concat!(
25740            "Offset of field: ",
25741            stringify!(_GParamSpecString),
25742            "::",
25743            stringify!(default_value)
25744        )
25745    );
25746    assert_eq!(
25747        unsafe { ::std::ptr::addr_of!((*ptr).cset_first) as usize - ptr as usize },
25748        80usize,
25749        concat!(
25750            "Offset of field: ",
25751            stringify!(_GParamSpecString),
25752            "::",
25753            stringify!(cset_first)
25754        )
25755    );
25756    assert_eq!(
25757        unsafe { ::std::ptr::addr_of!((*ptr).cset_nth) as usize - ptr as usize },
25758        88usize,
25759        concat!(
25760            "Offset of field: ",
25761            stringify!(_GParamSpecString),
25762            "::",
25763            stringify!(cset_nth)
25764        )
25765    );
25766    assert_eq!(
25767        unsafe { ::std::ptr::addr_of!((*ptr).substitutor) as usize - ptr as usize },
25768        96usize,
25769        concat!(
25770            "Offset of field: ",
25771            stringify!(_GParamSpecString),
25772            "::",
25773            stringify!(substitutor)
25774        )
25775    );
25776}
25777impl _GParamSpecString {
25778    #[inline]
25779    pub fn null_fold_if_empty(&self) -> guint {
25780        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
25781    }
25782    #[inline]
25783    pub fn set_null_fold_if_empty(&mut self, val: guint) {
25784        unsafe {
25785            let val: u32 = ::std::mem::transmute(val);
25786            self._bitfield_1.set(0usize, 1u8, val as u64)
25787        }
25788    }
25789    #[inline]
25790    pub fn ensure_non_null(&self) -> guint {
25791        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
25792    }
25793    #[inline]
25794    pub fn set_ensure_non_null(&mut self, val: guint) {
25795        unsafe {
25796            let val: u32 = ::std::mem::transmute(val);
25797            self._bitfield_1.set(1usize, 1u8, val as u64)
25798        }
25799    }
25800    #[inline]
25801    pub fn new_bitfield_1(
25802        null_fold_if_empty: guint,
25803        ensure_non_null: guint,
25804    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
25805        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
25806        __bindgen_bitfield_unit.set(0usize, 1u8, {
25807            let null_fold_if_empty: u32 = unsafe { ::std::mem::transmute(null_fold_if_empty) };
25808            null_fold_if_empty as u64
25809        });
25810        __bindgen_bitfield_unit.set(1usize, 1u8, {
25811            let ensure_non_null: u32 = unsafe { ::std::mem::transmute(ensure_non_null) };
25812            ensure_non_null as u64
25813        });
25814        __bindgen_bitfield_unit
25815    }
25816}
25817#[repr(C)]
25818#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25819pub struct _GParamSpecParam {
25820    pub parent_instance: GParamSpec,
25821}
25822#[test]
25823fn bindgen_test_layout__GParamSpecParam() {
25824    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecParam> = ::std::mem::MaybeUninit::uninit();
25825    let ptr = UNINIT.as_ptr();
25826    assert_eq!(
25827        ::std::mem::size_of::<_GParamSpecParam>(),
25828        72usize,
25829        concat!("Size of: ", stringify!(_GParamSpecParam))
25830    );
25831    assert_eq!(
25832        ::std::mem::align_of::<_GParamSpecParam>(),
25833        8usize,
25834        concat!("Alignment of ", stringify!(_GParamSpecParam))
25835    );
25836    assert_eq!(
25837        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
25838        0usize,
25839        concat!(
25840            "Offset of field: ",
25841            stringify!(_GParamSpecParam),
25842            "::",
25843            stringify!(parent_instance)
25844        )
25845    );
25846}
25847#[repr(C)]
25848#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25849pub struct _GParamSpecBoxed {
25850    pub parent_instance: GParamSpec,
25851}
25852#[test]
25853fn bindgen_test_layout__GParamSpecBoxed() {
25854    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecBoxed> = ::std::mem::MaybeUninit::uninit();
25855    let ptr = UNINIT.as_ptr();
25856    assert_eq!(
25857        ::std::mem::size_of::<_GParamSpecBoxed>(),
25858        72usize,
25859        concat!("Size of: ", stringify!(_GParamSpecBoxed))
25860    );
25861    assert_eq!(
25862        ::std::mem::align_of::<_GParamSpecBoxed>(),
25863        8usize,
25864        concat!("Alignment of ", stringify!(_GParamSpecBoxed))
25865    );
25866    assert_eq!(
25867        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
25868        0usize,
25869        concat!(
25870            "Offset of field: ",
25871            stringify!(_GParamSpecBoxed),
25872            "::",
25873            stringify!(parent_instance)
25874        )
25875    );
25876}
25877#[repr(C)]
25878#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25879pub struct _GParamSpecPointer {
25880    pub parent_instance: GParamSpec,
25881}
25882#[test]
25883fn bindgen_test_layout__GParamSpecPointer() {
25884    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecPointer> = ::std::mem::MaybeUninit::uninit();
25885    let ptr = UNINIT.as_ptr();
25886    assert_eq!(
25887        ::std::mem::size_of::<_GParamSpecPointer>(),
25888        72usize,
25889        concat!("Size of: ", stringify!(_GParamSpecPointer))
25890    );
25891    assert_eq!(
25892        ::std::mem::align_of::<_GParamSpecPointer>(),
25893        8usize,
25894        concat!("Alignment of ", stringify!(_GParamSpecPointer))
25895    );
25896    assert_eq!(
25897        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
25898        0usize,
25899        concat!(
25900            "Offset of field: ",
25901            stringify!(_GParamSpecPointer),
25902            "::",
25903            stringify!(parent_instance)
25904        )
25905    );
25906}
25907#[repr(C)]
25908#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25909pub struct _GParamSpecValueArray {
25910    pub parent_instance: GParamSpec,
25911    pub element_spec: *mut GParamSpec,
25912    pub fixed_n_elements: guint,
25913}
25914#[test]
25915fn bindgen_test_layout__GParamSpecValueArray() {
25916    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecValueArray> =
25917        ::std::mem::MaybeUninit::uninit();
25918    let ptr = UNINIT.as_ptr();
25919    assert_eq!(
25920        ::std::mem::size_of::<_GParamSpecValueArray>(),
25921        88usize,
25922        concat!("Size of: ", stringify!(_GParamSpecValueArray))
25923    );
25924    assert_eq!(
25925        ::std::mem::align_of::<_GParamSpecValueArray>(),
25926        8usize,
25927        concat!("Alignment of ", stringify!(_GParamSpecValueArray))
25928    );
25929    assert_eq!(
25930        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
25931        0usize,
25932        concat!(
25933            "Offset of field: ",
25934            stringify!(_GParamSpecValueArray),
25935            "::",
25936            stringify!(parent_instance)
25937        )
25938    );
25939    assert_eq!(
25940        unsafe { ::std::ptr::addr_of!((*ptr).element_spec) as usize - ptr as usize },
25941        72usize,
25942        concat!(
25943            "Offset of field: ",
25944            stringify!(_GParamSpecValueArray),
25945            "::",
25946            stringify!(element_spec)
25947        )
25948    );
25949    assert_eq!(
25950        unsafe { ::std::ptr::addr_of!((*ptr).fixed_n_elements) as usize - ptr as usize },
25951        80usize,
25952        concat!(
25953            "Offset of field: ",
25954            stringify!(_GParamSpecValueArray),
25955            "::",
25956            stringify!(fixed_n_elements)
25957        )
25958    );
25959}
25960#[repr(C)]
25961#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25962pub struct _GParamSpecObject {
25963    pub parent_instance: GParamSpec,
25964}
25965#[test]
25966fn bindgen_test_layout__GParamSpecObject() {
25967    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecObject> = ::std::mem::MaybeUninit::uninit();
25968    let ptr = UNINIT.as_ptr();
25969    assert_eq!(
25970        ::std::mem::size_of::<_GParamSpecObject>(),
25971        72usize,
25972        concat!("Size of: ", stringify!(_GParamSpecObject))
25973    );
25974    assert_eq!(
25975        ::std::mem::align_of::<_GParamSpecObject>(),
25976        8usize,
25977        concat!("Alignment of ", stringify!(_GParamSpecObject))
25978    );
25979    assert_eq!(
25980        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
25981        0usize,
25982        concat!(
25983            "Offset of field: ",
25984            stringify!(_GParamSpecObject),
25985            "::",
25986            stringify!(parent_instance)
25987        )
25988    );
25989}
25990#[repr(C)]
25991#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25992pub struct _GParamSpecOverride {
25993    pub parent_instance: GParamSpec,
25994    pub overridden: *mut GParamSpec,
25995}
25996#[test]
25997fn bindgen_test_layout__GParamSpecOverride() {
25998    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecOverride> = ::std::mem::MaybeUninit::uninit();
25999    let ptr = UNINIT.as_ptr();
26000    assert_eq!(
26001        ::std::mem::size_of::<_GParamSpecOverride>(),
26002        80usize,
26003        concat!("Size of: ", stringify!(_GParamSpecOverride))
26004    );
26005    assert_eq!(
26006        ::std::mem::align_of::<_GParamSpecOverride>(),
26007        8usize,
26008        concat!("Alignment of ", stringify!(_GParamSpecOverride))
26009    );
26010    assert_eq!(
26011        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
26012        0usize,
26013        concat!(
26014            "Offset of field: ",
26015            stringify!(_GParamSpecOverride),
26016            "::",
26017            stringify!(parent_instance)
26018        )
26019    );
26020    assert_eq!(
26021        unsafe { ::std::ptr::addr_of!((*ptr).overridden) as usize - ptr as usize },
26022        72usize,
26023        concat!(
26024            "Offset of field: ",
26025            stringify!(_GParamSpecOverride),
26026            "::",
26027            stringify!(overridden)
26028        )
26029    );
26030}
26031#[repr(C)]
26032#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26033pub struct _GParamSpecGType {
26034    pub parent_instance: GParamSpec,
26035    pub is_a_type: GType,
26036}
26037#[test]
26038fn bindgen_test_layout__GParamSpecGType() {
26039    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecGType> = ::std::mem::MaybeUninit::uninit();
26040    let ptr = UNINIT.as_ptr();
26041    assert_eq!(
26042        ::std::mem::size_of::<_GParamSpecGType>(),
26043        80usize,
26044        concat!("Size of: ", stringify!(_GParamSpecGType))
26045    );
26046    assert_eq!(
26047        ::std::mem::align_of::<_GParamSpecGType>(),
26048        8usize,
26049        concat!("Alignment of ", stringify!(_GParamSpecGType))
26050    );
26051    assert_eq!(
26052        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
26053        0usize,
26054        concat!(
26055            "Offset of field: ",
26056            stringify!(_GParamSpecGType),
26057            "::",
26058            stringify!(parent_instance)
26059        )
26060    );
26061    assert_eq!(
26062        unsafe { ::std::ptr::addr_of!((*ptr).is_a_type) as usize - ptr as usize },
26063        72usize,
26064        concat!(
26065            "Offset of field: ",
26066            stringify!(_GParamSpecGType),
26067            "::",
26068            stringify!(is_a_type)
26069        )
26070    );
26071}
26072#[repr(C)]
26073#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26074pub struct _GParamSpecVariant {
26075    pub parent_instance: GParamSpec,
26076    pub type_: *mut GVariantType,
26077    pub default_value: *mut GVariant,
26078    pub padding: [gpointer; 4usize],
26079}
26080#[test]
26081fn bindgen_test_layout__GParamSpecVariant() {
26082    const UNINIT: ::std::mem::MaybeUninit<_GParamSpecVariant> = ::std::mem::MaybeUninit::uninit();
26083    let ptr = UNINIT.as_ptr();
26084    assert_eq!(
26085        ::std::mem::size_of::<_GParamSpecVariant>(),
26086        120usize,
26087        concat!("Size of: ", stringify!(_GParamSpecVariant))
26088    );
26089    assert_eq!(
26090        ::std::mem::align_of::<_GParamSpecVariant>(),
26091        8usize,
26092        concat!("Alignment of ", stringify!(_GParamSpecVariant))
26093    );
26094    assert_eq!(
26095        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
26096        0usize,
26097        concat!(
26098            "Offset of field: ",
26099            stringify!(_GParamSpecVariant),
26100            "::",
26101            stringify!(parent_instance)
26102        )
26103    );
26104    assert_eq!(
26105        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
26106        72usize,
26107        concat!(
26108            "Offset of field: ",
26109            stringify!(_GParamSpecVariant),
26110            "::",
26111            stringify!(type_)
26112        )
26113    );
26114    assert_eq!(
26115        unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
26116        80usize,
26117        concat!(
26118            "Offset of field: ",
26119            stringify!(_GParamSpecVariant),
26120            "::",
26121            stringify!(default_value)
26122        )
26123    );
26124    assert_eq!(
26125        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
26126        88usize,
26127        concat!(
26128            "Offset of field: ",
26129            stringify!(_GParamSpecVariant),
26130            "::",
26131            stringify!(padding)
26132        )
26133    );
26134}
26135extern "C" {
26136    pub fn g_param_spec_char(
26137        name: *const gchar,
26138        nick: *const gchar,
26139        blurb: *const gchar,
26140        minimum: gint8,
26141        maximum: gint8,
26142        default_value: gint8,
26143        flags: GParamFlags,
26144    ) -> *mut GParamSpec;
26145}
26146extern "C" {
26147    pub fn g_param_spec_uchar(
26148        name: *const gchar,
26149        nick: *const gchar,
26150        blurb: *const gchar,
26151        minimum: guint8,
26152        maximum: guint8,
26153        default_value: guint8,
26154        flags: GParamFlags,
26155    ) -> *mut GParamSpec;
26156}
26157extern "C" {
26158    pub fn g_param_spec_boolean(
26159        name: *const gchar,
26160        nick: *const gchar,
26161        blurb: *const gchar,
26162        default_value: gboolean,
26163        flags: GParamFlags,
26164    ) -> *mut GParamSpec;
26165}
26166extern "C" {
26167    pub fn g_param_spec_int(
26168        name: *const gchar,
26169        nick: *const gchar,
26170        blurb: *const gchar,
26171        minimum: gint,
26172        maximum: gint,
26173        default_value: gint,
26174        flags: GParamFlags,
26175    ) -> *mut GParamSpec;
26176}
26177extern "C" {
26178    pub fn g_param_spec_uint(
26179        name: *const gchar,
26180        nick: *const gchar,
26181        blurb: *const gchar,
26182        minimum: guint,
26183        maximum: guint,
26184        default_value: guint,
26185        flags: GParamFlags,
26186    ) -> *mut GParamSpec;
26187}
26188extern "C" {
26189    pub fn g_param_spec_long(
26190        name: *const gchar,
26191        nick: *const gchar,
26192        blurb: *const gchar,
26193        minimum: glong,
26194        maximum: glong,
26195        default_value: glong,
26196        flags: GParamFlags,
26197    ) -> *mut GParamSpec;
26198}
26199extern "C" {
26200    pub fn g_param_spec_ulong(
26201        name: *const gchar,
26202        nick: *const gchar,
26203        blurb: *const gchar,
26204        minimum: gulong,
26205        maximum: gulong,
26206        default_value: gulong,
26207        flags: GParamFlags,
26208    ) -> *mut GParamSpec;
26209}
26210extern "C" {
26211    pub fn g_param_spec_int64(
26212        name: *const gchar,
26213        nick: *const gchar,
26214        blurb: *const gchar,
26215        minimum: gint64,
26216        maximum: gint64,
26217        default_value: gint64,
26218        flags: GParamFlags,
26219    ) -> *mut GParamSpec;
26220}
26221extern "C" {
26222    pub fn g_param_spec_uint64(
26223        name: *const gchar,
26224        nick: *const gchar,
26225        blurb: *const gchar,
26226        minimum: guint64,
26227        maximum: guint64,
26228        default_value: guint64,
26229        flags: GParamFlags,
26230    ) -> *mut GParamSpec;
26231}
26232extern "C" {
26233    pub fn g_param_spec_unichar(
26234        name: *const gchar,
26235        nick: *const gchar,
26236        blurb: *const gchar,
26237        default_value: gunichar,
26238        flags: GParamFlags,
26239    ) -> *mut GParamSpec;
26240}
26241extern "C" {
26242    pub fn g_param_spec_enum(
26243        name: *const gchar,
26244        nick: *const gchar,
26245        blurb: *const gchar,
26246        enum_type: GType,
26247        default_value: gint,
26248        flags: GParamFlags,
26249    ) -> *mut GParamSpec;
26250}
26251extern "C" {
26252    pub fn g_param_spec_flags(
26253        name: *const gchar,
26254        nick: *const gchar,
26255        blurb: *const gchar,
26256        flags_type: GType,
26257        default_value: guint,
26258        flags: GParamFlags,
26259    ) -> *mut GParamSpec;
26260}
26261extern "C" {
26262    pub fn g_param_spec_float(
26263        name: *const gchar,
26264        nick: *const gchar,
26265        blurb: *const gchar,
26266        minimum: gfloat,
26267        maximum: gfloat,
26268        default_value: gfloat,
26269        flags: GParamFlags,
26270    ) -> *mut GParamSpec;
26271}
26272extern "C" {
26273    pub fn g_param_spec_double(
26274        name: *const gchar,
26275        nick: *const gchar,
26276        blurb: *const gchar,
26277        minimum: gdouble,
26278        maximum: gdouble,
26279        default_value: gdouble,
26280        flags: GParamFlags,
26281    ) -> *mut GParamSpec;
26282}
26283extern "C" {
26284    pub fn g_param_spec_string(
26285        name: *const gchar,
26286        nick: *const gchar,
26287        blurb: *const gchar,
26288        default_value: *const gchar,
26289        flags: GParamFlags,
26290    ) -> *mut GParamSpec;
26291}
26292extern "C" {
26293    pub fn g_param_spec_param(
26294        name: *const gchar,
26295        nick: *const gchar,
26296        blurb: *const gchar,
26297        param_type: GType,
26298        flags: GParamFlags,
26299    ) -> *mut GParamSpec;
26300}
26301extern "C" {
26302    pub fn g_param_spec_boxed(
26303        name: *const gchar,
26304        nick: *const gchar,
26305        blurb: *const gchar,
26306        boxed_type: GType,
26307        flags: GParamFlags,
26308    ) -> *mut GParamSpec;
26309}
26310extern "C" {
26311    pub fn g_param_spec_pointer(
26312        name: *const gchar,
26313        nick: *const gchar,
26314        blurb: *const gchar,
26315        flags: GParamFlags,
26316    ) -> *mut GParamSpec;
26317}
26318extern "C" {
26319    pub fn g_param_spec_value_array(
26320        name: *const gchar,
26321        nick: *const gchar,
26322        blurb: *const gchar,
26323        element_spec: *mut GParamSpec,
26324        flags: GParamFlags,
26325    ) -> *mut GParamSpec;
26326}
26327extern "C" {
26328    pub fn g_param_spec_object(
26329        name: *const gchar,
26330        nick: *const gchar,
26331        blurb: *const gchar,
26332        object_type: GType,
26333        flags: GParamFlags,
26334    ) -> *mut GParamSpec;
26335}
26336extern "C" {
26337    pub fn g_param_spec_override(
26338        name: *const gchar,
26339        overridden: *mut GParamSpec,
26340    ) -> *mut GParamSpec;
26341}
26342extern "C" {
26343    pub fn g_param_spec_gtype(
26344        name: *const gchar,
26345        nick: *const gchar,
26346        blurb: *const gchar,
26347        is_a_type: GType,
26348        flags: GParamFlags,
26349    ) -> *mut GParamSpec;
26350}
26351extern "C" {
26352    pub fn g_param_spec_variant(
26353        name: *const gchar,
26354        nick: *const gchar,
26355        blurb: *const gchar,
26356        type_: *const GVariantType,
26357        default_value: *mut GVariant,
26358        flags: GParamFlags,
26359    ) -> *mut GParamSpec;
26360}
26361extern "C" {
26362    pub static mut g_param_spec_types: *mut GType;
26363}
26364#[repr(C)]
26365#[derive(Debug, Copy, Clone)]
26366pub struct _GSignalGroup {
26367    _unused: [u8; 0],
26368}
26369pub type GSignalGroup = _GSignalGroup;
26370extern "C" {
26371    pub fn g_signal_group_get_type() -> GType;
26372}
26373extern "C" {
26374    pub fn g_signal_group_new(target_type: GType) -> *mut GSignalGroup;
26375}
26376extern "C" {
26377    pub fn g_signal_group_set_target(self_: *mut GSignalGroup, target: gpointer);
26378}
26379extern "C" {
26380    pub fn g_signal_group_dup_target(self_: *mut GSignalGroup) -> gpointer;
26381}
26382extern "C" {
26383    pub fn g_signal_group_block(self_: *mut GSignalGroup);
26384}
26385extern "C" {
26386    pub fn g_signal_group_unblock(self_: *mut GSignalGroup);
26387}
26388extern "C" {
26389    pub fn g_signal_group_connect_closure(
26390        self_: *mut GSignalGroup,
26391        detailed_signal: *const gchar,
26392        closure: *mut GClosure,
26393        after: gboolean,
26394    );
26395}
26396extern "C" {
26397    pub fn g_signal_group_connect_object(
26398        self_: *mut GSignalGroup,
26399        detailed_signal: *const gchar,
26400        c_handler: GCallback,
26401        object: gpointer,
26402        flags: GConnectFlags,
26403    );
26404}
26405extern "C" {
26406    pub fn g_signal_group_connect_data(
26407        self_: *mut GSignalGroup,
26408        detailed_signal: *const gchar,
26409        c_handler: GCallback,
26410        data: gpointer,
26411        notify: GClosureNotify,
26412        flags: GConnectFlags,
26413    );
26414}
26415extern "C" {
26416    pub fn g_signal_group_connect(
26417        self_: *mut GSignalGroup,
26418        detailed_signal: *const gchar,
26419        c_handler: GCallback,
26420        data: gpointer,
26421    );
26422}
26423extern "C" {
26424    pub fn g_signal_group_connect_after(
26425        self_: *mut GSignalGroup,
26426        detailed_signal: *const gchar,
26427        c_handler: GCallback,
26428        data: gpointer,
26429    );
26430}
26431extern "C" {
26432    pub fn g_signal_group_connect_swapped(
26433        self_: *mut GSignalGroup,
26434        detailed_signal: *const gchar,
26435        c_handler: GCallback,
26436        data: gpointer,
26437    );
26438}
26439extern "C" {
26440    pub fn g_source_set_closure(source: *mut GSource, closure: *mut GClosure);
26441}
26442extern "C" {
26443    pub fn g_source_set_dummy_callback(source: *mut GSource);
26444}
26445pub type GTypeModule = _GTypeModule;
26446pub type GTypeModuleClass = _GTypeModuleClass;
26447pub type GTypeModule_autoptr = *mut GTypeModule;
26448pub type GTypeModule_listautoptr = *mut GList;
26449pub type GTypeModule_slistautoptr = *mut GSList;
26450pub type GTypeModule_queueautoptr = *mut GQueue;
26451#[repr(C)]
26452#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26453pub struct _GTypeModule {
26454    pub parent_instance: GObject,
26455    pub use_count: guint,
26456    pub type_infos: *mut GSList,
26457    pub interface_infos: *mut GSList,
26458    pub name: *mut gchar,
26459}
26460#[test]
26461fn bindgen_test_layout__GTypeModule() {
26462    const UNINIT: ::std::mem::MaybeUninit<_GTypeModule> = ::std::mem::MaybeUninit::uninit();
26463    let ptr = UNINIT.as_ptr();
26464    assert_eq!(
26465        ::std::mem::size_of::<_GTypeModule>(),
26466        56usize,
26467        concat!("Size of: ", stringify!(_GTypeModule))
26468    );
26469    assert_eq!(
26470        ::std::mem::align_of::<_GTypeModule>(),
26471        8usize,
26472        concat!("Alignment of ", stringify!(_GTypeModule))
26473    );
26474    assert_eq!(
26475        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
26476        0usize,
26477        concat!(
26478            "Offset of field: ",
26479            stringify!(_GTypeModule),
26480            "::",
26481            stringify!(parent_instance)
26482        )
26483    );
26484    assert_eq!(
26485        unsafe { ::std::ptr::addr_of!((*ptr).use_count) as usize - ptr as usize },
26486        24usize,
26487        concat!(
26488            "Offset of field: ",
26489            stringify!(_GTypeModule),
26490            "::",
26491            stringify!(use_count)
26492        )
26493    );
26494    assert_eq!(
26495        unsafe { ::std::ptr::addr_of!((*ptr).type_infos) as usize - ptr as usize },
26496        32usize,
26497        concat!(
26498            "Offset of field: ",
26499            stringify!(_GTypeModule),
26500            "::",
26501            stringify!(type_infos)
26502        )
26503    );
26504    assert_eq!(
26505        unsafe { ::std::ptr::addr_of!((*ptr).interface_infos) as usize - ptr as usize },
26506        40usize,
26507        concat!(
26508            "Offset of field: ",
26509            stringify!(_GTypeModule),
26510            "::",
26511            stringify!(interface_infos)
26512        )
26513    );
26514    assert_eq!(
26515        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
26516        48usize,
26517        concat!(
26518            "Offset of field: ",
26519            stringify!(_GTypeModule),
26520            "::",
26521            stringify!(name)
26522        )
26523    );
26524}
26525#[repr(C)]
26526#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26527pub struct _GTypeModuleClass {
26528    pub parent_class: GObjectClass,
26529    pub load: ::std::option::Option<unsafe extern "C" fn(module: *mut GTypeModule) -> gboolean>,
26530    pub unload: ::std::option::Option<unsafe extern "C" fn(module: *mut GTypeModule)>,
26531    pub reserved1: ::std::option::Option<unsafe extern "C" fn()>,
26532    pub reserved2: ::std::option::Option<unsafe extern "C" fn()>,
26533    pub reserved3: ::std::option::Option<unsafe extern "C" fn()>,
26534    pub reserved4: ::std::option::Option<unsafe extern "C" fn()>,
26535}
26536#[test]
26537fn bindgen_test_layout__GTypeModuleClass() {
26538    const UNINIT: ::std::mem::MaybeUninit<_GTypeModuleClass> = ::std::mem::MaybeUninit::uninit();
26539    let ptr = UNINIT.as_ptr();
26540    assert_eq!(
26541        ::std::mem::size_of::<_GTypeModuleClass>(),
26542        184usize,
26543        concat!("Size of: ", stringify!(_GTypeModuleClass))
26544    );
26545    assert_eq!(
26546        ::std::mem::align_of::<_GTypeModuleClass>(),
26547        8usize,
26548        concat!("Alignment of ", stringify!(_GTypeModuleClass))
26549    );
26550    assert_eq!(
26551        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
26552        0usize,
26553        concat!(
26554            "Offset of field: ",
26555            stringify!(_GTypeModuleClass),
26556            "::",
26557            stringify!(parent_class)
26558        )
26559    );
26560    assert_eq!(
26561        unsafe { ::std::ptr::addr_of!((*ptr).load) as usize - ptr as usize },
26562        136usize,
26563        concat!(
26564            "Offset of field: ",
26565            stringify!(_GTypeModuleClass),
26566            "::",
26567            stringify!(load)
26568        )
26569    );
26570    assert_eq!(
26571        unsafe { ::std::ptr::addr_of!((*ptr).unload) as usize - ptr as usize },
26572        144usize,
26573        concat!(
26574            "Offset of field: ",
26575            stringify!(_GTypeModuleClass),
26576            "::",
26577            stringify!(unload)
26578        )
26579    );
26580    assert_eq!(
26581        unsafe { ::std::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
26582        152usize,
26583        concat!(
26584            "Offset of field: ",
26585            stringify!(_GTypeModuleClass),
26586            "::",
26587            stringify!(reserved1)
26588        )
26589    );
26590    assert_eq!(
26591        unsafe { ::std::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
26592        160usize,
26593        concat!(
26594            "Offset of field: ",
26595            stringify!(_GTypeModuleClass),
26596            "::",
26597            stringify!(reserved2)
26598        )
26599    );
26600    assert_eq!(
26601        unsafe { ::std::ptr::addr_of!((*ptr).reserved3) as usize - ptr as usize },
26602        168usize,
26603        concat!(
26604            "Offset of field: ",
26605            stringify!(_GTypeModuleClass),
26606            "::",
26607            stringify!(reserved3)
26608        )
26609    );
26610    assert_eq!(
26611        unsafe { ::std::ptr::addr_of!((*ptr).reserved4) as usize - ptr as usize },
26612        176usize,
26613        concat!(
26614            "Offset of field: ",
26615            stringify!(_GTypeModuleClass),
26616            "::",
26617            stringify!(reserved4)
26618        )
26619    );
26620}
26621extern "C" {
26622    pub fn g_type_module_get_type() -> GType;
26623}
26624extern "C" {
26625    pub fn g_type_module_use(module: *mut GTypeModule) -> gboolean;
26626}
26627extern "C" {
26628    pub fn g_type_module_unuse(module: *mut GTypeModule);
26629}
26630extern "C" {
26631    pub fn g_type_module_set_name(module: *mut GTypeModule, name: *const gchar);
26632}
26633extern "C" {
26634    pub fn g_type_module_register_type(
26635        module: *mut GTypeModule,
26636        parent_type: GType,
26637        type_name: *const gchar,
26638        type_info: *const GTypeInfo,
26639        flags: GTypeFlags,
26640    ) -> GType;
26641}
26642extern "C" {
26643    pub fn g_type_module_add_interface(
26644        module: *mut GTypeModule,
26645        instance_type: GType,
26646        interface_type: GType,
26647        interface_info: *const GInterfaceInfo,
26648    );
26649}
26650extern "C" {
26651    pub fn g_type_module_register_enum(
26652        module: *mut GTypeModule,
26653        name: *const gchar,
26654        const_static_values: *const GEnumValue,
26655    ) -> GType;
26656}
26657extern "C" {
26658    pub fn g_type_module_register_flags(
26659        module: *mut GTypeModule,
26660        name: *const gchar,
26661        const_static_values: *const GFlagsValue,
26662    ) -> GType;
26663}
26664pub type GTypePluginClass = _GTypePluginClass;
26665pub type GTypePluginUse = ::std::option::Option<unsafe extern "C" fn(plugin: *mut GTypePlugin)>;
26666pub type GTypePluginUnuse = ::std::option::Option<unsafe extern "C" fn(plugin: *mut GTypePlugin)>;
26667pub type GTypePluginCompleteTypeInfo = ::std::option::Option<
26668    unsafe extern "C" fn(
26669        plugin: *mut GTypePlugin,
26670        g_type: GType,
26671        info: *mut GTypeInfo,
26672        value_table: *mut GTypeValueTable,
26673    ),
26674>;
26675pub type GTypePluginCompleteInterfaceInfo = ::std::option::Option<
26676    unsafe extern "C" fn(
26677        plugin: *mut GTypePlugin,
26678        instance_type: GType,
26679        interface_type: GType,
26680        info: *mut GInterfaceInfo,
26681    ),
26682>;
26683#[repr(C)]
26684#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26685pub struct _GTypePluginClass {
26686    pub base_iface: GTypeInterface,
26687    pub use_plugin: GTypePluginUse,
26688    pub unuse_plugin: GTypePluginUnuse,
26689    pub complete_type_info: GTypePluginCompleteTypeInfo,
26690    pub complete_interface_info: GTypePluginCompleteInterfaceInfo,
26691}
26692#[test]
26693fn bindgen_test_layout__GTypePluginClass() {
26694    const UNINIT: ::std::mem::MaybeUninit<_GTypePluginClass> = ::std::mem::MaybeUninit::uninit();
26695    let ptr = UNINIT.as_ptr();
26696    assert_eq!(
26697        ::std::mem::size_of::<_GTypePluginClass>(),
26698        48usize,
26699        concat!("Size of: ", stringify!(_GTypePluginClass))
26700    );
26701    assert_eq!(
26702        ::std::mem::align_of::<_GTypePluginClass>(),
26703        8usize,
26704        concat!("Alignment of ", stringify!(_GTypePluginClass))
26705    );
26706    assert_eq!(
26707        unsafe { ::std::ptr::addr_of!((*ptr).base_iface) as usize - ptr as usize },
26708        0usize,
26709        concat!(
26710            "Offset of field: ",
26711            stringify!(_GTypePluginClass),
26712            "::",
26713            stringify!(base_iface)
26714        )
26715    );
26716    assert_eq!(
26717        unsafe { ::std::ptr::addr_of!((*ptr).use_plugin) as usize - ptr as usize },
26718        16usize,
26719        concat!(
26720            "Offset of field: ",
26721            stringify!(_GTypePluginClass),
26722            "::",
26723            stringify!(use_plugin)
26724        )
26725    );
26726    assert_eq!(
26727        unsafe { ::std::ptr::addr_of!((*ptr).unuse_plugin) as usize - ptr as usize },
26728        24usize,
26729        concat!(
26730            "Offset of field: ",
26731            stringify!(_GTypePluginClass),
26732            "::",
26733            stringify!(unuse_plugin)
26734        )
26735    );
26736    assert_eq!(
26737        unsafe { ::std::ptr::addr_of!((*ptr).complete_type_info) as usize - ptr as usize },
26738        32usize,
26739        concat!(
26740            "Offset of field: ",
26741            stringify!(_GTypePluginClass),
26742            "::",
26743            stringify!(complete_type_info)
26744        )
26745    );
26746    assert_eq!(
26747        unsafe { ::std::ptr::addr_of!((*ptr).complete_interface_info) as usize - ptr as usize },
26748        40usize,
26749        concat!(
26750            "Offset of field: ",
26751            stringify!(_GTypePluginClass),
26752            "::",
26753            stringify!(complete_interface_info)
26754        )
26755    );
26756}
26757extern "C" {
26758    pub fn g_type_plugin_get_type() -> GType;
26759}
26760extern "C" {
26761    pub fn g_type_plugin_use(plugin: *mut GTypePlugin);
26762}
26763extern "C" {
26764    pub fn g_type_plugin_unuse(plugin: *mut GTypePlugin);
26765}
26766extern "C" {
26767    pub fn g_type_plugin_complete_type_info(
26768        plugin: *mut GTypePlugin,
26769        g_type: GType,
26770        info: *mut GTypeInfo,
26771        value_table: *mut GTypeValueTable,
26772    );
26773}
26774extern "C" {
26775    pub fn g_type_plugin_complete_interface_info(
26776        plugin: *mut GTypePlugin,
26777        instance_type: GType,
26778        interface_type: GType,
26779        info: *mut GInterfaceInfo,
26780    );
26781}
26782pub type GValueArray = _GValueArray;
26783#[repr(C)]
26784#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26785pub struct _GValueArray {
26786    pub n_values: guint,
26787    pub values: *mut GValue,
26788    pub n_prealloced: guint,
26789}
26790#[test]
26791fn bindgen_test_layout__GValueArray() {
26792    const UNINIT: ::std::mem::MaybeUninit<_GValueArray> = ::std::mem::MaybeUninit::uninit();
26793    let ptr = UNINIT.as_ptr();
26794    assert_eq!(
26795        ::std::mem::size_of::<_GValueArray>(),
26796        24usize,
26797        concat!("Size of: ", stringify!(_GValueArray))
26798    );
26799    assert_eq!(
26800        ::std::mem::align_of::<_GValueArray>(),
26801        8usize,
26802        concat!("Alignment of ", stringify!(_GValueArray))
26803    );
26804    assert_eq!(
26805        unsafe { ::std::ptr::addr_of!((*ptr).n_values) as usize - ptr as usize },
26806        0usize,
26807        concat!(
26808            "Offset of field: ",
26809            stringify!(_GValueArray),
26810            "::",
26811            stringify!(n_values)
26812        )
26813    );
26814    assert_eq!(
26815        unsafe { ::std::ptr::addr_of!((*ptr).values) as usize - ptr as usize },
26816        8usize,
26817        concat!(
26818            "Offset of field: ",
26819            stringify!(_GValueArray),
26820            "::",
26821            stringify!(values)
26822        )
26823    );
26824    assert_eq!(
26825        unsafe { ::std::ptr::addr_of!((*ptr).n_prealloced) as usize - ptr as usize },
26826        16usize,
26827        concat!(
26828            "Offset of field: ",
26829            stringify!(_GValueArray),
26830            "::",
26831            stringify!(n_prealloced)
26832        )
26833    );
26834}
26835extern "C" {
26836    pub fn g_value_array_get_type() -> GType;
26837}
26838extern "C" {
26839    pub fn g_value_array_get_nth(value_array: *mut GValueArray, index_: guint) -> *mut GValue;
26840}
26841extern "C" {
26842    pub fn g_value_array_new(n_prealloced: guint) -> *mut GValueArray;
26843}
26844extern "C" {
26845    pub fn g_value_array_free(value_array: *mut GValueArray);
26846}
26847extern "C" {
26848    pub fn g_value_array_copy(value_array: *const GValueArray) -> *mut GValueArray;
26849}
26850extern "C" {
26851    pub fn g_value_array_prepend(
26852        value_array: *mut GValueArray,
26853        value: *const GValue,
26854    ) -> *mut GValueArray;
26855}
26856extern "C" {
26857    pub fn g_value_array_append(
26858        value_array: *mut GValueArray,
26859        value: *const GValue,
26860    ) -> *mut GValueArray;
26861}
26862extern "C" {
26863    pub fn g_value_array_insert(
26864        value_array: *mut GValueArray,
26865        index_: guint,
26866        value: *const GValue,
26867    ) -> *mut GValueArray;
26868}
26869extern "C" {
26870    pub fn g_value_array_remove(value_array: *mut GValueArray, index_: guint) -> *mut GValueArray;
26871}
26872extern "C" {
26873    pub fn g_value_array_sort(
26874        value_array: *mut GValueArray,
26875        compare_func: GCompareFunc,
26876    ) -> *mut GValueArray;
26877}
26878extern "C" {
26879    pub fn g_value_array_sort_with_data(
26880        value_array: *mut GValueArray,
26881        compare_func: GCompareDataFunc,
26882        user_data: gpointer,
26883    ) -> *mut GValueArray;
26884}
26885extern "C" {
26886    pub fn g_value_set_char(value: *mut GValue, v_char: gchar);
26887}
26888extern "C" {
26889    pub fn g_value_get_char(value: *const GValue) -> gchar;
26890}
26891extern "C" {
26892    pub fn g_value_set_schar(value: *mut GValue, v_char: gint8);
26893}
26894extern "C" {
26895    pub fn g_value_get_schar(value: *const GValue) -> gint8;
26896}
26897extern "C" {
26898    pub fn g_value_set_uchar(value: *mut GValue, v_uchar: guchar);
26899}
26900extern "C" {
26901    pub fn g_value_get_uchar(value: *const GValue) -> guchar;
26902}
26903extern "C" {
26904    pub fn g_value_set_boolean(value: *mut GValue, v_boolean: gboolean);
26905}
26906extern "C" {
26907    pub fn g_value_get_boolean(value: *const GValue) -> gboolean;
26908}
26909extern "C" {
26910    pub fn g_value_set_int(value: *mut GValue, v_int: gint);
26911}
26912extern "C" {
26913    pub fn g_value_get_int(value: *const GValue) -> gint;
26914}
26915extern "C" {
26916    pub fn g_value_set_uint(value: *mut GValue, v_uint: guint);
26917}
26918extern "C" {
26919    pub fn g_value_get_uint(value: *const GValue) -> guint;
26920}
26921extern "C" {
26922    pub fn g_value_set_long(value: *mut GValue, v_long: glong);
26923}
26924extern "C" {
26925    pub fn g_value_get_long(value: *const GValue) -> glong;
26926}
26927extern "C" {
26928    pub fn g_value_set_ulong(value: *mut GValue, v_ulong: gulong);
26929}
26930extern "C" {
26931    pub fn g_value_get_ulong(value: *const GValue) -> gulong;
26932}
26933extern "C" {
26934    pub fn g_value_set_int64(value: *mut GValue, v_int64: gint64);
26935}
26936extern "C" {
26937    pub fn g_value_get_int64(value: *const GValue) -> gint64;
26938}
26939extern "C" {
26940    pub fn g_value_set_uint64(value: *mut GValue, v_uint64: guint64);
26941}
26942extern "C" {
26943    pub fn g_value_get_uint64(value: *const GValue) -> guint64;
26944}
26945extern "C" {
26946    pub fn g_value_set_float(value: *mut GValue, v_float: gfloat);
26947}
26948extern "C" {
26949    pub fn g_value_get_float(value: *const GValue) -> gfloat;
26950}
26951extern "C" {
26952    pub fn g_value_set_double(value: *mut GValue, v_double: gdouble);
26953}
26954extern "C" {
26955    pub fn g_value_get_double(value: *const GValue) -> gdouble;
26956}
26957extern "C" {
26958    pub fn g_value_set_string(value: *mut GValue, v_string: *const gchar);
26959}
26960extern "C" {
26961    pub fn g_value_set_static_string(value: *mut GValue, v_string: *const gchar);
26962}
26963extern "C" {
26964    pub fn g_value_set_interned_string(value: *mut GValue, v_string: *const gchar);
26965}
26966extern "C" {
26967    pub fn g_value_get_string(value: *const GValue) -> *const gchar;
26968}
26969extern "C" {
26970    pub fn g_value_dup_string(value: *const GValue) -> *mut gchar;
26971}
26972extern "C" {
26973    pub fn g_value_set_pointer(value: *mut GValue, v_pointer: gpointer);
26974}
26975extern "C" {
26976    pub fn g_value_get_pointer(value: *const GValue) -> gpointer;
26977}
26978extern "C" {
26979    pub fn g_gtype_get_type() -> GType;
26980}
26981extern "C" {
26982    pub fn g_value_set_gtype(value: *mut GValue, v_gtype: GType);
26983}
26984extern "C" {
26985    pub fn g_value_get_gtype(value: *const GValue) -> GType;
26986}
26987extern "C" {
26988    pub fn g_value_set_variant(value: *mut GValue, variant: *mut GVariant);
26989}
26990extern "C" {
26991    pub fn g_value_take_variant(value: *mut GValue, variant: *mut GVariant);
26992}
26993extern "C" {
26994    pub fn g_value_get_variant(value: *const GValue) -> *mut GVariant;
26995}
26996extern "C" {
26997    pub fn g_value_dup_variant(value: *const GValue) -> *mut GVariant;
26998}
26999extern "C" {
27000    pub fn g_pointer_type_register_static(name: *const gchar) -> GType;
27001}
27002extern "C" {
27003    pub fn g_strdup_value_contents(value: *const GValue) -> *mut gchar;
27004}
27005extern "C" {
27006    pub fn g_value_take_string(value: *mut GValue, v_string: *mut gchar);
27007}
27008extern "C" {
27009    pub fn g_value_set_string_take_ownership(value: *mut GValue, v_string: *mut gchar);
27010}
27011pub type gchararray = *mut gchar;
27012pub type GClosure_autoptr = *mut GClosure;
27013pub type GClosure_listautoptr = *mut GList;
27014pub type GClosure_slistautoptr = *mut GSList;
27015pub type GClosure_queueautoptr = *mut GQueue;
27016pub type GEnumClass_autoptr = *mut GEnumClass;
27017pub type GEnumClass_listautoptr = *mut GList;
27018pub type GEnumClass_slistautoptr = *mut GSList;
27019pub type GEnumClass_queueautoptr = *mut GQueue;
27020pub type GFlagsClass_autoptr = *mut GFlagsClass;
27021pub type GFlagsClass_listautoptr = *mut GList;
27022pub type GFlagsClass_slistautoptr = *mut GSList;
27023pub type GFlagsClass_queueautoptr = *mut GQueue;
27024pub type GObject_autoptr = *mut GObject;
27025pub type GObject_listautoptr = *mut GList;
27026pub type GObject_slistautoptr = *mut GSList;
27027pub type GObject_queueautoptr = *mut GQueue;
27028pub type GInitiallyUnowned_autoptr = *mut GInitiallyUnowned;
27029pub type GInitiallyUnowned_listautoptr = *mut GList;
27030pub type GInitiallyUnowned_slistautoptr = *mut GSList;
27031pub type GInitiallyUnowned_queueautoptr = *mut GQueue;
27032pub type GParamSpec_autoptr = *mut GParamSpec;
27033pub type GParamSpec_listautoptr = *mut GList;
27034pub type GParamSpec_slistautoptr = *mut GSList;
27035pub type GParamSpec_queueautoptr = *mut GQueue;
27036pub type GTypeClass_autoptr = *mut GTypeClass;
27037pub type GTypeClass_listautoptr = *mut GList;
27038pub type GTypeClass_slistautoptr = *mut GSList;
27039pub type GTypeClass_queueautoptr = *mut GQueue;
27040pub const GAppInfoCreateFlags_G_APP_INFO_CREATE_NONE: GAppInfoCreateFlags = 0;
27041pub const GAppInfoCreateFlags_G_APP_INFO_CREATE_NEEDS_TERMINAL: GAppInfoCreateFlags = 1;
27042pub const GAppInfoCreateFlags_G_APP_INFO_CREATE_SUPPORTS_URIS: GAppInfoCreateFlags = 2;
27043pub const GAppInfoCreateFlags_G_APP_INFO_CREATE_SUPPORTS_STARTUP_NOTIFICATION: GAppInfoCreateFlags =
27044    4;
27045pub type GAppInfoCreateFlags = ::std::os::raw::c_uint;
27046pub const GConverterFlags_G_CONVERTER_NO_FLAGS: GConverterFlags = 0;
27047pub const GConverterFlags_G_CONVERTER_INPUT_AT_END: GConverterFlags = 1;
27048pub const GConverterFlags_G_CONVERTER_FLUSH: GConverterFlags = 2;
27049pub type GConverterFlags = ::std::os::raw::c_uint;
27050pub const GConverterResult_G_CONVERTER_ERROR: GConverterResult = 0;
27051pub const GConverterResult_G_CONVERTER_CONVERTED: GConverterResult = 1;
27052pub const GConverterResult_G_CONVERTER_FINISHED: GConverterResult = 2;
27053pub const GConverterResult_G_CONVERTER_FLUSHED: GConverterResult = 3;
27054pub type GConverterResult = ::std::os::raw::c_uint;
27055pub const GDataStreamByteOrder_G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN: GDataStreamByteOrder = 0;
27056pub const GDataStreamByteOrder_G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN: GDataStreamByteOrder = 1;
27057pub const GDataStreamByteOrder_G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN: GDataStreamByteOrder = 2;
27058pub type GDataStreamByteOrder = ::std::os::raw::c_uint;
27059pub const GDataStreamNewlineType_G_DATA_STREAM_NEWLINE_TYPE_LF: GDataStreamNewlineType = 0;
27060pub const GDataStreamNewlineType_G_DATA_STREAM_NEWLINE_TYPE_CR: GDataStreamNewlineType = 1;
27061pub const GDataStreamNewlineType_G_DATA_STREAM_NEWLINE_TYPE_CR_LF: GDataStreamNewlineType = 2;
27062pub const GDataStreamNewlineType_G_DATA_STREAM_NEWLINE_TYPE_ANY: GDataStreamNewlineType = 3;
27063pub type GDataStreamNewlineType = ::std::os::raw::c_uint;
27064pub const GFileAttributeType_G_FILE_ATTRIBUTE_TYPE_INVALID: GFileAttributeType = 0;
27065pub const GFileAttributeType_G_FILE_ATTRIBUTE_TYPE_STRING: GFileAttributeType = 1;
27066pub const GFileAttributeType_G_FILE_ATTRIBUTE_TYPE_BYTE_STRING: GFileAttributeType = 2;
27067pub const GFileAttributeType_G_FILE_ATTRIBUTE_TYPE_BOOLEAN: GFileAttributeType = 3;
27068pub const GFileAttributeType_G_FILE_ATTRIBUTE_TYPE_UINT32: GFileAttributeType = 4;
27069pub const GFileAttributeType_G_FILE_ATTRIBUTE_TYPE_INT32: GFileAttributeType = 5;
27070pub const GFileAttributeType_G_FILE_ATTRIBUTE_TYPE_UINT64: GFileAttributeType = 6;
27071pub const GFileAttributeType_G_FILE_ATTRIBUTE_TYPE_INT64: GFileAttributeType = 7;
27072pub const GFileAttributeType_G_FILE_ATTRIBUTE_TYPE_OBJECT: GFileAttributeType = 8;
27073pub const GFileAttributeType_G_FILE_ATTRIBUTE_TYPE_STRINGV: GFileAttributeType = 9;
27074pub type GFileAttributeType = ::std::os::raw::c_uint;
27075pub const GFileAttributeInfoFlags_G_FILE_ATTRIBUTE_INFO_NONE: GFileAttributeInfoFlags = 0;
27076pub const GFileAttributeInfoFlags_G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE: GFileAttributeInfoFlags = 1;
27077pub const GFileAttributeInfoFlags_G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED: GFileAttributeInfoFlags =
27078    2;
27079pub type GFileAttributeInfoFlags = ::std::os::raw::c_uint;
27080pub const GFileAttributeStatus_G_FILE_ATTRIBUTE_STATUS_UNSET: GFileAttributeStatus = 0;
27081pub const GFileAttributeStatus_G_FILE_ATTRIBUTE_STATUS_SET: GFileAttributeStatus = 1;
27082pub const GFileAttributeStatus_G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING: GFileAttributeStatus = 2;
27083pub type GFileAttributeStatus = ::std::os::raw::c_uint;
27084pub const GFileQueryInfoFlags_G_FILE_QUERY_INFO_NONE: GFileQueryInfoFlags = 0;
27085pub const GFileQueryInfoFlags_G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS: GFileQueryInfoFlags = 1;
27086pub type GFileQueryInfoFlags = ::std::os::raw::c_uint;
27087pub const GFileCreateFlags_G_FILE_CREATE_NONE: GFileCreateFlags = 0;
27088pub const GFileCreateFlags_G_FILE_CREATE_PRIVATE: GFileCreateFlags = 1;
27089pub const GFileCreateFlags_G_FILE_CREATE_REPLACE_DESTINATION: GFileCreateFlags = 2;
27090pub type GFileCreateFlags = ::std::os::raw::c_uint;
27091pub const GFileMeasureFlags_G_FILE_MEASURE_NONE: GFileMeasureFlags = 0;
27092pub const GFileMeasureFlags_G_FILE_MEASURE_REPORT_ANY_ERROR: GFileMeasureFlags = 2;
27093pub const GFileMeasureFlags_G_FILE_MEASURE_APPARENT_SIZE: GFileMeasureFlags = 4;
27094pub const GFileMeasureFlags_G_FILE_MEASURE_NO_XDEV: GFileMeasureFlags = 8;
27095pub type GFileMeasureFlags = ::std::os::raw::c_uint;
27096pub const GMountMountFlags_G_MOUNT_MOUNT_NONE: GMountMountFlags = 0;
27097pub type GMountMountFlags = ::std::os::raw::c_uint;
27098pub const GMountUnmountFlags_G_MOUNT_UNMOUNT_NONE: GMountUnmountFlags = 0;
27099pub const GMountUnmountFlags_G_MOUNT_UNMOUNT_FORCE: GMountUnmountFlags = 1;
27100pub type GMountUnmountFlags = ::std::os::raw::c_uint;
27101pub const GDriveStartFlags_G_DRIVE_START_NONE: GDriveStartFlags = 0;
27102pub type GDriveStartFlags = ::std::os::raw::c_uint;
27103pub const GDriveStartStopType_G_DRIVE_START_STOP_TYPE_UNKNOWN: GDriveStartStopType = 0;
27104pub const GDriveStartStopType_G_DRIVE_START_STOP_TYPE_SHUTDOWN: GDriveStartStopType = 1;
27105pub const GDriveStartStopType_G_DRIVE_START_STOP_TYPE_NETWORK: GDriveStartStopType = 2;
27106pub const GDriveStartStopType_G_DRIVE_START_STOP_TYPE_MULTIDISK: GDriveStartStopType = 3;
27107pub const GDriveStartStopType_G_DRIVE_START_STOP_TYPE_PASSWORD: GDriveStartStopType = 4;
27108pub type GDriveStartStopType = ::std::os::raw::c_uint;
27109pub const GFileCopyFlags_G_FILE_COPY_NONE: GFileCopyFlags = 0;
27110pub const GFileCopyFlags_G_FILE_COPY_OVERWRITE: GFileCopyFlags = 1;
27111pub const GFileCopyFlags_G_FILE_COPY_BACKUP: GFileCopyFlags = 2;
27112pub const GFileCopyFlags_G_FILE_COPY_NOFOLLOW_SYMLINKS: GFileCopyFlags = 4;
27113pub const GFileCopyFlags_G_FILE_COPY_ALL_METADATA: GFileCopyFlags = 8;
27114pub const GFileCopyFlags_G_FILE_COPY_NO_FALLBACK_FOR_MOVE: GFileCopyFlags = 16;
27115pub const GFileCopyFlags_G_FILE_COPY_TARGET_DEFAULT_PERMS: GFileCopyFlags = 32;
27116pub type GFileCopyFlags = ::std::os::raw::c_uint;
27117pub const GFileMonitorFlags_G_FILE_MONITOR_NONE: GFileMonitorFlags = 0;
27118pub const GFileMonitorFlags_G_FILE_MONITOR_WATCH_MOUNTS: GFileMonitorFlags = 1;
27119pub const GFileMonitorFlags_G_FILE_MONITOR_SEND_MOVED: GFileMonitorFlags = 2;
27120pub const GFileMonitorFlags_G_FILE_MONITOR_WATCH_HARD_LINKS: GFileMonitorFlags = 4;
27121pub const GFileMonitorFlags_G_FILE_MONITOR_WATCH_MOVES: GFileMonitorFlags = 8;
27122pub type GFileMonitorFlags = ::std::os::raw::c_uint;
27123pub const GFileType_G_FILE_TYPE_UNKNOWN: GFileType = 0;
27124pub const GFileType_G_FILE_TYPE_REGULAR: GFileType = 1;
27125pub const GFileType_G_FILE_TYPE_DIRECTORY: GFileType = 2;
27126pub const GFileType_G_FILE_TYPE_SYMBOLIC_LINK: GFileType = 3;
27127pub const GFileType_G_FILE_TYPE_SPECIAL: GFileType = 4;
27128pub const GFileType_G_FILE_TYPE_SHORTCUT: GFileType = 5;
27129pub const GFileType_G_FILE_TYPE_MOUNTABLE: GFileType = 6;
27130pub type GFileType = ::std::os::raw::c_uint;
27131pub const GFilesystemPreviewType_G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS: GFilesystemPreviewType = 0;
27132pub const GFilesystemPreviewType_G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL: GFilesystemPreviewType = 1;
27133pub const GFilesystemPreviewType_G_FILESYSTEM_PREVIEW_TYPE_NEVER: GFilesystemPreviewType = 2;
27134pub type GFilesystemPreviewType = ::std::os::raw::c_uint;
27135pub const GFileMonitorEvent_G_FILE_MONITOR_EVENT_CHANGED: GFileMonitorEvent = 0;
27136pub const GFileMonitorEvent_G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT: GFileMonitorEvent = 1;
27137pub const GFileMonitorEvent_G_FILE_MONITOR_EVENT_DELETED: GFileMonitorEvent = 2;
27138pub const GFileMonitorEvent_G_FILE_MONITOR_EVENT_CREATED: GFileMonitorEvent = 3;
27139pub const GFileMonitorEvent_G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED: GFileMonitorEvent = 4;
27140pub const GFileMonitorEvent_G_FILE_MONITOR_EVENT_PRE_UNMOUNT: GFileMonitorEvent = 5;
27141pub const GFileMonitorEvent_G_FILE_MONITOR_EVENT_UNMOUNTED: GFileMonitorEvent = 6;
27142pub const GFileMonitorEvent_G_FILE_MONITOR_EVENT_MOVED: GFileMonitorEvent = 7;
27143pub const GFileMonitorEvent_G_FILE_MONITOR_EVENT_RENAMED: GFileMonitorEvent = 8;
27144pub const GFileMonitorEvent_G_FILE_MONITOR_EVENT_MOVED_IN: GFileMonitorEvent = 9;
27145pub const GFileMonitorEvent_G_FILE_MONITOR_EVENT_MOVED_OUT: GFileMonitorEvent = 10;
27146pub type GFileMonitorEvent = ::std::os::raw::c_uint;
27147pub const GIOErrorEnum_G_IO_ERROR_FAILED: GIOErrorEnum = 0;
27148pub const GIOErrorEnum_G_IO_ERROR_NOT_FOUND: GIOErrorEnum = 1;
27149pub const GIOErrorEnum_G_IO_ERROR_EXISTS: GIOErrorEnum = 2;
27150pub const GIOErrorEnum_G_IO_ERROR_IS_DIRECTORY: GIOErrorEnum = 3;
27151pub const GIOErrorEnum_G_IO_ERROR_NOT_DIRECTORY: GIOErrorEnum = 4;
27152pub const GIOErrorEnum_G_IO_ERROR_NOT_EMPTY: GIOErrorEnum = 5;
27153pub const GIOErrorEnum_G_IO_ERROR_NOT_REGULAR_FILE: GIOErrorEnum = 6;
27154pub const GIOErrorEnum_G_IO_ERROR_NOT_SYMBOLIC_LINK: GIOErrorEnum = 7;
27155pub const GIOErrorEnum_G_IO_ERROR_NOT_MOUNTABLE_FILE: GIOErrorEnum = 8;
27156pub const GIOErrorEnum_G_IO_ERROR_FILENAME_TOO_LONG: GIOErrorEnum = 9;
27157pub const GIOErrorEnum_G_IO_ERROR_INVALID_FILENAME: GIOErrorEnum = 10;
27158pub const GIOErrorEnum_G_IO_ERROR_TOO_MANY_LINKS: GIOErrorEnum = 11;
27159pub const GIOErrorEnum_G_IO_ERROR_NO_SPACE: GIOErrorEnum = 12;
27160pub const GIOErrorEnum_G_IO_ERROR_INVALID_ARGUMENT: GIOErrorEnum = 13;
27161pub const GIOErrorEnum_G_IO_ERROR_PERMISSION_DENIED: GIOErrorEnum = 14;
27162pub const GIOErrorEnum_G_IO_ERROR_NOT_SUPPORTED: GIOErrorEnum = 15;
27163pub const GIOErrorEnum_G_IO_ERROR_NOT_MOUNTED: GIOErrorEnum = 16;
27164pub const GIOErrorEnum_G_IO_ERROR_ALREADY_MOUNTED: GIOErrorEnum = 17;
27165pub const GIOErrorEnum_G_IO_ERROR_CLOSED: GIOErrorEnum = 18;
27166pub const GIOErrorEnum_G_IO_ERROR_CANCELLED: GIOErrorEnum = 19;
27167pub const GIOErrorEnum_G_IO_ERROR_PENDING: GIOErrorEnum = 20;
27168pub const GIOErrorEnum_G_IO_ERROR_READ_ONLY: GIOErrorEnum = 21;
27169pub const GIOErrorEnum_G_IO_ERROR_CANT_CREATE_BACKUP: GIOErrorEnum = 22;
27170pub const GIOErrorEnum_G_IO_ERROR_WRONG_ETAG: GIOErrorEnum = 23;
27171pub const GIOErrorEnum_G_IO_ERROR_TIMED_OUT: GIOErrorEnum = 24;
27172pub const GIOErrorEnum_G_IO_ERROR_WOULD_RECURSE: GIOErrorEnum = 25;
27173pub const GIOErrorEnum_G_IO_ERROR_BUSY: GIOErrorEnum = 26;
27174pub const GIOErrorEnum_G_IO_ERROR_WOULD_BLOCK: GIOErrorEnum = 27;
27175pub const GIOErrorEnum_G_IO_ERROR_HOST_NOT_FOUND: GIOErrorEnum = 28;
27176pub const GIOErrorEnum_G_IO_ERROR_WOULD_MERGE: GIOErrorEnum = 29;
27177pub const GIOErrorEnum_G_IO_ERROR_FAILED_HANDLED: GIOErrorEnum = 30;
27178pub const GIOErrorEnum_G_IO_ERROR_TOO_MANY_OPEN_FILES: GIOErrorEnum = 31;
27179pub const GIOErrorEnum_G_IO_ERROR_NOT_INITIALIZED: GIOErrorEnum = 32;
27180pub const GIOErrorEnum_G_IO_ERROR_ADDRESS_IN_USE: GIOErrorEnum = 33;
27181pub const GIOErrorEnum_G_IO_ERROR_PARTIAL_INPUT: GIOErrorEnum = 34;
27182pub const GIOErrorEnum_G_IO_ERROR_INVALID_DATA: GIOErrorEnum = 35;
27183pub const GIOErrorEnum_G_IO_ERROR_DBUS_ERROR: GIOErrorEnum = 36;
27184pub const GIOErrorEnum_G_IO_ERROR_HOST_UNREACHABLE: GIOErrorEnum = 37;
27185pub const GIOErrorEnum_G_IO_ERROR_NETWORK_UNREACHABLE: GIOErrorEnum = 38;
27186pub const GIOErrorEnum_G_IO_ERROR_CONNECTION_REFUSED: GIOErrorEnum = 39;
27187pub const GIOErrorEnum_G_IO_ERROR_PROXY_FAILED: GIOErrorEnum = 40;
27188pub const GIOErrorEnum_G_IO_ERROR_PROXY_AUTH_FAILED: GIOErrorEnum = 41;
27189pub const GIOErrorEnum_G_IO_ERROR_PROXY_NEED_AUTH: GIOErrorEnum = 42;
27190pub const GIOErrorEnum_G_IO_ERROR_PROXY_NOT_ALLOWED: GIOErrorEnum = 43;
27191pub const GIOErrorEnum_G_IO_ERROR_BROKEN_PIPE: GIOErrorEnum = 44;
27192pub const GIOErrorEnum_G_IO_ERROR_CONNECTION_CLOSED: GIOErrorEnum = 44;
27193pub const GIOErrorEnum_G_IO_ERROR_NOT_CONNECTED: GIOErrorEnum = 45;
27194pub const GIOErrorEnum_G_IO_ERROR_MESSAGE_TOO_LARGE: GIOErrorEnum = 46;
27195pub const GIOErrorEnum_G_IO_ERROR_NO_SUCH_DEVICE: GIOErrorEnum = 47;
27196pub type GIOErrorEnum = ::std::os::raw::c_uint;
27197pub const GAskPasswordFlags_G_ASK_PASSWORD_NEED_PASSWORD: GAskPasswordFlags = 1;
27198pub const GAskPasswordFlags_G_ASK_PASSWORD_NEED_USERNAME: GAskPasswordFlags = 2;
27199pub const GAskPasswordFlags_G_ASK_PASSWORD_NEED_DOMAIN: GAskPasswordFlags = 4;
27200pub const GAskPasswordFlags_G_ASK_PASSWORD_SAVING_SUPPORTED: GAskPasswordFlags = 8;
27201pub const GAskPasswordFlags_G_ASK_PASSWORD_ANONYMOUS_SUPPORTED: GAskPasswordFlags = 16;
27202pub const GAskPasswordFlags_G_ASK_PASSWORD_TCRYPT: GAskPasswordFlags = 32;
27203pub type GAskPasswordFlags = ::std::os::raw::c_uint;
27204pub const GPasswordSave_G_PASSWORD_SAVE_NEVER: GPasswordSave = 0;
27205pub const GPasswordSave_G_PASSWORD_SAVE_FOR_SESSION: GPasswordSave = 1;
27206pub const GPasswordSave_G_PASSWORD_SAVE_PERMANENTLY: GPasswordSave = 2;
27207pub type GPasswordSave = ::std::os::raw::c_uint;
27208pub const GMountOperationResult_G_MOUNT_OPERATION_HANDLED: GMountOperationResult = 0;
27209pub const GMountOperationResult_G_MOUNT_OPERATION_ABORTED: GMountOperationResult = 1;
27210pub const GMountOperationResult_G_MOUNT_OPERATION_UNHANDLED: GMountOperationResult = 2;
27211pub type GMountOperationResult = ::std::os::raw::c_uint;
27212pub const GOutputStreamSpliceFlags_G_OUTPUT_STREAM_SPLICE_NONE: GOutputStreamSpliceFlags = 0;
27213pub const GOutputStreamSpliceFlags_G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE: GOutputStreamSpliceFlags =
27214    1;
27215pub const GOutputStreamSpliceFlags_G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET: GOutputStreamSpliceFlags =
27216    2;
27217pub type GOutputStreamSpliceFlags = ::std::os::raw::c_uint;
27218pub const GIOStreamSpliceFlags_G_IO_STREAM_SPLICE_NONE: GIOStreamSpliceFlags = 0;
27219pub const GIOStreamSpliceFlags_G_IO_STREAM_SPLICE_CLOSE_STREAM1: GIOStreamSpliceFlags = 1;
27220pub const GIOStreamSpliceFlags_G_IO_STREAM_SPLICE_CLOSE_STREAM2: GIOStreamSpliceFlags = 2;
27221pub const GIOStreamSpliceFlags_G_IO_STREAM_SPLICE_WAIT_FOR_BOTH: GIOStreamSpliceFlags = 4;
27222pub type GIOStreamSpliceFlags = ::std::os::raw::c_uint;
27223pub const GEmblemOrigin_G_EMBLEM_ORIGIN_UNKNOWN: GEmblemOrigin = 0;
27224pub const GEmblemOrigin_G_EMBLEM_ORIGIN_DEVICE: GEmblemOrigin = 1;
27225pub const GEmblemOrigin_G_EMBLEM_ORIGIN_LIVEMETADATA: GEmblemOrigin = 2;
27226pub const GEmblemOrigin_G_EMBLEM_ORIGIN_TAG: GEmblemOrigin = 3;
27227pub type GEmblemOrigin = ::std::os::raw::c_uint;
27228pub const GResolverError_G_RESOLVER_ERROR_NOT_FOUND: GResolverError = 0;
27229pub const GResolverError_G_RESOLVER_ERROR_TEMPORARY_FAILURE: GResolverError = 1;
27230pub const GResolverError_G_RESOLVER_ERROR_INTERNAL: GResolverError = 2;
27231pub type GResolverError = ::std::os::raw::c_uint;
27232pub const GResolverRecordType_G_RESOLVER_RECORD_SRV: GResolverRecordType = 1;
27233pub const GResolverRecordType_G_RESOLVER_RECORD_MX: GResolverRecordType = 2;
27234pub const GResolverRecordType_G_RESOLVER_RECORD_TXT: GResolverRecordType = 3;
27235pub const GResolverRecordType_G_RESOLVER_RECORD_SOA: GResolverRecordType = 4;
27236pub const GResolverRecordType_G_RESOLVER_RECORD_NS: GResolverRecordType = 5;
27237pub type GResolverRecordType = ::std::os::raw::c_uint;
27238pub const GResourceError_G_RESOURCE_ERROR_NOT_FOUND: GResourceError = 0;
27239pub const GResourceError_G_RESOURCE_ERROR_INTERNAL: GResourceError = 1;
27240pub type GResourceError = ::std::os::raw::c_uint;
27241pub const GResourceFlags_G_RESOURCE_FLAGS_NONE: GResourceFlags = 0;
27242pub const GResourceFlags_G_RESOURCE_FLAGS_COMPRESSED: GResourceFlags = 1;
27243pub type GResourceFlags = ::std::os::raw::c_uint;
27244pub const GResourceLookupFlags_G_RESOURCE_LOOKUP_FLAGS_NONE: GResourceLookupFlags = 0;
27245pub type GResourceLookupFlags = ::std::os::raw::c_uint;
27246pub const GSocketFamily_G_SOCKET_FAMILY_INVALID: GSocketFamily = 0;
27247pub const GSocketFamily_G_SOCKET_FAMILY_UNIX: GSocketFamily = 1;
27248pub const GSocketFamily_G_SOCKET_FAMILY_IPV4: GSocketFamily = 2;
27249pub const GSocketFamily_G_SOCKET_FAMILY_IPV6: GSocketFamily = 10;
27250pub type GSocketFamily = ::std::os::raw::c_uint;
27251pub const GSocketType_G_SOCKET_TYPE_INVALID: GSocketType = 0;
27252pub const GSocketType_G_SOCKET_TYPE_STREAM: GSocketType = 1;
27253pub const GSocketType_G_SOCKET_TYPE_DATAGRAM: GSocketType = 2;
27254pub const GSocketType_G_SOCKET_TYPE_SEQPACKET: GSocketType = 3;
27255pub type GSocketType = ::std::os::raw::c_uint;
27256pub const GSocketMsgFlags_G_SOCKET_MSG_NONE: GSocketMsgFlags = 0;
27257pub const GSocketMsgFlags_G_SOCKET_MSG_OOB: GSocketMsgFlags = 1;
27258pub const GSocketMsgFlags_G_SOCKET_MSG_PEEK: GSocketMsgFlags = 2;
27259pub const GSocketMsgFlags_G_SOCKET_MSG_DONTROUTE: GSocketMsgFlags = 4;
27260pub type GSocketMsgFlags = ::std::os::raw::c_uint;
27261pub const GSocketProtocol_G_SOCKET_PROTOCOL_UNKNOWN: GSocketProtocol = -1;
27262pub const GSocketProtocol_G_SOCKET_PROTOCOL_DEFAULT: GSocketProtocol = 0;
27263pub const GSocketProtocol_G_SOCKET_PROTOCOL_TCP: GSocketProtocol = 6;
27264pub const GSocketProtocol_G_SOCKET_PROTOCOL_UDP: GSocketProtocol = 17;
27265pub const GSocketProtocol_G_SOCKET_PROTOCOL_SCTP: GSocketProtocol = 132;
27266pub type GSocketProtocol = ::std::os::raw::c_int;
27267pub const GZlibCompressorFormat_G_ZLIB_COMPRESSOR_FORMAT_ZLIB: GZlibCompressorFormat = 0;
27268pub const GZlibCompressorFormat_G_ZLIB_COMPRESSOR_FORMAT_GZIP: GZlibCompressorFormat = 1;
27269pub const GZlibCompressorFormat_G_ZLIB_COMPRESSOR_FORMAT_RAW: GZlibCompressorFormat = 2;
27270pub type GZlibCompressorFormat = ::std::os::raw::c_uint;
27271pub const GUnixSocketAddressType_G_UNIX_SOCKET_ADDRESS_INVALID: GUnixSocketAddressType = 0;
27272pub const GUnixSocketAddressType_G_UNIX_SOCKET_ADDRESS_ANONYMOUS: GUnixSocketAddressType = 1;
27273pub const GUnixSocketAddressType_G_UNIX_SOCKET_ADDRESS_PATH: GUnixSocketAddressType = 2;
27274pub const GUnixSocketAddressType_G_UNIX_SOCKET_ADDRESS_ABSTRACT: GUnixSocketAddressType = 3;
27275pub const GUnixSocketAddressType_G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED: GUnixSocketAddressType = 4;
27276pub type GUnixSocketAddressType = ::std::os::raw::c_uint;
27277pub const GBusType_G_BUS_TYPE_STARTER: GBusType = -1;
27278pub const GBusType_G_BUS_TYPE_NONE: GBusType = 0;
27279pub const GBusType_G_BUS_TYPE_SYSTEM: GBusType = 1;
27280pub const GBusType_G_BUS_TYPE_SESSION: GBusType = 2;
27281pub type GBusType = ::std::os::raw::c_int;
27282pub const GBusNameOwnerFlags_G_BUS_NAME_OWNER_FLAGS_NONE: GBusNameOwnerFlags = 0;
27283pub const GBusNameOwnerFlags_G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT: GBusNameOwnerFlags = 1;
27284pub const GBusNameOwnerFlags_G_BUS_NAME_OWNER_FLAGS_REPLACE: GBusNameOwnerFlags = 2;
27285pub const GBusNameOwnerFlags_G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE: GBusNameOwnerFlags = 4;
27286pub type GBusNameOwnerFlags = ::std::os::raw::c_uint;
27287pub const GBusNameWatcherFlags_G_BUS_NAME_WATCHER_FLAGS_NONE: GBusNameWatcherFlags = 0;
27288pub const GBusNameWatcherFlags_G_BUS_NAME_WATCHER_FLAGS_AUTO_START: GBusNameWatcherFlags = 1;
27289pub type GBusNameWatcherFlags = ::std::os::raw::c_uint;
27290pub const GDBusProxyFlags_G_DBUS_PROXY_FLAGS_NONE: GDBusProxyFlags = 0;
27291pub const GDBusProxyFlags_G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES: GDBusProxyFlags = 1;
27292pub const GDBusProxyFlags_G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS: GDBusProxyFlags = 2;
27293pub const GDBusProxyFlags_G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START: GDBusProxyFlags = 4;
27294pub const GDBusProxyFlags_G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES: GDBusProxyFlags = 8;
27295pub const GDBusProxyFlags_G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION: GDBusProxyFlags =
27296    16;
27297pub const GDBusProxyFlags_G_DBUS_PROXY_FLAGS_NO_MATCH_RULE: GDBusProxyFlags = 32;
27298pub type GDBusProxyFlags = ::std::os::raw::c_uint;
27299pub const GDBusError_G_DBUS_ERROR_FAILED: GDBusError = 0;
27300pub const GDBusError_G_DBUS_ERROR_NO_MEMORY: GDBusError = 1;
27301pub const GDBusError_G_DBUS_ERROR_SERVICE_UNKNOWN: GDBusError = 2;
27302pub const GDBusError_G_DBUS_ERROR_NAME_HAS_NO_OWNER: GDBusError = 3;
27303pub const GDBusError_G_DBUS_ERROR_NO_REPLY: GDBusError = 4;
27304pub const GDBusError_G_DBUS_ERROR_IO_ERROR: GDBusError = 5;
27305pub const GDBusError_G_DBUS_ERROR_BAD_ADDRESS: GDBusError = 6;
27306pub const GDBusError_G_DBUS_ERROR_NOT_SUPPORTED: GDBusError = 7;
27307pub const GDBusError_G_DBUS_ERROR_LIMITS_EXCEEDED: GDBusError = 8;
27308pub const GDBusError_G_DBUS_ERROR_ACCESS_DENIED: GDBusError = 9;
27309pub const GDBusError_G_DBUS_ERROR_AUTH_FAILED: GDBusError = 10;
27310pub const GDBusError_G_DBUS_ERROR_NO_SERVER: GDBusError = 11;
27311pub const GDBusError_G_DBUS_ERROR_TIMEOUT: GDBusError = 12;
27312pub const GDBusError_G_DBUS_ERROR_NO_NETWORK: GDBusError = 13;
27313pub const GDBusError_G_DBUS_ERROR_ADDRESS_IN_USE: GDBusError = 14;
27314pub const GDBusError_G_DBUS_ERROR_DISCONNECTED: GDBusError = 15;
27315pub const GDBusError_G_DBUS_ERROR_INVALID_ARGS: GDBusError = 16;
27316pub const GDBusError_G_DBUS_ERROR_FILE_NOT_FOUND: GDBusError = 17;
27317pub const GDBusError_G_DBUS_ERROR_FILE_EXISTS: GDBusError = 18;
27318pub const GDBusError_G_DBUS_ERROR_UNKNOWN_METHOD: GDBusError = 19;
27319pub const GDBusError_G_DBUS_ERROR_TIMED_OUT: GDBusError = 20;
27320pub const GDBusError_G_DBUS_ERROR_MATCH_RULE_NOT_FOUND: GDBusError = 21;
27321pub const GDBusError_G_DBUS_ERROR_MATCH_RULE_INVALID: GDBusError = 22;
27322pub const GDBusError_G_DBUS_ERROR_SPAWN_EXEC_FAILED: GDBusError = 23;
27323pub const GDBusError_G_DBUS_ERROR_SPAWN_FORK_FAILED: GDBusError = 24;
27324pub const GDBusError_G_DBUS_ERROR_SPAWN_CHILD_EXITED: GDBusError = 25;
27325pub const GDBusError_G_DBUS_ERROR_SPAWN_CHILD_SIGNALED: GDBusError = 26;
27326pub const GDBusError_G_DBUS_ERROR_SPAWN_FAILED: GDBusError = 27;
27327pub const GDBusError_G_DBUS_ERROR_SPAWN_SETUP_FAILED: GDBusError = 28;
27328pub const GDBusError_G_DBUS_ERROR_SPAWN_CONFIG_INVALID: GDBusError = 29;
27329pub const GDBusError_G_DBUS_ERROR_SPAWN_SERVICE_INVALID: GDBusError = 30;
27330pub const GDBusError_G_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND: GDBusError = 31;
27331pub const GDBusError_G_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID: GDBusError = 32;
27332pub const GDBusError_G_DBUS_ERROR_SPAWN_FILE_INVALID: GDBusError = 33;
27333pub const GDBusError_G_DBUS_ERROR_SPAWN_NO_MEMORY: GDBusError = 34;
27334pub const GDBusError_G_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN: GDBusError = 35;
27335pub const GDBusError_G_DBUS_ERROR_INVALID_SIGNATURE: GDBusError = 36;
27336pub const GDBusError_G_DBUS_ERROR_INVALID_FILE_CONTENT: GDBusError = 37;
27337pub const GDBusError_G_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN: GDBusError = 38;
27338pub const GDBusError_G_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN: GDBusError = 39;
27339pub const GDBusError_G_DBUS_ERROR_OBJECT_PATH_IN_USE: GDBusError = 40;
27340pub const GDBusError_G_DBUS_ERROR_UNKNOWN_OBJECT: GDBusError = 41;
27341pub const GDBusError_G_DBUS_ERROR_UNKNOWN_INTERFACE: GDBusError = 42;
27342pub const GDBusError_G_DBUS_ERROR_UNKNOWN_PROPERTY: GDBusError = 43;
27343pub const GDBusError_G_DBUS_ERROR_PROPERTY_READ_ONLY: GDBusError = 44;
27344pub type GDBusError = ::std::os::raw::c_uint;
27345pub const GDBusConnectionFlags_G_DBUS_CONNECTION_FLAGS_NONE: GDBusConnectionFlags = 0;
27346pub const GDBusConnectionFlags_G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT: GDBusConnectionFlags =
27347    1;
27348pub const GDBusConnectionFlags_G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER: GDBusConnectionFlags =
27349    2;
27350pub const GDBusConnectionFlags_G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS:
27351    GDBusConnectionFlags = 4;
27352pub const GDBusConnectionFlags_G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION:
27353    GDBusConnectionFlags = 8;
27354pub const GDBusConnectionFlags_G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING:
27355    GDBusConnectionFlags = 16;
27356pub const GDBusConnectionFlags_G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER:
27357    GDBusConnectionFlags = 32;
27358pub const GDBusConnectionFlags_G_DBUS_CONNECTION_FLAGS_CROSS_NAMESPACE: GDBusConnectionFlags = 64;
27359pub type GDBusConnectionFlags = ::std::os::raw::c_uint;
27360pub const GDBusCapabilityFlags_G_DBUS_CAPABILITY_FLAGS_NONE: GDBusCapabilityFlags = 0;
27361pub const GDBusCapabilityFlags_G_DBUS_CAPABILITY_FLAGS_UNIX_FD_PASSING: GDBusCapabilityFlags = 1;
27362pub type GDBusCapabilityFlags = ::std::os::raw::c_uint;
27363pub const GDBusCallFlags_G_DBUS_CALL_FLAGS_NONE: GDBusCallFlags = 0;
27364pub const GDBusCallFlags_G_DBUS_CALL_FLAGS_NO_AUTO_START: GDBusCallFlags = 1;
27365pub const GDBusCallFlags_G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION: GDBusCallFlags = 2;
27366pub type GDBusCallFlags = ::std::os::raw::c_uint;
27367pub const GDBusMessageType_G_DBUS_MESSAGE_TYPE_INVALID: GDBusMessageType = 0;
27368pub const GDBusMessageType_G_DBUS_MESSAGE_TYPE_METHOD_CALL: GDBusMessageType = 1;
27369pub const GDBusMessageType_G_DBUS_MESSAGE_TYPE_METHOD_RETURN: GDBusMessageType = 2;
27370pub const GDBusMessageType_G_DBUS_MESSAGE_TYPE_ERROR: GDBusMessageType = 3;
27371pub const GDBusMessageType_G_DBUS_MESSAGE_TYPE_SIGNAL: GDBusMessageType = 4;
27372pub type GDBusMessageType = ::std::os::raw::c_uint;
27373pub const GDBusMessageFlags_G_DBUS_MESSAGE_FLAGS_NONE: GDBusMessageFlags = 0;
27374pub const GDBusMessageFlags_G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED: GDBusMessageFlags = 1;
27375pub const GDBusMessageFlags_G_DBUS_MESSAGE_FLAGS_NO_AUTO_START: GDBusMessageFlags = 2;
27376pub const GDBusMessageFlags_G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION:
27377    GDBusMessageFlags = 4;
27378pub type GDBusMessageFlags = ::std::os::raw::c_uint;
27379pub const GDBusMessageHeaderField_G_DBUS_MESSAGE_HEADER_FIELD_INVALID: GDBusMessageHeaderField = 0;
27380pub const GDBusMessageHeaderField_G_DBUS_MESSAGE_HEADER_FIELD_PATH: GDBusMessageHeaderField = 1;
27381pub const GDBusMessageHeaderField_G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE: GDBusMessageHeaderField =
27382    2;
27383pub const GDBusMessageHeaderField_G_DBUS_MESSAGE_HEADER_FIELD_MEMBER: GDBusMessageHeaderField = 3;
27384pub const GDBusMessageHeaderField_G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME: GDBusMessageHeaderField =
27385    4;
27386pub const GDBusMessageHeaderField_G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL:
27387    GDBusMessageHeaderField = 5;
27388pub const GDBusMessageHeaderField_G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION: GDBusMessageHeaderField =
27389    6;
27390pub const GDBusMessageHeaderField_G_DBUS_MESSAGE_HEADER_FIELD_SENDER: GDBusMessageHeaderField = 7;
27391pub const GDBusMessageHeaderField_G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE: GDBusMessageHeaderField =
27392    8;
27393pub const GDBusMessageHeaderField_G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS:
27394    GDBusMessageHeaderField = 9;
27395pub type GDBusMessageHeaderField = ::std::os::raw::c_uint;
27396pub const GDBusPropertyInfoFlags_G_DBUS_PROPERTY_INFO_FLAGS_NONE: GDBusPropertyInfoFlags = 0;
27397pub const GDBusPropertyInfoFlags_G_DBUS_PROPERTY_INFO_FLAGS_READABLE: GDBusPropertyInfoFlags = 1;
27398pub const GDBusPropertyInfoFlags_G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE: GDBusPropertyInfoFlags = 2;
27399pub type GDBusPropertyInfoFlags = ::std::os::raw::c_uint;
27400pub const GDBusSubtreeFlags_G_DBUS_SUBTREE_FLAGS_NONE: GDBusSubtreeFlags = 0;
27401pub const GDBusSubtreeFlags_G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES: GDBusSubtreeFlags =
27402    1;
27403pub type GDBusSubtreeFlags = ::std::os::raw::c_uint;
27404pub const GDBusServerFlags_G_DBUS_SERVER_FLAGS_NONE: GDBusServerFlags = 0;
27405pub const GDBusServerFlags_G_DBUS_SERVER_FLAGS_RUN_IN_THREAD: GDBusServerFlags = 1;
27406pub const GDBusServerFlags_G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS: GDBusServerFlags = 2;
27407pub const GDBusServerFlags_G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER: GDBusServerFlags =
27408    4;
27409pub type GDBusServerFlags = ::std::os::raw::c_uint;
27410pub const GDBusSignalFlags_G_DBUS_SIGNAL_FLAGS_NONE: GDBusSignalFlags = 0;
27411pub const GDBusSignalFlags_G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE: GDBusSignalFlags = 1;
27412pub const GDBusSignalFlags_G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_NAMESPACE: GDBusSignalFlags = 2;
27413pub const GDBusSignalFlags_G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_PATH: GDBusSignalFlags = 4;
27414pub type GDBusSignalFlags = ::std::os::raw::c_uint;
27415pub const GDBusSendMessageFlags_G_DBUS_SEND_MESSAGE_FLAGS_NONE: GDBusSendMessageFlags = 0;
27416pub const GDBusSendMessageFlags_G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL: GDBusSendMessageFlags =
27417    1;
27418pub type GDBusSendMessageFlags = ::std::os::raw::c_uint;
27419pub const GCredentialsType_G_CREDENTIALS_TYPE_INVALID: GCredentialsType = 0;
27420pub const GCredentialsType_G_CREDENTIALS_TYPE_LINUX_UCRED: GCredentialsType = 1;
27421pub const GCredentialsType_G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED: GCredentialsType = 2;
27422pub const GCredentialsType_G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED: GCredentialsType = 3;
27423pub const GCredentialsType_G_CREDENTIALS_TYPE_SOLARIS_UCRED: GCredentialsType = 4;
27424pub const GCredentialsType_G_CREDENTIALS_TYPE_NETBSD_UNPCBID: GCredentialsType = 5;
27425pub const GCredentialsType_G_CREDENTIALS_TYPE_APPLE_XUCRED: GCredentialsType = 6;
27426pub const GCredentialsType_G_CREDENTIALS_TYPE_WIN32_PID: GCredentialsType = 7;
27427pub type GCredentialsType = ::std::os::raw::c_uint;
27428pub const GDBusMessageByteOrder_G_DBUS_MESSAGE_BYTE_ORDER_BIG_ENDIAN: GDBusMessageByteOrder = 66;
27429pub const GDBusMessageByteOrder_G_DBUS_MESSAGE_BYTE_ORDER_LITTLE_ENDIAN: GDBusMessageByteOrder =
27430    108;
27431pub type GDBusMessageByteOrder = ::std::os::raw::c_uint;
27432pub const GApplicationFlags_G_APPLICATION_FLAGS_NONE: GApplicationFlags = 0;
27433pub const GApplicationFlags_G_APPLICATION_DEFAULT_FLAGS: GApplicationFlags = 0;
27434pub const GApplicationFlags_G_APPLICATION_IS_SERVICE: GApplicationFlags = 1;
27435pub const GApplicationFlags_G_APPLICATION_IS_LAUNCHER: GApplicationFlags = 2;
27436pub const GApplicationFlags_G_APPLICATION_HANDLES_OPEN: GApplicationFlags = 4;
27437pub const GApplicationFlags_G_APPLICATION_HANDLES_COMMAND_LINE: GApplicationFlags = 8;
27438pub const GApplicationFlags_G_APPLICATION_SEND_ENVIRONMENT: GApplicationFlags = 16;
27439pub const GApplicationFlags_G_APPLICATION_NON_UNIQUE: GApplicationFlags = 32;
27440pub const GApplicationFlags_G_APPLICATION_CAN_OVERRIDE_APP_ID: GApplicationFlags = 64;
27441pub const GApplicationFlags_G_APPLICATION_ALLOW_REPLACEMENT: GApplicationFlags = 128;
27442pub const GApplicationFlags_G_APPLICATION_REPLACE: GApplicationFlags = 256;
27443pub type GApplicationFlags = ::std::os::raw::c_uint;
27444pub const GTlsError_G_TLS_ERROR_UNAVAILABLE: GTlsError = 0;
27445pub const GTlsError_G_TLS_ERROR_MISC: GTlsError = 1;
27446pub const GTlsError_G_TLS_ERROR_BAD_CERTIFICATE: GTlsError = 2;
27447pub const GTlsError_G_TLS_ERROR_NOT_TLS: GTlsError = 3;
27448pub const GTlsError_G_TLS_ERROR_HANDSHAKE: GTlsError = 4;
27449pub const GTlsError_G_TLS_ERROR_CERTIFICATE_REQUIRED: GTlsError = 5;
27450pub const GTlsError_G_TLS_ERROR_EOF: GTlsError = 6;
27451pub const GTlsError_G_TLS_ERROR_INAPPROPRIATE_FALLBACK: GTlsError = 7;
27452pub const GTlsError_G_TLS_ERROR_BAD_CERTIFICATE_PASSWORD: GTlsError = 8;
27453pub type GTlsError = ::std::os::raw::c_uint;
27454pub const GTlsCertificateFlags_G_TLS_CERTIFICATE_NO_FLAGS: GTlsCertificateFlags = 0;
27455pub const GTlsCertificateFlags_G_TLS_CERTIFICATE_UNKNOWN_CA: GTlsCertificateFlags = 1;
27456pub const GTlsCertificateFlags_G_TLS_CERTIFICATE_BAD_IDENTITY: GTlsCertificateFlags = 2;
27457pub const GTlsCertificateFlags_G_TLS_CERTIFICATE_NOT_ACTIVATED: GTlsCertificateFlags = 4;
27458pub const GTlsCertificateFlags_G_TLS_CERTIFICATE_EXPIRED: GTlsCertificateFlags = 8;
27459pub const GTlsCertificateFlags_G_TLS_CERTIFICATE_REVOKED: GTlsCertificateFlags = 16;
27460pub const GTlsCertificateFlags_G_TLS_CERTIFICATE_INSECURE: GTlsCertificateFlags = 32;
27461pub const GTlsCertificateFlags_G_TLS_CERTIFICATE_GENERIC_ERROR: GTlsCertificateFlags = 64;
27462pub const GTlsCertificateFlags_G_TLS_CERTIFICATE_VALIDATE_ALL: GTlsCertificateFlags = 127;
27463pub type GTlsCertificateFlags = ::std::os::raw::c_uint;
27464pub const GTlsAuthenticationMode_G_TLS_AUTHENTICATION_NONE: GTlsAuthenticationMode = 0;
27465pub const GTlsAuthenticationMode_G_TLS_AUTHENTICATION_REQUESTED: GTlsAuthenticationMode = 1;
27466pub const GTlsAuthenticationMode_G_TLS_AUTHENTICATION_REQUIRED: GTlsAuthenticationMode = 2;
27467pub type GTlsAuthenticationMode = ::std::os::raw::c_uint;
27468pub const GTlsChannelBindingType_G_TLS_CHANNEL_BINDING_TLS_UNIQUE: GTlsChannelBindingType = 0;
27469pub const GTlsChannelBindingType_G_TLS_CHANNEL_BINDING_TLS_SERVER_END_POINT:
27470    GTlsChannelBindingType = 1;
27471pub const GTlsChannelBindingType_G_TLS_CHANNEL_BINDING_TLS_EXPORTER: GTlsChannelBindingType = 2;
27472pub type GTlsChannelBindingType = ::std::os::raw::c_uint;
27473pub const GTlsChannelBindingError_G_TLS_CHANNEL_BINDING_ERROR_NOT_IMPLEMENTED:
27474    GTlsChannelBindingError = 0;
27475pub const GTlsChannelBindingError_G_TLS_CHANNEL_BINDING_ERROR_INVALID_STATE:
27476    GTlsChannelBindingError = 1;
27477pub const GTlsChannelBindingError_G_TLS_CHANNEL_BINDING_ERROR_NOT_AVAILABLE:
27478    GTlsChannelBindingError = 2;
27479pub const GTlsChannelBindingError_G_TLS_CHANNEL_BINDING_ERROR_NOT_SUPPORTED:
27480    GTlsChannelBindingError = 3;
27481pub const GTlsChannelBindingError_G_TLS_CHANNEL_BINDING_ERROR_GENERAL_ERROR:
27482    GTlsChannelBindingError = 4;
27483pub type GTlsChannelBindingError = ::std::os::raw::c_uint;
27484pub const GTlsRehandshakeMode_G_TLS_REHANDSHAKE_NEVER: GTlsRehandshakeMode = 0;
27485pub const GTlsRehandshakeMode_G_TLS_REHANDSHAKE_SAFELY: GTlsRehandshakeMode = 1;
27486pub const GTlsRehandshakeMode_G_TLS_REHANDSHAKE_UNSAFELY: GTlsRehandshakeMode = 2;
27487pub type GTlsRehandshakeMode = ::std::os::raw::c_uint;
27488pub const _GTlsPasswordFlags_G_TLS_PASSWORD_NONE: _GTlsPasswordFlags = 0;
27489pub const _GTlsPasswordFlags_G_TLS_PASSWORD_RETRY: _GTlsPasswordFlags = 2;
27490pub const _GTlsPasswordFlags_G_TLS_PASSWORD_MANY_TRIES: _GTlsPasswordFlags = 4;
27491pub const _GTlsPasswordFlags_G_TLS_PASSWORD_FINAL_TRY: _GTlsPasswordFlags = 8;
27492pub const _GTlsPasswordFlags_G_TLS_PASSWORD_PKCS11_USER: _GTlsPasswordFlags = 16;
27493pub const _GTlsPasswordFlags_G_TLS_PASSWORD_PKCS11_SECURITY_OFFICER: _GTlsPasswordFlags = 32;
27494pub const _GTlsPasswordFlags_G_TLS_PASSWORD_PKCS11_CONTEXT_SPECIFIC: _GTlsPasswordFlags = 64;
27495pub type _GTlsPasswordFlags = ::std::os::raw::c_uint;
27496pub use self::_GTlsPasswordFlags as GTlsPasswordFlags;
27497pub const GTlsInteractionResult_G_TLS_INTERACTION_UNHANDLED: GTlsInteractionResult = 0;
27498pub const GTlsInteractionResult_G_TLS_INTERACTION_HANDLED: GTlsInteractionResult = 1;
27499pub const GTlsInteractionResult_G_TLS_INTERACTION_FAILED: GTlsInteractionResult = 2;
27500pub type GTlsInteractionResult = ::std::os::raw::c_uint;
27501pub const GDBusInterfaceSkeletonFlags_G_DBUS_INTERFACE_SKELETON_FLAGS_NONE:
27502    GDBusInterfaceSkeletonFlags = 0;
27503pub const GDBusInterfaceSkeletonFlags_G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD : GDBusInterfaceSkeletonFlags = 1 ;
27504pub type GDBusInterfaceSkeletonFlags = ::std::os::raw::c_uint;
27505pub const GDBusObjectManagerClientFlags_G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE:
27506    GDBusObjectManagerClientFlags = 0;
27507pub const GDBusObjectManagerClientFlags_G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_DO_NOT_AUTO_START:
27508    GDBusObjectManagerClientFlags = 1;
27509pub type GDBusObjectManagerClientFlags = ::std::os::raw::c_uint;
27510pub const GTlsDatabaseVerifyFlags_G_TLS_DATABASE_VERIFY_NONE: GTlsDatabaseVerifyFlags = 0;
27511pub type GTlsDatabaseVerifyFlags = ::std::os::raw::c_uint;
27512pub const GTlsDatabaseLookupFlags_G_TLS_DATABASE_LOOKUP_NONE: GTlsDatabaseLookupFlags = 0;
27513pub const GTlsDatabaseLookupFlags_G_TLS_DATABASE_LOOKUP_KEYPAIR: GTlsDatabaseLookupFlags = 1;
27514pub type GTlsDatabaseLookupFlags = ::std::os::raw::c_uint;
27515pub const GTlsCertificateRequestFlags_G_TLS_CERTIFICATE_REQUEST_NONE: GTlsCertificateRequestFlags =
27516    0;
27517pub type GTlsCertificateRequestFlags = ::std::os::raw::c_uint;
27518pub const GTlsProtocolVersion_G_TLS_PROTOCOL_VERSION_UNKNOWN: GTlsProtocolVersion = 0;
27519pub const GTlsProtocolVersion_G_TLS_PROTOCOL_VERSION_SSL_3_0: GTlsProtocolVersion = 1;
27520pub const GTlsProtocolVersion_G_TLS_PROTOCOL_VERSION_TLS_1_0: GTlsProtocolVersion = 2;
27521pub const GTlsProtocolVersion_G_TLS_PROTOCOL_VERSION_TLS_1_1: GTlsProtocolVersion = 3;
27522pub const GTlsProtocolVersion_G_TLS_PROTOCOL_VERSION_TLS_1_2: GTlsProtocolVersion = 4;
27523pub const GTlsProtocolVersion_G_TLS_PROTOCOL_VERSION_TLS_1_3: GTlsProtocolVersion = 5;
27524pub const GTlsProtocolVersion_G_TLS_PROTOCOL_VERSION_DTLS_1_0: GTlsProtocolVersion = 201;
27525pub const GTlsProtocolVersion_G_TLS_PROTOCOL_VERSION_DTLS_1_2: GTlsProtocolVersion = 202;
27526pub type GTlsProtocolVersion = ::std::os::raw::c_uint;
27527pub const GIOModuleScopeFlags_G_IO_MODULE_SCOPE_NONE: GIOModuleScopeFlags = 0;
27528pub const GIOModuleScopeFlags_G_IO_MODULE_SCOPE_BLOCK_DUPLICATES: GIOModuleScopeFlags = 1;
27529pub type GIOModuleScopeFlags = ::std::os::raw::c_uint;
27530pub const GSocketClientEvent_G_SOCKET_CLIENT_RESOLVING: GSocketClientEvent = 0;
27531pub const GSocketClientEvent_G_SOCKET_CLIENT_RESOLVED: GSocketClientEvent = 1;
27532pub const GSocketClientEvent_G_SOCKET_CLIENT_CONNECTING: GSocketClientEvent = 2;
27533pub const GSocketClientEvent_G_SOCKET_CLIENT_CONNECTED: GSocketClientEvent = 3;
27534pub const GSocketClientEvent_G_SOCKET_CLIENT_PROXY_NEGOTIATING: GSocketClientEvent = 4;
27535pub const GSocketClientEvent_G_SOCKET_CLIENT_PROXY_NEGOTIATED: GSocketClientEvent = 5;
27536pub const GSocketClientEvent_G_SOCKET_CLIENT_TLS_HANDSHAKING: GSocketClientEvent = 6;
27537pub const GSocketClientEvent_G_SOCKET_CLIENT_TLS_HANDSHAKED: GSocketClientEvent = 7;
27538pub const GSocketClientEvent_G_SOCKET_CLIENT_COMPLETE: GSocketClientEvent = 8;
27539pub type GSocketClientEvent = ::std::os::raw::c_uint;
27540pub const GSocketListenerEvent_G_SOCKET_LISTENER_BINDING: GSocketListenerEvent = 0;
27541pub const GSocketListenerEvent_G_SOCKET_LISTENER_BOUND: GSocketListenerEvent = 1;
27542pub const GSocketListenerEvent_G_SOCKET_LISTENER_LISTENING: GSocketListenerEvent = 2;
27543pub const GSocketListenerEvent_G_SOCKET_LISTENER_LISTENED: GSocketListenerEvent = 3;
27544pub type GSocketListenerEvent = ::std::os::raw::c_uint;
27545pub const GTestDBusFlags_G_TEST_DBUS_NONE: GTestDBusFlags = 0;
27546pub type GTestDBusFlags = ::std::os::raw::c_uint;
27547pub const GSubprocessFlags_G_SUBPROCESS_FLAGS_NONE: GSubprocessFlags = 0;
27548pub const GSubprocessFlags_G_SUBPROCESS_FLAGS_STDIN_PIPE: GSubprocessFlags = 1;
27549pub const GSubprocessFlags_G_SUBPROCESS_FLAGS_STDIN_INHERIT: GSubprocessFlags = 2;
27550pub const GSubprocessFlags_G_SUBPROCESS_FLAGS_STDOUT_PIPE: GSubprocessFlags = 4;
27551pub const GSubprocessFlags_G_SUBPROCESS_FLAGS_STDOUT_SILENCE: GSubprocessFlags = 8;
27552pub const GSubprocessFlags_G_SUBPROCESS_FLAGS_STDERR_PIPE: GSubprocessFlags = 16;
27553pub const GSubprocessFlags_G_SUBPROCESS_FLAGS_STDERR_SILENCE: GSubprocessFlags = 32;
27554pub const GSubprocessFlags_G_SUBPROCESS_FLAGS_STDERR_MERGE: GSubprocessFlags = 64;
27555pub const GSubprocessFlags_G_SUBPROCESS_FLAGS_INHERIT_FDS: GSubprocessFlags = 128;
27556pub const GSubprocessFlags_G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP: GSubprocessFlags = 256;
27557pub type GSubprocessFlags = ::std::os::raw::c_uint;
27558pub const GNotificationPriority_G_NOTIFICATION_PRIORITY_NORMAL: GNotificationPriority = 0;
27559pub const GNotificationPriority_G_NOTIFICATION_PRIORITY_LOW: GNotificationPriority = 1;
27560pub const GNotificationPriority_G_NOTIFICATION_PRIORITY_HIGH: GNotificationPriority = 2;
27561pub const GNotificationPriority_G_NOTIFICATION_PRIORITY_URGENT: GNotificationPriority = 3;
27562pub type GNotificationPriority = ::std::os::raw::c_uint;
27563pub const GNetworkConnectivity_G_NETWORK_CONNECTIVITY_LOCAL: GNetworkConnectivity = 1;
27564pub const GNetworkConnectivity_G_NETWORK_CONNECTIVITY_LIMITED: GNetworkConnectivity = 2;
27565pub const GNetworkConnectivity_G_NETWORK_CONNECTIVITY_PORTAL: GNetworkConnectivity = 3;
27566pub const GNetworkConnectivity_G_NETWORK_CONNECTIVITY_FULL: GNetworkConnectivity = 4;
27567pub type GNetworkConnectivity = ::std::os::raw::c_uint;
27568pub const GPollableReturn_G_POLLABLE_RETURN_FAILED: GPollableReturn = 0;
27569pub const GPollableReturn_G_POLLABLE_RETURN_OK: GPollableReturn = 1;
27570pub const GPollableReturn_G_POLLABLE_RETURN_WOULD_BLOCK: GPollableReturn = -27;
27571pub type GPollableReturn = ::std::os::raw::c_int;
27572pub const GMemoryMonitorWarningLevel_G_MEMORY_MONITOR_WARNING_LEVEL_LOW:
27573    GMemoryMonitorWarningLevel = 50;
27574pub const GMemoryMonitorWarningLevel_G_MEMORY_MONITOR_WARNING_LEVEL_MEDIUM:
27575    GMemoryMonitorWarningLevel = 100;
27576pub const GMemoryMonitorWarningLevel_G_MEMORY_MONITOR_WARNING_LEVEL_CRITICAL:
27577    GMemoryMonitorWarningLevel = 255;
27578pub type GMemoryMonitorWarningLevel = ::std::os::raw::c_uint;
27579pub type GAppLaunchContext = _GAppLaunchContext;
27580#[repr(C)]
27581#[derive(Debug, Copy, Clone)]
27582pub struct _GAppInfo {
27583    _unused: [u8; 0],
27584}
27585pub type GAppInfo = _GAppInfo;
27586#[repr(C)]
27587#[derive(Debug, Copy, Clone)]
27588pub struct _GAsyncResult {
27589    _unused: [u8; 0],
27590}
27591pub type GAsyncResult = _GAsyncResult;
27592#[repr(C)]
27593#[derive(Debug, Copy, Clone)]
27594pub struct _GAsyncInitable {
27595    _unused: [u8; 0],
27596}
27597pub type GAsyncInitable = _GAsyncInitable;
27598pub type GBufferedInputStream = _GBufferedInputStream;
27599pub type GBufferedOutputStream = _GBufferedOutputStream;
27600pub type GCancellable = _GCancellable;
27601#[repr(C)]
27602#[derive(Debug, Copy, Clone)]
27603pub struct _GCharsetConverter {
27604    _unused: [u8; 0],
27605}
27606pub type GCharsetConverter = _GCharsetConverter;
27607#[repr(C)]
27608#[derive(Debug, Copy, Clone)]
27609pub struct _GConverter {
27610    _unused: [u8; 0],
27611}
27612pub type GConverter = _GConverter;
27613pub type GConverterInputStream = _GConverterInputStream;
27614pub type GConverterOutputStream = _GConverterOutputStream;
27615#[repr(C)]
27616#[derive(Debug, Copy, Clone)]
27617pub struct _GDatagramBased {
27618    _unused: [u8; 0],
27619}
27620pub type GDatagramBased = _GDatagramBased;
27621pub type GDataInputStream = _GDataInputStream;
27622#[repr(C)]
27623#[derive(Debug, Copy, Clone)]
27624pub struct _GSimplePermission {
27625    _unused: [u8; 0],
27626}
27627pub type GSimplePermission = _GSimplePermission;
27628#[repr(C)]
27629#[derive(Debug, Copy, Clone)]
27630pub struct _GZlibCompressor {
27631    _unused: [u8; 0],
27632}
27633pub type GZlibCompressor = _GZlibCompressor;
27634#[repr(C)]
27635#[derive(Debug, Copy, Clone)]
27636pub struct _GZlibDecompressor {
27637    _unused: [u8; 0],
27638}
27639pub type GZlibDecompressor = _GZlibDecompressor;
27640pub type GSimpleActionGroup = _GSimpleActionGroup;
27641#[repr(C)]
27642#[derive(Debug, Copy, Clone)]
27643pub struct _GRemoteActionGroup {
27644    _unused: [u8; 0],
27645}
27646pub type GRemoteActionGroup = _GRemoteActionGroup;
27647#[repr(C)]
27648#[derive(Debug, Copy, Clone)]
27649pub struct _GDBusActionGroup {
27650    _unused: [u8; 0],
27651}
27652pub type GDBusActionGroup = _GDBusActionGroup;
27653#[repr(C)]
27654#[derive(Debug, Copy, Clone)]
27655pub struct _GActionMap {
27656    _unused: [u8; 0],
27657}
27658pub type GActionMap = _GActionMap;
27659#[repr(C)]
27660#[derive(Debug, Copy, Clone)]
27661pub struct _GActionGroup {
27662    _unused: [u8; 0],
27663}
27664pub type GActionGroup = _GActionGroup;
27665#[repr(C)]
27666#[derive(Debug, Copy, Clone)]
27667pub struct _GPropertyAction {
27668    _unused: [u8; 0],
27669}
27670pub type GPropertyAction = _GPropertyAction;
27671#[repr(C)]
27672#[derive(Debug, Copy, Clone)]
27673pub struct _GSimpleAction {
27674    _unused: [u8; 0],
27675}
27676pub type GSimpleAction = _GSimpleAction;
27677#[repr(C)]
27678#[derive(Debug, Copy, Clone)]
27679pub struct _GAction {
27680    _unused: [u8; 0],
27681}
27682pub type GAction = _GAction;
27683pub type GApplication = _GApplication;
27684pub type GApplicationCommandLine = _GApplicationCommandLine;
27685#[repr(C)]
27686#[derive(Debug, Copy, Clone)]
27687pub struct _GSettingsBackend {
27688    _unused: [u8; 0],
27689}
27690pub type GSettingsBackend = _GSettingsBackend;
27691pub type GSettings = _GSettings;
27692pub type GPermission = _GPermission;
27693pub type GMenuModel = _GMenuModel;
27694#[repr(C)]
27695#[derive(Debug, Copy, Clone)]
27696pub struct _GNotification {
27697    _unused: [u8; 0],
27698}
27699pub type GNotification = _GNotification;
27700#[repr(C)]
27701#[derive(Debug, Copy, Clone)]
27702pub struct _GDrive {
27703    _unused: [u8; 0],
27704}
27705pub type GDrive = _GDrive;
27706pub type GFileEnumerator = _GFileEnumerator;
27707pub type GFileMonitor = _GFileMonitor;
27708pub type GFilterInputStream = _GFilterInputStream;
27709pub type GFilterOutputStream = _GFilterOutputStream;
27710#[repr(C)]
27711#[derive(Debug, Copy, Clone)]
27712pub struct _GFile {
27713    _unused: [u8; 0],
27714}
27715pub type GFile = _GFile;
27716#[repr(C)]
27717#[derive(Debug, Copy, Clone)]
27718pub struct _GFileInfo {
27719    _unused: [u8; 0],
27720}
27721pub type GFileInfo = _GFileInfo;
27722#[repr(C)]
27723#[derive(Debug, Copy, Clone)]
27724pub struct _GFileAttributeMatcher {
27725    _unused: [u8; 0],
27726}
27727pub type GFileAttributeMatcher = _GFileAttributeMatcher;
27728pub type GFileAttributeInfo = _GFileAttributeInfo;
27729pub type GFileAttributeInfoList = _GFileAttributeInfoList;
27730#[repr(C)]
27731#[derive(Debug, Copy, Clone)]
27732pub struct _GFileDescriptorBased {
27733    _unused: [u8; 0],
27734}
27735pub type GFileDescriptorBased = _GFileDescriptorBased;
27736pub type GFileInputStream = _GFileInputStream;
27737pub type GFileOutputStream = _GFileOutputStream;
27738pub type GFileIOStream = _GFileIOStream;
27739#[repr(C)]
27740#[derive(Debug, Copy, Clone)]
27741pub struct _GFileIcon {
27742    _unused: [u8; 0],
27743}
27744pub type GFileIcon = _GFileIcon;
27745#[repr(C)]
27746#[derive(Debug, Copy, Clone)]
27747pub struct _GFilenameCompleter {
27748    _unused: [u8; 0],
27749}
27750pub type GFilenameCompleter = _GFilenameCompleter;
27751#[repr(C)]
27752#[derive(Debug, Copy, Clone)]
27753pub struct _GIcon {
27754    _unused: [u8; 0],
27755}
27756pub type GIcon = _GIcon;
27757pub type GInetAddress = _GInetAddress;
27758pub type GInetAddressMask = _GInetAddressMask;
27759pub type GInetSocketAddress = _GInetSocketAddress;
27760pub type GNativeSocketAddress = _GNativeSocketAddress;
27761pub type GInputStream = _GInputStream;
27762#[repr(C)]
27763#[derive(Debug, Copy, Clone)]
27764pub struct _GInitable {
27765    _unused: [u8; 0],
27766}
27767pub type GInitable = _GInitable;
27768#[repr(C)]
27769#[derive(Debug, Copy, Clone)]
27770pub struct _GIOModule {
27771    _unused: [u8; 0],
27772}
27773pub type GIOModule = _GIOModule;
27774#[repr(C)]
27775#[derive(Debug, Copy, Clone)]
27776pub struct _GIOExtensionPoint {
27777    _unused: [u8; 0],
27778}
27779pub type GIOExtensionPoint = _GIOExtensionPoint;
27780#[repr(C)]
27781#[derive(Debug, Copy, Clone)]
27782pub struct _GIOExtension {
27783    _unused: [u8; 0],
27784}
27785pub type GIOExtension = _GIOExtension;
27786#[repr(C)]
27787#[derive(Debug, Copy, Clone)]
27788pub struct _GIOSchedulerJob {
27789    _unused: [u8; 0],
27790}
27791pub type GIOSchedulerJob = _GIOSchedulerJob;
27792#[repr(C)]
27793#[derive(Debug, Copy, Clone)]
27794pub struct _GIOStreamAdapter {
27795    _unused: [u8; 0],
27796}
27797pub type GIOStreamAdapter = _GIOStreamAdapter;
27798#[repr(C)]
27799#[derive(Debug, Copy, Clone)]
27800pub struct _GLoadableIcon {
27801    _unused: [u8; 0],
27802}
27803pub type GLoadableIcon = _GLoadableIcon;
27804#[repr(C)]
27805#[derive(Debug, Copy, Clone)]
27806pub struct _GBytesIcon {
27807    _unused: [u8; 0],
27808}
27809pub type GBytesIcon = _GBytesIcon;
27810pub type GMemoryInputStream = _GMemoryInputStream;
27811pub type GMemoryOutputStream = _GMemoryOutputStream;
27812#[repr(C)]
27813#[derive(Debug, Copy, Clone)]
27814pub struct _GMount {
27815    _unused: [u8; 0],
27816}
27817pub type GMount = _GMount;
27818pub type GMountOperation = _GMountOperation;
27819pub type GNetworkAddress = _GNetworkAddress;
27820#[repr(C)]
27821#[derive(Debug, Copy, Clone)]
27822pub struct _GNetworkMonitor {
27823    _unused: [u8; 0],
27824}
27825pub type GNetworkMonitor = _GNetworkMonitor;
27826pub type GNetworkService = _GNetworkService;
27827pub type GOutputStream = _GOutputStream;
27828pub type GIOStream = _GIOStream;
27829#[repr(C)]
27830#[derive(Debug, Copy, Clone)]
27831pub struct _GSimpleIOStream {
27832    _unused: [u8; 0],
27833}
27834pub type GSimpleIOStream = _GSimpleIOStream;
27835#[repr(C)]
27836#[derive(Debug, Copy, Clone)]
27837pub struct _GPollableInputStream {
27838    _unused: [u8; 0],
27839}
27840pub type GPollableInputStream = _GPollableInputStream;
27841#[repr(C)]
27842#[derive(Debug, Copy, Clone)]
27843pub struct _GPollableOutputStream {
27844    _unused: [u8; 0],
27845}
27846pub type GPollableOutputStream = _GPollableOutputStream;
27847pub type GResolver = _GResolver;
27848#[repr(C)]
27849#[derive(Debug, Copy, Clone)]
27850pub struct _GResource {
27851    _unused: [u8; 0],
27852}
27853pub type GResource = _GResource;
27854#[repr(C)]
27855#[derive(Debug, Copy, Clone)]
27856pub struct _GSeekable {
27857    _unused: [u8; 0],
27858}
27859pub type GSeekable = _GSeekable;
27860#[repr(C)]
27861#[derive(Debug, Copy, Clone)]
27862pub struct _GSimpleAsyncResult {
27863    _unused: [u8; 0],
27864}
27865pub type GSimpleAsyncResult = _GSimpleAsyncResult;
27866pub type GSocket = _GSocket;
27867pub type GSocketControlMessage = _GSocketControlMessage;
27868pub type GSocketClient = _GSocketClient;
27869pub type GSocketConnection = _GSocketConnection;
27870pub type GSocketListener = _GSocketListener;
27871pub type GSocketService = _GSocketService;
27872pub type GSocketAddress = _GSocketAddress;
27873pub type GSocketAddressEnumerator = _GSocketAddressEnumerator;
27874#[repr(C)]
27875#[derive(Debug, Copy, Clone)]
27876pub struct _GSocketConnectable {
27877    _unused: [u8; 0],
27878}
27879pub type GSocketConnectable = _GSocketConnectable;
27880#[repr(C)]
27881#[derive(Debug, Copy, Clone)]
27882pub struct _GSrvTarget {
27883    _unused: [u8; 0],
27884}
27885pub type GSrvTarget = _GSrvTarget;
27886#[repr(C)]
27887#[derive(Debug, Copy, Clone)]
27888pub struct _GTask {
27889    _unused: [u8; 0],
27890}
27891pub type GTask = _GTask;
27892pub type GTcpConnection = _GTcpConnection;
27893pub type GTcpWrapperConnection = _GTcpWrapperConnection;
27894pub type GThreadedSocketService = _GThreadedSocketService;
27895#[repr(C)]
27896#[derive(Debug, Copy, Clone)]
27897pub struct _GDtlsConnection {
27898    _unused: [u8; 0],
27899}
27900pub type GDtlsConnection = _GDtlsConnection;
27901#[repr(C)]
27902#[derive(Debug, Copy, Clone)]
27903pub struct _GDtlsClientConnection {
27904    _unused: [u8; 0],
27905}
27906pub type GDtlsClientConnection = _GDtlsClientConnection;
27907#[repr(C)]
27908#[derive(Debug, Copy, Clone)]
27909pub struct _GDtlsServerConnection {
27910    _unused: [u8; 0],
27911}
27912pub type GDtlsServerConnection = _GDtlsServerConnection;
27913#[repr(C)]
27914#[derive(Debug, Copy, Clone)]
27915pub struct _GThemedIcon {
27916    _unused: [u8; 0],
27917}
27918pub type GThemedIcon = _GThemedIcon;
27919pub type GTlsCertificate = _GTlsCertificate;
27920#[repr(C)]
27921#[derive(Debug, Copy, Clone)]
27922pub struct _GTlsClientConnection {
27923    _unused: [u8; 0],
27924}
27925pub type GTlsClientConnection = _GTlsClientConnection;
27926pub type GTlsConnection = _GTlsConnection;
27927pub type GTlsDatabase = _GTlsDatabase;
27928#[repr(C)]
27929#[derive(Debug, Copy, Clone)]
27930pub struct _GTlsFileDatabase {
27931    _unused: [u8; 0],
27932}
27933pub type GTlsFileDatabase = _GTlsFileDatabase;
27934pub type GTlsInteraction = _GTlsInteraction;
27935pub type GTlsPassword = _GTlsPassword;
27936#[repr(C)]
27937#[derive(Debug, Copy, Clone)]
27938pub struct _GTlsServerConnection {
27939    _unused: [u8; 0],
27940}
27941pub type GTlsServerConnection = _GTlsServerConnection;
27942pub type GVfs = _GVfs;
27943#[repr(C)]
27944#[derive(Debug, Copy, Clone)]
27945pub struct _GProxyResolver {
27946    _unused: [u8; 0],
27947}
27948pub type GProxyResolver = _GProxyResolver;
27949#[repr(C)]
27950#[derive(Debug, Copy, Clone)]
27951pub struct _GProxy {
27952    _unused: [u8; 0],
27953}
27954pub type GProxy = _GProxy;
27955pub type GProxyAddress = _GProxyAddress;
27956pub type GProxyAddressEnumerator = _GProxyAddressEnumerator;
27957#[repr(C)]
27958#[derive(Debug, Copy, Clone)]
27959pub struct _GVolume {
27960    _unused: [u8; 0],
27961}
27962pub type GVolume = _GVolume;
27963pub type GVolumeMonitor = _GVolumeMonitor;
27964pub type GAsyncReadyCallback = ::std::option::Option<
27965    unsafe extern "C" fn(source_object: *mut GObject, res: *mut GAsyncResult, data: gpointer),
27966>;
27967pub type GFileProgressCallback = ::std::option::Option<
27968    unsafe extern "C" fn(current_num_bytes: goffset, total_num_bytes: goffset, data: gpointer),
27969>;
27970pub type GFileReadMoreCallback = ::std::option::Option<
27971    unsafe extern "C" fn(
27972        file_contents: *const ::std::os::raw::c_char,
27973        file_size: goffset,
27974        callback_data: gpointer,
27975    ) -> gboolean,
27976>;
27977pub type GFileMeasureProgressCallback = ::std::option::Option<
27978    unsafe extern "C" fn(
27979        reporting: gboolean,
27980        current_size: guint64,
27981        num_dirs: guint64,
27982        num_files: guint64,
27983        data: gpointer,
27984    ),
27985>;
27986pub type GIOSchedulerJobFunc = ::std::option::Option<
27987    unsafe extern "C" fn(
27988        job: *mut GIOSchedulerJob,
27989        cancellable: *mut GCancellable,
27990        data: gpointer,
27991    ) -> gboolean,
27992>;
27993pub type GSimpleAsyncThreadFunc = ::std::option::Option<
27994    unsafe extern "C" fn(
27995        res: *mut GSimpleAsyncResult,
27996        object: *mut GObject,
27997        cancellable: *mut GCancellable,
27998    ),
27999>;
28000pub type GSocketSourceFunc = ::std::option::Option<
28001    unsafe extern "C" fn(socket: *mut GSocket, condition: GIOCondition, data: gpointer) -> gboolean,
28002>;
28003pub type GDatagramBasedSourceFunc = ::std::option::Option<
28004    unsafe extern "C" fn(
28005        datagram_based: *mut GDatagramBased,
28006        condition: GIOCondition,
28007        data: gpointer,
28008    ) -> gboolean,
28009>;
28010pub type GInputVector = _GInputVector;
28011#[repr(C)]
28012#[derive(Debug, Copy, Clone, PartialEq, Eq)]
28013pub struct _GInputVector {
28014    pub buffer: gpointer,
28015    pub size: gsize,
28016}
28017#[test]
28018fn bindgen_test_layout__GInputVector() {
28019    const UNINIT: ::std::mem::MaybeUninit<_GInputVector> = ::std::mem::MaybeUninit::uninit();
28020    let ptr = UNINIT.as_ptr();
28021    assert_eq!(
28022        ::std::mem::size_of::<_GInputVector>(),
28023        16usize,
28024        concat!("Size of: ", stringify!(_GInputVector))
28025    );
28026    assert_eq!(
28027        ::std::mem::align_of::<_GInputVector>(),
28028        8usize,
28029        concat!("Alignment of ", stringify!(_GInputVector))
28030    );
28031    assert_eq!(
28032        unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
28033        0usize,
28034        concat!(
28035            "Offset of field: ",
28036            stringify!(_GInputVector),
28037            "::",
28038            stringify!(buffer)
28039        )
28040    );
28041    assert_eq!(
28042        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
28043        8usize,
28044        concat!(
28045            "Offset of field: ",
28046            stringify!(_GInputVector),
28047            "::",
28048            stringify!(size)
28049        )
28050    );
28051}
28052pub type GInputMessage = _GInputMessage;
28053#[repr(C)]
28054#[derive(Debug, Copy, Clone, PartialEq, Eq)]
28055pub struct _GInputMessage {
28056    pub address: *mut *mut GSocketAddress,
28057    pub vectors: *mut GInputVector,
28058    pub num_vectors: guint,
28059    pub bytes_received: gsize,
28060    pub flags: gint,
28061    pub control_messages: *mut *mut *mut GSocketControlMessage,
28062    pub num_control_messages: *mut guint,
28063}
28064#[test]
28065fn bindgen_test_layout__GInputMessage() {
28066    const UNINIT: ::std::mem::MaybeUninit<_GInputMessage> = ::std::mem::MaybeUninit::uninit();
28067    let ptr = UNINIT.as_ptr();
28068    assert_eq!(
28069        ::std::mem::size_of::<_GInputMessage>(),
28070        56usize,
28071        concat!("Size of: ", stringify!(_GInputMessage))
28072    );
28073    assert_eq!(
28074        ::std::mem::align_of::<_GInputMessage>(),
28075        8usize,
28076        concat!("Alignment of ", stringify!(_GInputMessage))
28077    );
28078    assert_eq!(
28079        unsafe { ::std::ptr::addr_of!((*ptr).address) as usize - ptr as usize },
28080        0usize,
28081        concat!(
28082            "Offset of field: ",
28083            stringify!(_GInputMessage),
28084            "::",
28085            stringify!(address)
28086        )
28087    );
28088    assert_eq!(
28089        unsafe { ::std::ptr::addr_of!((*ptr).vectors) as usize - ptr as usize },
28090        8usize,
28091        concat!(
28092            "Offset of field: ",
28093            stringify!(_GInputMessage),
28094            "::",
28095            stringify!(vectors)
28096        )
28097    );
28098    assert_eq!(
28099        unsafe { ::std::ptr::addr_of!((*ptr).num_vectors) as usize - ptr as usize },
28100        16usize,
28101        concat!(
28102            "Offset of field: ",
28103            stringify!(_GInputMessage),
28104            "::",
28105            stringify!(num_vectors)
28106        )
28107    );
28108    assert_eq!(
28109        unsafe { ::std::ptr::addr_of!((*ptr).bytes_received) as usize - ptr as usize },
28110        24usize,
28111        concat!(
28112            "Offset of field: ",
28113            stringify!(_GInputMessage),
28114            "::",
28115            stringify!(bytes_received)
28116        )
28117    );
28118    assert_eq!(
28119        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
28120        32usize,
28121        concat!(
28122            "Offset of field: ",
28123            stringify!(_GInputMessage),
28124            "::",
28125            stringify!(flags)
28126        )
28127    );
28128    assert_eq!(
28129        unsafe { ::std::ptr::addr_of!((*ptr).control_messages) as usize - ptr as usize },
28130        40usize,
28131        concat!(
28132            "Offset of field: ",
28133            stringify!(_GInputMessage),
28134            "::",
28135            stringify!(control_messages)
28136        )
28137    );
28138    assert_eq!(
28139        unsafe { ::std::ptr::addr_of!((*ptr).num_control_messages) as usize - ptr as usize },
28140        48usize,
28141        concat!(
28142            "Offset of field: ",
28143            stringify!(_GInputMessage),
28144            "::",
28145            stringify!(num_control_messages)
28146        )
28147    );
28148}
28149pub type GOutputVector = _GOutputVector;
28150#[repr(C)]
28151#[derive(Debug, Copy, Clone, PartialEq, Eq)]
28152pub struct _GOutputVector {
28153    pub buffer: gconstpointer,
28154    pub size: gsize,
28155}
28156#[test]
28157fn bindgen_test_layout__GOutputVector() {
28158    const UNINIT: ::std::mem::MaybeUninit<_GOutputVector> = ::std::mem::MaybeUninit::uninit();
28159    let ptr = UNINIT.as_ptr();
28160    assert_eq!(
28161        ::std::mem::size_of::<_GOutputVector>(),
28162        16usize,
28163        concat!("Size of: ", stringify!(_GOutputVector))
28164    );
28165    assert_eq!(
28166        ::std::mem::align_of::<_GOutputVector>(),
28167        8usize,
28168        concat!("Alignment of ", stringify!(_GOutputVector))
28169    );
28170    assert_eq!(
28171        unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
28172        0usize,
28173        concat!(
28174            "Offset of field: ",
28175            stringify!(_GOutputVector),
28176            "::",
28177            stringify!(buffer)
28178        )
28179    );
28180    assert_eq!(
28181        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
28182        8usize,
28183        concat!(
28184            "Offset of field: ",
28185            stringify!(_GOutputVector),
28186            "::",
28187            stringify!(size)
28188        )
28189    );
28190}
28191pub type GOutputMessage = _GOutputMessage;
28192#[repr(C)]
28193#[derive(Debug, Copy, Clone, PartialEq, Eq)]
28194pub struct _GOutputMessage {
28195    pub address: *mut GSocketAddress,
28196    pub vectors: *mut GOutputVector,
28197    pub num_vectors: guint,
28198    pub bytes_sent: guint,
28199    pub control_messages: *mut *mut GSocketControlMessage,
28200    pub num_control_messages: guint,
28201}
28202#[test]
28203fn bindgen_test_layout__GOutputMessage() {
28204    const UNINIT: ::std::mem::MaybeUninit<_GOutputMessage> = ::std::mem::MaybeUninit::uninit();
28205    let ptr = UNINIT.as_ptr();
28206    assert_eq!(
28207        ::std::mem::size_of::<_GOutputMessage>(),
28208        40usize,
28209        concat!("Size of: ", stringify!(_GOutputMessage))
28210    );
28211    assert_eq!(
28212        ::std::mem::align_of::<_GOutputMessage>(),
28213        8usize,
28214        concat!("Alignment of ", stringify!(_GOutputMessage))
28215    );
28216    assert_eq!(
28217        unsafe { ::std::ptr::addr_of!((*ptr).address) as usize - ptr as usize },
28218        0usize,
28219        concat!(
28220            "Offset of field: ",
28221            stringify!(_GOutputMessage),
28222            "::",
28223            stringify!(address)
28224        )
28225    );
28226    assert_eq!(
28227        unsafe { ::std::ptr::addr_of!((*ptr).vectors) as usize - ptr as usize },
28228        8usize,
28229        concat!(
28230            "Offset of field: ",
28231            stringify!(_GOutputMessage),
28232            "::",
28233            stringify!(vectors)
28234        )
28235    );
28236    assert_eq!(
28237        unsafe { ::std::ptr::addr_of!((*ptr).num_vectors) as usize - ptr as usize },
28238        16usize,
28239        concat!(
28240            "Offset of field: ",
28241            stringify!(_GOutputMessage),
28242            "::",
28243            stringify!(num_vectors)
28244        )
28245    );
28246    assert_eq!(
28247        unsafe { ::std::ptr::addr_of!((*ptr).bytes_sent) as usize - ptr as usize },
28248        20usize,
28249        concat!(
28250            "Offset of field: ",
28251            stringify!(_GOutputMessage),
28252            "::",
28253            stringify!(bytes_sent)
28254        )
28255    );
28256    assert_eq!(
28257        unsafe { ::std::ptr::addr_of!((*ptr).control_messages) as usize - ptr as usize },
28258        24usize,
28259        concat!(
28260            "Offset of field: ",
28261            stringify!(_GOutputMessage),
28262            "::",
28263            stringify!(control_messages)
28264        )
28265    );
28266    assert_eq!(
28267        unsafe { ::std::ptr::addr_of!((*ptr).num_control_messages) as usize - ptr as usize },
28268        32usize,
28269        concat!(
28270            "Offset of field: ",
28271            stringify!(_GOutputMessage),
28272            "::",
28273            stringify!(num_control_messages)
28274        )
28275    );
28276}
28277#[repr(C)]
28278#[derive(Debug, Copy, Clone)]
28279pub struct _GCredentials {
28280    _unused: [u8; 0],
28281}
28282pub type GCredentials = _GCredentials;
28283pub type GUnixCredentialsMessage = _GUnixCredentialsMessage;
28284pub type GUnixFDList = _GUnixFDList;
28285#[repr(C)]
28286#[derive(Debug, Copy, Clone)]
28287pub struct _GDBusMessage {
28288    _unused: [u8; 0],
28289}
28290pub type GDBusMessage = _GDBusMessage;
28291#[repr(C)]
28292#[derive(Debug, Copy, Clone)]
28293pub struct _GDBusConnection {
28294    _unused: [u8; 0],
28295}
28296pub type GDBusConnection = _GDBusConnection;
28297pub type GDBusProxy = _GDBusProxy;
28298#[repr(C)]
28299#[derive(Debug, Copy, Clone)]
28300pub struct _GDBusMethodInvocation {
28301    _unused: [u8; 0],
28302}
28303pub type GDBusMethodInvocation = _GDBusMethodInvocation;
28304#[repr(C)]
28305#[derive(Debug, Copy, Clone)]
28306pub struct _GDBusServer {
28307    _unused: [u8; 0],
28308}
28309pub type GDBusServer = _GDBusServer;
28310#[repr(C)]
28311#[derive(Debug, Copy, Clone)]
28312pub struct _GDBusAuthObserver {
28313    _unused: [u8; 0],
28314}
28315pub type GDBusAuthObserver = _GDBusAuthObserver;
28316pub type GDBusErrorEntry = _GDBusErrorEntry;
28317pub type GDBusInterfaceVTable = _GDBusInterfaceVTable;
28318pub type GDBusSubtreeVTable = _GDBusSubtreeVTable;
28319pub type GDBusAnnotationInfo = _GDBusAnnotationInfo;
28320pub type GDBusArgInfo = _GDBusArgInfo;
28321pub type GDBusMethodInfo = _GDBusMethodInfo;
28322pub type GDBusSignalInfo = _GDBusSignalInfo;
28323pub type GDBusPropertyInfo = _GDBusPropertyInfo;
28324pub type GDBusInterfaceInfo = _GDBusInterfaceInfo;
28325pub type GDBusNodeInfo = _GDBusNodeInfo;
28326pub type GCancellableSourceFunc = ::std::option::Option<
28327    unsafe extern "C" fn(cancellable: *mut GCancellable, data: gpointer) -> gboolean,
28328>;
28329pub type GPollableSourceFunc = ::std::option::Option<
28330    unsafe extern "C" fn(pollable_stream: *mut GObject, data: gpointer) -> gboolean,
28331>;
28332#[repr(C)]
28333#[derive(Debug, Copy, Clone)]
28334pub struct _GDBusInterface {
28335    _unused: [u8; 0],
28336}
28337pub type GDBusInterface = _GDBusInterface;
28338pub type GDBusInterfaceSkeleton = _GDBusInterfaceSkeleton;
28339#[repr(C)]
28340#[derive(Debug, Copy, Clone)]
28341pub struct _GDBusObject {
28342    _unused: [u8; 0],
28343}
28344pub type GDBusObject = _GDBusObject;
28345pub type GDBusObjectSkeleton = _GDBusObjectSkeleton;
28346pub type GDBusObjectProxy = _GDBusObjectProxy;
28347#[repr(C)]
28348#[derive(Debug, Copy, Clone)]
28349pub struct _GDBusObjectManager {
28350    _unused: [u8; 0],
28351}
28352pub type GDBusObjectManager = _GDBusObjectManager;
28353pub type GDBusObjectManagerClient = _GDBusObjectManagerClient;
28354pub type GDBusObjectManagerServer = _GDBusObjectManagerServer;
28355pub type GDBusProxyTypeFunc = ::std::option::Option<
28356    unsafe extern "C" fn(
28357        manager: *mut GDBusObjectManagerClient,
28358        object_path: *const gchar,
28359        interface_name: *const gchar,
28360        data: gpointer,
28361    ) -> GType,
28362>;
28363#[repr(C)]
28364#[derive(Debug, Copy, Clone)]
28365pub struct _GTestDBus {
28366    _unused: [u8; 0],
28367}
28368pub type GTestDBus = _GTestDBus;
28369#[repr(C)]
28370#[derive(Debug, Copy, Clone)]
28371pub struct _GSubprocess {
28372    _unused: [u8; 0],
28373}
28374pub type GSubprocess = _GSubprocess;
28375#[repr(C)]
28376#[derive(Debug, Copy, Clone)]
28377pub struct _GSubprocessLauncher {
28378    _unused: [u8; 0],
28379}
28380pub type GSubprocessLauncher = _GSubprocessLauncher;
28381pub type GActionInterface = _GActionInterface;
28382#[repr(C)]
28383#[derive(Debug, Copy, Clone, PartialEq, Eq)]
28384pub struct _GActionInterface {
28385    pub g_iface: GTypeInterface,
28386    pub get_name: ::std::option::Option<unsafe extern "C" fn(action: *mut GAction) -> *const gchar>,
28387    pub get_parameter_type:
28388        ::std::option::Option<unsafe extern "C" fn(action: *mut GAction) -> *const GVariantType>,
28389    pub get_state_type:
28390        ::std::option::Option<unsafe extern "C" fn(action: *mut GAction) -> *const GVariantType>,
28391    pub get_state_hint:
28392        ::std::option::Option<unsafe extern "C" fn(action: *mut GAction) -> *mut GVariant>,
28393    pub get_enabled: ::std::option::Option<unsafe extern "C" fn(action: *mut GAction) -> gboolean>,
28394    pub get_state:
28395        ::std::option::Option<unsafe extern "C" fn(action: *mut GAction) -> *mut GVariant>,
28396    pub change_state:
28397        ::std::option::Option<unsafe extern "C" fn(action: *mut GAction, value: *mut GVariant)>,
28398    pub activate:
28399        ::std::option::Option<unsafe extern "C" fn(action: *mut GAction, parameter: *mut GVariant)>,
28400}
28401#[test]
28402fn bindgen_test_layout__GActionInterface() {
28403    const UNINIT: ::std::mem::MaybeUninit<_GActionInterface> = ::std::mem::MaybeUninit::uninit();
28404    let ptr = UNINIT.as_ptr();
28405    assert_eq!(
28406        ::std::mem::size_of::<_GActionInterface>(),
28407        80usize,
28408        concat!("Size of: ", stringify!(_GActionInterface))
28409    );
28410    assert_eq!(
28411        ::std::mem::align_of::<_GActionInterface>(),
28412        8usize,
28413        concat!("Alignment of ", stringify!(_GActionInterface))
28414    );
28415    assert_eq!(
28416        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
28417        0usize,
28418        concat!(
28419            "Offset of field: ",
28420            stringify!(_GActionInterface),
28421            "::",
28422            stringify!(g_iface)
28423        )
28424    );
28425    assert_eq!(
28426        unsafe { ::std::ptr::addr_of!((*ptr).get_name) as usize - ptr as usize },
28427        16usize,
28428        concat!(
28429            "Offset of field: ",
28430            stringify!(_GActionInterface),
28431            "::",
28432            stringify!(get_name)
28433        )
28434    );
28435    assert_eq!(
28436        unsafe { ::std::ptr::addr_of!((*ptr).get_parameter_type) as usize - ptr as usize },
28437        24usize,
28438        concat!(
28439            "Offset of field: ",
28440            stringify!(_GActionInterface),
28441            "::",
28442            stringify!(get_parameter_type)
28443        )
28444    );
28445    assert_eq!(
28446        unsafe { ::std::ptr::addr_of!((*ptr).get_state_type) as usize - ptr as usize },
28447        32usize,
28448        concat!(
28449            "Offset of field: ",
28450            stringify!(_GActionInterface),
28451            "::",
28452            stringify!(get_state_type)
28453        )
28454    );
28455    assert_eq!(
28456        unsafe { ::std::ptr::addr_of!((*ptr).get_state_hint) as usize - ptr as usize },
28457        40usize,
28458        concat!(
28459            "Offset of field: ",
28460            stringify!(_GActionInterface),
28461            "::",
28462            stringify!(get_state_hint)
28463        )
28464    );
28465    assert_eq!(
28466        unsafe { ::std::ptr::addr_of!((*ptr).get_enabled) as usize - ptr as usize },
28467        48usize,
28468        concat!(
28469            "Offset of field: ",
28470            stringify!(_GActionInterface),
28471            "::",
28472            stringify!(get_enabled)
28473        )
28474    );
28475    assert_eq!(
28476        unsafe { ::std::ptr::addr_of!((*ptr).get_state) as usize - ptr as usize },
28477        56usize,
28478        concat!(
28479            "Offset of field: ",
28480            stringify!(_GActionInterface),
28481            "::",
28482            stringify!(get_state)
28483        )
28484    );
28485    assert_eq!(
28486        unsafe { ::std::ptr::addr_of!((*ptr).change_state) as usize - ptr as usize },
28487        64usize,
28488        concat!(
28489            "Offset of field: ",
28490            stringify!(_GActionInterface),
28491            "::",
28492            stringify!(change_state)
28493        )
28494    );
28495    assert_eq!(
28496        unsafe { ::std::ptr::addr_of!((*ptr).activate) as usize - ptr as usize },
28497        72usize,
28498        concat!(
28499            "Offset of field: ",
28500            stringify!(_GActionInterface),
28501            "::",
28502            stringify!(activate)
28503        )
28504    );
28505}
28506extern "C" {
28507    pub fn g_action_get_type() -> GType;
28508}
28509extern "C" {
28510    pub fn g_action_get_name(action: *mut GAction) -> *const gchar;
28511}
28512extern "C" {
28513    pub fn g_action_get_parameter_type(action: *mut GAction) -> *const GVariantType;
28514}
28515extern "C" {
28516    pub fn g_action_get_state_type(action: *mut GAction) -> *const GVariantType;
28517}
28518extern "C" {
28519    pub fn g_action_get_state_hint(action: *mut GAction) -> *mut GVariant;
28520}
28521extern "C" {
28522    pub fn g_action_get_enabled(action: *mut GAction) -> gboolean;
28523}
28524extern "C" {
28525    pub fn g_action_get_state(action: *mut GAction) -> *mut GVariant;
28526}
28527extern "C" {
28528    pub fn g_action_change_state(action: *mut GAction, value: *mut GVariant);
28529}
28530extern "C" {
28531    pub fn g_action_activate(action: *mut GAction, parameter: *mut GVariant);
28532}
28533extern "C" {
28534    pub fn g_action_name_is_valid(action_name: *const gchar) -> gboolean;
28535}
28536extern "C" {
28537    pub fn g_action_parse_detailed_name(
28538        detailed_name: *const gchar,
28539        action_name: *mut *mut gchar,
28540        target_value: *mut *mut GVariant,
28541        error: *mut *mut GError,
28542    ) -> gboolean;
28543}
28544extern "C" {
28545    pub fn g_action_print_detailed_name(
28546        action_name: *const gchar,
28547        target_value: *mut GVariant,
28548    ) -> *mut gchar;
28549}
28550pub type GActionGroupInterface = _GActionGroupInterface;
28551#[repr(C)]
28552#[derive(Debug, Copy, Clone, PartialEq, Eq)]
28553pub struct _GActionGroupInterface {
28554    pub g_iface: GTypeInterface,
28555    pub has_action: ::std::option::Option<
28556        unsafe extern "C" fn(
28557            action_group: *mut GActionGroup,
28558            action_name: *const gchar,
28559        ) -> gboolean,
28560    >,
28561    pub list_actions: ::std::option::Option<
28562        unsafe extern "C" fn(action_group: *mut GActionGroup) -> *mut *mut gchar,
28563    >,
28564    pub get_action_enabled: ::std::option::Option<
28565        unsafe extern "C" fn(
28566            action_group: *mut GActionGroup,
28567            action_name: *const gchar,
28568        ) -> gboolean,
28569    >,
28570    pub get_action_parameter_type: ::std::option::Option<
28571        unsafe extern "C" fn(
28572            action_group: *mut GActionGroup,
28573            action_name: *const gchar,
28574        ) -> *const GVariantType,
28575    >,
28576    pub get_action_state_type: ::std::option::Option<
28577        unsafe extern "C" fn(
28578            action_group: *mut GActionGroup,
28579            action_name: *const gchar,
28580        ) -> *const GVariantType,
28581    >,
28582    pub get_action_state_hint: ::std::option::Option<
28583        unsafe extern "C" fn(
28584            action_group: *mut GActionGroup,
28585            action_name: *const gchar,
28586        ) -> *mut GVariant,
28587    >,
28588    pub get_action_state: ::std::option::Option<
28589        unsafe extern "C" fn(
28590            action_group: *mut GActionGroup,
28591            action_name: *const gchar,
28592        ) -> *mut GVariant,
28593    >,
28594    pub change_action_state: ::std::option::Option<
28595        unsafe extern "C" fn(
28596            action_group: *mut GActionGroup,
28597            action_name: *const gchar,
28598            value: *mut GVariant,
28599        ),
28600    >,
28601    pub activate_action: ::std::option::Option<
28602        unsafe extern "C" fn(
28603            action_group: *mut GActionGroup,
28604            action_name: *const gchar,
28605            parameter: *mut GVariant,
28606        ),
28607    >,
28608    pub action_added: ::std::option::Option<
28609        unsafe extern "C" fn(action_group: *mut GActionGroup, action_name: *const gchar),
28610    >,
28611    pub action_removed: ::std::option::Option<
28612        unsafe extern "C" fn(action_group: *mut GActionGroup, action_name: *const gchar),
28613    >,
28614    pub action_enabled_changed: ::std::option::Option<
28615        unsafe extern "C" fn(
28616            action_group: *mut GActionGroup,
28617            action_name: *const gchar,
28618            enabled: gboolean,
28619        ),
28620    >,
28621    pub action_state_changed: ::std::option::Option<
28622        unsafe extern "C" fn(
28623            action_group: *mut GActionGroup,
28624            action_name: *const gchar,
28625            state: *mut GVariant,
28626        ),
28627    >,
28628    pub query_action: ::std::option::Option<
28629        unsafe extern "C" fn(
28630            action_group: *mut GActionGroup,
28631            action_name: *const gchar,
28632            enabled: *mut gboolean,
28633            parameter_type: *mut *const GVariantType,
28634            state_type: *mut *const GVariantType,
28635            state_hint: *mut *mut GVariant,
28636            state: *mut *mut GVariant,
28637        ) -> gboolean,
28638    >,
28639}
28640#[test]
28641fn bindgen_test_layout__GActionGroupInterface() {
28642    const UNINIT: ::std::mem::MaybeUninit<_GActionGroupInterface> =
28643        ::std::mem::MaybeUninit::uninit();
28644    let ptr = UNINIT.as_ptr();
28645    assert_eq!(
28646        ::std::mem::size_of::<_GActionGroupInterface>(),
28647        128usize,
28648        concat!("Size of: ", stringify!(_GActionGroupInterface))
28649    );
28650    assert_eq!(
28651        ::std::mem::align_of::<_GActionGroupInterface>(),
28652        8usize,
28653        concat!("Alignment of ", stringify!(_GActionGroupInterface))
28654    );
28655    assert_eq!(
28656        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
28657        0usize,
28658        concat!(
28659            "Offset of field: ",
28660            stringify!(_GActionGroupInterface),
28661            "::",
28662            stringify!(g_iface)
28663        )
28664    );
28665    assert_eq!(
28666        unsafe { ::std::ptr::addr_of!((*ptr).has_action) as usize - ptr as usize },
28667        16usize,
28668        concat!(
28669            "Offset of field: ",
28670            stringify!(_GActionGroupInterface),
28671            "::",
28672            stringify!(has_action)
28673        )
28674    );
28675    assert_eq!(
28676        unsafe { ::std::ptr::addr_of!((*ptr).list_actions) as usize - ptr as usize },
28677        24usize,
28678        concat!(
28679            "Offset of field: ",
28680            stringify!(_GActionGroupInterface),
28681            "::",
28682            stringify!(list_actions)
28683        )
28684    );
28685    assert_eq!(
28686        unsafe { ::std::ptr::addr_of!((*ptr).get_action_enabled) as usize - ptr as usize },
28687        32usize,
28688        concat!(
28689            "Offset of field: ",
28690            stringify!(_GActionGroupInterface),
28691            "::",
28692            stringify!(get_action_enabled)
28693        )
28694    );
28695    assert_eq!(
28696        unsafe { ::std::ptr::addr_of!((*ptr).get_action_parameter_type) as usize - ptr as usize },
28697        40usize,
28698        concat!(
28699            "Offset of field: ",
28700            stringify!(_GActionGroupInterface),
28701            "::",
28702            stringify!(get_action_parameter_type)
28703        )
28704    );
28705    assert_eq!(
28706        unsafe { ::std::ptr::addr_of!((*ptr).get_action_state_type) as usize - ptr as usize },
28707        48usize,
28708        concat!(
28709            "Offset of field: ",
28710            stringify!(_GActionGroupInterface),
28711            "::",
28712            stringify!(get_action_state_type)
28713        )
28714    );
28715    assert_eq!(
28716        unsafe { ::std::ptr::addr_of!((*ptr).get_action_state_hint) as usize - ptr as usize },
28717        56usize,
28718        concat!(
28719            "Offset of field: ",
28720            stringify!(_GActionGroupInterface),
28721            "::",
28722            stringify!(get_action_state_hint)
28723        )
28724    );
28725    assert_eq!(
28726        unsafe { ::std::ptr::addr_of!((*ptr).get_action_state) as usize - ptr as usize },
28727        64usize,
28728        concat!(
28729            "Offset of field: ",
28730            stringify!(_GActionGroupInterface),
28731            "::",
28732            stringify!(get_action_state)
28733        )
28734    );
28735    assert_eq!(
28736        unsafe { ::std::ptr::addr_of!((*ptr).change_action_state) as usize - ptr as usize },
28737        72usize,
28738        concat!(
28739            "Offset of field: ",
28740            stringify!(_GActionGroupInterface),
28741            "::",
28742            stringify!(change_action_state)
28743        )
28744    );
28745    assert_eq!(
28746        unsafe { ::std::ptr::addr_of!((*ptr).activate_action) as usize - ptr as usize },
28747        80usize,
28748        concat!(
28749            "Offset of field: ",
28750            stringify!(_GActionGroupInterface),
28751            "::",
28752            stringify!(activate_action)
28753        )
28754    );
28755    assert_eq!(
28756        unsafe { ::std::ptr::addr_of!((*ptr).action_added) as usize - ptr as usize },
28757        88usize,
28758        concat!(
28759            "Offset of field: ",
28760            stringify!(_GActionGroupInterface),
28761            "::",
28762            stringify!(action_added)
28763        )
28764    );
28765    assert_eq!(
28766        unsafe { ::std::ptr::addr_of!((*ptr).action_removed) as usize - ptr as usize },
28767        96usize,
28768        concat!(
28769            "Offset of field: ",
28770            stringify!(_GActionGroupInterface),
28771            "::",
28772            stringify!(action_removed)
28773        )
28774    );
28775    assert_eq!(
28776        unsafe { ::std::ptr::addr_of!((*ptr).action_enabled_changed) as usize - ptr as usize },
28777        104usize,
28778        concat!(
28779            "Offset of field: ",
28780            stringify!(_GActionGroupInterface),
28781            "::",
28782            stringify!(action_enabled_changed)
28783        )
28784    );
28785    assert_eq!(
28786        unsafe { ::std::ptr::addr_of!((*ptr).action_state_changed) as usize - ptr as usize },
28787        112usize,
28788        concat!(
28789            "Offset of field: ",
28790            stringify!(_GActionGroupInterface),
28791            "::",
28792            stringify!(action_state_changed)
28793        )
28794    );
28795    assert_eq!(
28796        unsafe { ::std::ptr::addr_of!((*ptr).query_action) as usize - ptr as usize },
28797        120usize,
28798        concat!(
28799            "Offset of field: ",
28800            stringify!(_GActionGroupInterface),
28801            "::",
28802            stringify!(query_action)
28803        )
28804    );
28805}
28806extern "C" {
28807    pub fn g_action_group_get_type() -> GType;
28808}
28809extern "C" {
28810    pub fn g_action_group_has_action(
28811        action_group: *mut GActionGroup,
28812        action_name: *const gchar,
28813    ) -> gboolean;
28814}
28815extern "C" {
28816    pub fn g_action_group_list_actions(action_group: *mut GActionGroup) -> *mut *mut gchar;
28817}
28818extern "C" {
28819    pub fn g_action_group_get_action_parameter_type(
28820        action_group: *mut GActionGroup,
28821        action_name: *const gchar,
28822    ) -> *const GVariantType;
28823}
28824extern "C" {
28825    pub fn g_action_group_get_action_state_type(
28826        action_group: *mut GActionGroup,
28827        action_name: *const gchar,
28828    ) -> *const GVariantType;
28829}
28830extern "C" {
28831    pub fn g_action_group_get_action_state_hint(
28832        action_group: *mut GActionGroup,
28833        action_name: *const gchar,
28834    ) -> *mut GVariant;
28835}
28836extern "C" {
28837    pub fn g_action_group_get_action_enabled(
28838        action_group: *mut GActionGroup,
28839        action_name: *const gchar,
28840    ) -> gboolean;
28841}
28842extern "C" {
28843    pub fn g_action_group_get_action_state(
28844        action_group: *mut GActionGroup,
28845        action_name: *const gchar,
28846    ) -> *mut GVariant;
28847}
28848extern "C" {
28849    pub fn g_action_group_change_action_state(
28850        action_group: *mut GActionGroup,
28851        action_name: *const gchar,
28852        value: *mut GVariant,
28853    );
28854}
28855extern "C" {
28856    pub fn g_action_group_activate_action(
28857        action_group: *mut GActionGroup,
28858        action_name: *const gchar,
28859        parameter: *mut GVariant,
28860    );
28861}
28862extern "C" {
28863    pub fn g_action_group_action_added(action_group: *mut GActionGroup, action_name: *const gchar);
28864}
28865extern "C" {
28866    pub fn g_action_group_action_removed(
28867        action_group: *mut GActionGroup,
28868        action_name: *const gchar,
28869    );
28870}
28871extern "C" {
28872    pub fn g_action_group_action_enabled_changed(
28873        action_group: *mut GActionGroup,
28874        action_name: *const gchar,
28875        enabled: gboolean,
28876    );
28877}
28878extern "C" {
28879    pub fn g_action_group_action_state_changed(
28880        action_group: *mut GActionGroup,
28881        action_name: *const gchar,
28882        state: *mut GVariant,
28883    );
28884}
28885extern "C" {
28886    pub fn g_action_group_query_action(
28887        action_group: *mut GActionGroup,
28888        action_name: *const gchar,
28889        enabled: *mut gboolean,
28890        parameter_type: *mut *const GVariantType,
28891        state_type: *mut *const GVariantType,
28892        state_hint: *mut *mut GVariant,
28893        state: *mut *mut GVariant,
28894    ) -> gboolean;
28895}
28896extern "C" {
28897    pub fn g_dbus_connection_export_action_group(
28898        connection: *mut GDBusConnection,
28899        object_path: *const gchar,
28900        action_group: *mut GActionGroup,
28901        error: *mut *mut GError,
28902    ) -> guint;
28903}
28904extern "C" {
28905    pub fn g_dbus_connection_unexport_action_group(
28906        connection: *mut GDBusConnection,
28907        export_id: guint,
28908    );
28909}
28910pub type GActionMapInterface = _GActionMapInterface;
28911pub type GActionEntry = _GActionEntry;
28912#[repr(C)]
28913#[derive(Debug, Copy, Clone, PartialEq, Eq)]
28914pub struct _GActionMapInterface {
28915    pub g_iface: GTypeInterface,
28916    pub lookup_action: ::std::option::Option<
28917        unsafe extern "C" fn(
28918            action_map: *mut GActionMap,
28919            action_name: *const gchar,
28920        ) -> *mut GAction,
28921    >,
28922    pub add_action: ::std::option::Option<
28923        unsafe extern "C" fn(action_map: *mut GActionMap, action: *mut GAction),
28924    >,
28925    pub remove_action: ::std::option::Option<
28926        unsafe extern "C" fn(action_map: *mut GActionMap, action_name: *const gchar),
28927    >,
28928}
28929#[test]
28930fn bindgen_test_layout__GActionMapInterface() {
28931    const UNINIT: ::std::mem::MaybeUninit<_GActionMapInterface> = ::std::mem::MaybeUninit::uninit();
28932    let ptr = UNINIT.as_ptr();
28933    assert_eq!(
28934        ::std::mem::size_of::<_GActionMapInterface>(),
28935        40usize,
28936        concat!("Size of: ", stringify!(_GActionMapInterface))
28937    );
28938    assert_eq!(
28939        ::std::mem::align_of::<_GActionMapInterface>(),
28940        8usize,
28941        concat!("Alignment of ", stringify!(_GActionMapInterface))
28942    );
28943    assert_eq!(
28944        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
28945        0usize,
28946        concat!(
28947            "Offset of field: ",
28948            stringify!(_GActionMapInterface),
28949            "::",
28950            stringify!(g_iface)
28951        )
28952    );
28953    assert_eq!(
28954        unsafe { ::std::ptr::addr_of!((*ptr).lookup_action) as usize - ptr as usize },
28955        16usize,
28956        concat!(
28957            "Offset of field: ",
28958            stringify!(_GActionMapInterface),
28959            "::",
28960            stringify!(lookup_action)
28961        )
28962    );
28963    assert_eq!(
28964        unsafe { ::std::ptr::addr_of!((*ptr).add_action) as usize - ptr as usize },
28965        24usize,
28966        concat!(
28967            "Offset of field: ",
28968            stringify!(_GActionMapInterface),
28969            "::",
28970            stringify!(add_action)
28971        )
28972    );
28973    assert_eq!(
28974        unsafe { ::std::ptr::addr_of!((*ptr).remove_action) as usize - ptr as usize },
28975        32usize,
28976        concat!(
28977            "Offset of field: ",
28978            stringify!(_GActionMapInterface),
28979            "::",
28980            stringify!(remove_action)
28981        )
28982    );
28983}
28984#[repr(C)]
28985#[derive(Debug, Copy, Clone, PartialEq, Eq)]
28986pub struct _GActionEntry {
28987    pub name: *const gchar,
28988    pub activate: ::std::option::Option<
28989        unsafe extern "C" fn(
28990            action: *mut GSimpleAction,
28991            parameter: *mut GVariant,
28992            user_data: gpointer,
28993        ),
28994    >,
28995    pub parameter_type: *const gchar,
28996    pub state: *const gchar,
28997    pub change_state: ::std::option::Option<
28998        unsafe extern "C" fn(action: *mut GSimpleAction, value: *mut GVariant, user_data: gpointer),
28999    >,
29000    pub padding: [gsize; 3usize],
29001}
29002#[test]
29003fn bindgen_test_layout__GActionEntry() {
29004    const UNINIT: ::std::mem::MaybeUninit<_GActionEntry> = ::std::mem::MaybeUninit::uninit();
29005    let ptr = UNINIT.as_ptr();
29006    assert_eq!(
29007        ::std::mem::size_of::<_GActionEntry>(),
29008        64usize,
29009        concat!("Size of: ", stringify!(_GActionEntry))
29010    );
29011    assert_eq!(
29012        ::std::mem::align_of::<_GActionEntry>(),
29013        8usize,
29014        concat!("Alignment of ", stringify!(_GActionEntry))
29015    );
29016    assert_eq!(
29017        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
29018        0usize,
29019        concat!(
29020            "Offset of field: ",
29021            stringify!(_GActionEntry),
29022            "::",
29023            stringify!(name)
29024        )
29025    );
29026    assert_eq!(
29027        unsafe { ::std::ptr::addr_of!((*ptr).activate) as usize - ptr as usize },
29028        8usize,
29029        concat!(
29030            "Offset of field: ",
29031            stringify!(_GActionEntry),
29032            "::",
29033            stringify!(activate)
29034        )
29035    );
29036    assert_eq!(
29037        unsafe { ::std::ptr::addr_of!((*ptr).parameter_type) as usize - ptr as usize },
29038        16usize,
29039        concat!(
29040            "Offset of field: ",
29041            stringify!(_GActionEntry),
29042            "::",
29043            stringify!(parameter_type)
29044        )
29045    );
29046    assert_eq!(
29047        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
29048        24usize,
29049        concat!(
29050            "Offset of field: ",
29051            stringify!(_GActionEntry),
29052            "::",
29053            stringify!(state)
29054        )
29055    );
29056    assert_eq!(
29057        unsafe { ::std::ptr::addr_of!((*ptr).change_state) as usize - ptr as usize },
29058        32usize,
29059        concat!(
29060            "Offset of field: ",
29061            stringify!(_GActionEntry),
29062            "::",
29063            stringify!(change_state)
29064        )
29065    );
29066    assert_eq!(
29067        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
29068        40usize,
29069        concat!(
29070            "Offset of field: ",
29071            stringify!(_GActionEntry),
29072            "::",
29073            stringify!(padding)
29074        )
29075    );
29076}
29077extern "C" {
29078    pub fn g_action_map_get_type() -> GType;
29079}
29080extern "C" {
29081    pub fn g_action_map_lookup_action(
29082        action_map: *mut GActionMap,
29083        action_name: *const gchar,
29084    ) -> *mut GAction;
29085}
29086extern "C" {
29087    pub fn g_action_map_add_action(action_map: *mut GActionMap, action: *mut GAction);
29088}
29089extern "C" {
29090    pub fn g_action_map_remove_action(action_map: *mut GActionMap, action_name: *const gchar);
29091}
29092extern "C" {
29093    pub fn g_action_map_add_action_entries(
29094        action_map: *mut GActionMap,
29095        entries: *const GActionEntry,
29096        n_entries: gint,
29097        user_data: gpointer,
29098    );
29099}
29100extern "C" {
29101    pub fn g_action_map_remove_action_entries(
29102        action_map: *mut GActionMap,
29103        entries: *const GActionEntry,
29104        n_entries: gint,
29105    );
29106}
29107pub type GAppLaunchContextClass = _GAppLaunchContextClass;
29108#[repr(C)]
29109#[derive(Debug, Copy, Clone)]
29110pub struct _GAppLaunchContextPrivate {
29111    _unused: [u8; 0],
29112}
29113pub type GAppLaunchContextPrivate = _GAppLaunchContextPrivate;
29114pub type GAppInfoIface = _GAppInfoIface;
29115#[repr(C)]
29116#[derive(Debug, Copy, Clone, PartialEq, Eq)]
29117pub struct _GAppInfoIface {
29118    pub g_iface: GTypeInterface,
29119    pub dup: ::std::option::Option<unsafe extern "C" fn(appinfo: *mut GAppInfo) -> *mut GAppInfo>,
29120    pub equal: ::std::option::Option<
29121        unsafe extern "C" fn(appinfo1: *mut GAppInfo, appinfo2: *mut GAppInfo) -> gboolean,
29122    >,
29123    pub get_id: ::std::option::Option<
29124        unsafe extern "C" fn(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char,
29125    >,
29126    pub get_name: ::std::option::Option<
29127        unsafe extern "C" fn(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char,
29128    >,
29129    pub get_description: ::std::option::Option<
29130        unsafe extern "C" fn(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char,
29131    >,
29132    pub get_executable: ::std::option::Option<
29133        unsafe extern "C" fn(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char,
29134    >,
29135    pub get_icon: ::std::option::Option<unsafe extern "C" fn(appinfo: *mut GAppInfo) -> *mut GIcon>,
29136    pub launch: ::std::option::Option<
29137        unsafe extern "C" fn(
29138            appinfo: *mut GAppInfo,
29139            files: *mut GList,
29140            context: *mut GAppLaunchContext,
29141            error: *mut *mut GError,
29142        ) -> gboolean,
29143    >,
29144    pub supports_uris:
29145        ::std::option::Option<unsafe extern "C" fn(appinfo: *mut GAppInfo) -> gboolean>,
29146    pub supports_files:
29147        ::std::option::Option<unsafe extern "C" fn(appinfo: *mut GAppInfo) -> gboolean>,
29148    pub launch_uris: ::std::option::Option<
29149        unsafe extern "C" fn(
29150            appinfo: *mut GAppInfo,
29151            uris: *mut GList,
29152            context: *mut GAppLaunchContext,
29153            error: *mut *mut GError,
29154        ) -> gboolean,
29155    >,
29156    pub should_show:
29157        ::std::option::Option<unsafe extern "C" fn(appinfo: *mut GAppInfo) -> gboolean>,
29158    pub set_as_default_for_type: ::std::option::Option<
29159        unsafe extern "C" fn(
29160            appinfo: *mut GAppInfo,
29161            content_type: *const ::std::os::raw::c_char,
29162            error: *mut *mut GError,
29163        ) -> gboolean,
29164    >,
29165    pub set_as_default_for_extension: ::std::option::Option<
29166        unsafe extern "C" fn(
29167            appinfo: *mut GAppInfo,
29168            extension: *const ::std::os::raw::c_char,
29169            error: *mut *mut GError,
29170        ) -> gboolean,
29171    >,
29172    pub add_supports_type: ::std::option::Option<
29173        unsafe extern "C" fn(
29174            appinfo: *mut GAppInfo,
29175            content_type: *const ::std::os::raw::c_char,
29176            error: *mut *mut GError,
29177        ) -> gboolean,
29178    >,
29179    pub can_remove_supports_type:
29180        ::std::option::Option<unsafe extern "C" fn(appinfo: *mut GAppInfo) -> gboolean>,
29181    pub remove_supports_type: ::std::option::Option<
29182        unsafe extern "C" fn(
29183            appinfo: *mut GAppInfo,
29184            content_type: *const ::std::os::raw::c_char,
29185            error: *mut *mut GError,
29186        ) -> gboolean,
29187    >,
29188    pub can_delete: ::std::option::Option<unsafe extern "C" fn(appinfo: *mut GAppInfo) -> gboolean>,
29189    pub do_delete: ::std::option::Option<unsafe extern "C" fn(appinfo: *mut GAppInfo) -> gboolean>,
29190    pub get_commandline: ::std::option::Option<
29191        unsafe extern "C" fn(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char,
29192    >,
29193    pub get_display_name: ::std::option::Option<
29194        unsafe extern "C" fn(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char,
29195    >,
29196    pub set_as_last_used_for_type: ::std::option::Option<
29197        unsafe extern "C" fn(
29198            appinfo: *mut GAppInfo,
29199            content_type: *const ::std::os::raw::c_char,
29200            error: *mut *mut GError,
29201        ) -> gboolean,
29202    >,
29203    pub get_supported_types: ::std::option::Option<
29204        unsafe extern "C" fn(appinfo: *mut GAppInfo) -> *mut *const ::std::os::raw::c_char,
29205    >,
29206    pub launch_uris_async: ::std::option::Option<
29207        unsafe extern "C" fn(
29208            appinfo: *mut GAppInfo,
29209            uris: *mut GList,
29210            context: *mut GAppLaunchContext,
29211            cancellable: *mut GCancellable,
29212            callback: GAsyncReadyCallback,
29213            user_data: gpointer,
29214        ),
29215    >,
29216    pub launch_uris_finish: ::std::option::Option<
29217        unsafe extern "C" fn(
29218            appinfo: *mut GAppInfo,
29219            result: *mut GAsyncResult,
29220            error: *mut *mut GError,
29221        ) -> gboolean,
29222    >,
29223}
29224#[test]
29225fn bindgen_test_layout__GAppInfoIface() {
29226    const UNINIT: ::std::mem::MaybeUninit<_GAppInfoIface> = ::std::mem::MaybeUninit::uninit();
29227    let ptr = UNINIT.as_ptr();
29228    assert_eq!(
29229        ::std::mem::size_of::<_GAppInfoIface>(),
29230        216usize,
29231        concat!("Size of: ", stringify!(_GAppInfoIface))
29232    );
29233    assert_eq!(
29234        ::std::mem::align_of::<_GAppInfoIface>(),
29235        8usize,
29236        concat!("Alignment of ", stringify!(_GAppInfoIface))
29237    );
29238    assert_eq!(
29239        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
29240        0usize,
29241        concat!(
29242            "Offset of field: ",
29243            stringify!(_GAppInfoIface),
29244            "::",
29245            stringify!(g_iface)
29246        )
29247    );
29248    assert_eq!(
29249        unsafe { ::std::ptr::addr_of!((*ptr).dup) as usize - ptr as usize },
29250        16usize,
29251        concat!(
29252            "Offset of field: ",
29253            stringify!(_GAppInfoIface),
29254            "::",
29255            stringify!(dup)
29256        )
29257    );
29258    assert_eq!(
29259        unsafe { ::std::ptr::addr_of!((*ptr).equal) as usize - ptr as usize },
29260        24usize,
29261        concat!(
29262            "Offset of field: ",
29263            stringify!(_GAppInfoIface),
29264            "::",
29265            stringify!(equal)
29266        )
29267    );
29268    assert_eq!(
29269        unsafe { ::std::ptr::addr_of!((*ptr).get_id) as usize - ptr as usize },
29270        32usize,
29271        concat!(
29272            "Offset of field: ",
29273            stringify!(_GAppInfoIface),
29274            "::",
29275            stringify!(get_id)
29276        )
29277    );
29278    assert_eq!(
29279        unsafe { ::std::ptr::addr_of!((*ptr).get_name) as usize - ptr as usize },
29280        40usize,
29281        concat!(
29282            "Offset of field: ",
29283            stringify!(_GAppInfoIface),
29284            "::",
29285            stringify!(get_name)
29286        )
29287    );
29288    assert_eq!(
29289        unsafe { ::std::ptr::addr_of!((*ptr).get_description) as usize - ptr as usize },
29290        48usize,
29291        concat!(
29292            "Offset of field: ",
29293            stringify!(_GAppInfoIface),
29294            "::",
29295            stringify!(get_description)
29296        )
29297    );
29298    assert_eq!(
29299        unsafe { ::std::ptr::addr_of!((*ptr).get_executable) as usize - ptr as usize },
29300        56usize,
29301        concat!(
29302            "Offset of field: ",
29303            stringify!(_GAppInfoIface),
29304            "::",
29305            stringify!(get_executable)
29306        )
29307    );
29308    assert_eq!(
29309        unsafe { ::std::ptr::addr_of!((*ptr).get_icon) as usize - ptr as usize },
29310        64usize,
29311        concat!(
29312            "Offset of field: ",
29313            stringify!(_GAppInfoIface),
29314            "::",
29315            stringify!(get_icon)
29316        )
29317    );
29318    assert_eq!(
29319        unsafe { ::std::ptr::addr_of!((*ptr).launch) as usize - ptr as usize },
29320        72usize,
29321        concat!(
29322            "Offset of field: ",
29323            stringify!(_GAppInfoIface),
29324            "::",
29325            stringify!(launch)
29326        )
29327    );
29328    assert_eq!(
29329        unsafe { ::std::ptr::addr_of!((*ptr).supports_uris) as usize - ptr as usize },
29330        80usize,
29331        concat!(
29332            "Offset of field: ",
29333            stringify!(_GAppInfoIface),
29334            "::",
29335            stringify!(supports_uris)
29336        )
29337    );
29338    assert_eq!(
29339        unsafe { ::std::ptr::addr_of!((*ptr).supports_files) as usize - ptr as usize },
29340        88usize,
29341        concat!(
29342            "Offset of field: ",
29343            stringify!(_GAppInfoIface),
29344            "::",
29345            stringify!(supports_files)
29346        )
29347    );
29348    assert_eq!(
29349        unsafe { ::std::ptr::addr_of!((*ptr).launch_uris) as usize - ptr as usize },
29350        96usize,
29351        concat!(
29352            "Offset of field: ",
29353            stringify!(_GAppInfoIface),
29354            "::",
29355            stringify!(launch_uris)
29356        )
29357    );
29358    assert_eq!(
29359        unsafe { ::std::ptr::addr_of!((*ptr).should_show) as usize - ptr as usize },
29360        104usize,
29361        concat!(
29362            "Offset of field: ",
29363            stringify!(_GAppInfoIface),
29364            "::",
29365            stringify!(should_show)
29366        )
29367    );
29368    assert_eq!(
29369        unsafe { ::std::ptr::addr_of!((*ptr).set_as_default_for_type) as usize - ptr as usize },
29370        112usize,
29371        concat!(
29372            "Offset of field: ",
29373            stringify!(_GAppInfoIface),
29374            "::",
29375            stringify!(set_as_default_for_type)
29376        )
29377    );
29378    assert_eq!(
29379        unsafe {
29380            ::std::ptr::addr_of!((*ptr).set_as_default_for_extension) as usize - ptr as usize
29381        },
29382        120usize,
29383        concat!(
29384            "Offset of field: ",
29385            stringify!(_GAppInfoIface),
29386            "::",
29387            stringify!(set_as_default_for_extension)
29388        )
29389    );
29390    assert_eq!(
29391        unsafe { ::std::ptr::addr_of!((*ptr).add_supports_type) as usize - ptr as usize },
29392        128usize,
29393        concat!(
29394            "Offset of field: ",
29395            stringify!(_GAppInfoIface),
29396            "::",
29397            stringify!(add_supports_type)
29398        )
29399    );
29400    assert_eq!(
29401        unsafe { ::std::ptr::addr_of!((*ptr).can_remove_supports_type) as usize - ptr as usize },
29402        136usize,
29403        concat!(
29404            "Offset of field: ",
29405            stringify!(_GAppInfoIface),
29406            "::",
29407            stringify!(can_remove_supports_type)
29408        )
29409    );
29410    assert_eq!(
29411        unsafe { ::std::ptr::addr_of!((*ptr).remove_supports_type) as usize - ptr as usize },
29412        144usize,
29413        concat!(
29414            "Offset of field: ",
29415            stringify!(_GAppInfoIface),
29416            "::",
29417            stringify!(remove_supports_type)
29418        )
29419    );
29420    assert_eq!(
29421        unsafe { ::std::ptr::addr_of!((*ptr).can_delete) as usize - ptr as usize },
29422        152usize,
29423        concat!(
29424            "Offset of field: ",
29425            stringify!(_GAppInfoIface),
29426            "::",
29427            stringify!(can_delete)
29428        )
29429    );
29430    assert_eq!(
29431        unsafe { ::std::ptr::addr_of!((*ptr).do_delete) as usize - ptr as usize },
29432        160usize,
29433        concat!(
29434            "Offset of field: ",
29435            stringify!(_GAppInfoIface),
29436            "::",
29437            stringify!(do_delete)
29438        )
29439    );
29440    assert_eq!(
29441        unsafe { ::std::ptr::addr_of!((*ptr).get_commandline) as usize - ptr as usize },
29442        168usize,
29443        concat!(
29444            "Offset of field: ",
29445            stringify!(_GAppInfoIface),
29446            "::",
29447            stringify!(get_commandline)
29448        )
29449    );
29450    assert_eq!(
29451        unsafe { ::std::ptr::addr_of!((*ptr).get_display_name) as usize - ptr as usize },
29452        176usize,
29453        concat!(
29454            "Offset of field: ",
29455            stringify!(_GAppInfoIface),
29456            "::",
29457            stringify!(get_display_name)
29458        )
29459    );
29460    assert_eq!(
29461        unsafe { ::std::ptr::addr_of!((*ptr).set_as_last_used_for_type) as usize - ptr as usize },
29462        184usize,
29463        concat!(
29464            "Offset of field: ",
29465            stringify!(_GAppInfoIface),
29466            "::",
29467            stringify!(set_as_last_used_for_type)
29468        )
29469    );
29470    assert_eq!(
29471        unsafe { ::std::ptr::addr_of!((*ptr).get_supported_types) as usize - ptr as usize },
29472        192usize,
29473        concat!(
29474            "Offset of field: ",
29475            stringify!(_GAppInfoIface),
29476            "::",
29477            stringify!(get_supported_types)
29478        )
29479    );
29480    assert_eq!(
29481        unsafe { ::std::ptr::addr_of!((*ptr).launch_uris_async) as usize - ptr as usize },
29482        200usize,
29483        concat!(
29484            "Offset of field: ",
29485            stringify!(_GAppInfoIface),
29486            "::",
29487            stringify!(launch_uris_async)
29488        )
29489    );
29490    assert_eq!(
29491        unsafe { ::std::ptr::addr_of!((*ptr).launch_uris_finish) as usize - ptr as usize },
29492        208usize,
29493        concat!(
29494            "Offset of field: ",
29495            stringify!(_GAppInfoIface),
29496            "::",
29497            stringify!(launch_uris_finish)
29498        )
29499    );
29500}
29501extern "C" {
29502    pub fn g_app_info_get_type() -> GType;
29503}
29504extern "C" {
29505    pub fn g_app_info_create_from_commandline(
29506        commandline: *const ::std::os::raw::c_char,
29507        application_name: *const ::std::os::raw::c_char,
29508        flags: GAppInfoCreateFlags,
29509        error: *mut *mut GError,
29510    ) -> *mut GAppInfo;
29511}
29512extern "C" {
29513    pub fn g_app_info_dup(appinfo: *mut GAppInfo) -> *mut GAppInfo;
29514}
29515extern "C" {
29516    pub fn g_app_info_equal(appinfo1: *mut GAppInfo, appinfo2: *mut GAppInfo) -> gboolean;
29517}
29518extern "C" {
29519    pub fn g_app_info_get_id(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char;
29520}
29521extern "C" {
29522    pub fn g_app_info_get_name(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char;
29523}
29524extern "C" {
29525    pub fn g_app_info_get_display_name(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char;
29526}
29527extern "C" {
29528    pub fn g_app_info_get_description(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char;
29529}
29530extern "C" {
29531    pub fn g_app_info_get_executable(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char;
29532}
29533extern "C" {
29534    pub fn g_app_info_get_commandline(appinfo: *mut GAppInfo) -> *const ::std::os::raw::c_char;
29535}
29536extern "C" {
29537    pub fn g_app_info_get_icon(appinfo: *mut GAppInfo) -> *mut GIcon;
29538}
29539extern "C" {
29540    pub fn g_app_info_launch(
29541        appinfo: *mut GAppInfo,
29542        files: *mut GList,
29543        context: *mut GAppLaunchContext,
29544        error: *mut *mut GError,
29545    ) -> gboolean;
29546}
29547extern "C" {
29548    pub fn g_app_info_supports_uris(appinfo: *mut GAppInfo) -> gboolean;
29549}
29550extern "C" {
29551    pub fn g_app_info_supports_files(appinfo: *mut GAppInfo) -> gboolean;
29552}
29553extern "C" {
29554    pub fn g_app_info_launch_uris(
29555        appinfo: *mut GAppInfo,
29556        uris: *mut GList,
29557        context: *mut GAppLaunchContext,
29558        error: *mut *mut GError,
29559    ) -> gboolean;
29560}
29561extern "C" {
29562    pub fn g_app_info_launch_uris_async(
29563        appinfo: *mut GAppInfo,
29564        uris: *mut GList,
29565        context: *mut GAppLaunchContext,
29566        cancellable: *mut GCancellable,
29567        callback: GAsyncReadyCallback,
29568        user_data: gpointer,
29569    );
29570}
29571extern "C" {
29572    pub fn g_app_info_launch_uris_finish(
29573        appinfo: *mut GAppInfo,
29574        result: *mut GAsyncResult,
29575        error: *mut *mut GError,
29576    ) -> gboolean;
29577}
29578extern "C" {
29579    pub fn g_app_info_should_show(appinfo: *mut GAppInfo) -> gboolean;
29580}
29581extern "C" {
29582    pub fn g_app_info_set_as_default_for_type(
29583        appinfo: *mut GAppInfo,
29584        content_type: *const ::std::os::raw::c_char,
29585        error: *mut *mut GError,
29586    ) -> gboolean;
29587}
29588extern "C" {
29589    pub fn g_app_info_set_as_default_for_extension(
29590        appinfo: *mut GAppInfo,
29591        extension: *const ::std::os::raw::c_char,
29592        error: *mut *mut GError,
29593    ) -> gboolean;
29594}
29595extern "C" {
29596    pub fn g_app_info_add_supports_type(
29597        appinfo: *mut GAppInfo,
29598        content_type: *const ::std::os::raw::c_char,
29599        error: *mut *mut GError,
29600    ) -> gboolean;
29601}
29602extern "C" {
29603    pub fn g_app_info_can_remove_supports_type(appinfo: *mut GAppInfo) -> gboolean;
29604}
29605extern "C" {
29606    pub fn g_app_info_remove_supports_type(
29607        appinfo: *mut GAppInfo,
29608        content_type: *const ::std::os::raw::c_char,
29609        error: *mut *mut GError,
29610    ) -> gboolean;
29611}
29612extern "C" {
29613    pub fn g_app_info_get_supported_types(
29614        appinfo: *mut GAppInfo,
29615    ) -> *mut *const ::std::os::raw::c_char;
29616}
29617extern "C" {
29618    pub fn g_app_info_can_delete(appinfo: *mut GAppInfo) -> gboolean;
29619}
29620extern "C" {
29621    pub fn g_app_info_delete(appinfo: *mut GAppInfo) -> gboolean;
29622}
29623extern "C" {
29624    pub fn g_app_info_set_as_last_used_for_type(
29625        appinfo: *mut GAppInfo,
29626        content_type: *const ::std::os::raw::c_char,
29627        error: *mut *mut GError,
29628    ) -> gboolean;
29629}
29630extern "C" {
29631    pub fn g_app_info_get_all() -> *mut GList;
29632}
29633extern "C" {
29634    pub fn g_app_info_get_all_for_type(content_type: *const ::std::os::raw::c_char) -> *mut GList;
29635}
29636extern "C" {
29637    pub fn g_app_info_get_recommended_for_type(content_type: *const gchar) -> *mut GList;
29638}
29639extern "C" {
29640    pub fn g_app_info_get_fallback_for_type(content_type: *const gchar) -> *mut GList;
29641}
29642extern "C" {
29643    pub fn g_app_info_reset_type_associations(content_type: *const ::std::os::raw::c_char);
29644}
29645extern "C" {
29646    pub fn g_app_info_get_default_for_type(
29647        content_type: *const ::std::os::raw::c_char,
29648        must_support_uris: gboolean,
29649    ) -> *mut GAppInfo;
29650}
29651extern "C" {
29652    pub fn g_app_info_get_default_for_type_async(
29653        content_type: *const ::std::os::raw::c_char,
29654        must_support_uris: gboolean,
29655        cancellable: *mut GCancellable,
29656        callback: GAsyncReadyCallback,
29657        user_data: gpointer,
29658    );
29659}
29660extern "C" {
29661    pub fn g_app_info_get_default_for_type_finish(
29662        result: *mut GAsyncResult,
29663        error: *mut *mut GError,
29664    ) -> *mut GAppInfo;
29665}
29666extern "C" {
29667    pub fn g_app_info_get_default_for_uri_scheme(
29668        uri_scheme: *const ::std::os::raw::c_char,
29669    ) -> *mut GAppInfo;
29670}
29671extern "C" {
29672    pub fn g_app_info_get_default_for_uri_scheme_async(
29673        uri_scheme: *const ::std::os::raw::c_char,
29674        cancellable: *mut GCancellable,
29675        callback: GAsyncReadyCallback,
29676        user_data: gpointer,
29677    );
29678}
29679extern "C" {
29680    pub fn g_app_info_get_default_for_uri_scheme_finish(
29681        result: *mut GAsyncResult,
29682        error: *mut *mut GError,
29683    ) -> *mut GAppInfo;
29684}
29685extern "C" {
29686    pub fn g_app_info_launch_default_for_uri(
29687        uri: *const ::std::os::raw::c_char,
29688        context: *mut GAppLaunchContext,
29689        error: *mut *mut GError,
29690    ) -> gboolean;
29691}
29692extern "C" {
29693    pub fn g_app_info_launch_default_for_uri_async(
29694        uri: *const ::std::os::raw::c_char,
29695        context: *mut GAppLaunchContext,
29696        cancellable: *mut GCancellable,
29697        callback: GAsyncReadyCallback,
29698        user_data: gpointer,
29699    );
29700}
29701extern "C" {
29702    pub fn g_app_info_launch_default_for_uri_finish(
29703        result: *mut GAsyncResult,
29704        error: *mut *mut GError,
29705    ) -> gboolean;
29706}
29707#[repr(C)]
29708#[derive(Debug, Copy, Clone, PartialEq, Eq)]
29709pub struct _GAppLaunchContext {
29710    pub parent_instance: GObject,
29711    pub priv_: *mut GAppLaunchContextPrivate,
29712}
29713#[test]
29714fn bindgen_test_layout__GAppLaunchContext() {
29715    const UNINIT: ::std::mem::MaybeUninit<_GAppLaunchContext> = ::std::mem::MaybeUninit::uninit();
29716    let ptr = UNINIT.as_ptr();
29717    assert_eq!(
29718        ::std::mem::size_of::<_GAppLaunchContext>(),
29719        32usize,
29720        concat!("Size of: ", stringify!(_GAppLaunchContext))
29721    );
29722    assert_eq!(
29723        ::std::mem::align_of::<_GAppLaunchContext>(),
29724        8usize,
29725        concat!("Alignment of ", stringify!(_GAppLaunchContext))
29726    );
29727    assert_eq!(
29728        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
29729        0usize,
29730        concat!(
29731            "Offset of field: ",
29732            stringify!(_GAppLaunchContext),
29733            "::",
29734            stringify!(parent_instance)
29735        )
29736    );
29737    assert_eq!(
29738        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
29739        24usize,
29740        concat!(
29741            "Offset of field: ",
29742            stringify!(_GAppLaunchContext),
29743            "::",
29744            stringify!(priv_)
29745        )
29746    );
29747}
29748#[repr(C)]
29749#[derive(Debug, Copy, Clone, PartialEq, Eq)]
29750pub struct _GAppLaunchContextClass {
29751    pub parent_class: GObjectClass,
29752    pub get_display: ::std::option::Option<
29753        unsafe extern "C" fn(
29754            context: *mut GAppLaunchContext,
29755            info: *mut GAppInfo,
29756            files: *mut GList,
29757        ) -> *mut ::std::os::raw::c_char,
29758    >,
29759    pub get_startup_notify_id: ::std::option::Option<
29760        unsafe extern "C" fn(
29761            context: *mut GAppLaunchContext,
29762            info: *mut GAppInfo,
29763            files: *mut GList,
29764        ) -> *mut ::std::os::raw::c_char,
29765    >,
29766    pub launch_failed: ::std::option::Option<
29767        unsafe extern "C" fn(
29768            context: *mut GAppLaunchContext,
29769            startup_notify_id: *const ::std::os::raw::c_char,
29770        ),
29771    >,
29772    pub launched: ::std::option::Option<
29773        unsafe extern "C" fn(
29774            context: *mut GAppLaunchContext,
29775            info: *mut GAppInfo,
29776            platform_data: *mut GVariant,
29777        ),
29778    >,
29779    pub launch_started: ::std::option::Option<
29780        unsafe extern "C" fn(
29781            context: *mut GAppLaunchContext,
29782            info: *mut GAppInfo,
29783            platform_data: *mut GVariant,
29784        ),
29785    >,
29786    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
29787    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
29788    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
29789}
29790#[test]
29791fn bindgen_test_layout__GAppLaunchContextClass() {
29792    const UNINIT: ::std::mem::MaybeUninit<_GAppLaunchContextClass> =
29793        ::std::mem::MaybeUninit::uninit();
29794    let ptr = UNINIT.as_ptr();
29795    assert_eq!(
29796        ::std::mem::size_of::<_GAppLaunchContextClass>(),
29797        200usize,
29798        concat!("Size of: ", stringify!(_GAppLaunchContextClass))
29799    );
29800    assert_eq!(
29801        ::std::mem::align_of::<_GAppLaunchContextClass>(),
29802        8usize,
29803        concat!("Alignment of ", stringify!(_GAppLaunchContextClass))
29804    );
29805    assert_eq!(
29806        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
29807        0usize,
29808        concat!(
29809            "Offset of field: ",
29810            stringify!(_GAppLaunchContextClass),
29811            "::",
29812            stringify!(parent_class)
29813        )
29814    );
29815    assert_eq!(
29816        unsafe { ::std::ptr::addr_of!((*ptr).get_display) as usize - ptr as usize },
29817        136usize,
29818        concat!(
29819            "Offset of field: ",
29820            stringify!(_GAppLaunchContextClass),
29821            "::",
29822            stringify!(get_display)
29823        )
29824    );
29825    assert_eq!(
29826        unsafe { ::std::ptr::addr_of!((*ptr).get_startup_notify_id) as usize - ptr as usize },
29827        144usize,
29828        concat!(
29829            "Offset of field: ",
29830            stringify!(_GAppLaunchContextClass),
29831            "::",
29832            stringify!(get_startup_notify_id)
29833        )
29834    );
29835    assert_eq!(
29836        unsafe { ::std::ptr::addr_of!((*ptr).launch_failed) as usize - ptr as usize },
29837        152usize,
29838        concat!(
29839            "Offset of field: ",
29840            stringify!(_GAppLaunchContextClass),
29841            "::",
29842            stringify!(launch_failed)
29843        )
29844    );
29845    assert_eq!(
29846        unsafe { ::std::ptr::addr_of!((*ptr).launched) as usize - ptr as usize },
29847        160usize,
29848        concat!(
29849            "Offset of field: ",
29850            stringify!(_GAppLaunchContextClass),
29851            "::",
29852            stringify!(launched)
29853        )
29854    );
29855    assert_eq!(
29856        unsafe { ::std::ptr::addr_of!((*ptr).launch_started) as usize - ptr as usize },
29857        168usize,
29858        concat!(
29859            "Offset of field: ",
29860            stringify!(_GAppLaunchContextClass),
29861            "::",
29862            stringify!(launch_started)
29863        )
29864    );
29865    assert_eq!(
29866        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
29867        176usize,
29868        concat!(
29869            "Offset of field: ",
29870            stringify!(_GAppLaunchContextClass),
29871            "::",
29872            stringify!(_g_reserved1)
29873        )
29874    );
29875    assert_eq!(
29876        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
29877        184usize,
29878        concat!(
29879            "Offset of field: ",
29880            stringify!(_GAppLaunchContextClass),
29881            "::",
29882            stringify!(_g_reserved2)
29883        )
29884    );
29885    assert_eq!(
29886        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
29887        192usize,
29888        concat!(
29889            "Offset of field: ",
29890            stringify!(_GAppLaunchContextClass),
29891            "::",
29892            stringify!(_g_reserved3)
29893        )
29894    );
29895}
29896extern "C" {
29897    pub fn g_app_launch_context_get_type() -> GType;
29898}
29899extern "C" {
29900    pub fn g_app_launch_context_new() -> *mut GAppLaunchContext;
29901}
29902extern "C" {
29903    pub fn g_app_launch_context_setenv(
29904        context: *mut GAppLaunchContext,
29905        variable: *const ::std::os::raw::c_char,
29906        value: *const ::std::os::raw::c_char,
29907    );
29908}
29909extern "C" {
29910    pub fn g_app_launch_context_unsetenv(
29911        context: *mut GAppLaunchContext,
29912        variable: *const ::std::os::raw::c_char,
29913    );
29914}
29915extern "C" {
29916    pub fn g_app_launch_context_get_environment(
29917        context: *mut GAppLaunchContext,
29918    ) -> *mut *mut ::std::os::raw::c_char;
29919}
29920extern "C" {
29921    pub fn g_app_launch_context_get_display(
29922        context: *mut GAppLaunchContext,
29923        info: *mut GAppInfo,
29924        files: *mut GList,
29925    ) -> *mut ::std::os::raw::c_char;
29926}
29927extern "C" {
29928    pub fn g_app_launch_context_get_startup_notify_id(
29929        context: *mut GAppLaunchContext,
29930        info: *mut GAppInfo,
29931        files: *mut GList,
29932    ) -> *mut ::std::os::raw::c_char;
29933}
29934extern "C" {
29935    pub fn g_app_launch_context_launch_failed(
29936        context: *mut GAppLaunchContext,
29937        startup_notify_id: *const ::std::os::raw::c_char,
29938    );
29939}
29940#[repr(C)]
29941#[derive(Debug, Copy, Clone)]
29942pub struct _GAppInfoMonitor {
29943    _unused: [u8; 0],
29944}
29945pub type GAppInfoMonitor = _GAppInfoMonitor;
29946extern "C" {
29947    pub fn g_app_info_monitor_get_type() -> GType;
29948}
29949extern "C" {
29950    pub fn g_app_info_monitor_get() -> *mut GAppInfoMonitor;
29951}
29952#[repr(C)]
29953#[derive(Debug, Copy, Clone)]
29954pub struct _GApplicationPrivate {
29955    _unused: [u8; 0],
29956}
29957pub type GApplicationPrivate = _GApplicationPrivate;
29958pub type GApplicationClass = _GApplicationClass;
29959#[repr(C)]
29960#[derive(Debug, Copy, Clone, PartialEq, Eq)]
29961pub struct _GApplication {
29962    pub parent_instance: GObject,
29963    pub priv_: *mut GApplicationPrivate,
29964}
29965#[test]
29966fn bindgen_test_layout__GApplication() {
29967    const UNINIT: ::std::mem::MaybeUninit<_GApplication> = ::std::mem::MaybeUninit::uninit();
29968    let ptr = UNINIT.as_ptr();
29969    assert_eq!(
29970        ::std::mem::size_of::<_GApplication>(),
29971        32usize,
29972        concat!("Size of: ", stringify!(_GApplication))
29973    );
29974    assert_eq!(
29975        ::std::mem::align_of::<_GApplication>(),
29976        8usize,
29977        concat!("Alignment of ", stringify!(_GApplication))
29978    );
29979    assert_eq!(
29980        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
29981        0usize,
29982        concat!(
29983            "Offset of field: ",
29984            stringify!(_GApplication),
29985            "::",
29986            stringify!(parent_instance)
29987        )
29988    );
29989    assert_eq!(
29990        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
29991        24usize,
29992        concat!(
29993            "Offset of field: ",
29994            stringify!(_GApplication),
29995            "::",
29996            stringify!(priv_)
29997        )
29998    );
29999}
30000#[repr(C)]
30001#[derive(Debug, Copy, Clone, PartialEq, Eq)]
30002pub struct _GApplicationClass {
30003    pub parent_class: GObjectClass,
30004    pub startup: ::std::option::Option<unsafe extern "C" fn(application: *mut GApplication)>,
30005    pub activate: ::std::option::Option<unsafe extern "C" fn(application: *mut GApplication)>,
30006    pub open: ::std::option::Option<
30007        unsafe extern "C" fn(
30008            application: *mut GApplication,
30009            files: *mut *mut GFile,
30010            n_files: gint,
30011            hint: *const gchar,
30012        ),
30013    >,
30014    pub command_line: ::std::option::Option<
30015        unsafe extern "C" fn(
30016            application: *mut GApplication,
30017            command_line: *mut GApplicationCommandLine,
30018        ) -> ::std::os::raw::c_int,
30019    >,
30020    pub local_command_line: ::std::option::Option<
30021        unsafe extern "C" fn(
30022            application: *mut GApplication,
30023            arguments: *mut *mut *mut gchar,
30024            exit_status: *mut ::std::os::raw::c_int,
30025        ) -> gboolean,
30026    >,
30027    pub before_emit: ::std::option::Option<
30028        unsafe extern "C" fn(application: *mut GApplication, platform_data: *mut GVariant),
30029    >,
30030    pub after_emit: ::std::option::Option<
30031        unsafe extern "C" fn(application: *mut GApplication, platform_data: *mut GVariant),
30032    >,
30033    pub add_platform_data: ::std::option::Option<
30034        unsafe extern "C" fn(application: *mut GApplication, builder: *mut GVariantBuilder),
30035    >,
30036    pub quit_mainloop: ::std::option::Option<unsafe extern "C" fn(application: *mut GApplication)>,
30037    pub run_mainloop: ::std::option::Option<unsafe extern "C" fn(application: *mut GApplication)>,
30038    pub shutdown: ::std::option::Option<unsafe extern "C" fn(application: *mut GApplication)>,
30039    pub dbus_register: ::std::option::Option<
30040        unsafe extern "C" fn(
30041            application: *mut GApplication,
30042            connection: *mut GDBusConnection,
30043            object_path: *const gchar,
30044            error: *mut *mut GError,
30045        ) -> gboolean,
30046    >,
30047    pub dbus_unregister: ::std::option::Option<
30048        unsafe extern "C" fn(
30049            application: *mut GApplication,
30050            connection: *mut GDBusConnection,
30051            object_path: *const gchar,
30052        ),
30053    >,
30054    pub handle_local_options: ::std::option::Option<
30055        unsafe extern "C" fn(application: *mut GApplication, options: *mut GVariantDict) -> gint,
30056    >,
30057    pub name_lost:
30058        ::std::option::Option<unsafe extern "C" fn(application: *mut GApplication) -> gboolean>,
30059    pub padding: [gpointer; 7usize],
30060}
30061#[test]
30062fn bindgen_test_layout__GApplicationClass() {
30063    const UNINIT: ::std::mem::MaybeUninit<_GApplicationClass> = ::std::mem::MaybeUninit::uninit();
30064    let ptr = UNINIT.as_ptr();
30065    assert_eq!(
30066        ::std::mem::size_of::<_GApplicationClass>(),
30067        312usize,
30068        concat!("Size of: ", stringify!(_GApplicationClass))
30069    );
30070    assert_eq!(
30071        ::std::mem::align_of::<_GApplicationClass>(),
30072        8usize,
30073        concat!("Alignment of ", stringify!(_GApplicationClass))
30074    );
30075    assert_eq!(
30076        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
30077        0usize,
30078        concat!(
30079            "Offset of field: ",
30080            stringify!(_GApplicationClass),
30081            "::",
30082            stringify!(parent_class)
30083        )
30084    );
30085    assert_eq!(
30086        unsafe { ::std::ptr::addr_of!((*ptr).startup) as usize - ptr as usize },
30087        136usize,
30088        concat!(
30089            "Offset of field: ",
30090            stringify!(_GApplicationClass),
30091            "::",
30092            stringify!(startup)
30093        )
30094    );
30095    assert_eq!(
30096        unsafe { ::std::ptr::addr_of!((*ptr).activate) as usize - ptr as usize },
30097        144usize,
30098        concat!(
30099            "Offset of field: ",
30100            stringify!(_GApplicationClass),
30101            "::",
30102            stringify!(activate)
30103        )
30104    );
30105    assert_eq!(
30106        unsafe { ::std::ptr::addr_of!((*ptr).open) as usize - ptr as usize },
30107        152usize,
30108        concat!(
30109            "Offset of field: ",
30110            stringify!(_GApplicationClass),
30111            "::",
30112            stringify!(open)
30113        )
30114    );
30115    assert_eq!(
30116        unsafe { ::std::ptr::addr_of!((*ptr).command_line) as usize - ptr as usize },
30117        160usize,
30118        concat!(
30119            "Offset of field: ",
30120            stringify!(_GApplicationClass),
30121            "::",
30122            stringify!(command_line)
30123        )
30124    );
30125    assert_eq!(
30126        unsafe { ::std::ptr::addr_of!((*ptr).local_command_line) as usize - ptr as usize },
30127        168usize,
30128        concat!(
30129            "Offset of field: ",
30130            stringify!(_GApplicationClass),
30131            "::",
30132            stringify!(local_command_line)
30133        )
30134    );
30135    assert_eq!(
30136        unsafe { ::std::ptr::addr_of!((*ptr).before_emit) as usize - ptr as usize },
30137        176usize,
30138        concat!(
30139            "Offset of field: ",
30140            stringify!(_GApplicationClass),
30141            "::",
30142            stringify!(before_emit)
30143        )
30144    );
30145    assert_eq!(
30146        unsafe { ::std::ptr::addr_of!((*ptr).after_emit) as usize - ptr as usize },
30147        184usize,
30148        concat!(
30149            "Offset of field: ",
30150            stringify!(_GApplicationClass),
30151            "::",
30152            stringify!(after_emit)
30153        )
30154    );
30155    assert_eq!(
30156        unsafe { ::std::ptr::addr_of!((*ptr).add_platform_data) as usize - ptr as usize },
30157        192usize,
30158        concat!(
30159            "Offset of field: ",
30160            stringify!(_GApplicationClass),
30161            "::",
30162            stringify!(add_platform_data)
30163        )
30164    );
30165    assert_eq!(
30166        unsafe { ::std::ptr::addr_of!((*ptr).quit_mainloop) as usize - ptr as usize },
30167        200usize,
30168        concat!(
30169            "Offset of field: ",
30170            stringify!(_GApplicationClass),
30171            "::",
30172            stringify!(quit_mainloop)
30173        )
30174    );
30175    assert_eq!(
30176        unsafe { ::std::ptr::addr_of!((*ptr).run_mainloop) as usize - ptr as usize },
30177        208usize,
30178        concat!(
30179            "Offset of field: ",
30180            stringify!(_GApplicationClass),
30181            "::",
30182            stringify!(run_mainloop)
30183        )
30184    );
30185    assert_eq!(
30186        unsafe { ::std::ptr::addr_of!((*ptr).shutdown) as usize - ptr as usize },
30187        216usize,
30188        concat!(
30189            "Offset of field: ",
30190            stringify!(_GApplicationClass),
30191            "::",
30192            stringify!(shutdown)
30193        )
30194    );
30195    assert_eq!(
30196        unsafe { ::std::ptr::addr_of!((*ptr).dbus_register) as usize - ptr as usize },
30197        224usize,
30198        concat!(
30199            "Offset of field: ",
30200            stringify!(_GApplicationClass),
30201            "::",
30202            stringify!(dbus_register)
30203        )
30204    );
30205    assert_eq!(
30206        unsafe { ::std::ptr::addr_of!((*ptr).dbus_unregister) as usize - ptr as usize },
30207        232usize,
30208        concat!(
30209            "Offset of field: ",
30210            stringify!(_GApplicationClass),
30211            "::",
30212            stringify!(dbus_unregister)
30213        )
30214    );
30215    assert_eq!(
30216        unsafe { ::std::ptr::addr_of!((*ptr).handle_local_options) as usize - ptr as usize },
30217        240usize,
30218        concat!(
30219            "Offset of field: ",
30220            stringify!(_GApplicationClass),
30221            "::",
30222            stringify!(handle_local_options)
30223        )
30224    );
30225    assert_eq!(
30226        unsafe { ::std::ptr::addr_of!((*ptr).name_lost) as usize - ptr as usize },
30227        248usize,
30228        concat!(
30229            "Offset of field: ",
30230            stringify!(_GApplicationClass),
30231            "::",
30232            stringify!(name_lost)
30233        )
30234    );
30235    assert_eq!(
30236        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
30237        256usize,
30238        concat!(
30239            "Offset of field: ",
30240            stringify!(_GApplicationClass),
30241            "::",
30242            stringify!(padding)
30243        )
30244    );
30245}
30246extern "C" {
30247    pub fn g_application_get_type() -> GType;
30248}
30249extern "C" {
30250    pub fn g_application_id_is_valid(application_id: *const gchar) -> gboolean;
30251}
30252extern "C" {
30253    pub fn g_application_new(
30254        application_id: *const gchar,
30255        flags: GApplicationFlags,
30256    ) -> *mut GApplication;
30257}
30258extern "C" {
30259    pub fn g_application_get_application_id(application: *mut GApplication) -> *const gchar;
30260}
30261extern "C" {
30262    pub fn g_application_set_application_id(
30263        application: *mut GApplication,
30264        application_id: *const gchar,
30265    );
30266}
30267extern "C" {
30268    pub fn g_application_get_dbus_connection(
30269        application: *mut GApplication,
30270    ) -> *mut GDBusConnection;
30271}
30272extern "C" {
30273    pub fn g_application_get_dbus_object_path(application: *mut GApplication) -> *const gchar;
30274}
30275extern "C" {
30276    pub fn g_application_get_inactivity_timeout(application: *mut GApplication) -> guint;
30277}
30278extern "C" {
30279    pub fn g_application_set_inactivity_timeout(
30280        application: *mut GApplication,
30281        inactivity_timeout: guint,
30282    );
30283}
30284extern "C" {
30285    pub fn g_application_get_flags(application: *mut GApplication) -> GApplicationFlags;
30286}
30287extern "C" {
30288    pub fn g_application_set_flags(application: *mut GApplication, flags: GApplicationFlags);
30289}
30290extern "C" {
30291    pub fn g_application_get_resource_base_path(application: *mut GApplication) -> *const gchar;
30292}
30293extern "C" {
30294    pub fn g_application_set_resource_base_path(
30295        application: *mut GApplication,
30296        resource_path: *const gchar,
30297    );
30298}
30299extern "C" {
30300    pub fn g_application_set_action_group(
30301        application: *mut GApplication,
30302        action_group: *mut GActionGroup,
30303    );
30304}
30305extern "C" {
30306    pub fn g_application_add_main_option_entries(
30307        application: *mut GApplication,
30308        entries: *const GOptionEntry,
30309    );
30310}
30311extern "C" {
30312    pub fn g_application_add_main_option(
30313        application: *mut GApplication,
30314        long_name: *const ::std::os::raw::c_char,
30315        short_name: ::std::os::raw::c_char,
30316        flags: GOptionFlags,
30317        arg: GOptionArg,
30318        description: *const ::std::os::raw::c_char,
30319        arg_description: *const ::std::os::raw::c_char,
30320    );
30321}
30322extern "C" {
30323    pub fn g_application_add_option_group(application: *mut GApplication, group: *mut GOptionGroup);
30324}
30325extern "C" {
30326    pub fn g_application_set_option_context_parameter_string(
30327        application: *mut GApplication,
30328        parameter_string: *const gchar,
30329    );
30330}
30331extern "C" {
30332    pub fn g_application_set_option_context_summary(
30333        application: *mut GApplication,
30334        summary: *const gchar,
30335    );
30336}
30337extern "C" {
30338    pub fn g_application_set_option_context_description(
30339        application: *mut GApplication,
30340        description: *const gchar,
30341    );
30342}
30343extern "C" {
30344    pub fn g_application_get_is_registered(application: *mut GApplication) -> gboolean;
30345}
30346extern "C" {
30347    pub fn g_application_get_is_remote(application: *mut GApplication) -> gboolean;
30348}
30349extern "C" {
30350    pub fn g_application_register(
30351        application: *mut GApplication,
30352        cancellable: *mut GCancellable,
30353        error: *mut *mut GError,
30354    ) -> gboolean;
30355}
30356extern "C" {
30357    pub fn g_application_hold(application: *mut GApplication);
30358}
30359extern "C" {
30360    pub fn g_application_release(application: *mut GApplication);
30361}
30362extern "C" {
30363    pub fn g_application_activate(application: *mut GApplication);
30364}
30365extern "C" {
30366    pub fn g_application_open(
30367        application: *mut GApplication,
30368        files: *mut *mut GFile,
30369        n_files: gint,
30370        hint: *const gchar,
30371    );
30372}
30373extern "C" {
30374    pub fn g_application_run(
30375        application: *mut GApplication,
30376        argc: ::std::os::raw::c_int,
30377        argv: *mut *mut ::std::os::raw::c_char,
30378    ) -> ::std::os::raw::c_int;
30379}
30380extern "C" {
30381    pub fn g_application_quit(application: *mut GApplication);
30382}
30383extern "C" {
30384    pub fn g_application_get_default() -> *mut GApplication;
30385}
30386extern "C" {
30387    pub fn g_application_set_default(application: *mut GApplication);
30388}
30389extern "C" {
30390    pub fn g_application_mark_busy(application: *mut GApplication);
30391}
30392extern "C" {
30393    pub fn g_application_unmark_busy(application: *mut GApplication);
30394}
30395extern "C" {
30396    pub fn g_application_get_is_busy(application: *mut GApplication) -> gboolean;
30397}
30398extern "C" {
30399    pub fn g_application_send_notification(
30400        application: *mut GApplication,
30401        id: *const gchar,
30402        notification: *mut GNotification,
30403    );
30404}
30405extern "C" {
30406    pub fn g_application_withdraw_notification(application: *mut GApplication, id: *const gchar);
30407}
30408extern "C" {
30409    pub fn g_application_bind_busy_property(
30410        application: *mut GApplication,
30411        object: gpointer,
30412        property: *const gchar,
30413    );
30414}
30415extern "C" {
30416    pub fn g_application_unbind_busy_property(
30417        application: *mut GApplication,
30418        object: gpointer,
30419        property: *const gchar,
30420    );
30421}
30422#[repr(C)]
30423#[derive(Debug, Copy, Clone)]
30424pub struct _GApplicationCommandLinePrivate {
30425    _unused: [u8; 0],
30426}
30427pub type GApplicationCommandLinePrivate = _GApplicationCommandLinePrivate;
30428pub type GApplicationCommandLineClass = _GApplicationCommandLineClass;
30429#[repr(C)]
30430#[derive(Debug, Copy, Clone, PartialEq, Eq)]
30431pub struct _GApplicationCommandLine {
30432    pub parent_instance: GObject,
30433    pub priv_: *mut GApplicationCommandLinePrivate,
30434}
30435#[test]
30436fn bindgen_test_layout__GApplicationCommandLine() {
30437    const UNINIT: ::std::mem::MaybeUninit<_GApplicationCommandLine> =
30438        ::std::mem::MaybeUninit::uninit();
30439    let ptr = UNINIT.as_ptr();
30440    assert_eq!(
30441        ::std::mem::size_of::<_GApplicationCommandLine>(),
30442        32usize,
30443        concat!("Size of: ", stringify!(_GApplicationCommandLine))
30444    );
30445    assert_eq!(
30446        ::std::mem::align_of::<_GApplicationCommandLine>(),
30447        8usize,
30448        concat!("Alignment of ", stringify!(_GApplicationCommandLine))
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!(_GApplicationCommandLine),
30456            "::",
30457            stringify!(parent_instance)
30458        )
30459    );
30460    assert_eq!(
30461        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
30462        24usize,
30463        concat!(
30464            "Offset of field: ",
30465            stringify!(_GApplicationCommandLine),
30466            "::",
30467            stringify!(priv_)
30468        )
30469    );
30470}
30471#[repr(C)]
30472#[derive(Debug, Copy, Clone, PartialEq, Eq)]
30473pub struct _GApplicationCommandLineClass {
30474    pub parent_class: GObjectClass,
30475    pub print_literal: ::std::option::Option<
30476        unsafe extern "C" fn(cmdline: *mut GApplicationCommandLine, message: *const gchar),
30477    >,
30478    pub printerr_literal: ::std::option::Option<
30479        unsafe extern "C" fn(cmdline: *mut GApplicationCommandLine, message: *const gchar),
30480    >,
30481    pub get_stdin: ::std::option::Option<
30482        unsafe extern "C" fn(cmdline: *mut GApplicationCommandLine) -> *mut GInputStream,
30483    >,
30484    pub padding: [gpointer; 11usize],
30485}
30486#[test]
30487fn bindgen_test_layout__GApplicationCommandLineClass() {
30488    const UNINIT: ::std::mem::MaybeUninit<_GApplicationCommandLineClass> =
30489        ::std::mem::MaybeUninit::uninit();
30490    let ptr = UNINIT.as_ptr();
30491    assert_eq!(
30492        ::std::mem::size_of::<_GApplicationCommandLineClass>(),
30493        248usize,
30494        concat!("Size of: ", stringify!(_GApplicationCommandLineClass))
30495    );
30496    assert_eq!(
30497        ::std::mem::align_of::<_GApplicationCommandLineClass>(),
30498        8usize,
30499        concat!("Alignment of ", stringify!(_GApplicationCommandLineClass))
30500    );
30501    assert_eq!(
30502        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
30503        0usize,
30504        concat!(
30505            "Offset of field: ",
30506            stringify!(_GApplicationCommandLineClass),
30507            "::",
30508            stringify!(parent_class)
30509        )
30510    );
30511    assert_eq!(
30512        unsafe { ::std::ptr::addr_of!((*ptr).print_literal) as usize - ptr as usize },
30513        136usize,
30514        concat!(
30515            "Offset of field: ",
30516            stringify!(_GApplicationCommandLineClass),
30517            "::",
30518            stringify!(print_literal)
30519        )
30520    );
30521    assert_eq!(
30522        unsafe { ::std::ptr::addr_of!((*ptr).printerr_literal) as usize - ptr as usize },
30523        144usize,
30524        concat!(
30525            "Offset of field: ",
30526            stringify!(_GApplicationCommandLineClass),
30527            "::",
30528            stringify!(printerr_literal)
30529        )
30530    );
30531    assert_eq!(
30532        unsafe { ::std::ptr::addr_of!((*ptr).get_stdin) as usize - ptr as usize },
30533        152usize,
30534        concat!(
30535            "Offset of field: ",
30536            stringify!(_GApplicationCommandLineClass),
30537            "::",
30538            stringify!(get_stdin)
30539        )
30540    );
30541    assert_eq!(
30542        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
30543        160usize,
30544        concat!(
30545            "Offset of field: ",
30546            stringify!(_GApplicationCommandLineClass),
30547            "::",
30548            stringify!(padding)
30549        )
30550    );
30551}
30552extern "C" {
30553    pub fn g_application_command_line_get_type() -> GType;
30554}
30555extern "C" {
30556    pub fn g_application_command_line_get_arguments(
30557        cmdline: *mut GApplicationCommandLine,
30558        argc: *mut ::std::os::raw::c_int,
30559    ) -> *mut *mut gchar;
30560}
30561extern "C" {
30562    pub fn g_application_command_line_get_options_dict(
30563        cmdline: *mut GApplicationCommandLine,
30564    ) -> *mut GVariantDict;
30565}
30566extern "C" {
30567    pub fn g_application_command_line_get_stdin(
30568        cmdline: *mut GApplicationCommandLine,
30569    ) -> *mut GInputStream;
30570}
30571extern "C" {
30572    pub fn g_application_command_line_get_environ(
30573        cmdline: *mut GApplicationCommandLine,
30574    ) -> *const *const gchar;
30575}
30576extern "C" {
30577    pub fn g_application_command_line_getenv(
30578        cmdline: *mut GApplicationCommandLine,
30579        name: *const gchar,
30580    ) -> *const gchar;
30581}
30582extern "C" {
30583    pub fn g_application_command_line_get_cwd(
30584        cmdline: *mut GApplicationCommandLine,
30585    ) -> *const gchar;
30586}
30587extern "C" {
30588    pub fn g_application_command_line_get_is_remote(
30589        cmdline: *mut GApplicationCommandLine,
30590    ) -> gboolean;
30591}
30592extern "C" {
30593    pub fn g_application_command_line_print(
30594        cmdline: *mut GApplicationCommandLine,
30595        format: *const gchar,
30596        ...
30597    );
30598}
30599extern "C" {
30600    pub fn g_application_command_line_printerr(
30601        cmdline: *mut GApplicationCommandLine,
30602        format: *const gchar,
30603        ...
30604    );
30605}
30606extern "C" {
30607    pub fn g_application_command_line_get_exit_status(
30608        cmdline: *mut GApplicationCommandLine,
30609    ) -> ::std::os::raw::c_int;
30610}
30611extern "C" {
30612    pub fn g_application_command_line_set_exit_status(
30613        cmdline: *mut GApplicationCommandLine,
30614        exit_status: ::std::os::raw::c_int,
30615    );
30616}
30617extern "C" {
30618    pub fn g_application_command_line_get_platform_data(
30619        cmdline: *mut GApplicationCommandLine,
30620    ) -> *mut GVariant;
30621}
30622extern "C" {
30623    pub fn g_application_command_line_create_file_for_arg(
30624        cmdline: *mut GApplicationCommandLine,
30625        arg: *const gchar,
30626    ) -> *mut GFile;
30627}
30628pub type GInitableIface = _GInitableIface;
30629#[repr(C)]
30630#[derive(Debug, Copy, Clone, PartialEq, Eq)]
30631pub struct _GInitableIface {
30632    pub g_iface: GTypeInterface,
30633    pub init: ::std::option::Option<
30634        unsafe extern "C" fn(
30635            initable: *mut GInitable,
30636            cancellable: *mut GCancellable,
30637            error: *mut *mut GError,
30638        ) -> gboolean,
30639    >,
30640}
30641#[test]
30642fn bindgen_test_layout__GInitableIface() {
30643    const UNINIT: ::std::mem::MaybeUninit<_GInitableIface> = ::std::mem::MaybeUninit::uninit();
30644    let ptr = UNINIT.as_ptr();
30645    assert_eq!(
30646        ::std::mem::size_of::<_GInitableIface>(),
30647        24usize,
30648        concat!("Size of: ", stringify!(_GInitableIface))
30649    );
30650    assert_eq!(
30651        ::std::mem::align_of::<_GInitableIface>(),
30652        8usize,
30653        concat!("Alignment of ", stringify!(_GInitableIface))
30654    );
30655    assert_eq!(
30656        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
30657        0usize,
30658        concat!(
30659            "Offset of field: ",
30660            stringify!(_GInitableIface),
30661            "::",
30662            stringify!(g_iface)
30663        )
30664    );
30665    assert_eq!(
30666        unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
30667        16usize,
30668        concat!(
30669            "Offset of field: ",
30670            stringify!(_GInitableIface),
30671            "::",
30672            stringify!(init)
30673        )
30674    );
30675}
30676extern "C" {
30677    pub fn g_initable_get_type() -> GType;
30678}
30679extern "C" {
30680    pub fn g_initable_init(
30681        initable: *mut GInitable,
30682        cancellable: *mut GCancellable,
30683        error: *mut *mut GError,
30684    ) -> gboolean;
30685}
30686extern "C" {
30687    pub fn g_initable_new(
30688        object_type: GType,
30689        cancellable: *mut GCancellable,
30690        error: *mut *mut GError,
30691        first_property_name: *const gchar,
30692        ...
30693    ) -> gpointer;
30694}
30695extern "C" {
30696    pub fn g_initable_newv(
30697        object_type: GType,
30698        n_parameters: guint,
30699        parameters: *mut GParameter,
30700        cancellable: *mut GCancellable,
30701        error: *mut *mut GError,
30702    ) -> gpointer;
30703}
30704extern "C" {
30705    pub fn g_initable_new_valist(
30706        object_type: GType,
30707        first_property_name: *const gchar,
30708        var_args: va_list,
30709        cancellable: *mut GCancellable,
30710        error: *mut *mut GError,
30711    ) -> *mut GObject;
30712}
30713pub type GAsyncInitableIface = _GAsyncInitableIface;
30714#[repr(C)]
30715#[derive(Debug, Copy, Clone, PartialEq, Eq)]
30716pub struct _GAsyncInitableIface {
30717    pub g_iface: GTypeInterface,
30718    pub init_async: ::std::option::Option<
30719        unsafe extern "C" fn(
30720            initable: *mut GAsyncInitable,
30721            io_priority: ::std::os::raw::c_int,
30722            cancellable: *mut GCancellable,
30723            callback: GAsyncReadyCallback,
30724            user_data: gpointer,
30725        ),
30726    >,
30727    pub init_finish: ::std::option::Option<
30728        unsafe extern "C" fn(
30729            initable: *mut GAsyncInitable,
30730            res: *mut GAsyncResult,
30731            error: *mut *mut GError,
30732        ) -> gboolean,
30733    >,
30734}
30735#[test]
30736fn bindgen_test_layout__GAsyncInitableIface() {
30737    const UNINIT: ::std::mem::MaybeUninit<_GAsyncInitableIface> = ::std::mem::MaybeUninit::uninit();
30738    let ptr = UNINIT.as_ptr();
30739    assert_eq!(
30740        ::std::mem::size_of::<_GAsyncInitableIface>(),
30741        32usize,
30742        concat!("Size of: ", stringify!(_GAsyncInitableIface))
30743    );
30744    assert_eq!(
30745        ::std::mem::align_of::<_GAsyncInitableIface>(),
30746        8usize,
30747        concat!("Alignment of ", stringify!(_GAsyncInitableIface))
30748    );
30749    assert_eq!(
30750        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
30751        0usize,
30752        concat!(
30753            "Offset of field: ",
30754            stringify!(_GAsyncInitableIface),
30755            "::",
30756            stringify!(g_iface)
30757        )
30758    );
30759    assert_eq!(
30760        unsafe { ::std::ptr::addr_of!((*ptr).init_async) as usize - ptr as usize },
30761        16usize,
30762        concat!(
30763            "Offset of field: ",
30764            stringify!(_GAsyncInitableIface),
30765            "::",
30766            stringify!(init_async)
30767        )
30768    );
30769    assert_eq!(
30770        unsafe { ::std::ptr::addr_of!((*ptr).init_finish) as usize - ptr as usize },
30771        24usize,
30772        concat!(
30773            "Offset of field: ",
30774            stringify!(_GAsyncInitableIface),
30775            "::",
30776            stringify!(init_finish)
30777        )
30778    );
30779}
30780extern "C" {
30781    pub fn g_async_initable_get_type() -> GType;
30782}
30783extern "C" {
30784    pub fn g_async_initable_init_async(
30785        initable: *mut GAsyncInitable,
30786        io_priority: ::std::os::raw::c_int,
30787        cancellable: *mut GCancellable,
30788        callback: GAsyncReadyCallback,
30789        user_data: gpointer,
30790    );
30791}
30792extern "C" {
30793    pub fn g_async_initable_init_finish(
30794        initable: *mut GAsyncInitable,
30795        res: *mut GAsyncResult,
30796        error: *mut *mut GError,
30797    ) -> gboolean;
30798}
30799extern "C" {
30800    pub fn g_async_initable_new_async(
30801        object_type: GType,
30802        io_priority: ::std::os::raw::c_int,
30803        cancellable: *mut GCancellable,
30804        callback: GAsyncReadyCallback,
30805        user_data: gpointer,
30806        first_property_name: *const gchar,
30807        ...
30808    );
30809}
30810extern "C" {
30811    pub fn g_async_initable_newv_async(
30812        object_type: GType,
30813        n_parameters: guint,
30814        parameters: *mut GParameter,
30815        io_priority: ::std::os::raw::c_int,
30816        cancellable: *mut GCancellable,
30817        callback: GAsyncReadyCallback,
30818        user_data: gpointer,
30819    );
30820}
30821extern "C" {
30822    pub fn g_async_initable_new_valist_async(
30823        object_type: GType,
30824        first_property_name: *const gchar,
30825        var_args: va_list,
30826        io_priority: ::std::os::raw::c_int,
30827        cancellable: *mut GCancellable,
30828        callback: GAsyncReadyCallback,
30829        user_data: gpointer,
30830    );
30831}
30832extern "C" {
30833    pub fn g_async_initable_new_finish(
30834        initable: *mut GAsyncInitable,
30835        res: *mut GAsyncResult,
30836        error: *mut *mut GError,
30837    ) -> *mut GObject;
30838}
30839pub type GAsyncResultIface = _GAsyncResultIface;
30840#[repr(C)]
30841#[derive(Debug, Copy, Clone, PartialEq, Eq)]
30842pub struct _GAsyncResultIface {
30843    pub g_iface: GTypeInterface,
30844    pub get_user_data:
30845        ::std::option::Option<unsafe extern "C" fn(res: *mut GAsyncResult) -> gpointer>,
30846    pub get_source_object:
30847        ::std::option::Option<unsafe extern "C" fn(res: *mut GAsyncResult) -> *mut GObject>,
30848    pub is_tagged: ::std::option::Option<
30849        unsafe extern "C" fn(res: *mut GAsyncResult, source_tag: gpointer) -> gboolean,
30850    >,
30851}
30852#[test]
30853fn bindgen_test_layout__GAsyncResultIface() {
30854    const UNINIT: ::std::mem::MaybeUninit<_GAsyncResultIface> = ::std::mem::MaybeUninit::uninit();
30855    let ptr = UNINIT.as_ptr();
30856    assert_eq!(
30857        ::std::mem::size_of::<_GAsyncResultIface>(),
30858        40usize,
30859        concat!("Size of: ", stringify!(_GAsyncResultIface))
30860    );
30861    assert_eq!(
30862        ::std::mem::align_of::<_GAsyncResultIface>(),
30863        8usize,
30864        concat!("Alignment of ", stringify!(_GAsyncResultIface))
30865    );
30866    assert_eq!(
30867        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
30868        0usize,
30869        concat!(
30870            "Offset of field: ",
30871            stringify!(_GAsyncResultIface),
30872            "::",
30873            stringify!(g_iface)
30874        )
30875    );
30876    assert_eq!(
30877        unsafe { ::std::ptr::addr_of!((*ptr).get_user_data) as usize - ptr as usize },
30878        16usize,
30879        concat!(
30880            "Offset of field: ",
30881            stringify!(_GAsyncResultIface),
30882            "::",
30883            stringify!(get_user_data)
30884        )
30885    );
30886    assert_eq!(
30887        unsafe { ::std::ptr::addr_of!((*ptr).get_source_object) as usize - ptr as usize },
30888        24usize,
30889        concat!(
30890            "Offset of field: ",
30891            stringify!(_GAsyncResultIface),
30892            "::",
30893            stringify!(get_source_object)
30894        )
30895    );
30896    assert_eq!(
30897        unsafe { ::std::ptr::addr_of!((*ptr).is_tagged) as usize - ptr as usize },
30898        32usize,
30899        concat!(
30900            "Offset of field: ",
30901            stringify!(_GAsyncResultIface),
30902            "::",
30903            stringify!(is_tagged)
30904        )
30905    );
30906}
30907extern "C" {
30908    pub fn g_async_result_get_type() -> GType;
30909}
30910extern "C" {
30911    pub fn g_async_result_get_user_data(res: *mut GAsyncResult) -> gpointer;
30912}
30913extern "C" {
30914    pub fn g_async_result_get_source_object(res: *mut GAsyncResult) -> *mut GObject;
30915}
30916extern "C" {
30917    pub fn g_async_result_legacy_propagate_error(
30918        res: *mut GAsyncResult,
30919        error: *mut *mut GError,
30920    ) -> gboolean;
30921}
30922extern "C" {
30923    pub fn g_async_result_is_tagged(res: *mut GAsyncResult, source_tag: gpointer) -> gboolean;
30924}
30925pub type GInputStreamClass = _GInputStreamClass;
30926#[repr(C)]
30927#[derive(Debug, Copy, Clone)]
30928pub struct _GInputStreamPrivate {
30929    _unused: [u8; 0],
30930}
30931pub type GInputStreamPrivate = _GInputStreamPrivate;
30932#[repr(C)]
30933#[derive(Debug, Copy, Clone, PartialEq, Eq)]
30934pub struct _GInputStream {
30935    pub parent_instance: GObject,
30936    pub priv_: *mut GInputStreamPrivate,
30937}
30938#[test]
30939fn bindgen_test_layout__GInputStream() {
30940    const UNINIT: ::std::mem::MaybeUninit<_GInputStream> = ::std::mem::MaybeUninit::uninit();
30941    let ptr = UNINIT.as_ptr();
30942    assert_eq!(
30943        ::std::mem::size_of::<_GInputStream>(),
30944        32usize,
30945        concat!("Size of: ", stringify!(_GInputStream))
30946    );
30947    assert_eq!(
30948        ::std::mem::align_of::<_GInputStream>(),
30949        8usize,
30950        concat!("Alignment of ", stringify!(_GInputStream))
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!(_GInputStream),
30958            "::",
30959            stringify!(parent_instance)
30960        )
30961    );
30962    assert_eq!(
30963        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
30964        24usize,
30965        concat!(
30966            "Offset of field: ",
30967            stringify!(_GInputStream),
30968            "::",
30969            stringify!(priv_)
30970        )
30971    );
30972}
30973#[repr(C)]
30974#[derive(Debug, Copy, Clone, PartialEq, Eq)]
30975pub struct _GInputStreamClass {
30976    pub parent_class: GObjectClass,
30977    pub read_fn: ::std::option::Option<
30978        unsafe extern "C" fn(
30979            stream: *mut GInputStream,
30980            buffer: *mut ::std::os::raw::c_void,
30981            count: gsize,
30982            cancellable: *mut GCancellable,
30983            error: *mut *mut GError,
30984        ) -> gssize,
30985    >,
30986    pub skip: ::std::option::Option<
30987        unsafe extern "C" fn(
30988            stream: *mut GInputStream,
30989            count: gsize,
30990            cancellable: *mut GCancellable,
30991            error: *mut *mut GError,
30992        ) -> gssize,
30993    >,
30994    pub close_fn: ::std::option::Option<
30995        unsafe extern "C" fn(
30996            stream: *mut GInputStream,
30997            cancellable: *mut GCancellable,
30998            error: *mut *mut GError,
30999        ) -> gboolean,
31000    >,
31001    pub read_async: ::std::option::Option<
31002        unsafe extern "C" fn(
31003            stream: *mut GInputStream,
31004            buffer: *mut ::std::os::raw::c_void,
31005            count: gsize,
31006            io_priority: ::std::os::raw::c_int,
31007            cancellable: *mut GCancellable,
31008            callback: GAsyncReadyCallback,
31009            user_data: gpointer,
31010        ),
31011    >,
31012    pub read_finish: ::std::option::Option<
31013        unsafe extern "C" fn(
31014            stream: *mut GInputStream,
31015            result: *mut GAsyncResult,
31016            error: *mut *mut GError,
31017        ) -> gssize,
31018    >,
31019    pub skip_async: ::std::option::Option<
31020        unsafe extern "C" fn(
31021            stream: *mut GInputStream,
31022            count: gsize,
31023            io_priority: ::std::os::raw::c_int,
31024            cancellable: *mut GCancellable,
31025            callback: GAsyncReadyCallback,
31026            user_data: gpointer,
31027        ),
31028    >,
31029    pub skip_finish: ::std::option::Option<
31030        unsafe extern "C" fn(
31031            stream: *mut GInputStream,
31032            result: *mut GAsyncResult,
31033            error: *mut *mut GError,
31034        ) -> gssize,
31035    >,
31036    pub close_async: ::std::option::Option<
31037        unsafe extern "C" fn(
31038            stream: *mut GInputStream,
31039            io_priority: ::std::os::raw::c_int,
31040            cancellable: *mut GCancellable,
31041            callback: GAsyncReadyCallback,
31042            user_data: gpointer,
31043        ),
31044    >,
31045    pub close_finish: ::std::option::Option<
31046        unsafe extern "C" fn(
31047            stream: *mut GInputStream,
31048            result: *mut GAsyncResult,
31049            error: *mut *mut GError,
31050        ) -> gboolean,
31051    >,
31052    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
31053    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
31054    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
31055    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
31056    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
31057}
31058#[test]
31059fn bindgen_test_layout__GInputStreamClass() {
31060    const UNINIT: ::std::mem::MaybeUninit<_GInputStreamClass> = ::std::mem::MaybeUninit::uninit();
31061    let ptr = UNINIT.as_ptr();
31062    assert_eq!(
31063        ::std::mem::size_of::<_GInputStreamClass>(),
31064        248usize,
31065        concat!("Size of: ", stringify!(_GInputStreamClass))
31066    );
31067    assert_eq!(
31068        ::std::mem::align_of::<_GInputStreamClass>(),
31069        8usize,
31070        concat!("Alignment of ", stringify!(_GInputStreamClass))
31071    );
31072    assert_eq!(
31073        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
31074        0usize,
31075        concat!(
31076            "Offset of field: ",
31077            stringify!(_GInputStreamClass),
31078            "::",
31079            stringify!(parent_class)
31080        )
31081    );
31082    assert_eq!(
31083        unsafe { ::std::ptr::addr_of!((*ptr).read_fn) as usize - ptr as usize },
31084        136usize,
31085        concat!(
31086            "Offset of field: ",
31087            stringify!(_GInputStreamClass),
31088            "::",
31089            stringify!(read_fn)
31090        )
31091    );
31092    assert_eq!(
31093        unsafe { ::std::ptr::addr_of!((*ptr).skip) as usize - ptr as usize },
31094        144usize,
31095        concat!(
31096            "Offset of field: ",
31097            stringify!(_GInputStreamClass),
31098            "::",
31099            stringify!(skip)
31100        )
31101    );
31102    assert_eq!(
31103        unsafe { ::std::ptr::addr_of!((*ptr).close_fn) as usize - ptr as usize },
31104        152usize,
31105        concat!(
31106            "Offset of field: ",
31107            stringify!(_GInputStreamClass),
31108            "::",
31109            stringify!(close_fn)
31110        )
31111    );
31112    assert_eq!(
31113        unsafe { ::std::ptr::addr_of!((*ptr).read_async) as usize - ptr as usize },
31114        160usize,
31115        concat!(
31116            "Offset of field: ",
31117            stringify!(_GInputStreamClass),
31118            "::",
31119            stringify!(read_async)
31120        )
31121    );
31122    assert_eq!(
31123        unsafe { ::std::ptr::addr_of!((*ptr).read_finish) as usize - ptr as usize },
31124        168usize,
31125        concat!(
31126            "Offset of field: ",
31127            stringify!(_GInputStreamClass),
31128            "::",
31129            stringify!(read_finish)
31130        )
31131    );
31132    assert_eq!(
31133        unsafe { ::std::ptr::addr_of!((*ptr).skip_async) as usize - ptr as usize },
31134        176usize,
31135        concat!(
31136            "Offset of field: ",
31137            stringify!(_GInputStreamClass),
31138            "::",
31139            stringify!(skip_async)
31140        )
31141    );
31142    assert_eq!(
31143        unsafe { ::std::ptr::addr_of!((*ptr).skip_finish) as usize - ptr as usize },
31144        184usize,
31145        concat!(
31146            "Offset of field: ",
31147            stringify!(_GInputStreamClass),
31148            "::",
31149            stringify!(skip_finish)
31150        )
31151    );
31152    assert_eq!(
31153        unsafe { ::std::ptr::addr_of!((*ptr).close_async) as usize - ptr as usize },
31154        192usize,
31155        concat!(
31156            "Offset of field: ",
31157            stringify!(_GInputStreamClass),
31158            "::",
31159            stringify!(close_async)
31160        )
31161    );
31162    assert_eq!(
31163        unsafe { ::std::ptr::addr_of!((*ptr).close_finish) as usize - ptr as usize },
31164        200usize,
31165        concat!(
31166            "Offset of field: ",
31167            stringify!(_GInputStreamClass),
31168            "::",
31169            stringify!(close_finish)
31170        )
31171    );
31172    assert_eq!(
31173        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
31174        208usize,
31175        concat!(
31176            "Offset of field: ",
31177            stringify!(_GInputStreamClass),
31178            "::",
31179            stringify!(_g_reserved1)
31180        )
31181    );
31182    assert_eq!(
31183        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
31184        216usize,
31185        concat!(
31186            "Offset of field: ",
31187            stringify!(_GInputStreamClass),
31188            "::",
31189            stringify!(_g_reserved2)
31190        )
31191    );
31192    assert_eq!(
31193        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
31194        224usize,
31195        concat!(
31196            "Offset of field: ",
31197            stringify!(_GInputStreamClass),
31198            "::",
31199            stringify!(_g_reserved3)
31200        )
31201    );
31202    assert_eq!(
31203        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
31204        232usize,
31205        concat!(
31206            "Offset of field: ",
31207            stringify!(_GInputStreamClass),
31208            "::",
31209            stringify!(_g_reserved4)
31210        )
31211    );
31212    assert_eq!(
31213        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
31214        240usize,
31215        concat!(
31216            "Offset of field: ",
31217            stringify!(_GInputStreamClass),
31218            "::",
31219            stringify!(_g_reserved5)
31220        )
31221    );
31222}
31223extern "C" {
31224    pub fn g_input_stream_get_type() -> GType;
31225}
31226extern "C" {
31227    pub fn g_input_stream_read(
31228        stream: *mut GInputStream,
31229        buffer: *mut ::std::os::raw::c_void,
31230        count: gsize,
31231        cancellable: *mut GCancellable,
31232        error: *mut *mut GError,
31233    ) -> gssize;
31234}
31235extern "C" {
31236    pub fn g_input_stream_read_all(
31237        stream: *mut GInputStream,
31238        buffer: *mut ::std::os::raw::c_void,
31239        count: gsize,
31240        bytes_read: *mut gsize,
31241        cancellable: *mut GCancellable,
31242        error: *mut *mut GError,
31243    ) -> gboolean;
31244}
31245extern "C" {
31246    pub fn g_input_stream_read_bytes(
31247        stream: *mut GInputStream,
31248        count: gsize,
31249        cancellable: *mut GCancellable,
31250        error: *mut *mut GError,
31251    ) -> *mut GBytes;
31252}
31253extern "C" {
31254    pub fn g_input_stream_skip(
31255        stream: *mut GInputStream,
31256        count: gsize,
31257        cancellable: *mut GCancellable,
31258        error: *mut *mut GError,
31259    ) -> gssize;
31260}
31261extern "C" {
31262    pub fn g_input_stream_close(
31263        stream: *mut GInputStream,
31264        cancellable: *mut GCancellable,
31265        error: *mut *mut GError,
31266    ) -> gboolean;
31267}
31268extern "C" {
31269    pub fn g_input_stream_read_async(
31270        stream: *mut GInputStream,
31271        buffer: *mut ::std::os::raw::c_void,
31272        count: gsize,
31273        io_priority: ::std::os::raw::c_int,
31274        cancellable: *mut GCancellable,
31275        callback: GAsyncReadyCallback,
31276        user_data: gpointer,
31277    );
31278}
31279extern "C" {
31280    pub fn g_input_stream_read_finish(
31281        stream: *mut GInputStream,
31282        result: *mut GAsyncResult,
31283        error: *mut *mut GError,
31284    ) -> gssize;
31285}
31286extern "C" {
31287    pub fn g_input_stream_read_all_async(
31288        stream: *mut GInputStream,
31289        buffer: *mut ::std::os::raw::c_void,
31290        count: gsize,
31291        io_priority: ::std::os::raw::c_int,
31292        cancellable: *mut GCancellable,
31293        callback: GAsyncReadyCallback,
31294        user_data: gpointer,
31295    );
31296}
31297extern "C" {
31298    pub fn g_input_stream_read_all_finish(
31299        stream: *mut GInputStream,
31300        result: *mut GAsyncResult,
31301        bytes_read: *mut gsize,
31302        error: *mut *mut GError,
31303    ) -> gboolean;
31304}
31305extern "C" {
31306    pub fn g_input_stream_read_bytes_async(
31307        stream: *mut GInputStream,
31308        count: gsize,
31309        io_priority: ::std::os::raw::c_int,
31310        cancellable: *mut GCancellable,
31311        callback: GAsyncReadyCallback,
31312        user_data: gpointer,
31313    );
31314}
31315extern "C" {
31316    pub fn g_input_stream_read_bytes_finish(
31317        stream: *mut GInputStream,
31318        result: *mut GAsyncResult,
31319        error: *mut *mut GError,
31320    ) -> *mut GBytes;
31321}
31322extern "C" {
31323    pub fn g_input_stream_skip_async(
31324        stream: *mut GInputStream,
31325        count: gsize,
31326        io_priority: ::std::os::raw::c_int,
31327        cancellable: *mut GCancellable,
31328        callback: GAsyncReadyCallback,
31329        user_data: gpointer,
31330    );
31331}
31332extern "C" {
31333    pub fn g_input_stream_skip_finish(
31334        stream: *mut GInputStream,
31335        result: *mut GAsyncResult,
31336        error: *mut *mut GError,
31337    ) -> gssize;
31338}
31339extern "C" {
31340    pub fn g_input_stream_close_async(
31341        stream: *mut GInputStream,
31342        io_priority: ::std::os::raw::c_int,
31343        cancellable: *mut GCancellable,
31344        callback: GAsyncReadyCallback,
31345        user_data: gpointer,
31346    );
31347}
31348extern "C" {
31349    pub fn g_input_stream_close_finish(
31350        stream: *mut GInputStream,
31351        result: *mut GAsyncResult,
31352        error: *mut *mut GError,
31353    ) -> gboolean;
31354}
31355extern "C" {
31356    pub fn g_input_stream_is_closed(stream: *mut GInputStream) -> gboolean;
31357}
31358extern "C" {
31359    pub fn g_input_stream_has_pending(stream: *mut GInputStream) -> gboolean;
31360}
31361extern "C" {
31362    pub fn g_input_stream_set_pending(
31363        stream: *mut GInputStream,
31364        error: *mut *mut GError,
31365    ) -> gboolean;
31366}
31367extern "C" {
31368    pub fn g_input_stream_clear_pending(stream: *mut GInputStream);
31369}
31370pub type GFilterInputStreamClass = _GFilterInputStreamClass;
31371#[repr(C)]
31372#[derive(Debug, Copy, Clone, PartialEq, Eq)]
31373pub struct _GFilterInputStream {
31374    pub parent_instance: GInputStream,
31375    pub base_stream: *mut GInputStream,
31376}
31377#[test]
31378fn bindgen_test_layout__GFilterInputStream() {
31379    const UNINIT: ::std::mem::MaybeUninit<_GFilterInputStream> = ::std::mem::MaybeUninit::uninit();
31380    let ptr = UNINIT.as_ptr();
31381    assert_eq!(
31382        ::std::mem::size_of::<_GFilterInputStream>(),
31383        40usize,
31384        concat!("Size of: ", stringify!(_GFilterInputStream))
31385    );
31386    assert_eq!(
31387        ::std::mem::align_of::<_GFilterInputStream>(),
31388        8usize,
31389        concat!("Alignment of ", stringify!(_GFilterInputStream))
31390    );
31391    assert_eq!(
31392        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
31393        0usize,
31394        concat!(
31395            "Offset of field: ",
31396            stringify!(_GFilterInputStream),
31397            "::",
31398            stringify!(parent_instance)
31399        )
31400    );
31401    assert_eq!(
31402        unsafe { ::std::ptr::addr_of!((*ptr).base_stream) as usize - ptr as usize },
31403        32usize,
31404        concat!(
31405            "Offset of field: ",
31406            stringify!(_GFilterInputStream),
31407            "::",
31408            stringify!(base_stream)
31409        )
31410    );
31411}
31412#[repr(C)]
31413#[derive(Debug, Copy, Clone, PartialEq, Eq)]
31414pub struct _GFilterInputStreamClass {
31415    pub parent_class: GInputStreamClass,
31416    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
31417    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
31418    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
31419}
31420#[test]
31421fn bindgen_test_layout__GFilterInputStreamClass() {
31422    const UNINIT: ::std::mem::MaybeUninit<_GFilterInputStreamClass> =
31423        ::std::mem::MaybeUninit::uninit();
31424    let ptr = UNINIT.as_ptr();
31425    assert_eq!(
31426        ::std::mem::size_of::<_GFilterInputStreamClass>(),
31427        272usize,
31428        concat!("Size of: ", stringify!(_GFilterInputStreamClass))
31429    );
31430    assert_eq!(
31431        ::std::mem::align_of::<_GFilterInputStreamClass>(),
31432        8usize,
31433        concat!("Alignment of ", stringify!(_GFilterInputStreamClass))
31434    );
31435    assert_eq!(
31436        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
31437        0usize,
31438        concat!(
31439            "Offset of field: ",
31440            stringify!(_GFilterInputStreamClass),
31441            "::",
31442            stringify!(parent_class)
31443        )
31444    );
31445    assert_eq!(
31446        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
31447        248usize,
31448        concat!(
31449            "Offset of field: ",
31450            stringify!(_GFilterInputStreamClass),
31451            "::",
31452            stringify!(_g_reserved1)
31453        )
31454    );
31455    assert_eq!(
31456        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
31457        256usize,
31458        concat!(
31459            "Offset of field: ",
31460            stringify!(_GFilterInputStreamClass),
31461            "::",
31462            stringify!(_g_reserved2)
31463        )
31464    );
31465    assert_eq!(
31466        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
31467        264usize,
31468        concat!(
31469            "Offset of field: ",
31470            stringify!(_GFilterInputStreamClass),
31471            "::",
31472            stringify!(_g_reserved3)
31473        )
31474    );
31475}
31476extern "C" {
31477    pub fn g_filter_input_stream_get_type() -> GType;
31478}
31479extern "C" {
31480    pub fn g_filter_input_stream_get_base_stream(
31481        stream: *mut GFilterInputStream,
31482    ) -> *mut GInputStream;
31483}
31484extern "C" {
31485    pub fn g_filter_input_stream_get_close_base_stream(stream: *mut GFilterInputStream)
31486        -> gboolean;
31487}
31488extern "C" {
31489    pub fn g_filter_input_stream_set_close_base_stream(
31490        stream: *mut GFilterInputStream,
31491        close_base: gboolean,
31492    );
31493}
31494pub type GBufferedInputStreamClass = _GBufferedInputStreamClass;
31495#[repr(C)]
31496#[derive(Debug, Copy, Clone)]
31497pub struct _GBufferedInputStreamPrivate {
31498    _unused: [u8; 0],
31499}
31500pub type GBufferedInputStreamPrivate = _GBufferedInputStreamPrivate;
31501#[repr(C)]
31502#[derive(Debug, Copy, Clone, PartialEq, Eq)]
31503pub struct _GBufferedInputStream {
31504    pub parent_instance: GFilterInputStream,
31505    pub priv_: *mut GBufferedInputStreamPrivate,
31506}
31507#[test]
31508fn bindgen_test_layout__GBufferedInputStream() {
31509    const UNINIT: ::std::mem::MaybeUninit<_GBufferedInputStream> =
31510        ::std::mem::MaybeUninit::uninit();
31511    let ptr = UNINIT.as_ptr();
31512    assert_eq!(
31513        ::std::mem::size_of::<_GBufferedInputStream>(),
31514        48usize,
31515        concat!("Size of: ", stringify!(_GBufferedInputStream))
31516    );
31517    assert_eq!(
31518        ::std::mem::align_of::<_GBufferedInputStream>(),
31519        8usize,
31520        concat!("Alignment of ", stringify!(_GBufferedInputStream))
31521    );
31522    assert_eq!(
31523        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
31524        0usize,
31525        concat!(
31526            "Offset of field: ",
31527            stringify!(_GBufferedInputStream),
31528            "::",
31529            stringify!(parent_instance)
31530        )
31531    );
31532    assert_eq!(
31533        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
31534        40usize,
31535        concat!(
31536            "Offset of field: ",
31537            stringify!(_GBufferedInputStream),
31538            "::",
31539            stringify!(priv_)
31540        )
31541    );
31542}
31543#[repr(C)]
31544#[derive(Debug, Copy, Clone, PartialEq, Eq)]
31545pub struct _GBufferedInputStreamClass {
31546    pub parent_class: GFilterInputStreamClass,
31547    pub fill: ::std::option::Option<
31548        unsafe extern "C" fn(
31549            stream: *mut GBufferedInputStream,
31550            count: gssize,
31551            cancellable: *mut GCancellable,
31552            error: *mut *mut GError,
31553        ) -> gssize,
31554    >,
31555    pub fill_async: ::std::option::Option<
31556        unsafe extern "C" fn(
31557            stream: *mut GBufferedInputStream,
31558            count: gssize,
31559            io_priority: ::std::os::raw::c_int,
31560            cancellable: *mut GCancellable,
31561            callback: GAsyncReadyCallback,
31562            user_data: gpointer,
31563        ),
31564    >,
31565    pub fill_finish: ::std::option::Option<
31566        unsafe extern "C" fn(
31567            stream: *mut GBufferedInputStream,
31568            result: *mut GAsyncResult,
31569            error: *mut *mut GError,
31570        ) -> gssize,
31571    >,
31572    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
31573    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
31574    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
31575    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
31576    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
31577}
31578#[test]
31579fn bindgen_test_layout__GBufferedInputStreamClass() {
31580    const UNINIT: ::std::mem::MaybeUninit<_GBufferedInputStreamClass> =
31581        ::std::mem::MaybeUninit::uninit();
31582    let ptr = UNINIT.as_ptr();
31583    assert_eq!(
31584        ::std::mem::size_of::<_GBufferedInputStreamClass>(),
31585        336usize,
31586        concat!("Size of: ", stringify!(_GBufferedInputStreamClass))
31587    );
31588    assert_eq!(
31589        ::std::mem::align_of::<_GBufferedInputStreamClass>(),
31590        8usize,
31591        concat!("Alignment of ", stringify!(_GBufferedInputStreamClass))
31592    );
31593    assert_eq!(
31594        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
31595        0usize,
31596        concat!(
31597            "Offset of field: ",
31598            stringify!(_GBufferedInputStreamClass),
31599            "::",
31600            stringify!(parent_class)
31601        )
31602    );
31603    assert_eq!(
31604        unsafe { ::std::ptr::addr_of!((*ptr).fill) as usize - ptr as usize },
31605        272usize,
31606        concat!(
31607            "Offset of field: ",
31608            stringify!(_GBufferedInputStreamClass),
31609            "::",
31610            stringify!(fill)
31611        )
31612    );
31613    assert_eq!(
31614        unsafe { ::std::ptr::addr_of!((*ptr).fill_async) as usize - ptr as usize },
31615        280usize,
31616        concat!(
31617            "Offset of field: ",
31618            stringify!(_GBufferedInputStreamClass),
31619            "::",
31620            stringify!(fill_async)
31621        )
31622    );
31623    assert_eq!(
31624        unsafe { ::std::ptr::addr_of!((*ptr).fill_finish) as usize - ptr as usize },
31625        288usize,
31626        concat!(
31627            "Offset of field: ",
31628            stringify!(_GBufferedInputStreamClass),
31629            "::",
31630            stringify!(fill_finish)
31631        )
31632    );
31633    assert_eq!(
31634        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
31635        296usize,
31636        concat!(
31637            "Offset of field: ",
31638            stringify!(_GBufferedInputStreamClass),
31639            "::",
31640            stringify!(_g_reserved1)
31641        )
31642    );
31643    assert_eq!(
31644        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
31645        304usize,
31646        concat!(
31647            "Offset of field: ",
31648            stringify!(_GBufferedInputStreamClass),
31649            "::",
31650            stringify!(_g_reserved2)
31651        )
31652    );
31653    assert_eq!(
31654        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
31655        312usize,
31656        concat!(
31657            "Offset of field: ",
31658            stringify!(_GBufferedInputStreamClass),
31659            "::",
31660            stringify!(_g_reserved3)
31661        )
31662    );
31663    assert_eq!(
31664        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
31665        320usize,
31666        concat!(
31667            "Offset of field: ",
31668            stringify!(_GBufferedInputStreamClass),
31669            "::",
31670            stringify!(_g_reserved4)
31671        )
31672    );
31673    assert_eq!(
31674        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
31675        328usize,
31676        concat!(
31677            "Offset of field: ",
31678            stringify!(_GBufferedInputStreamClass),
31679            "::",
31680            stringify!(_g_reserved5)
31681        )
31682    );
31683}
31684extern "C" {
31685    pub fn g_buffered_input_stream_get_type() -> GType;
31686}
31687extern "C" {
31688    pub fn g_buffered_input_stream_new(base_stream: *mut GInputStream) -> *mut GInputStream;
31689}
31690extern "C" {
31691    pub fn g_buffered_input_stream_new_sized(
31692        base_stream: *mut GInputStream,
31693        size: gsize,
31694    ) -> *mut GInputStream;
31695}
31696extern "C" {
31697    pub fn g_buffered_input_stream_get_buffer_size(stream: *mut GBufferedInputStream) -> gsize;
31698}
31699extern "C" {
31700    pub fn g_buffered_input_stream_set_buffer_size(stream: *mut GBufferedInputStream, size: gsize);
31701}
31702extern "C" {
31703    pub fn g_buffered_input_stream_get_available(stream: *mut GBufferedInputStream) -> gsize;
31704}
31705extern "C" {
31706    pub fn g_buffered_input_stream_peek(
31707        stream: *mut GBufferedInputStream,
31708        buffer: *mut ::std::os::raw::c_void,
31709        offset: gsize,
31710        count: gsize,
31711    ) -> gsize;
31712}
31713extern "C" {
31714    pub fn g_buffered_input_stream_peek_buffer(
31715        stream: *mut GBufferedInputStream,
31716        count: *mut gsize,
31717    ) -> *const ::std::os::raw::c_void;
31718}
31719extern "C" {
31720    pub fn g_buffered_input_stream_fill(
31721        stream: *mut GBufferedInputStream,
31722        count: gssize,
31723        cancellable: *mut GCancellable,
31724        error: *mut *mut GError,
31725    ) -> gssize;
31726}
31727extern "C" {
31728    pub fn g_buffered_input_stream_fill_async(
31729        stream: *mut GBufferedInputStream,
31730        count: gssize,
31731        io_priority: ::std::os::raw::c_int,
31732        cancellable: *mut GCancellable,
31733        callback: GAsyncReadyCallback,
31734        user_data: gpointer,
31735    );
31736}
31737extern "C" {
31738    pub fn g_buffered_input_stream_fill_finish(
31739        stream: *mut GBufferedInputStream,
31740        result: *mut GAsyncResult,
31741        error: *mut *mut GError,
31742    ) -> gssize;
31743}
31744extern "C" {
31745    pub fn g_buffered_input_stream_read_byte(
31746        stream: *mut GBufferedInputStream,
31747        cancellable: *mut GCancellable,
31748        error: *mut *mut GError,
31749    ) -> ::std::os::raw::c_int;
31750}
31751pub type GOutputStreamClass = _GOutputStreamClass;
31752#[repr(C)]
31753#[derive(Debug, Copy, Clone)]
31754pub struct _GOutputStreamPrivate {
31755    _unused: [u8; 0],
31756}
31757pub type GOutputStreamPrivate = _GOutputStreamPrivate;
31758#[repr(C)]
31759#[derive(Debug, Copy, Clone, PartialEq, Eq)]
31760pub struct _GOutputStream {
31761    pub parent_instance: GObject,
31762    pub priv_: *mut GOutputStreamPrivate,
31763}
31764#[test]
31765fn bindgen_test_layout__GOutputStream() {
31766    const UNINIT: ::std::mem::MaybeUninit<_GOutputStream> = ::std::mem::MaybeUninit::uninit();
31767    let ptr = UNINIT.as_ptr();
31768    assert_eq!(
31769        ::std::mem::size_of::<_GOutputStream>(),
31770        32usize,
31771        concat!("Size of: ", stringify!(_GOutputStream))
31772    );
31773    assert_eq!(
31774        ::std::mem::align_of::<_GOutputStream>(),
31775        8usize,
31776        concat!("Alignment of ", stringify!(_GOutputStream))
31777    );
31778    assert_eq!(
31779        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
31780        0usize,
31781        concat!(
31782            "Offset of field: ",
31783            stringify!(_GOutputStream),
31784            "::",
31785            stringify!(parent_instance)
31786        )
31787    );
31788    assert_eq!(
31789        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
31790        24usize,
31791        concat!(
31792            "Offset of field: ",
31793            stringify!(_GOutputStream),
31794            "::",
31795            stringify!(priv_)
31796        )
31797    );
31798}
31799#[repr(C)]
31800#[derive(Debug, Copy, Clone, PartialEq, Eq)]
31801pub struct _GOutputStreamClass {
31802    pub parent_class: GObjectClass,
31803    pub write_fn: ::std::option::Option<
31804        unsafe extern "C" fn(
31805            stream: *mut GOutputStream,
31806            buffer: *const ::std::os::raw::c_void,
31807            count: gsize,
31808            cancellable: *mut GCancellable,
31809            error: *mut *mut GError,
31810        ) -> gssize,
31811    >,
31812    pub splice: ::std::option::Option<
31813        unsafe extern "C" fn(
31814            stream: *mut GOutputStream,
31815            source: *mut GInputStream,
31816            flags: GOutputStreamSpliceFlags,
31817            cancellable: *mut GCancellable,
31818            error: *mut *mut GError,
31819        ) -> gssize,
31820    >,
31821    pub flush: ::std::option::Option<
31822        unsafe extern "C" fn(
31823            stream: *mut GOutputStream,
31824            cancellable: *mut GCancellable,
31825            error: *mut *mut GError,
31826        ) -> gboolean,
31827    >,
31828    pub close_fn: ::std::option::Option<
31829        unsafe extern "C" fn(
31830            stream: *mut GOutputStream,
31831            cancellable: *mut GCancellable,
31832            error: *mut *mut GError,
31833        ) -> gboolean,
31834    >,
31835    pub write_async: ::std::option::Option<
31836        unsafe extern "C" fn(
31837            stream: *mut GOutputStream,
31838            buffer: *const ::std::os::raw::c_void,
31839            count: gsize,
31840            io_priority: ::std::os::raw::c_int,
31841            cancellable: *mut GCancellable,
31842            callback: GAsyncReadyCallback,
31843            user_data: gpointer,
31844        ),
31845    >,
31846    pub write_finish: ::std::option::Option<
31847        unsafe extern "C" fn(
31848            stream: *mut GOutputStream,
31849            result: *mut GAsyncResult,
31850            error: *mut *mut GError,
31851        ) -> gssize,
31852    >,
31853    pub splice_async: ::std::option::Option<
31854        unsafe extern "C" fn(
31855            stream: *mut GOutputStream,
31856            source: *mut GInputStream,
31857            flags: GOutputStreamSpliceFlags,
31858            io_priority: ::std::os::raw::c_int,
31859            cancellable: *mut GCancellable,
31860            callback: GAsyncReadyCallback,
31861            user_data: gpointer,
31862        ),
31863    >,
31864    pub splice_finish: ::std::option::Option<
31865        unsafe extern "C" fn(
31866            stream: *mut GOutputStream,
31867            result: *mut GAsyncResult,
31868            error: *mut *mut GError,
31869        ) -> gssize,
31870    >,
31871    pub flush_async: ::std::option::Option<
31872        unsafe extern "C" fn(
31873            stream: *mut GOutputStream,
31874            io_priority: ::std::os::raw::c_int,
31875            cancellable: *mut GCancellable,
31876            callback: GAsyncReadyCallback,
31877            user_data: gpointer,
31878        ),
31879    >,
31880    pub flush_finish: ::std::option::Option<
31881        unsafe extern "C" fn(
31882            stream: *mut GOutputStream,
31883            result: *mut GAsyncResult,
31884            error: *mut *mut GError,
31885        ) -> gboolean,
31886    >,
31887    pub close_async: ::std::option::Option<
31888        unsafe extern "C" fn(
31889            stream: *mut GOutputStream,
31890            io_priority: ::std::os::raw::c_int,
31891            cancellable: *mut GCancellable,
31892            callback: GAsyncReadyCallback,
31893            user_data: gpointer,
31894        ),
31895    >,
31896    pub close_finish: ::std::option::Option<
31897        unsafe extern "C" fn(
31898            stream: *mut GOutputStream,
31899            result: *mut GAsyncResult,
31900            error: *mut *mut GError,
31901        ) -> gboolean,
31902    >,
31903    pub writev_fn: ::std::option::Option<
31904        unsafe extern "C" fn(
31905            stream: *mut GOutputStream,
31906            vectors: *const GOutputVector,
31907            n_vectors: gsize,
31908            bytes_written: *mut gsize,
31909            cancellable: *mut GCancellable,
31910            error: *mut *mut GError,
31911        ) -> gboolean,
31912    >,
31913    pub writev_async: ::std::option::Option<
31914        unsafe extern "C" fn(
31915            stream: *mut GOutputStream,
31916            vectors: *const GOutputVector,
31917            n_vectors: gsize,
31918            io_priority: ::std::os::raw::c_int,
31919            cancellable: *mut GCancellable,
31920            callback: GAsyncReadyCallback,
31921            user_data: gpointer,
31922        ),
31923    >,
31924    pub writev_finish: ::std::option::Option<
31925        unsafe extern "C" fn(
31926            stream: *mut GOutputStream,
31927            result: *mut GAsyncResult,
31928            bytes_written: *mut gsize,
31929            error: *mut *mut GError,
31930        ) -> gboolean,
31931    >,
31932    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
31933    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
31934    pub _g_reserved6: ::std::option::Option<unsafe extern "C" fn()>,
31935    pub _g_reserved7: ::std::option::Option<unsafe extern "C" fn()>,
31936    pub _g_reserved8: ::std::option::Option<unsafe extern "C" fn()>,
31937}
31938#[test]
31939fn bindgen_test_layout__GOutputStreamClass() {
31940    const UNINIT: ::std::mem::MaybeUninit<_GOutputStreamClass> = ::std::mem::MaybeUninit::uninit();
31941    let ptr = UNINIT.as_ptr();
31942    assert_eq!(
31943        ::std::mem::size_of::<_GOutputStreamClass>(),
31944        296usize,
31945        concat!("Size of: ", stringify!(_GOutputStreamClass))
31946    );
31947    assert_eq!(
31948        ::std::mem::align_of::<_GOutputStreamClass>(),
31949        8usize,
31950        concat!("Alignment of ", stringify!(_GOutputStreamClass))
31951    );
31952    assert_eq!(
31953        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
31954        0usize,
31955        concat!(
31956            "Offset of field: ",
31957            stringify!(_GOutputStreamClass),
31958            "::",
31959            stringify!(parent_class)
31960        )
31961    );
31962    assert_eq!(
31963        unsafe { ::std::ptr::addr_of!((*ptr).write_fn) as usize - ptr as usize },
31964        136usize,
31965        concat!(
31966            "Offset of field: ",
31967            stringify!(_GOutputStreamClass),
31968            "::",
31969            stringify!(write_fn)
31970        )
31971    );
31972    assert_eq!(
31973        unsafe { ::std::ptr::addr_of!((*ptr).splice) as usize - ptr as usize },
31974        144usize,
31975        concat!(
31976            "Offset of field: ",
31977            stringify!(_GOutputStreamClass),
31978            "::",
31979            stringify!(splice)
31980        )
31981    );
31982    assert_eq!(
31983        unsafe { ::std::ptr::addr_of!((*ptr).flush) as usize - ptr as usize },
31984        152usize,
31985        concat!(
31986            "Offset of field: ",
31987            stringify!(_GOutputStreamClass),
31988            "::",
31989            stringify!(flush)
31990        )
31991    );
31992    assert_eq!(
31993        unsafe { ::std::ptr::addr_of!((*ptr).close_fn) as usize - ptr as usize },
31994        160usize,
31995        concat!(
31996            "Offset of field: ",
31997            stringify!(_GOutputStreamClass),
31998            "::",
31999            stringify!(close_fn)
32000        )
32001    );
32002    assert_eq!(
32003        unsafe { ::std::ptr::addr_of!((*ptr).write_async) as usize - ptr as usize },
32004        168usize,
32005        concat!(
32006            "Offset of field: ",
32007            stringify!(_GOutputStreamClass),
32008            "::",
32009            stringify!(write_async)
32010        )
32011    );
32012    assert_eq!(
32013        unsafe { ::std::ptr::addr_of!((*ptr).write_finish) as usize - ptr as usize },
32014        176usize,
32015        concat!(
32016            "Offset of field: ",
32017            stringify!(_GOutputStreamClass),
32018            "::",
32019            stringify!(write_finish)
32020        )
32021    );
32022    assert_eq!(
32023        unsafe { ::std::ptr::addr_of!((*ptr).splice_async) as usize - ptr as usize },
32024        184usize,
32025        concat!(
32026            "Offset of field: ",
32027            stringify!(_GOutputStreamClass),
32028            "::",
32029            stringify!(splice_async)
32030        )
32031    );
32032    assert_eq!(
32033        unsafe { ::std::ptr::addr_of!((*ptr).splice_finish) as usize - ptr as usize },
32034        192usize,
32035        concat!(
32036            "Offset of field: ",
32037            stringify!(_GOutputStreamClass),
32038            "::",
32039            stringify!(splice_finish)
32040        )
32041    );
32042    assert_eq!(
32043        unsafe { ::std::ptr::addr_of!((*ptr).flush_async) as usize - ptr as usize },
32044        200usize,
32045        concat!(
32046            "Offset of field: ",
32047            stringify!(_GOutputStreamClass),
32048            "::",
32049            stringify!(flush_async)
32050        )
32051    );
32052    assert_eq!(
32053        unsafe { ::std::ptr::addr_of!((*ptr).flush_finish) as usize - ptr as usize },
32054        208usize,
32055        concat!(
32056            "Offset of field: ",
32057            stringify!(_GOutputStreamClass),
32058            "::",
32059            stringify!(flush_finish)
32060        )
32061    );
32062    assert_eq!(
32063        unsafe { ::std::ptr::addr_of!((*ptr).close_async) as usize - ptr as usize },
32064        216usize,
32065        concat!(
32066            "Offset of field: ",
32067            stringify!(_GOutputStreamClass),
32068            "::",
32069            stringify!(close_async)
32070        )
32071    );
32072    assert_eq!(
32073        unsafe { ::std::ptr::addr_of!((*ptr).close_finish) as usize - ptr as usize },
32074        224usize,
32075        concat!(
32076            "Offset of field: ",
32077            stringify!(_GOutputStreamClass),
32078            "::",
32079            stringify!(close_finish)
32080        )
32081    );
32082    assert_eq!(
32083        unsafe { ::std::ptr::addr_of!((*ptr).writev_fn) as usize - ptr as usize },
32084        232usize,
32085        concat!(
32086            "Offset of field: ",
32087            stringify!(_GOutputStreamClass),
32088            "::",
32089            stringify!(writev_fn)
32090        )
32091    );
32092    assert_eq!(
32093        unsafe { ::std::ptr::addr_of!((*ptr).writev_async) as usize - ptr as usize },
32094        240usize,
32095        concat!(
32096            "Offset of field: ",
32097            stringify!(_GOutputStreamClass),
32098            "::",
32099            stringify!(writev_async)
32100        )
32101    );
32102    assert_eq!(
32103        unsafe { ::std::ptr::addr_of!((*ptr).writev_finish) as usize - ptr as usize },
32104        248usize,
32105        concat!(
32106            "Offset of field: ",
32107            stringify!(_GOutputStreamClass),
32108            "::",
32109            stringify!(writev_finish)
32110        )
32111    );
32112    assert_eq!(
32113        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
32114        256usize,
32115        concat!(
32116            "Offset of field: ",
32117            stringify!(_GOutputStreamClass),
32118            "::",
32119            stringify!(_g_reserved4)
32120        )
32121    );
32122    assert_eq!(
32123        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
32124        264usize,
32125        concat!(
32126            "Offset of field: ",
32127            stringify!(_GOutputStreamClass),
32128            "::",
32129            stringify!(_g_reserved5)
32130        )
32131    );
32132    assert_eq!(
32133        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved6) as usize - ptr as usize },
32134        272usize,
32135        concat!(
32136            "Offset of field: ",
32137            stringify!(_GOutputStreamClass),
32138            "::",
32139            stringify!(_g_reserved6)
32140        )
32141    );
32142    assert_eq!(
32143        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved7) as usize - ptr as usize },
32144        280usize,
32145        concat!(
32146            "Offset of field: ",
32147            stringify!(_GOutputStreamClass),
32148            "::",
32149            stringify!(_g_reserved7)
32150        )
32151    );
32152    assert_eq!(
32153        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved8) as usize - ptr as usize },
32154        288usize,
32155        concat!(
32156            "Offset of field: ",
32157            stringify!(_GOutputStreamClass),
32158            "::",
32159            stringify!(_g_reserved8)
32160        )
32161    );
32162}
32163extern "C" {
32164    pub fn g_output_stream_get_type() -> GType;
32165}
32166extern "C" {
32167    pub fn g_output_stream_write(
32168        stream: *mut GOutputStream,
32169        buffer: *const ::std::os::raw::c_void,
32170        count: gsize,
32171        cancellable: *mut GCancellable,
32172        error: *mut *mut GError,
32173    ) -> gssize;
32174}
32175extern "C" {
32176    pub fn g_output_stream_write_all(
32177        stream: *mut GOutputStream,
32178        buffer: *const ::std::os::raw::c_void,
32179        count: gsize,
32180        bytes_written: *mut gsize,
32181        cancellable: *mut GCancellable,
32182        error: *mut *mut GError,
32183    ) -> gboolean;
32184}
32185extern "C" {
32186    pub fn g_output_stream_writev(
32187        stream: *mut GOutputStream,
32188        vectors: *const GOutputVector,
32189        n_vectors: gsize,
32190        bytes_written: *mut gsize,
32191        cancellable: *mut GCancellable,
32192        error: *mut *mut GError,
32193    ) -> gboolean;
32194}
32195extern "C" {
32196    pub fn g_output_stream_writev_all(
32197        stream: *mut GOutputStream,
32198        vectors: *mut GOutputVector,
32199        n_vectors: gsize,
32200        bytes_written: *mut gsize,
32201        cancellable: *mut GCancellable,
32202        error: *mut *mut GError,
32203    ) -> gboolean;
32204}
32205extern "C" {
32206    pub fn g_output_stream_printf(
32207        stream: *mut GOutputStream,
32208        bytes_written: *mut gsize,
32209        cancellable: *mut GCancellable,
32210        error: *mut *mut GError,
32211        format: *const gchar,
32212        ...
32213    ) -> gboolean;
32214}
32215extern "C" {
32216    pub fn g_output_stream_vprintf(
32217        stream: *mut GOutputStream,
32218        bytes_written: *mut gsize,
32219        cancellable: *mut GCancellable,
32220        error: *mut *mut GError,
32221        format: *const gchar,
32222        args: va_list,
32223    ) -> gboolean;
32224}
32225extern "C" {
32226    pub fn g_output_stream_write_bytes(
32227        stream: *mut GOutputStream,
32228        bytes: *mut GBytes,
32229        cancellable: *mut GCancellable,
32230        error: *mut *mut GError,
32231    ) -> gssize;
32232}
32233extern "C" {
32234    pub fn g_output_stream_splice(
32235        stream: *mut GOutputStream,
32236        source: *mut GInputStream,
32237        flags: GOutputStreamSpliceFlags,
32238        cancellable: *mut GCancellable,
32239        error: *mut *mut GError,
32240    ) -> gssize;
32241}
32242extern "C" {
32243    pub fn g_output_stream_flush(
32244        stream: *mut GOutputStream,
32245        cancellable: *mut GCancellable,
32246        error: *mut *mut GError,
32247    ) -> gboolean;
32248}
32249extern "C" {
32250    pub fn g_output_stream_close(
32251        stream: *mut GOutputStream,
32252        cancellable: *mut GCancellable,
32253        error: *mut *mut GError,
32254    ) -> gboolean;
32255}
32256extern "C" {
32257    pub fn g_output_stream_write_async(
32258        stream: *mut GOutputStream,
32259        buffer: *const ::std::os::raw::c_void,
32260        count: gsize,
32261        io_priority: ::std::os::raw::c_int,
32262        cancellable: *mut GCancellable,
32263        callback: GAsyncReadyCallback,
32264        user_data: gpointer,
32265    );
32266}
32267extern "C" {
32268    pub fn g_output_stream_write_finish(
32269        stream: *mut GOutputStream,
32270        result: *mut GAsyncResult,
32271        error: *mut *mut GError,
32272    ) -> gssize;
32273}
32274extern "C" {
32275    pub fn g_output_stream_write_all_async(
32276        stream: *mut GOutputStream,
32277        buffer: *const ::std::os::raw::c_void,
32278        count: gsize,
32279        io_priority: ::std::os::raw::c_int,
32280        cancellable: *mut GCancellable,
32281        callback: GAsyncReadyCallback,
32282        user_data: gpointer,
32283    );
32284}
32285extern "C" {
32286    pub fn g_output_stream_write_all_finish(
32287        stream: *mut GOutputStream,
32288        result: *mut GAsyncResult,
32289        bytes_written: *mut gsize,
32290        error: *mut *mut GError,
32291    ) -> gboolean;
32292}
32293extern "C" {
32294    pub fn g_output_stream_writev_async(
32295        stream: *mut GOutputStream,
32296        vectors: *const GOutputVector,
32297        n_vectors: gsize,
32298        io_priority: ::std::os::raw::c_int,
32299        cancellable: *mut GCancellable,
32300        callback: GAsyncReadyCallback,
32301        user_data: gpointer,
32302    );
32303}
32304extern "C" {
32305    pub fn g_output_stream_writev_finish(
32306        stream: *mut GOutputStream,
32307        result: *mut GAsyncResult,
32308        bytes_written: *mut gsize,
32309        error: *mut *mut GError,
32310    ) -> gboolean;
32311}
32312extern "C" {
32313    pub fn g_output_stream_writev_all_async(
32314        stream: *mut GOutputStream,
32315        vectors: *mut GOutputVector,
32316        n_vectors: gsize,
32317        io_priority: ::std::os::raw::c_int,
32318        cancellable: *mut GCancellable,
32319        callback: GAsyncReadyCallback,
32320        user_data: gpointer,
32321    );
32322}
32323extern "C" {
32324    pub fn g_output_stream_writev_all_finish(
32325        stream: *mut GOutputStream,
32326        result: *mut GAsyncResult,
32327        bytes_written: *mut gsize,
32328        error: *mut *mut GError,
32329    ) -> gboolean;
32330}
32331extern "C" {
32332    pub fn g_output_stream_write_bytes_async(
32333        stream: *mut GOutputStream,
32334        bytes: *mut GBytes,
32335        io_priority: ::std::os::raw::c_int,
32336        cancellable: *mut GCancellable,
32337        callback: GAsyncReadyCallback,
32338        user_data: gpointer,
32339    );
32340}
32341extern "C" {
32342    pub fn g_output_stream_write_bytes_finish(
32343        stream: *mut GOutputStream,
32344        result: *mut GAsyncResult,
32345        error: *mut *mut GError,
32346    ) -> gssize;
32347}
32348extern "C" {
32349    pub fn g_output_stream_splice_async(
32350        stream: *mut GOutputStream,
32351        source: *mut GInputStream,
32352        flags: GOutputStreamSpliceFlags,
32353        io_priority: ::std::os::raw::c_int,
32354        cancellable: *mut GCancellable,
32355        callback: GAsyncReadyCallback,
32356        user_data: gpointer,
32357    );
32358}
32359extern "C" {
32360    pub fn g_output_stream_splice_finish(
32361        stream: *mut GOutputStream,
32362        result: *mut GAsyncResult,
32363        error: *mut *mut GError,
32364    ) -> gssize;
32365}
32366extern "C" {
32367    pub fn g_output_stream_flush_async(
32368        stream: *mut GOutputStream,
32369        io_priority: ::std::os::raw::c_int,
32370        cancellable: *mut GCancellable,
32371        callback: GAsyncReadyCallback,
32372        user_data: gpointer,
32373    );
32374}
32375extern "C" {
32376    pub fn g_output_stream_flush_finish(
32377        stream: *mut GOutputStream,
32378        result: *mut GAsyncResult,
32379        error: *mut *mut GError,
32380    ) -> gboolean;
32381}
32382extern "C" {
32383    pub fn g_output_stream_close_async(
32384        stream: *mut GOutputStream,
32385        io_priority: ::std::os::raw::c_int,
32386        cancellable: *mut GCancellable,
32387        callback: GAsyncReadyCallback,
32388        user_data: gpointer,
32389    );
32390}
32391extern "C" {
32392    pub fn g_output_stream_close_finish(
32393        stream: *mut GOutputStream,
32394        result: *mut GAsyncResult,
32395        error: *mut *mut GError,
32396    ) -> gboolean;
32397}
32398extern "C" {
32399    pub fn g_output_stream_is_closed(stream: *mut GOutputStream) -> gboolean;
32400}
32401extern "C" {
32402    pub fn g_output_stream_is_closing(stream: *mut GOutputStream) -> gboolean;
32403}
32404extern "C" {
32405    pub fn g_output_stream_has_pending(stream: *mut GOutputStream) -> gboolean;
32406}
32407extern "C" {
32408    pub fn g_output_stream_set_pending(
32409        stream: *mut GOutputStream,
32410        error: *mut *mut GError,
32411    ) -> gboolean;
32412}
32413extern "C" {
32414    pub fn g_output_stream_clear_pending(stream: *mut GOutputStream);
32415}
32416pub type GFilterOutputStreamClass = _GFilterOutputStreamClass;
32417#[repr(C)]
32418#[derive(Debug, Copy, Clone, PartialEq, Eq)]
32419pub struct _GFilterOutputStream {
32420    pub parent_instance: GOutputStream,
32421    pub base_stream: *mut GOutputStream,
32422}
32423#[test]
32424fn bindgen_test_layout__GFilterOutputStream() {
32425    const UNINIT: ::std::mem::MaybeUninit<_GFilterOutputStream> = ::std::mem::MaybeUninit::uninit();
32426    let ptr = UNINIT.as_ptr();
32427    assert_eq!(
32428        ::std::mem::size_of::<_GFilterOutputStream>(),
32429        40usize,
32430        concat!("Size of: ", stringify!(_GFilterOutputStream))
32431    );
32432    assert_eq!(
32433        ::std::mem::align_of::<_GFilterOutputStream>(),
32434        8usize,
32435        concat!("Alignment of ", stringify!(_GFilterOutputStream))
32436    );
32437    assert_eq!(
32438        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
32439        0usize,
32440        concat!(
32441            "Offset of field: ",
32442            stringify!(_GFilterOutputStream),
32443            "::",
32444            stringify!(parent_instance)
32445        )
32446    );
32447    assert_eq!(
32448        unsafe { ::std::ptr::addr_of!((*ptr).base_stream) as usize - ptr as usize },
32449        32usize,
32450        concat!(
32451            "Offset of field: ",
32452            stringify!(_GFilterOutputStream),
32453            "::",
32454            stringify!(base_stream)
32455        )
32456    );
32457}
32458#[repr(C)]
32459#[derive(Debug, Copy, Clone, PartialEq, Eq)]
32460pub struct _GFilterOutputStreamClass {
32461    pub parent_class: GOutputStreamClass,
32462    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
32463    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
32464    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
32465}
32466#[test]
32467fn bindgen_test_layout__GFilterOutputStreamClass() {
32468    const UNINIT: ::std::mem::MaybeUninit<_GFilterOutputStreamClass> =
32469        ::std::mem::MaybeUninit::uninit();
32470    let ptr = UNINIT.as_ptr();
32471    assert_eq!(
32472        ::std::mem::size_of::<_GFilterOutputStreamClass>(),
32473        320usize,
32474        concat!("Size of: ", stringify!(_GFilterOutputStreamClass))
32475    );
32476    assert_eq!(
32477        ::std::mem::align_of::<_GFilterOutputStreamClass>(),
32478        8usize,
32479        concat!("Alignment of ", stringify!(_GFilterOutputStreamClass))
32480    );
32481    assert_eq!(
32482        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
32483        0usize,
32484        concat!(
32485            "Offset of field: ",
32486            stringify!(_GFilterOutputStreamClass),
32487            "::",
32488            stringify!(parent_class)
32489        )
32490    );
32491    assert_eq!(
32492        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
32493        296usize,
32494        concat!(
32495            "Offset of field: ",
32496            stringify!(_GFilterOutputStreamClass),
32497            "::",
32498            stringify!(_g_reserved1)
32499        )
32500    );
32501    assert_eq!(
32502        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
32503        304usize,
32504        concat!(
32505            "Offset of field: ",
32506            stringify!(_GFilterOutputStreamClass),
32507            "::",
32508            stringify!(_g_reserved2)
32509        )
32510    );
32511    assert_eq!(
32512        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
32513        312usize,
32514        concat!(
32515            "Offset of field: ",
32516            stringify!(_GFilterOutputStreamClass),
32517            "::",
32518            stringify!(_g_reserved3)
32519        )
32520    );
32521}
32522extern "C" {
32523    pub fn g_filter_output_stream_get_type() -> GType;
32524}
32525extern "C" {
32526    pub fn g_filter_output_stream_get_base_stream(
32527        stream: *mut GFilterOutputStream,
32528    ) -> *mut GOutputStream;
32529}
32530extern "C" {
32531    pub fn g_filter_output_stream_get_close_base_stream(
32532        stream: *mut GFilterOutputStream,
32533    ) -> gboolean;
32534}
32535extern "C" {
32536    pub fn g_filter_output_stream_set_close_base_stream(
32537        stream: *mut GFilterOutputStream,
32538        close_base: gboolean,
32539    );
32540}
32541pub type GBufferedOutputStreamClass = _GBufferedOutputStreamClass;
32542#[repr(C)]
32543#[derive(Debug, Copy, Clone)]
32544pub struct _GBufferedOutputStreamPrivate {
32545    _unused: [u8; 0],
32546}
32547pub type GBufferedOutputStreamPrivate = _GBufferedOutputStreamPrivate;
32548#[repr(C)]
32549#[derive(Debug, Copy, Clone, PartialEq, Eq)]
32550pub struct _GBufferedOutputStream {
32551    pub parent_instance: GFilterOutputStream,
32552    pub priv_: *mut GBufferedOutputStreamPrivate,
32553}
32554#[test]
32555fn bindgen_test_layout__GBufferedOutputStream() {
32556    const UNINIT: ::std::mem::MaybeUninit<_GBufferedOutputStream> =
32557        ::std::mem::MaybeUninit::uninit();
32558    let ptr = UNINIT.as_ptr();
32559    assert_eq!(
32560        ::std::mem::size_of::<_GBufferedOutputStream>(),
32561        48usize,
32562        concat!("Size of: ", stringify!(_GBufferedOutputStream))
32563    );
32564    assert_eq!(
32565        ::std::mem::align_of::<_GBufferedOutputStream>(),
32566        8usize,
32567        concat!("Alignment of ", stringify!(_GBufferedOutputStream))
32568    );
32569    assert_eq!(
32570        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
32571        0usize,
32572        concat!(
32573            "Offset of field: ",
32574            stringify!(_GBufferedOutputStream),
32575            "::",
32576            stringify!(parent_instance)
32577        )
32578    );
32579    assert_eq!(
32580        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
32581        40usize,
32582        concat!(
32583            "Offset of field: ",
32584            stringify!(_GBufferedOutputStream),
32585            "::",
32586            stringify!(priv_)
32587        )
32588    );
32589}
32590#[repr(C)]
32591#[derive(Debug, Copy, Clone, PartialEq, Eq)]
32592pub struct _GBufferedOutputStreamClass {
32593    pub parent_class: GFilterOutputStreamClass,
32594    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
32595    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
32596}
32597#[test]
32598fn bindgen_test_layout__GBufferedOutputStreamClass() {
32599    const UNINIT: ::std::mem::MaybeUninit<_GBufferedOutputStreamClass> =
32600        ::std::mem::MaybeUninit::uninit();
32601    let ptr = UNINIT.as_ptr();
32602    assert_eq!(
32603        ::std::mem::size_of::<_GBufferedOutputStreamClass>(),
32604        336usize,
32605        concat!("Size of: ", stringify!(_GBufferedOutputStreamClass))
32606    );
32607    assert_eq!(
32608        ::std::mem::align_of::<_GBufferedOutputStreamClass>(),
32609        8usize,
32610        concat!("Alignment of ", stringify!(_GBufferedOutputStreamClass))
32611    );
32612    assert_eq!(
32613        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
32614        0usize,
32615        concat!(
32616            "Offset of field: ",
32617            stringify!(_GBufferedOutputStreamClass),
32618            "::",
32619            stringify!(parent_class)
32620        )
32621    );
32622    assert_eq!(
32623        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
32624        320usize,
32625        concat!(
32626            "Offset of field: ",
32627            stringify!(_GBufferedOutputStreamClass),
32628            "::",
32629            stringify!(_g_reserved1)
32630        )
32631    );
32632    assert_eq!(
32633        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
32634        328usize,
32635        concat!(
32636            "Offset of field: ",
32637            stringify!(_GBufferedOutputStreamClass),
32638            "::",
32639            stringify!(_g_reserved2)
32640        )
32641    );
32642}
32643extern "C" {
32644    pub fn g_buffered_output_stream_get_type() -> GType;
32645}
32646extern "C" {
32647    pub fn g_buffered_output_stream_new(base_stream: *mut GOutputStream) -> *mut GOutputStream;
32648}
32649extern "C" {
32650    pub fn g_buffered_output_stream_new_sized(
32651        base_stream: *mut GOutputStream,
32652        size: gsize,
32653    ) -> *mut GOutputStream;
32654}
32655extern "C" {
32656    pub fn g_buffered_output_stream_get_buffer_size(stream: *mut GBufferedOutputStream) -> gsize;
32657}
32658extern "C" {
32659    pub fn g_buffered_output_stream_set_buffer_size(
32660        stream: *mut GBufferedOutputStream,
32661        size: gsize,
32662    );
32663}
32664extern "C" {
32665    pub fn g_buffered_output_stream_get_auto_grow(stream: *mut GBufferedOutputStream) -> gboolean;
32666}
32667extern "C" {
32668    pub fn g_buffered_output_stream_set_auto_grow(
32669        stream: *mut GBufferedOutputStream,
32670        auto_grow: gboolean,
32671    );
32672}
32673extern "C" {
32674    pub fn g_bytes_icon_get_type() -> GType;
32675}
32676extern "C" {
32677    pub fn g_bytes_icon_new(bytes: *mut GBytes) -> *mut GIcon;
32678}
32679extern "C" {
32680    pub fn g_bytes_icon_get_bytes(icon: *mut GBytesIcon) -> *mut GBytes;
32681}
32682pub type GCancellableClass = _GCancellableClass;
32683#[repr(C)]
32684#[derive(Debug, Copy, Clone)]
32685pub struct _GCancellablePrivate {
32686    _unused: [u8; 0],
32687}
32688pub type GCancellablePrivate = _GCancellablePrivate;
32689#[repr(C)]
32690#[derive(Debug, Copy, Clone, PartialEq, Eq)]
32691pub struct _GCancellable {
32692    pub parent_instance: GObject,
32693    pub priv_: *mut GCancellablePrivate,
32694}
32695#[test]
32696fn bindgen_test_layout__GCancellable() {
32697    const UNINIT: ::std::mem::MaybeUninit<_GCancellable> = ::std::mem::MaybeUninit::uninit();
32698    let ptr = UNINIT.as_ptr();
32699    assert_eq!(
32700        ::std::mem::size_of::<_GCancellable>(),
32701        32usize,
32702        concat!("Size of: ", stringify!(_GCancellable))
32703    );
32704    assert_eq!(
32705        ::std::mem::align_of::<_GCancellable>(),
32706        8usize,
32707        concat!("Alignment of ", stringify!(_GCancellable))
32708    );
32709    assert_eq!(
32710        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
32711        0usize,
32712        concat!(
32713            "Offset of field: ",
32714            stringify!(_GCancellable),
32715            "::",
32716            stringify!(parent_instance)
32717        )
32718    );
32719    assert_eq!(
32720        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
32721        24usize,
32722        concat!(
32723            "Offset of field: ",
32724            stringify!(_GCancellable),
32725            "::",
32726            stringify!(priv_)
32727        )
32728    );
32729}
32730#[repr(C)]
32731#[derive(Debug, Copy, Clone, PartialEq, Eq)]
32732pub struct _GCancellableClass {
32733    pub parent_class: GObjectClass,
32734    pub cancelled: ::std::option::Option<unsafe extern "C" fn(cancellable: *mut GCancellable)>,
32735    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
32736    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
32737    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
32738    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
32739    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
32740}
32741#[test]
32742fn bindgen_test_layout__GCancellableClass() {
32743    const UNINIT: ::std::mem::MaybeUninit<_GCancellableClass> = ::std::mem::MaybeUninit::uninit();
32744    let ptr = UNINIT.as_ptr();
32745    assert_eq!(
32746        ::std::mem::size_of::<_GCancellableClass>(),
32747        184usize,
32748        concat!("Size of: ", stringify!(_GCancellableClass))
32749    );
32750    assert_eq!(
32751        ::std::mem::align_of::<_GCancellableClass>(),
32752        8usize,
32753        concat!("Alignment of ", stringify!(_GCancellableClass))
32754    );
32755    assert_eq!(
32756        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
32757        0usize,
32758        concat!(
32759            "Offset of field: ",
32760            stringify!(_GCancellableClass),
32761            "::",
32762            stringify!(parent_class)
32763        )
32764    );
32765    assert_eq!(
32766        unsafe { ::std::ptr::addr_of!((*ptr).cancelled) as usize - ptr as usize },
32767        136usize,
32768        concat!(
32769            "Offset of field: ",
32770            stringify!(_GCancellableClass),
32771            "::",
32772            stringify!(cancelled)
32773        )
32774    );
32775    assert_eq!(
32776        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
32777        144usize,
32778        concat!(
32779            "Offset of field: ",
32780            stringify!(_GCancellableClass),
32781            "::",
32782            stringify!(_g_reserved1)
32783        )
32784    );
32785    assert_eq!(
32786        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
32787        152usize,
32788        concat!(
32789            "Offset of field: ",
32790            stringify!(_GCancellableClass),
32791            "::",
32792            stringify!(_g_reserved2)
32793        )
32794    );
32795    assert_eq!(
32796        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
32797        160usize,
32798        concat!(
32799            "Offset of field: ",
32800            stringify!(_GCancellableClass),
32801            "::",
32802            stringify!(_g_reserved3)
32803        )
32804    );
32805    assert_eq!(
32806        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
32807        168usize,
32808        concat!(
32809            "Offset of field: ",
32810            stringify!(_GCancellableClass),
32811            "::",
32812            stringify!(_g_reserved4)
32813        )
32814    );
32815    assert_eq!(
32816        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
32817        176usize,
32818        concat!(
32819            "Offset of field: ",
32820            stringify!(_GCancellableClass),
32821            "::",
32822            stringify!(_g_reserved5)
32823        )
32824    );
32825}
32826extern "C" {
32827    pub fn g_cancellable_get_type() -> GType;
32828}
32829extern "C" {
32830    pub fn g_cancellable_new() -> *mut GCancellable;
32831}
32832extern "C" {
32833    pub fn g_cancellable_is_cancelled(cancellable: *mut GCancellable) -> gboolean;
32834}
32835extern "C" {
32836    pub fn g_cancellable_set_error_if_cancelled(
32837        cancellable: *mut GCancellable,
32838        error: *mut *mut GError,
32839    ) -> gboolean;
32840}
32841extern "C" {
32842    pub fn g_cancellable_get_fd(cancellable: *mut GCancellable) -> ::std::os::raw::c_int;
32843}
32844extern "C" {
32845    pub fn g_cancellable_make_pollfd(
32846        cancellable: *mut GCancellable,
32847        pollfd: *mut GPollFD,
32848    ) -> gboolean;
32849}
32850extern "C" {
32851    pub fn g_cancellable_release_fd(cancellable: *mut GCancellable);
32852}
32853extern "C" {
32854    pub fn g_cancellable_source_new(cancellable: *mut GCancellable) -> *mut GSource;
32855}
32856extern "C" {
32857    pub fn g_cancellable_get_current() -> *mut GCancellable;
32858}
32859extern "C" {
32860    pub fn g_cancellable_push_current(cancellable: *mut GCancellable);
32861}
32862extern "C" {
32863    pub fn g_cancellable_pop_current(cancellable: *mut GCancellable);
32864}
32865extern "C" {
32866    pub fn g_cancellable_reset(cancellable: *mut GCancellable);
32867}
32868extern "C" {
32869    pub fn g_cancellable_connect(
32870        cancellable: *mut GCancellable,
32871        callback: GCallback,
32872        data: gpointer,
32873        data_destroy_func: GDestroyNotify,
32874    ) -> gulong;
32875}
32876extern "C" {
32877    pub fn g_cancellable_disconnect(cancellable: *mut GCancellable, handler_id: gulong);
32878}
32879extern "C" {
32880    pub fn g_cancellable_cancel(cancellable: *mut GCancellable);
32881}
32882pub type GConverterIface = _GConverterIface;
32883#[repr(C)]
32884#[derive(Debug, Copy, Clone, PartialEq, Eq)]
32885pub struct _GConverterIface {
32886    pub g_iface: GTypeInterface,
32887    pub convert: ::std::option::Option<
32888        unsafe extern "C" fn(
32889            converter: *mut GConverter,
32890            inbuf: *const ::std::os::raw::c_void,
32891            inbuf_size: gsize,
32892            outbuf: *mut ::std::os::raw::c_void,
32893            outbuf_size: gsize,
32894            flags: GConverterFlags,
32895            bytes_read: *mut gsize,
32896            bytes_written: *mut gsize,
32897            error: *mut *mut GError,
32898        ) -> GConverterResult,
32899    >,
32900    pub reset: ::std::option::Option<unsafe extern "C" fn(converter: *mut GConverter)>,
32901}
32902#[test]
32903fn bindgen_test_layout__GConverterIface() {
32904    const UNINIT: ::std::mem::MaybeUninit<_GConverterIface> = ::std::mem::MaybeUninit::uninit();
32905    let ptr = UNINIT.as_ptr();
32906    assert_eq!(
32907        ::std::mem::size_of::<_GConverterIface>(),
32908        32usize,
32909        concat!("Size of: ", stringify!(_GConverterIface))
32910    );
32911    assert_eq!(
32912        ::std::mem::align_of::<_GConverterIface>(),
32913        8usize,
32914        concat!("Alignment of ", stringify!(_GConverterIface))
32915    );
32916    assert_eq!(
32917        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
32918        0usize,
32919        concat!(
32920            "Offset of field: ",
32921            stringify!(_GConverterIface),
32922            "::",
32923            stringify!(g_iface)
32924        )
32925    );
32926    assert_eq!(
32927        unsafe { ::std::ptr::addr_of!((*ptr).convert) as usize - ptr as usize },
32928        16usize,
32929        concat!(
32930            "Offset of field: ",
32931            stringify!(_GConverterIface),
32932            "::",
32933            stringify!(convert)
32934        )
32935    );
32936    assert_eq!(
32937        unsafe { ::std::ptr::addr_of!((*ptr).reset) as usize - ptr as usize },
32938        24usize,
32939        concat!(
32940            "Offset of field: ",
32941            stringify!(_GConverterIface),
32942            "::",
32943            stringify!(reset)
32944        )
32945    );
32946}
32947extern "C" {
32948    pub fn g_converter_get_type() -> GType;
32949}
32950extern "C" {
32951    pub fn g_converter_convert(
32952        converter: *mut GConverter,
32953        inbuf: *const ::std::os::raw::c_void,
32954        inbuf_size: gsize,
32955        outbuf: *mut ::std::os::raw::c_void,
32956        outbuf_size: gsize,
32957        flags: GConverterFlags,
32958        bytes_read: *mut gsize,
32959        bytes_written: *mut gsize,
32960        error: *mut *mut GError,
32961    ) -> GConverterResult;
32962}
32963extern "C" {
32964    pub fn g_converter_reset(converter: *mut GConverter);
32965}
32966pub type GCharsetConverterClass = _GCharsetConverterClass;
32967#[repr(C)]
32968#[derive(Debug, Copy, Clone, PartialEq, Eq)]
32969pub struct _GCharsetConverterClass {
32970    pub parent_class: GObjectClass,
32971}
32972#[test]
32973fn bindgen_test_layout__GCharsetConverterClass() {
32974    const UNINIT: ::std::mem::MaybeUninit<_GCharsetConverterClass> =
32975        ::std::mem::MaybeUninit::uninit();
32976    let ptr = UNINIT.as_ptr();
32977    assert_eq!(
32978        ::std::mem::size_of::<_GCharsetConverterClass>(),
32979        136usize,
32980        concat!("Size of: ", stringify!(_GCharsetConverterClass))
32981    );
32982    assert_eq!(
32983        ::std::mem::align_of::<_GCharsetConverterClass>(),
32984        8usize,
32985        concat!("Alignment of ", stringify!(_GCharsetConverterClass))
32986    );
32987    assert_eq!(
32988        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
32989        0usize,
32990        concat!(
32991            "Offset of field: ",
32992            stringify!(_GCharsetConverterClass),
32993            "::",
32994            stringify!(parent_class)
32995        )
32996    );
32997}
32998extern "C" {
32999    pub fn g_charset_converter_get_type() -> GType;
33000}
33001extern "C" {
33002    pub fn g_charset_converter_new(
33003        to_charset: *const gchar,
33004        from_charset: *const gchar,
33005        error: *mut *mut GError,
33006    ) -> *mut GCharsetConverter;
33007}
33008extern "C" {
33009    pub fn g_charset_converter_set_use_fallback(
33010        converter: *mut GCharsetConverter,
33011        use_fallback: gboolean,
33012    );
33013}
33014extern "C" {
33015    pub fn g_charset_converter_get_use_fallback(converter: *mut GCharsetConverter) -> gboolean;
33016}
33017extern "C" {
33018    pub fn g_charset_converter_get_num_fallbacks(converter: *mut GCharsetConverter) -> guint;
33019}
33020extern "C" {
33021    pub fn g_content_type_equals(type1: *const gchar, type2: *const gchar) -> gboolean;
33022}
33023extern "C" {
33024    pub fn g_content_type_is_a(type_: *const gchar, supertype: *const gchar) -> gboolean;
33025}
33026extern "C" {
33027    pub fn g_content_type_is_mime_type(type_: *const gchar, mime_type: *const gchar) -> gboolean;
33028}
33029extern "C" {
33030    pub fn g_content_type_is_unknown(type_: *const gchar) -> gboolean;
33031}
33032extern "C" {
33033    pub fn g_content_type_get_description(type_: *const gchar) -> *mut gchar;
33034}
33035extern "C" {
33036    pub fn g_content_type_get_mime_type(type_: *const gchar) -> *mut gchar;
33037}
33038extern "C" {
33039    pub fn g_content_type_get_icon(type_: *const gchar) -> *mut GIcon;
33040}
33041extern "C" {
33042    pub fn g_content_type_get_symbolic_icon(type_: *const gchar) -> *mut GIcon;
33043}
33044extern "C" {
33045    pub fn g_content_type_get_generic_icon_name(type_: *const gchar) -> *mut gchar;
33046}
33047extern "C" {
33048    pub fn g_content_type_can_be_executable(type_: *const gchar) -> gboolean;
33049}
33050extern "C" {
33051    pub fn g_content_type_from_mime_type(mime_type: *const gchar) -> *mut gchar;
33052}
33053extern "C" {
33054    pub fn g_content_type_guess(
33055        filename: *const gchar,
33056        data: *const guchar,
33057        data_size: gsize,
33058        result_uncertain: *mut gboolean,
33059    ) -> *mut gchar;
33060}
33061extern "C" {
33062    pub fn g_content_type_guess_for_tree(root: *mut GFile) -> *mut *mut gchar;
33063}
33064extern "C" {
33065    pub fn g_content_types_get_registered() -> *mut GList;
33066}
33067extern "C" {
33068    pub fn g_content_type_get_mime_dirs() -> *const *const gchar;
33069}
33070extern "C" {
33071    pub fn g_content_type_set_mime_dirs(dirs: *const *const gchar);
33072}
33073pub type GConverterInputStreamClass = _GConverterInputStreamClass;
33074#[repr(C)]
33075#[derive(Debug, Copy, Clone)]
33076pub struct _GConverterInputStreamPrivate {
33077    _unused: [u8; 0],
33078}
33079pub type GConverterInputStreamPrivate = _GConverterInputStreamPrivate;
33080#[repr(C)]
33081#[derive(Debug, Copy, Clone, PartialEq, Eq)]
33082pub struct _GConverterInputStream {
33083    pub parent_instance: GFilterInputStream,
33084    pub priv_: *mut GConverterInputStreamPrivate,
33085}
33086#[test]
33087fn bindgen_test_layout__GConverterInputStream() {
33088    const UNINIT: ::std::mem::MaybeUninit<_GConverterInputStream> =
33089        ::std::mem::MaybeUninit::uninit();
33090    let ptr = UNINIT.as_ptr();
33091    assert_eq!(
33092        ::std::mem::size_of::<_GConverterInputStream>(),
33093        48usize,
33094        concat!("Size of: ", stringify!(_GConverterInputStream))
33095    );
33096    assert_eq!(
33097        ::std::mem::align_of::<_GConverterInputStream>(),
33098        8usize,
33099        concat!("Alignment of ", stringify!(_GConverterInputStream))
33100    );
33101    assert_eq!(
33102        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
33103        0usize,
33104        concat!(
33105            "Offset of field: ",
33106            stringify!(_GConverterInputStream),
33107            "::",
33108            stringify!(parent_instance)
33109        )
33110    );
33111    assert_eq!(
33112        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
33113        40usize,
33114        concat!(
33115            "Offset of field: ",
33116            stringify!(_GConverterInputStream),
33117            "::",
33118            stringify!(priv_)
33119        )
33120    );
33121}
33122#[repr(C)]
33123#[derive(Debug, Copy, Clone, PartialEq, Eq)]
33124pub struct _GConverterInputStreamClass {
33125    pub parent_class: GFilterInputStreamClass,
33126    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
33127    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
33128    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
33129    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
33130    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
33131}
33132#[test]
33133fn bindgen_test_layout__GConverterInputStreamClass() {
33134    const UNINIT: ::std::mem::MaybeUninit<_GConverterInputStreamClass> =
33135        ::std::mem::MaybeUninit::uninit();
33136    let ptr = UNINIT.as_ptr();
33137    assert_eq!(
33138        ::std::mem::size_of::<_GConverterInputStreamClass>(),
33139        312usize,
33140        concat!("Size of: ", stringify!(_GConverterInputStreamClass))
33141    );
33142    assert_eq!(
33143        ::std::mem::align_of::<_GConverterInputStreamClass>(),
33144        8usize,
33145        concat!("Alignment of ", stringify!(_GConverterInputStreamClass))
33146    );
33147    assert_eq!(
33148        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
33149        0usize,
33150        concat!(
33151            "Offset of field: ",
33152            stringify!(_GConverterInputStreamClass),
33153            "::",
33154            stringify!(parent_class)
33155        )
33156    );
33157    assert_eq!(
33158        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
33159        272usize,
33160        concat!(
33161            "Offset of field: ",
33162            stringify!(_GConverterInputStreamClass),
33163            "::",
33164            stringify!(_g_reserved1)
33165        )
33166    );
33167    assert_eq!(
33168        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
33169        280usize,
33170        concat!(
33171            "Offset of field: ",
33172            stringify!(_GConverterInputStreamClass),
33173            "::",
33174            stringify!(_g_reserved2)
33175        )
33176    );
33177    assert_eq!(
33178        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
33179        288usize,
33180        concat!(
33181            "Offset of field: ",
33182            stringify!(_GConverterInputStreamClass),
33183            "::",
33184            stringify!(_g_reserved3)
33185        )
33186    );
33187    assert_eq!(
33188        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
33189        296usize,
33190        concat!(
33191            "Offset of field: ",
33192            stringify!(_GConverterInputStreamClass),
33193            "::",
33194            stringify!(_g_reserved4)
33195        )
33196    );
33197    assert_eq!(
33198        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
33199        304usize,
33200        concat!(
33201            "Offset of field: ",
33202            stringify!(_GConverterInputStreamClass),
33203            "::",
33204            stringify!(_g_reserved5)
33205        )
33206    );
33207}
33208extern "C" {
33209    pub fn g_converter_input_stream_get_type() -> GType;
33210}
33211extern "C" {
33212    pub fn g_converter_input_stream_new(
33213        base_stream: *mut GInputStream,
33214        converter: *mut GConverter,
33215    ) -> *mut GInputStream;
33216}
33217extern "C" {
33218    pub fn g_converter_input_stream_get_converter(
33219        converter_stream: *mut GConverterInputStream,
33220    ) -> *mut GConverter;
33221}
33222pub type GConverterOutputStreamClass = _GConverterOutputStreamClass;
33223#[repr(C)]
33224#[derive(Debug, Copy, Clone)]
33225pub struct _GConverterOutputStreamPrivate {
33226    _unused: [u8; 0],
33227}
33228pub type GConverterOutputStreamPrivate = _GConverterOutputStreamPrivate;
33229#[repr(C)]
33230#[derive(Debug, Copy, Clone, PartialEq, Eq)]
33231pub struct _GConverterOutputStream {
33232    pub parent_instance: GFilterOutputStream,
33233    pub priv_: *mut GConverterOutputStreamPrivate,
33234}
33235#[test]
33236fn bindgen_test_layout__GConverterOutputStream() {
33237    const UNINIT: ::std::mem::MaybeUninit<_GConverterOutputStream> =
33238        ::std::mem::MaybeUninit::uninit();
33239    let ptr = UNINIT.as_ptr();
33240    assert_eq!(
33241        ::std::mem::size_of::<_GConverterOutputStream>(),
33242        48usize,
33243        concat!("Size of: ", stringify!(_GConverterOutputStream))
33244    );
33245    assert_eq!(
33246        ::std::mem::align_of::<_GConverterOutputStream>(),
33247        8usize,
33248        concat!("Alignment of ", stringify!(_GConverterOutputStream))
33249    );
33250    assert_eq!(
33251        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
33252        0usize,
33253        concat!(
33254            "Offset of field: ",
33255            stringify!(_GConverterOutputStream),
33256            "::",
33257            stringify!(parent_instance)
33258        )
33259    );
33260    assert_eq!(
33261        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
33262        40usize,
33263        concat!(
33264            "Offset of field: ",
33265            stringify!(_GConverterOutputStream),
33266            "::",
33267            stringify!(priv_)
33268        )
33269    );
33270}
33271#[repr(C)]
33272#[derive(Debug, Copy, Clone, PartialEq, Eq)]
33273pub struct _GConverterOutputStreamClass {
33274    pub parent_class: GFilterOutputStreamClass,
33275    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
33276    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
33277    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
33278    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
33279    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
33280}
33281#[test]
33282fn bindgen_test_layout__GConverterOutputStreamClass() {
33283    const UNINIT: ::std::mem::MaybeUninit<_GConverterOutputStreamClass> =
33284        ::std::mem::MaybeUninit::uninit();
33285    let ptr = UNINIT.as_ptr();
33286    assert_eq!(
33287        ::std::mem::size_of::<_GConverterOutputStreamClass>(),
33288        360usize,
33289        concat!("Size of: ", stringify!(_GConverterOutputStreamClass))
33290    );
33291    assert_eq!(
33292        ::std::mem::align_of::<_GConverterOutputStreamClass>(),
33293        8usize,
33294        concat!("Alignment of ", stringify!(_GConverterOutputStreamClass))
33295    );
33296    assert_eq!(
33297        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
33298        0usize,
33299        concat!(
33300            "Offset of field: ",
33301            stringify!(_GConverterOutputStreamClass),
33302            "::",
33303            stringify!(parent_class)
33304        )
33305    );
33306    assert_eq!(
33307        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
33308        320usize,
33309        concat!(
33310            "Offset of field: ",
33311            stringify!(_GConverterOutputStreamClass),
33312            "::",
33313            stringify!(_g_reserved1)
33314        )
33315    );
33316    assert_eq!(
33317        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
33318        328usize,
33319        concat!(
33320            "Offset of field: ",
33321            stringify!(_GConverterOutputStreamClass),
33322            "::",
33323            stringify!(_g_reserved2)
33324        )
33325    );
33326    assert_eq!(
33327        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
33328        336usize,
33329        concat!(
33330            "Offset of field: ",
33331            stringify!(_GConverterOutputStreamClass),
33332            "::",
33333            stringify!(_g_reserved3)
33334        )
33335    );
33336    assert_eq!(
33337        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
33338        344usize,
33339        concat!(
33340            "Offset of field: ",
33341            stringify!(_GConverterOutputStreamClass),
33342            "::",
33343            stringify!(_g_reserved4)
33344        )
33345    );
33346    assert_eq!(
33347        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
33348        352usize,
33349        concat!(
33350            "Offset of field: ",
33351            stringify!(_GConverterOutputStreamClass),
33352            "::",
33353            stringify!(_g_reserved5)
33354        )
33355    );
33356}
33357extern "C" {
33358    pub fn g_converter_output_stream_get_type() -> GType;
33359}
33360extern "C" {
33361    pub fn g_converter_output_stream_new(
33362        base_stream: *mut GOutputStream,
33363        converter: *mut GConverter,
33364    ) -> *mut GOutputStream;
33365}
33366extern "C" {
33367    pub fn g_converter_output_stream_get_converter(
33368        converter_stream: *mut GConverterOutputStream,
33369    ) -> *mut GConverter;
33370}
33371extern "C" {
33372    pub fn pipe(arg1: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
33373}
33374extern "C" {
33375    pub fn pipe2(
33376        arg1: *mut ::std::os::raw::c_int,
33377        arg2: ::std::os::raw::c_int,
33378    ) -> ::std::os::raw::c_int;
33379}
33380extern "C" {
33381    pub fn close(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
33382}
33383extern "C" {
33384    pub fn posix_close(
33385        arg1: ::std::os::raw::c_int,
33386        arg2: ::std::os::raw::c_int,
33387    ) -> ::std::os::raw::c_int;
33388}
33389extern "C" {
33390    pub fn dup(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
33391}
33392extern "C" {
33393    pub fn dup2(arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
33394}
33395extern "C" {
33396    pub fn dup3(
33397        arg1: ::std::os::raw::c_int,
33398        arg2: ::std::os::raw::c_int,
33399        arg3: ::std::os::raw::c_int,
33400    ) -> ::std::os::raw::c_int;
33401}
33402extern "C" {
33403    pub fn lseek(arg1: ::std::os::raw::c_int, arg2: off_t, arg3: ::std::os::raw::c_int) -> off_t;
33404}
33405extern "C" {
33406    pub fn fsync(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
33407}
33408extern "C" {
33409    pub fn fdatasync(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
33410}
33411extern "C" {
33412    pub fn read(
33413        arg1: ::std::os::raw::c_int,
33414        arg2: *mut ::std::os::raw::c_void,
33415        arg3: size_t,
33416    ) -> ssize_t;
33417}
33418extern "C" {
33419    pub fn write(
33420        arg1: ::std::os::raw::c_int,
33421        arg2: *const ::std::os::raw::c_void,
33422        arg3: size_t,
33423    ) -> ssize_t;
33424}
33425extern "C" {
33426    pub fn pread(
33427        arg1: ::std::os::raw::c_int,
33428        arg2: *mut ::std::os::raw::c_void,
33429        arg3: size_t,
33430        arg4: off_t,
33431    ) -> ssize_t;
33432}
33433extern "C" {
33434    pub fn pwrite(
33435        arg1: ::std::os::raw::c_int,
33436        arg2: *const ::std::os::raw::c_void,
33437        arg3: size_t,
33438        arg4: off_t,
33439    ) -> ssize_t;
33440}
33441extern "C" {
33442    pub fn chown(
33443        arg1: *const ::std::os::raw::c_char,
33444        arg2: uid_t,
33445        arg3: gid_t,
33446    ) -> ::std::os::raw::c_int;
33447}
33448extern "C" {
33449    pub fn fchown(arg1: ::std::os::raw::c_int, arg2: uid_t, arg3: gid_t) -> ::std::os::raw::c_int;
33450}
33451extern "C" {
33452    pub fn lchown(
33453        arg1: *const ::std::os::raw::c_char,
33454        arg2: uid_t,
33455        arg3: gid_t,
33456    ) -> ::std::os::raw::c_int;
33457}
33458extern "C" {
33459    pub fn fchownat(
33460        arg1: ::std::os::raw::c_int,
33461        arg2: *const ::std::os::raw::c_char,
33462        arg3: uid_t,
33463        arg4: gid_t,
33464        arg5: ::std::os::raw::c_int,
33465    ) -> ::std::os::raw::c_int;
33466}
33467extern "C" {
33468    pub fn link(
33469        arg1: *const ::std::os::raw::c_char,
33470        arg2: *const ::std::os::raw::c_char,
33471    ) -> ::std::os::raw::c_int;
33472}
33473extern "C" {
33474    pub fn linkat(
33475        arg1: ::std::os::raw::c_int,
33476        arg2: *const ::std::os::raw::c_char,
33477        arg3: ::std::os::raw::c_int,
33478        arg4: *const ::std::os::raw::c_char,
33479        arg5: ::std::os::raw::c_int,
33480    ) -> ::std::os::raw::c_int;
33481}
33482extern "C" {
33483    pub fn symlink(
33484        arg1: *const ::std::os::raw::c_char,
33485        arg2: *const ::std::os::raw::c_char,
33486    ) -> ::std::os::raw::c_int;
33487}
33488extern "C" {
33489    pub fn symlinkat(
33490        arg1: *const ::std::os::raw::c_char,
33491        arg2: ::std::os::raw::c_int,
33492        arg3: *const ::std::os::raw::c_char,
33493    ) -> ::std::os::raw::c_int;
33494}
33495extern "C" {
33496    pub fn readlink(
33497        arg1: *const ::std::os::raw::c_char,
33498        arg2: *mut ::std::os::raw::c_char,
33499        arg3: size_t,
33500    ) -> ssize_t;
33501}
33502extern "C" {
33503    pub fn readlinkat(
33504        arg1: ::std::os::raw::c_int,
33505        arg2: *const ::std::os::raw::c_char,
33506        arg3: *mut ::std::os::raw::c_char,
33507        arg4: size_t,
33508    ) -> ssize_t;
33509}
33510extern "C" {
33511    pub fn unlink(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
33512}
33513extern "C" {
33514    pub fn unlinkat(
33515        arg1: ::std::os::raw::c_int,
33516        arg2: *const ::std::os::raw::c_char,
33517        arg3: ::std::os::raw::c_int,
33518    ) -> ::std::os::raw::c_int;
33519}
33520extern "C" {
33521    pub fn rmdir(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
33522}
33523extern "C" {
33524    pub fn truncate(arg1: *const ::std::os::raw::c_char, arg2: off_t) -> ::std::os::raw::c_int;
33525}
33526extern "C" {
33527    pub fn ftruncate(arg1: ::std::os::raw::c_int, arg2: off_t) -> ::std::os::raw::c_int;
33528}
33529extern "C" {
33530    pub fn access(
33531        arg1: *const ::std::os::raw::c_char,
33532        arg2: ::std::os::raw::c_int,
33533    ) -> ::std::os::raw::c_int;
33534}
33535extern "C" {
33536    pub fn faccessat(
33537        arg1: ::std::os::raw::c_int,
33538        arg2: *const ::std::os::raw::c_char,
33539        arg3: ::std::os::raw::c_int,
33540        arg4: ::std::os::raw::c_int,
33541    ) -> ::std::os::raw::c_int;
33542}
33543extern "C" {
33544    pub fn chdir(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
33545}
33546extern "C" {
33547    pub fn fchdir(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
33548}
33549extern "C" {
33550    pub fn getcwd(arg1: *mut ::std::os::raw::c_char, arg2: size_t) -> *mut ::std::os::raw::c_char;
33551}
33552extern "C" {
33553    pub fn alarm(arg1: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint;
33554}
33555extern "C" {
33556    pub fn sleep(arg1: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint;
33557}
33558extern "C" {
33559    pub fn pause() -> ::std::os::raw::c_int;
33560}
33561extern "C" {
33562    pub fn fork() -> pid_t;
33563}
33564extern "C" {
33565    pub fn _Fork() -> pid_t;
33566}
33567extern "C" {
33568    pub fn execve(
33569        arg1: *const ::std::os::raw::c_char,
33570        arg2: *const *mut ::std::os::raw::c_char,
33571        arg3: *const *mut ::std::os::raw::c_char,
33572    ) -> ::std::os::raw::c_int;
33573}
33574extern "C" {
33575    pub fn execv(
33576        arg1: *const ::std::os::raw::c_char,
33577        arg2: *const *mut ::std::os::raw::c_char,
33578    ) -> ::std::os::raw::c_int;
33579}
33580extern "C" {
33581    pub fn execle(
33582        arg1: *const ::std::os::raw::c_char,
33583        arg2: *const ::std::os::raw::c_char,
33584        ...
33585    ) -> ::std::os::raw::c_int;
33586}
33587extern "C" {
33588    pub fn execl(
33589        arg1: *const ::std::os::raw::c_char,
33590        arg2: *const ::std::os::raw::c_char,
33591        ...
33592    ) -> ::std::os::raw::c_int;
33593}
33594extern "C" {
33595    pub fn execvp(
33596        arg1: *const ::std::os::raw::c_char,
33597        arg2: *const *mut ::std::os::raw::c_char,
33598    ) -> ::std::os::raw::c_int;
33599}
33600extern "C" {
33601    pub fn execlp(
33602        arg1: *const ::std::os::raw::c_char,
33603        arg2: *const ::std::os::raw::c_char,
33604        ...
33605    ) -> ::std::os::raw::c_int;
33606}
33607extern "C" {
33608    pub fn fexecve(
33609        arg1: ::std::os::raw::c_int,
33610        arg2: *const *mut ::std::os::raw::c_char,
33611        arg3: *const *mut ::std::os::raw::c_char,
33612    ) -> ::std::os::raw::c_int;
33613}
33614extern "C" {
33615    pub fn _exit(arg1: ::std::os::raw::c_int) -> !;
33616}
33617extern "C" {
33618    pub fn getpid() -> pid_t;
33619}
33620extern "C" {
33621    pub fn getppid() -> pid_t;
33622}
33623extern "C" {
33624    pub fn getpgrp() -> pid_t;
33625}
33626extern "C" {
33627    pub fn getpgid(arg1: pid_t) -> pid_t;
33628}
33629extern "C" {
33630    pub fn setpgid(arg1: pid_t, arg2: pid_t) -> ::std::os::raw::c_int;
33631}
33632extern "C" {
33633    pub fn setsid() -> pid_t;
33634}
33635extern "C" {
33636    pub fn getsid(arg1: pid_t) -> pid_t;
33637}
33638extern "C" {
33639    pub fn ttyname(arg1: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
33640}
33641extern "C" {
33642    pub fn ttyname_r(
33643        arg1: ::std::os::raw::c_int,
33644        arg2: *mut ::std::os::raw::c_char,
33645        arg3: size_t,
33646    ) -> ::std::os::raw::c_int;
33647}
33648extern "C" {
33649    pub fn isatty(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
33650}
33651extern "C" {
33652    pub fn tcgetpgrp(arg1: ::std::os::raw::c_int) -> pid_t;
33653}
33654extern "C" {
33655    pub fn tcsetpgrp(arg1: ::std::os::raw::c_int, arg2: pid_t) -> ::std::os::raw::c_int;
33656}
33657extern "C" {
33658    pub fn getuid() -> uid_t;
33659}
33660extern "C" {
33661    pub fn geteuid() -> uid_t;
33662}
33663extern "C" {
33664    pub fn getgid() -> gid_t;
33665}
33666extern "C" {
33667    pub fn getegid() -> gid_t;
33668}
33669extern "C" {
33670    pub fn getgroups(arg1: ::std::os::raw::c_int, arg2: *mut gid_t) -> ::std::os::raw::c_int;
33671}
33672extern "C" {
33673    pub fn setuid(arg1: uid_t) -> ::std::os::raw::c_int;
33674}
33675extern "C" {
33676    pub fn seteuid(arg1: uid_t) -> ::std::os::raw::c_int;
33677}
33678extern "C" {
33679    pub fn setgid(arg1: gid_t) -> ::std::os::raw::c_int;
33680}
33681extern "C" {
33682    pub fn setegid(arg1: gid_t) -> ::std::os::raw::c_int;
33683}
33684extern "C" {
33685    pub fn getlogin() -> *mut ::std::os::raw::c_char;
33686}
33687extern "C" {
33688    pub fn getlogin_r(arg1: *mut ::std::os::raw::c_char, arg2: size_t) -> ::std::os::raw::c_int;
33689}
33690extern "C" {
33691    pub fn gethostname(arg1: *mut ::std::os::raw::c_char, arg2: size_t) -> ::std::os::raw::c_int;
33692}
33693extern "C" {
33694    pub fn getopt(
33695        arg1: ::std::os::raw::c_int,
33696        arg2: *const *mut ::std::os::raw::c_char,
33697        arg3: *const ::std::os::raw::c_char,
33698    ) -> ::std::os::raw::c_int;
33699}
33700extern "C" {
33701    pub static mut optarg: *mut ::std::os::raw::c_char;
33702}
33703extern "C" {
33704    pub static mut optind: ::std::os::raw::c_int;
33705}
33706extern "C" {
33707    pub static mut opterr: ::std::os::raw::c_int;
33708}
33709extern "C" {
33710    pub static mut optopt: ::std::os::raw::c_int;
33711}
33712extern "C" {
33713    pub fn pathconf(
33714        arg1: *const ::std::os::raw::c_char,
33715        arg2: ::std::os::raw::c_int,
33716    ) -> ::std::os::raw::c_long;
33717}
33718extern "C" {
33719    pub fn fpathconf(
33720        arg1: ::std::os::raw::c_int,
33721        arg2: ::std::os::raw::c_int,
33722    ) -> ::std::os::raw::c_long;
33723}
33724extern "C" {
33725    pub fn sysconf(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_long;
33726}
33727extern "C" {
33728    pub fn confstr(
33729        arg1: ::std::os::raw::c_int,
33730        arg2: *mut ::std::os::raw::c_char,
33731        arg3: size_t,
33732    ) -> size_t;
33733}
33734extern "C" {
33735    pub fn setreuid(arg1: uid_t, arg2: uid_t) -> ::std::os::raw::c_int;
33736}
33737extern "C" {
33738    pub fn setregid(arg1: gid_t, arg2: gid_t) -> ::std::os::raw::c_int;
33739}
33740extern "C" {
33741    pub fn lockf(
33742        arg1: ::std::os::raw::c_int,
33743        arg2: ::std::os::raw::c_int,
33744        arg3: off_t,
33745    ) -> ::std::os::raw::c_int;
33746}
33747extern "C" {
33748    pub fn gethostid() -> ::std::os::raw::c_long;
33749}
33750extern "C" {
33751    pub fn nice(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
33752}
33753extern "C" {
33754    pub fn sync();
33755}
33756extern "C" {
33757    pub fn setpgrp() -> pid_t;
33758}
33759extern "C" {
33760    pub fn crypt(
33761        arg1: *const ::std::os::raw::c_char,
33762        arg2: *const ::std::os::raw::c_char,
33763    ) -> *mut ::std::os::raw::c_char;
33764}
33765extern "C" {
33766    pub fn encrypt(arg1: *mut ::std::os::raw::c_char, arg2: ::std::os::raw::c_int);
33767}
33768extern "C" {
33769    pub fn swab(
33770        arg1: *const ::std::os::raw::c_void,
33771        arg2: *mut ::std::os::raw::c_void,
33772        arg3: ssize_t,
33773    );
33774}
33775extern "C" {
33776    pub fn usleep(arg1: ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
33777}
33778extern "C" {
33779    pub fn ualarm(
33780        arg1: ::std::os::raw::c_uint,
33781        arg2: ::std::os::raw::c_uint,
33782    ) -> ::std::os::raw::c_uint;
33783}
33784extern "C" {
33785    pub fn brk(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
33786}
33787extern "C" {
33788    pub fn sbrk(arg1: isize) -> *mut ::std::os::raw::c_void;
33789}
33790extern "C" {
33791    pub fn vfork() -> ::std::os::raw::c_int;
33792}
33793extern "C" {
33794    pub fn vhangup() -> ::std::os::raw::c_int;
33795}
33796extern "C" {
33797    pub fn chroot(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
33798}
33799extern "C" {
33800    pub fn getpagesize() -> ::std::os::raw::c_int;
33801}
33802extern "C" {
33803    pub fn getdtablesize() -> ::std::os::raw::c_int;
33804}
33805extern "C" {
33806    pub fn sethostname(arg1: *const ::std::os::raw::c_char, arg2: size_t) -> ::std::os::raw::c_int;
33807}
33808extern "C" {
33809    pub fn getdomainname(arg1: *mut ::std::os::raw::c_char, arg2: size_t) -> ::std::os::raw::c_int;
33810}
33811extern "C" {
33812    pub fn setdomainname(
33813        arg1: *const ::std::os::raw::c_char,
33814        arg2: size_t,
33815    ) -> ::std::os::raw::c_int;
33816}
33817extern "C" {
33818    pub fn setgroups(arg1: size_t, arg2: *const gid_t) -> ::std::os::raw::c_int;
33819}
33820extern "C" {
33821    pub fn getpass(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
33822}
33823extern "C" {
33824    pub fn daemon(
33825        arg1: ::std::os::raw::c_int,
33826        arg2: ::std::os::raw::c_int,
33827    ) -> ::std::os::raw::c_int;
33828}
33829extern "C" {
33830    pub fn setusershell();
33831}
33832extern "C" {
33833    pub fn endusershell();
33834}
33835extern "C" {
33836    pub fn getusershell() -> *mut ::std::os::raw::c_char;
33837}
33838extern "C" {
33839    pub fn acct(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
33840}
33841extern "C" {
33842    pub fn syscall(arg1: ::std::os::raw::c_long, ...) -> ::std::os::raw::c_long;
33843}
33844extern "C" {
33845    pub fn execvpe(
33846        arg1: *const ::std::os::raw::c_char,
33847        arg2: *const *mut ::std::os::raw::c_char,
33848        arg3: *const *mut ::std::os::raw::c_char,
33849    ) -> ::std::os::raw::c_int;
33850}
33851extern "C" {
33852    pub fn issetugid() -> ::std::os::raw::c_int;
33853}
33854extern "C" {
33855    pub fn getentropy(arg1: *mut ::std::os::raw::c_void, arg2: size_t) -> ::std::os::raw::c_int;
33856}
33857extern "C" {
33858    pub static mut optreset: ::std::os::raw::c_int;
33859}
33860#[repr(C)]
33861#[derive(Debug, Copy, Clone)]
33862pub struct _GCredentialsClass {
33863    _unused: [u8; 0],
33864}
33865pub type GCredentialsClass = _GCredentialsClass;
33866extern "C" {
33867    pub fn g_credentials_get_type() -> GType;
33868}
33869extern "C" {
33870    pub fn g_credentials_new() -> *mut GCredentials;
33871}
33872extern "C" {
33873    pub fn g_credentials_to_string(credentials: *mut GCredentials) -> *mut gchar;
33874}
33875extern "C" {
33876    pub fn g_credentials_get_native(
33877        credentials: *mut GCredentials,
33878        native_type: GCredentialsType,
33879    ) -> gpointer;
33880}
33881extern "C" {
33882    pub fn g_credentials_set_native(
33883        credentials: *mut GCredentials,
33884        native_type: GCredentialsType,
33885        native: gpointer,
33886    );
33887}
33888extern "C" {
33889    pub fn g_credentials_is_same_user(
33890        credentials: *mut GCredentials,
33891        other_credentials: *mut GCredentials,
33892        error: *mut *mut GError,
33893    ) -> gboolean;
33894}
33895extern "C" {
33896    pub fn g_credentials_get_unix_pid(
33897        credentials: *mut GCredentials,
33898        error: *mut *mut GError,
33899    ) -> pid_t;
33900}
33901extern "C" {
33902    pub fn g_credentials_get_unix_user(
33903        credentials: *mut GCredentials,
33904        error: *mut *mut GError,
33905    ) -> uid_t;
33906}
33907extern "C" {
33908    pub fn g_credentials_set_unix_user(
33909        credentials: *mut GCredentials,
33910        uid: uid_t,
33911        error: *mut *mut GError,
33912    ) -> gboolean;
33913}
33914pub type GDatagramBasedInterface = _GDatagramBasedInterface;
33915#[repr(C)]
33916#[derive(Debug, Copy, Clone, PartialEq, Eq)]
33917pub struct _GDatagramBasedInterface {
33918    pub g_iface: GTypeInterface,
33919    pub receive_messages: ::std::option::Option<
33920        unsafe extern "C" fn(
33921            datagram_based: *mut GDatagramBased,
33922            messages: *mut GInputMessage,
33923            num_messages: guint,
33924            flags: gint,
33925            timeout: gint64,
33926            cancellable: *mut GCancellable,
33927            error: *mut *mut GError,
33928        ) -> gint,
33929    >,
33930    pub send_messages: ::std::option::Option<
33931        unsafe extern "C" fn(
33932            datagram_based: *mut GDatagramBased,
33933            messages: *mut GOutputMessage,
33934            num_messages: guint,
33935            flags: gint,
33936            timeout: gint64,
33937            cancellable: *mut GCancellable,
33938            error: *mut *mut GError,
33939        ) -> gint,
33940    >,
33941    pub create_source: ::std::option::Option<
33942        unsafe extern "C" fn(
33943            datagram_based: *mut GDatagramBased,
33944            condition: GIOCondition,
33945            cancellable: *mut GCancellable,
33946        ) -> *mut GSource,
33947    >,
33948    pub condition_check: ::std::option::Option<
33949        unsafe extern "C" fn(
33950            datagram_based: *mut GDatagramBased,
33951            condition: GIOCondition,
33952        ) -> GIOCondition,
33953    >,
33954    pub condition_wait: ::std::option::Option<
33955        unsafe extern "C" fn(
33956            datagram_based: *mut GDatagramBased,
33957            condition: GIOCondition,
33958            timeout: gint64,
33959            cancellable: *mut GCancellable,
33960            error: *mut *mut GError,
33961        ) -> gboolean,
33962    >,
33963}
33964#[test]
33965fn bindgen_test_layout__GDatagramBasedInterface() {
33966    const UNINIT: ::std::mem::MaybeUninit<_GDatagramBasedInterface> =
33967        ::std::mem::MaybeUninit::uninit();
33968    let ptr = UNINIT.as_ptr();
33969    assert_eq!(
33970        ::std::mem::size_of::<_GDatagramBasedInterface>(),
33971        56usize,
33972        concat!("Size of: ", stringify!(_GDatagramBasedInterface))
33973    );
33974    assert_eq!(
33975        ::std::mem::align_of::<_GDatagramBasedInterface>(),
33976        8usize,
33977        concat!("Alignment of ", stringify!(_GDatagramBasedInterface))
33978    );
33979    assert_eq!(
33980        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
33981        0usize,
33982        concat!(
33983            "Offset of field: ",
33984            stringify!(_GDatagramBasedInterface),
33985            "::",
33986            stringify!(g_iface)
33987        )
33988    );
33989    assert_eq!(
33990        unsafe { ::std::ptr::addr_of!((*ptr).receive_messages) as usize - ptr as usize },
33991        16usize,
33992        concat!(
33993            "Offset of field: ",
33994            stringify!(_GDatagramBasedInterface),
33995            "::",
33996            stringify!(receive_messages)
33997        )
33998    );
33999    assert_eq!(
34000        unsafe { ::std::ptr::addr_of!((*ptr).send_messages) as usize - ptr as usize },
34001        24usize,
34002        concat!(
34003            "Offset of field: ",
34004            stringify!(_GDatagramBasedInterface),
34005            "::",
34006            stringify!(send_messages)
34007        )
34008    );
34009    assert_eq!(
34010        unsafe { ::std::ptr::addr_of!((*ptr).create_source) as usize - ptr as usize },
34011        32usize,
34012        concat!(
34013            "Offset of field: ",
34014            stringify!(_GDatagramBasedInterface),
34015            "::",
34016            stringify!(create_source)
34017        )
34018    );
34019    assert_eq!(
34020        unsafe { ::std::ptr::addr_of!((*ptr).condition_check) as usize - ptr as usize },
34021        40usize,
34022        concat!(
34023            "Offset of field: ",
34024            stringify!(_GDatagramBasedInterface),
34025            "::",
34026            stringify!(condition_check)
34027        )
34028    );
34029    assert_eq!(
34030        unsafe { ::std::ptr::addr_of!((*ptr).condition_wait) as usize - ptr as usize },
34031        48usize,
34032        concat!(
34033            "Offset of field: ",
34034            stringify!(_GDatagramBasedInterface),
34035            "::",
34036            stringify!(condition_wait)
34037        )
34038    );
34039}
34040extern "C" {
34041    pub fn g_datagram_based_get_type() -> GType;
34042}
34043extern "C" {
34044    pub fn g_datagram_based_receive_messages(
34045        datagram_based: *mut GDatagramBased,
34046        messages: *mut GInputMessage,
34047        num_messages: guint,
34048        flags: gint,
34049        timeout: gint64,
34050        cancellable: *mut GCancellable,
34051        error: *mut *mut GError,
34052    ) -> gint;
34053}
34054extern "C" {
34055    pub fn g_datagram_based_send_messages(
34056        datagram_based: *mut GDatagramBased,
34057        messages: *mut GOutputMessage,
34058        num_messages: guint,
34059        flags: gint,
34060        timeout: gint64,
34061        cancellable: *mut GCancellable,
34062        error: *mut *mut GError,
34063    ) -> gint;
34064}
34065extern "C" {
34066    pub fn g_datagram_based_create_source(
34067        datagram_based: *mut GDatagramBased,
34068        condition: GIOCondition,
34069        cancellable: *mut GCancellable,
34070    ) -> *mut GSource;
34071}
34072extern "C" {
34073    pub fn g_datagram_based_condition_check(
34074        datagram_based: *mut GDatagramBased,
34075        condition: GIOCondition,
34076    ) -> GIOCondition;
34077}
34078extern "C" {
34079    pub fn g_datagram_based_condition_wait(
34080        datagram_based: *mut GDatagramBased,
34081        condition: GIOCondition,
34082        timeout: gint64,
34083        cancellable: *mut GCancellable,
34084        error: *mut *mut GError,
34085    ) -> gboolean;
34086}
34087pub type GDataInputStreamClass = _GDataInputStreamClass;
34088#[repr(C)]
34089#[derive(Debug, Copy, Clone)]
34090pub struct _GDataInputStreamPrivate {
34091    _unused: [u8; 0],
34092}
34093pub type GDataInputStreamPrivate = _GDataInputStreamPrivate;
34094#[repr(C)]
34095#[derive(Debug, Copy, Clone, PartialEq, Eq)]
34096pub struct _GDataInputStream {
34097    pub parent_instance: GBufferedInputStream,
34098    pub priv_: *mut GDataInputStreamPrivate,
34099}
34100#[test]
34101fn bindgen_test_layout__GDataInputStream() {
34102    const UNINIT: ::std::mem::MaybeUninit<_GDataInputStream> = ::std::mem::MaybeUninit::uninit();
34103    let ptr = UNINIT.as_ptr();
34104    assert_eq!(
34105        ::std::mem::size_of::<_GDataInputStream>(),
34106        56usize,
34107        concat!("Size of: ", stringify!(_GDataInputStream))
34108    );
34109    assert_eq!(
34110        ::std::mem::align_of::<_GDataInputStream>(),
34111        8usize,
34112        concat!("Alignment of ", stringify!(_GDataInputStream))
34113    );
34114    assert_eq!(
34115        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
34116        0usize,
34117        concat!(
34118            "Offset of field: ",
34119            stringify!(_GDataInputStream),
34120            "::",
34121            stringify!(parent_instance)
34122        )
34123    );
34124    assert_eq!(
34125        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
34126        48usize,
34127        concat!(
34128            "Offset of field: ",
34129            stringify!(_GDataInputStream),
34130            "::",
34131            stringify!(priv_)
34132        )
34133    );
34134}
34135#[repr(C)]
34136#[derive(Debug, Copy, Clone, PartialEq, Eq)]
34137pub struct _GDataInputStreamClass {
34138    pub parent_class: GBufferedInputStreamClass,
34139    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
34140    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
34141    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
34142    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
34143    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
34144}
34145#[test]
34146fn bindgen_test_layout__GDataInputStreamClass() {
34147    const UNINIT: ::std::mem::MaybeUninit<_GDataInputStreamClass> =
34148        ::std::mem::MaybeUninit::uninit();
34149    let ptr = UNINIT.as_ptr();
34150    assert_eq!(
34151        ::std::mem::size_of::<_GDataInputStreamClass>(),
34152        376usize,
34153        concat!("Size of: ", stringify!(_GDataInputStreamClass))
34154    );
34155    assert_eq!(
34156        ::std::mem::align_of::<_GDataInputStreamClass>(),
34157        8usize,
34158        concat!("Alignment of ", stringify!(_GDataInputStreamClass))
34159    );
34160    assert_eq!(
34161        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
34162        0usize,
34163        concat!(
34164            "Offset of field: ",
34165            stringify!(_GDataInputStreamClass),
34166            "::",
34167            stringify!(parent_class)
34168        )
34169    );
34170    assert_eq!(
34171        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
34172        336usize,
34173        concat!(
34174            "Offset of field: ",
34175            stringify!(_GDataInputStreamClass),
34176            "::",
34177            stringify!(_g_reserved1)
34178        )
34179    );
34180    assert_eq!(
34181        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
34182        344usize,
34183        concat!(
34184            "Offset of field: ",
34185            stringify!(_GDataInputStreamClass),
34186            "::",
34187            stringify!(_g_reserved2)
34188        )
34189    );
34190    assert_eq!(
34191        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
34192        352usize,
34193        concat!(
34194            "Offset of field: ",
34195            stringify!(_GDataInputStreamClass),
34196            "::",
34197            stringify!(_g_reserved3)
34198        )
34199    );
34200    assert_eq!(
34201        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
34202        360usize,
34203        concat!(
34204            "Offset of field: ",
34205            stringify!(_GDataInputStreamClass),
34206            "::",
34207            stringify!(_g_reserved4)
34208        )
34209    );
34210    assert_eq!(
34211        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
34212        368usize,
34213        concat!(
34214            "Offset of field: ",
34215            stringify!(_GDataInputStreamClass),
34216            "::",
34217            stringify!(_g_reserved5)
34218        )
34219    );
34220}
34221extern "C" {
34222    pub fn g_data_input_stream_get_type() -> GType;
34223}
34224extern "C" {
34225    pub fn g_data_input_stream_new(base_stream: *mut GInputStream) -> *mut GDataInputStream;
34226}
34227extern "C" {
34228    pub fn g_data_input_stream_set_byte_order(
34229        stream: *mut GDataInputStream,
34230        order: GDataStreamByteOrder,
34231    );
34232}
34233extern "C" {
34234    pub fn g_data_input_stream_get_byte_order(
34235        stream: *mut GDataInputStream,
34236    ) -> GDataStreamByteOrder;
34237}
34238extern "C" {
34239    pub fn g_data_input_stream_set_newline_type(
34240        stream: *mut GDataInputStream,
34241        type_: GDataStreamNewlineType,
34242    );
34243}
34244extern "C" {
34245    pub fn g_data_input_stream_get_newline_type(
34246        stream: *mut GDataInputStream,
34247    ) -> GDataStreamNewlineType;
34248}
34249extern "C" {
34250    pub fn g_data_input_stream_read_byte(
34251        stream: *mut GDataInputStream,
34252        cancellable: *mut GCancellable,
34253        error: *mut *mut GError,
34254    ) -> guchar;
34255}
34256extern "C" {
34257    pub fn g_data_input_stream_read_int16(
34258        stream: *mut GDataInputStream,
34259        cancellable: *mut GCancellable,
34260        error: *mut *mut GError,
34261    ) -> gint16;
34262}
34263extern "C" {
34264    pub fn g_data_input_stream_read_uint16(
34265        stream: *mut GDataInputStream,
34266        cancellable: *mut GCancellable,
34267        error: *mut *mut GError,
34268    ) -> guint16;
34269}
34270extern "C" {
34271    pub fn g_data_input_stream_read_int32(
34272        stream: *mut GDataInputStream,
34273        cancellable: *mut GCancellable,
34274        error: *mut *mut GError,
34275    ) -> gint32;
34276}
34277extern "C" {
34278    pub fn g_data_input_stream_read_uint32(
34279        stream: *mut GDataInputStream,
34280        cancellable: *mut GCancellable,
34281        error: *mut *mut GError,
34282    ) -> guint32;
34283}
34284extern "C" {
34285    pub fn g_data_input_stream_read_int64(
34286        stream: *mut GDataInputStream,
34287        cancellable: *mut GCancellable,
34288        error: *mut *mut GError,
34289    ) -> gint64;
34290}
34291extern "C" {
34292    pub fn g_data_input_stream_read_uint64(
34293        stream: *mut GDataInputStream,
34294        cancellable: *mut GCancellable,
34295        error: *mut *mut GError,
34296    ) -> guint64;
34297}
34298extern "C" {
34299    pub fn g_data_input_stream_read_line(
34300        stream: *mut GDataInputStream,
34301        length: *mut gsize,
34302        cancellable: *mut GCancellable,
34303        error: *mut *mut GError,
34304    ) -> *mut ::std::os::raw::c_char;
34305}
34306extern "C" {
34307    pub fn g_data_input_stream_read_line_utf8(
34308        stream: *mut GDataInputStream,
34309        length: *mut gsize,
34310        cancellable: *mut GCancellable,
34311        error: *mut *mut GError,
34312    ) -> *mut ::std::os::raw::c_char;
34313}
34314extern "C" {
34315    pub fn g_data_input_stream_read_line_async(
34316        stream: *mut GDataInputStream,
34317        io_priority: gint,
34318        cancellable: *mut GCancellable,
34319        callback: GAsyncReadyCallback,
34320        user_data: gpointer,
34321    );
34322}
34323extern "C" {
34324    pub fn g_data_input_stream_read_line_finish(
34325        stream: *mut GDataInputStream,
34326        result: *mut GAsyncResult,
34327        length: *mut gsize,
34328        error: *mut *mut GError,
34329    ) -> *mut ::std::os::raw::c_char;
34330}
34331extern "C" {
34332    pub fn g_data_input_stream_read_line_finish_utf8(
34333        stream: *mut GDataInputStream,
34334        result: *mut GAsyncResult,
34335        length: *mut gsize,
34336        error: *mut *mut GError,
34337    ) -> *mut ::std::os::raw::c_char;
34338}
34339extern "C" {
34340    pub fn g_data_input_stream_read_until(
34341        stream: *mut GDataInputStream,
34342        stop_chars: *const gchar,
34343        length: *mut gsize,
34344        cancellable: *mut GCancellable,
34345        error: *mut *mut GError,
34346    ) -> *mut ::std::os::raw::c_char;
34347}
34348extern "C" {
34349    pub fn g_data_input_stream_read_until_async(
34350        stream: *mut GDataInputStream,
34351        stop_chars: *const gchar,
34352        io_priority: gint,
34353        cancellable: *mut GCancellable,
34354        callback: GAsyncReadyCallback,
34355        user_data: gpointer,
34356    );
34357}
34358extern "C" {
34359    pub fn g_data_input_stream_read_until_finish(
34360        stream: *mut GDataInputStream,
34361        result: *mut GAsyncResult,
34362        length: *mut gsize,
34363        error: *mut *mut GError,
34364    ) -> *mut ::std::os::raw::c_char;
34365}
34366extern "C" {
34367    pub fn g_data_input_stream_read_upto(
34368        stream: *mut GDataInputStream,
34369        stop_chars: *const gchar,
34370        stop_chars_len: gssize,
34371        length: *mut gsize,
34372        cancellable: *mut GCancellable,
34373        error: *mut *mut GError,
34374    ) -> *mut ::std::os::raw::c_char;
34375}
34376extern "C" {
34377    pub fn g_data_input_stream_read_upto_async(
34378        stream: *mut GDataInputStream,
34379        stop_chars: *const gchar,
34380        stop_chars_len: gssize,
34381        io_priority: gint,
34382        cancellable: *mut GCancellable,
34383        callback: GAsyncReadyCallback,
34384        user_data: gpointer,
34385    );
34386}
34387extern "C" {
34388    pub fn g_data_input_stream_read_upto_finish(
34389        stream: *mut GDataInputStream,
34390        result: *mut GAsyncResult,
34391        length: *mut gsize,
34392        error: *mut *mut GError,
34393    ) -> *mut ::std::os::raw::c_char;
34394}
34395pub type GDataOutputStream = _GDataOutputStream;
34396pub type GDataOutputStreamClass = _GDataOutputStreamClass;
34397#[repr(C)]
34398#[derive(Debug, Copy, Clone)]
34399pub struct _GDataOutputStreamPrivate {
34400    _unused: [u8; 0],
34401}
34402pub type GDataOutputStreamPrivate = _GDataOutputStreamPrivate;
34403#[repr(C)]
34404#[derive(Debug, Copy, Clone, PartialEq, Eq)]
34405pub struct _GDataOutputStream {
34406    pub parent_instance: GFilterOutputStream,
34407    pub priv_: *mut GDataOutputStreamPrivate,
34408}
34409#[test]
34410fn bindgen_test_layout__GDataOutputStream() {
34411    const UNINIT: ::std::mem::MaybeUninit<_GDataOutputStream> = ::std::mem::MaybeUninit::uninit();
34412    let ptr = UNINIT.as_ptr();
34413    assert_eq!(
34414        ::std::mem::size_of::<_GDataOutputStream>(),
34415        48usize,
34416        concat!("Size of: ", stringify!(_GDataOutputStream))
34417    );
34418    assert_eq!(
34419        ::std::mem::align_of::<_GDataOutputStream>(),
34420        8usize,
34421        concat!("Alignment of ", stringify!(_GDataOutputStream))
34422    );
34423    assert_eq!(
34424        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
34425        0usize,
34426        concat!(
34427            "Offset of field: ",
34428            stringify!(_GDataOutputStream),
34429            "::",
34430            stringify!(parent_instance)
34431        )
34432    );
34433    assert_eq!(
34434        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
34435        40usize,
34436        concat!(
34437            "Offset of field: ",
34438            stringify!(_GDataOutputStream),
34439            "::",
34440            stringify!(priv_)
34441        )
34442    );
34443}
34444#[repr(C)]
34445#[derive(Debug, Copy, Clone, PartialEq, Eq)]
34446pub struct _GDataOutputStreamClass {
34447    pub parent_class: GFilterOutputStreamClass,
34448    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
34449    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
34450    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
34451    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
34452    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
34453}
34454#[test]
34455fn bindgen_test_layout__GDataOutputStreamClass() {
34456    const UNINIT: ::std::mem::MaybeUninit<_GDataOutputStreamClass> =
34457        ::std::mem::MaybeUninit::uninit();
34458    let ptr = UNINIT.as_ptr();
34459    assert_eq!(
34460        ::std::mem::size_of::<_GDataOutputStreamClass>(),
34461        360usize,
34462        concat!("Size of: ", stringify!(_GDataOutputStreamClass))
34463    );
34464    assert_eq!(
34465        ::std::mem::align_of::<_GDataOutputStreamClass>(),
34466        8usize,
34467        concat!("Alignment of ", stringify!(_GDataOutputStreamClass))
34468    );
34469    assert_eq!(
34470        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
34471        0usize,
34472        concat!(
34473            "Offset of field: ",
34474            stringify!(_GDataOutputStreamClass),
34475            "::",
34476            stringify!(parent_class)
34477        )
34478    );
34479    assert_eq!(
34480        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
34481        320usize,
34482        concat!(
34483            "Offset of field: ",
34484            stringify!(_GDataOutputStreamClass),
34485            "::",
34486            stringify!(_g_reserved1)
34487        )
34488    );
34489    assert_eq!(
34490        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
34491        328usize,
34492        concat!(
34493            "Offset of field: ",
34494            stringify!(_GDataOutputStreamClass),
34495            "::",
34496            stringify!(_g_reserved2)
34497        )
34498    );
34499    assert_eq!(
34500        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
34501        336usize,
34502        concat!(
34503            "Offset of field: ",
34504            stringify!(_GDataOutputStreamClass),
34505            "::",
34506            stringify!(_g_reserved3)
34507        )
34508    );
34509    assert_eq!(
34510        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
34511        344usize,
34512        concat!(
34513            "Offset of field: ",
34514            stringify!(_GDataOutputStreamClass),
34515            "::",
34516            stringify!(_g_reserved4)
34517        )
34518    );
34519    assert_eq!(
34520        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
34521        352usize,
34522        concat!(
34523            "Offset of field: ",
34524            stringify!(_GDataOutputStreamClass),
34525            "::",
34526            stringify!(_g_reserved5)
34527        )
34528    );
34529}
34530extern "C" {
34531    pub fn g_data_output_stream_get_type() -> GType;
34532}
34533extern "C" {
34534    pub fn g_data_output_stream_new(base_stream: *mut GOutputStream) -> *mut GDataOutputStream;
34535}
34536extern "C" {
34537    pub fn g_data_output_stream_set_byte_order(
34538        stream: *mut GDataOutputStream,
34539        order: GDataStreamByteOrder,
34540    );
34541}
34542extern "C" {
34543    pub fn g_data_output_stream_get_byte_order(
34544        stream: *mut GDataOutputStream,
34545    ) -> GDataStreamByteOrder;
34546}
34547extern "C" {
34548    pub fn g_data_output_stream_put_byte(
34549        stream: *mut GDataOutputStream,
34550        data: guchar,
34551        cancellable: *mut GCancellable,
34552        error: *mut *mut GError,
34553    ) -> gboolean;
34554}
34555extern "C" {
34556    pub fn g_data_output_stream_put_int16(
34557        stream: *mut GDataOutputStream,
34558        data: gint16,
34559        cancellable: *mut GCancellable,
34560        error: *mut *mut GError,
34561    ) -> gboolean;
34562}
34563extern "C" {
34564    pub fn g_data_output_stream_put_uint16(
34565        stream: *mut GDataOutputStream,
34566        data: guint16,
34567        cancellable: *mut GCancellable,
34568        error: *mut *mut GError,
34569    ) -> gboolean;
34570}
34571extern "C" {
34572    pub fn g_data_output_stream_put_int32(
34573        stream: *mut GDataOutputStream,
34574        data: gint32,
34575        cancellable: *mut GCancellable,
34576        error: *mut *mut GError,
34577    ) -> gboolean;
34578}
34579extern "C" {
34580    pub fn g_data_output_stream_put_uint32(
34581        stream: *mut GDataOutputStream,
34582        data: guint32,
34583        cancellable: *mut GCancellable,
34584        error: *mut *mut GError,
34585    ) -> gboolean;
34586}
34587extern "C" {
34588    pub fn g_data_output_stream_put_int64(
34589        stream: *mut GDataOutputStream,
34590        data: gint64,
34591        cancellable: *mut GCancellable,
34592        error: *mut *mut GError,
34593    ) -> gboolean;
34594}
34595extern "C" {
34596    pub fn g_data_output_stream_put_uint64(
34597        stream: *mut GDataOutputStream,
34598        data: guint64,
34599        cancellable: *mut GCancellable,
34600        error: *mut *mut GError,
34601    ) -> gboolean;
34602}
34603extern "C" {
34604    pub fn g_data_output_stream_put_string(
34605        stream: *mut GDataOutputStream,
34606        str_: *const ::std::os::raw::c_char,
34607        cancellable: *mut GCancellable,
34608        error: *mut *mut GError,
34609    ) -> gboolean;
34610}
34611extern "C" {
34612    pub fn g_dbus_action_group_get_type() -> GType;
34613}
34614extern "C" {
34615    pub fn g_dbus_action_group_get(
34616        connection: *mut GDBusConnection,
34617        bus_name: *const gchar,
34618        object_path: *const gchar,
34619    ) -> *mut GDBusActionGroup;
34620}
34621extern "C" {
34622    pub fn g_dbus_address_escape_value(string: *const gchar) -> *mut gchar;
34623}
34624extern "C" {
34625    pub fn g_dbus_is_address(string: *const gchar) -> gboolean;
34626}
34627extern "C" {
34628    pub fn g_dbus_is_supported_address(string: *const gchar, error: *mut *mut GError) -> gboolean;
34629}
34630extern "C" {
34631    pub fn g_dbus_address_get_stream(
34632        address: *const gchar,
34633        cancellable: *mut GCancellable,
34634        callback: GAsyncReadyCallback,
34635        user_data: gpointer,
34636    );
34637}
34638extern "C" {
34639    pub fn g_dbus_address_get_stream_finish(
34640        res: *mut GAsyncResult,
34641        out_guid: *mut *mut gchar,
34642        error: *mut *mut GError,
34643    ) -> *mut GIOStream;
34644}
34645extern "C" {
34646    pub fn g_dbus_address_get_stream_sync(
34647        address: *const gchar,
34648        out_guid: *mut *mut gchar,
34649        cancellable: *mut GCancellable,
34650        error: *mut *mut GError,
34651    ) -> *mut GIOStream;
34652}
34653extern "C" {
34654    pub fn g_dbus_address_get_for_bus_sync(
34655        bus_type: GBusType,
34656        cancellable: *mut GCancellable,
34657        error: *mut *mut GError,
34658    ) -> *mut gchar;
34659}
34660extern "C" {
34661    pub fn g_dbus_auth_observer_get_type() -> GType;
34662}
34663extern "C" {
34664    pub fn g_dbus_auth_observer_new() -> *mut GDBusAuthObserver;
34665}
34666extern "C" {
34667    pub fn g_dbus_auth_observer_authorize_authenticated_peer(
34668        observer: *mut GDBusAuthObserver,
34669        stream: *mut GIOStream,
34670        credentials: *mut GCredentials,
34671    ) -> gboolean;
34672}
34673extern "C" {
34674    pub fn g_dbus_auth_observer_allow_mechanism(
34675        observer: *mut GDBusAuthObserver,
34676        mechanism: *const gchar,
34677    ) -> gboolean;
34678}
34679extern "C" {
34680    pub fn g_dbus_connection_get_type() -> GType;
34681}
34682extern "C" {
34683    pub fn g_bus_get(
34684        bus_type: GBusType,
34685        cancellable: *mut GCancellable,
34686        callback: GAsyncReadyCallback,
34687        user_data: gpointer,
34688    );
34689}
34690extern "C" {
34691    pub fn g_bus_get_finish(
34692        res: *mut GAsyncResult,
34693        error: *mut *mut GError,
34694    ) -> *mut GDBusConnection;
34695}
34696extern "C" {
34697    pub fn g_bus_get_sync(
34698        bus_type: GBusType,
34699        cancellable: *mut GCancellable,
34700        error: *mut *mut GError,
34701    ) -> *mut GDBusConnection;
34702}
34703extern "C" {
34704    pub fn g_dbus_connection_new(
34705        stream: *mut GIOStream,
34706        guid: *const gchar,
34707        flags: GDBusConnectionFlags,
34708        observer: *mut GDBusAuthObserver,
34709        cancellable: *mut GCancellable,
34710        callback: GAsyncReadyCallback,
34711        user_data: gpointer,
34712    );
34713}
34714extern "C" {
34715    pub fn g_dbus_connection_new_finish(
34716        res: *mut GAsyncResult,
34717        error: *mut *mut GError,
34718    ) -> *mut GDBusConnection;
34719}
34720extern "C" {
34721    pub fn g_dbus_connection_new_sync(
34722        stream: *mut GIOStream,
34723        guid: *const gchar,
34724        flags: GDBusConnectionFlags,
34725        observer: *mut GDBusAuthObserver,
34726        cancellable: *mut GCancellable,
34727        error: *mut *mut GError,
34728    ) -> *mut GDBusConnection;
34729}
34730extern "C" {
34731    pub fn g_dbus_connection_new_for_address(
34732        address: *const gchar,
34733        flags: GDBusConnectionFlags,
34734        observer: *mut GDBusAuthObserver,
34735        cancellable: *mut GCancellable,
34736        callback: GAsyncReadyCallback,
34737        user_data: gpointer,
34738    );
34739}
34740extern "C" {
34741    pub fn g_dbus_connection_new_for_address_finish(
34742        res: *mut GAsyncResult,
34743        error: *mut *mut GError,
34744    ) -> *mut GDBusConnection;
34745}
34746extern "C" {
34747    pub fn g_dbus_connection_new_for_address_sync(
34748        address: *const gchar,
34749        flags: GDBusConnectionFlags,
34750        observer: *mut GDBusAuthObserver,
34751        cancellable: *mut GCancellable,
34752        error: *mut *mut GError,
34753    ) -> *mut GDBusConnection;
34754}
34755extern "C" {
34756    pub fn g_dbus_connection_start_message_processing(connection: *mut GDBusConnection);
34757}
34758extern "C" {
34759    pub fn g_dbus_connection_is_closed(connection: *mut GDBusConnection) -> gboolean;
34760}
34761extern "C" {
34762    pub fn g_dbus_connection_get_stream(connection: *mut GDBusConnection) -> *mut GIOStream;
34763}
34764extern "C" {
34765    pub fn g_dbus_connection_get_guid(connection: *mut GDBusConnection) -> *const gchar;
34766}
34767extern "C" {
34768    pub fn g_dbus_connection_get_unique_name(connection: *mut GDBusConnection) -> *const gchar;
34769}
34770extern "C" {
34771    pub fn g_dbus_connection_get_peer_credentials(
34772        connection: *mut GDBusConnection,
34773    ) -> *mut GCredentials;
34774}
34775extern "C" {
34776    pub fn g_dbus_connection_get_last_serial(connection: *mut GDBusConnection) -> guint32;
34777}
34778extern "C" {
34779    pub fn g_dbus_connection_get_exit_on_close(connection: *mut GDBusConnection) -> gboolean;
34780}
34781extern "C" {
34782    pub fn g_dbus_connection_set_exit_on_close(
34783        connection: *mut GDBusConnection,
34784        exit_on_close: gboolean,
34785    );
34786}
34787extern "C" {
34788    pub fn g_dbus_connection_get_capabilities(
34789        connection: *mut GDBusConnection,
34790    ) -> GDBusCapabilityFlags;
34791}
34792extern "C" {
34793    pub fn g_dbus_connection_get_flags(connection: *mut GDBusConnection) -> GDBusConnectionFlags;
34794}
34795extern "C" {
34796    pub fn g_dbus_connection_close(
34797        connection: *mut GDBusConnection,
34798        cancellable: *mut GCancellable,
34799        callback: GAsyncReadyCallback,
34800        user_data: gpointer,
34801    );
34802}
34803extern "C" {
34804    pub fn g_dbus_connection_close_finish(
34805        connection: *mut GDBusConnection,
34806        res: *mut GAsyncResult,
34807        error: *mut *mut GError,
34808    ) -> gboolean;
34809}
34810extern "C" {
34811    pub fn g_dbus_connection_close_sync(
34812        connection: *mut GDBusConnection,
34813        cancellable: *mut GCancellable,
34814        error: *mut *mut GError,
34815    ) -> gboolean;
34816}
34817extern "C" {
34818    pub fn g_dbus_connection_flush(
34819        connection: *mut GDBusConnection,
34820        cancellable: *mut GCancellable,
34821        callback: GAsyncReadyCallback,
34822        user_data: gpointer,
34823    );
34824}
34825extern "C" {
34826    pub fn g_dbus_connection_flush_finish(
34827        connection: *mut GDBusConnection,
34828        res: *mut GAsyncResult,
34829        error: *mut *mut GError,
34830    ) -> gboolean;
34831}
34832extern "C" {
34833    pub fn g_dbus_connection_flush_sync(
34834        connection: *mut GDBusConnection,
34835        cancellable: *mut GCancellable,
34836        error: *mut *mut GError,
34837    ) -> gboolean;
34838}
34839extern "C" {
34840    pub fn g_dbus_connection_send_message(
34841        connection: *mut GDBusConnection,
34842        message: *mut GDBusMessage,
34843        flags: GDBusSendMessageFlags,
34844        out_serial: *mut guint32,
34845        error: *mut *mut GError,
34846    ) -> gboolean;
34847}
34848extern "C" {
34849    pub fn g_dbus_connection_send_message_with_reply(
34850        connection: *mut GDBusConnection,
34851        message: *mut GDBusMessage,
34852        flags: GDBusSendMessageFlags,
34853        timeout_msec: gint,
34854        out_serial: *mut guint32,
34855        cancellable: *mut GCancellable,
34856        callback: GAsyncReadyCallback,
34857        user_data: gpointer,
34858    );
34859}
34860extern "C" {
34861    pub fn g_dbus_connection_send_message_with_reply_finish(
34862        connection: *mut GDBusConnection,
34863        res: *mut GAsyncResult,
34864        error: *mut *mut GError,
34865    ) -> *mut GDBusMessage;
34866}
34867extern "C" {
34868    pub fn g_dbus_connection_send_message_with_reply_sync(
34869        connection: *mut GDBusConnection,
34870        message: *mut GDBusMessage,
34871        flags: GDBusSendMessageFlags,
34872        timeout_msec: gint,
34873        out_serial: *mut guint32,
34874        cancellable: *mut GCancellable,
34875        error: *mut *mut GError,
34876    ) -> *mut GDBusMessage;
34877}
34878extern "C" {
34879    pub fn g_dbus_connection_emit_signal(
34880        connection: *mut GDBusConnection,
34881        destination_bus_name: *const gchar,
34882        object_path: *const gchar,
34883        interface_name: *const gchar,
34884        signal_name: *const gchar,
34885        parameters: *mut GVariant,
34886        error: *mut *mut GError,
34887    ) -> gboolean;
34888}
34889extern "C" {
34890    pub fn g_dbus_connection_call(
34891        connection: *mut GDBusConnection,
34892        bus_name: *const gchar,
34893        object_path: *const gchar,
34894        interface_name: *const gchar,
34895        method_name: *const gchar,
34896        parameters: *mut GVariant,
34897        reply_type: *const GVariantType,
34898        flags: GDBusCallFlags,
34899        timeout_msec: gint,
34900        cancellable: *mut GCancellable,
34901        callback: GAsyncReadyCallback,
34902        user_data: gpointer,
34903    );
34904}
34905extern "C" {
34906    pub fn g_dbus_connection_call_finish(
34907        connection: *mut GDBusConnection,
34908        res: *mut GAsyncResult,
34909        error: *mut *mut GError,
34910    ) -> *mut GVariant;
34911}
34912extern "C" {
34913    pub fn g_dbus_connection_call_sync(
34914        connection: *mut GDBusConnection,
34915        bus_name: *const gchar,
34916        object_path: *const gchar,
34917        interface_name: *const gchar,
34918        method_name: *const gchar,
34919        parameters: *mut GVariant,
34920        reply_type: *const GVariantType,
34921        flags: GDBusCallFlags,
34922        timeout_msec: gint,
34923        cancellable: *mut GCancellable,
34924        error: *mut *mut GError,
34925    ) -> *mut GVariant;
34926}
34927extern "C" {
34928    pub fn g_dbus_connection_call_with_unix_fd_list(
34929        connection: *mut GDBusConnection,
34930        bus_name: *const gchar,
34931        object_path: *const gchar,
34932        interface_name: *const gchar,
34933        method_name: *const gchar,
34934        parameters: *mut GVariant,
34935        reply_type: *const GVariantType,
34936        flags: GDBusCallFlags,
34937        timeout_msec: gint,
34938        fd_list: *mut GUnixFDList,
34939        cancellable: *mut GCancellable,
34940        callback: GAsyncReadyCallback,
34941        user_data: gpointer,
34942    );
34943}
34944extern "C" {
34945    pub fn g_dbus_connection_call_with_unix_fd_list_finish(
34946        connection: *mut GDBusConnection,
34947        out_fd_list: *mut *mut GUnixFDList,
34948        res: *mut GAsyncResult,
34949        error: *mut *mut GError,
34950    ) -> *mut GVariant;
34951}
34952extern "C" {
34953    pub fn g_dbus_connection_call_with_unix_fd_list_sync(
34954        connection: *mut GDBusConnection,
34955        bus_name: *const gchar,
34956        object_path: *const gchar,
34957        interface_name: *const gchar,
34958        method_name: *const gchar,
34959        parameters: *mut GVariant,
34960        reply_type: *const GVariantType,
34961        flags: GDBusCallFlags,
34962        timeout_msec: gint,
34963        fd_list: *mut GUnixFDList,
34964        out_fd_list: *mut *mut GUnixFDList,
34965        cancellable: *mut GCancellable,
34966        error: *mut *mut GError,
34967    ) -> *mut GVariant;
34968}
34969pub type GDBusInterfaceMethodCallFunc = ::std::option::Option<
34970    unsafe extern "C" fn(
34971        connection: *mut GDBusConnection,
34972        sender: *const gchar,
34973        object_path: *const gchar,
34974        interface_name: *const gchar,
34975        method_name: *const gchar,
34976        parameters: *mut GVariant,
34977        invocation: *mut GDBusMethodInvocation,
34978        user_data: gpointer,
34979    ),
34980>;
34981pub type GDBusInterfaceGetPropertyFunc = ::std::option::Option<
34982    unsafe extern "C" fn(
34983        connection: *mut GDBusConnection,
34984        sender: *const gchar,
34985        object_path: *const gchar,
34986        interface_name: *const gchar,
34987        property_name: *const gchar,
34988        error: *mut *mut GError,
34989        user_data: gpointer,
34990    ) -> *mut GVariant,
34991>;
34992pub type GDBusInterfaceSetPropertyFunc = ::std::option::Option<
34993    unsafe extern "C" fn(
34994        connection: *mut GDBusConnection,
34995        sender: *const gchar,
34996        object_path: *const gchar,
34997        interface_name: *const gchar,
34998        property_name: *const gchar,
34999        value: *mut GVariant,
35000        error: *mut *mut GError,
35001        user_data: gpointer,
35002    ) -> gboolean,
35003>;
35004#[repr(C)]
35005#[derive(Debug, Copy, Clone, PartialEq, Eq)]
35006pub struct _GDBusInterfaceVTable {
35007    pub method_call: GDBusInterfaceMethodCallFunc,
35008    pub get_property: GDBusInterfaceGetPropertyFunc,
35009    pub set_property: GDBusInterfaceSetPropertyFunc,
35010    pub padding: [gpointer; 8usize],
35011}
35012#[test]
35013fn bindgen_test_layout__GDBusInterfaceVTable() {
35014    const UNINIT: ::std::mem::MaybeUninit<_GDBusInterfaceVTable> =
35015        ::std::mem::MaybeUninit::uninit();
35016    let ptr = UNINIT.as_ptr();
35017    assert_eq!(
35018        ::std::mem::size_of::<_GDBusInterfaceVTable>(),
35019        88usize,
35020        concat!("Size of: ", stringify!(_GDBusInterfaceVTable))
35021    );
35022    assert_eq!(
35023        ::std::mem::align_of::<_GDBusInterfaceVTable>(),
35024        8usize,
35025        concat!("Alignment of ", stringify!(_GDBusInterfaceVTable))
35026    );
35027    assert_eq!(
35028        unsafe { ::std::ptr::addr_of!((*ptr).method_call) as usize - ptr as usize },
35029        0usize,
35030        concat!(
35031            "Offset of field: ",
35032            stringify!(_GDBusInterfaceVTable),
35033            "::",
35034            stringify!(method_call)
35035        )
35036    );
35037    assert_eq!(
35038        unsafe { ::std::ptr::addr_of!((*ptr).get_property) as usize - ptr as usize },
35039        8usize,
35040        concat!(
35041            "Offset of field: ",
35042            stringify!(_GDBusInterfaceVTable),
35043            "::",
35044            stringify!(get_property)
35045        )
35046    );
35047    assert_eq!(
35048        unsafe { ::std::ptr::addr_of!((*ptr).set_property) as usize - ptr as usize },
35049        16usize,
35050        concat!(
35051            "Offset of field: ",
35052            stringify!(_GDBusInterfaceVTable),
35053            "::",
35054            stringify!(set_property)
35055        )
35056    );
35057    assert_eq!(
35058        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
35059        24usize,
35060        concat!(
35061            "Offset of field: ",
35062            stringify!(_GDBusInterfaceVTable),
35063            "::",
35064            stringify!(padding)
35065        )
35066    );
35067}
35068extern "C" {
35069    pub fn g_dbus_connection_register_object(
35070        connection: *mut GDBusConnection,
35071        object_path: *const gchar,
35072        interface_info: *mut GDBusInterfaceInfo,
35073        vtable: *const GDBusInterfaceVTable,
35074        user_data: gpointer,
35075        user_data_free_func: GDestroyNotify,
35076        error: *mut *mut GError,
35077    ) -> guint;
35078}
35079extern "C" {
35080    pub fn g_dbus_connection_register_object_with_closures(
35081        connection: *mut GDBusConnection,
35082        object_path: *const gchar,
35083        interface_info: *mut GDBusInterfaceInfo,
35084        method_call_closure: *mut GClosure,
35085        get_property_closure: *mut GClosure,
35086        set_property_closure: *mut GClosure,
35087        error: *mut *mut GError,
35088    ) -> guint;
35089}
35090extern "C" {
35091    pub fn g_dbus_connection_unregister_object(
35092        connection: *mut GDBusConnection,
35093        registration_id: guint,
35094    ) -> gboolean;
35095}
35096pub type GDBusSubtreeEnumerateFunc = ::std::option::Option<
35097    unsafe extern "C" fn(
35098        connection: *mut GDBusConnection,
35099        sender: *const gchar,
35100        object_path: *const gchar,
35101        user_data: gpointer,
35102    ) -> *mut *mut gchar,
35103>;
35104pub type GDBusSubtreeIntrospectFunc = ::std::option::Option<
35105    unsafe extern "C" fn(
35106        connection: *mut GDBusConnection,
35107        sender: *const gchar,
35108        object_path: *const gchar,
35109        node: *const gchar,
35110        user_data: gpointer,
35111    ) -> *mut *mut GDBusInterfaceInfo,
35112>;
35113pub type GDBusSubtreeDispatchFunc = ::std::option::Option<
35114    unsafe extern "C" fn(
35115        connection: *mut GDBusConnection,
35116        sender: *const gchar,
35117        object_path: *const gchar,
35118        interface_name: *const gchar,
35119        node: *const gchar,
35120        out_user_data: *mut gpointer,
35121        user_data: gpointer,
35122    ) -> *const GDBusInterfaceVTable,
35123>;
35124#[repr(C)]
35125#[derive(Debug, Copy, Clone, PartialEq, Eq)]
35126pub struct _GDBusSubtreeVTable {
35127    pub enumerate: GDBusSubtreeEnumerateFunc,
35128    pub introspect: GDBusSubtreeIntrospectFunc,
35129    pub dispatch: GDBusSubtreeDispatchFunc,
35130    pub padding: [gpointer; 8usize],
35131}
35132#[test]
35133fn bindgen_test_layout__GDBusSubtreeVTable() {
35134    const UNINIT: ::std::mem::MaybeUninit<_GDBusSubtreeVTable> = ::std::mem::MaybeUninit::uninit();
35135    let ptr = UNINIT.as_ptr();
35136    assert_eq!(
35137        ::std::mem::size_of::<_GDBusSubtreeVTable>(),
35138        88usize,
35139        concat!("Size of: ", stringify!(_GDBusSubtreeVTable))
35140    );
35141    assert_eq!(
35142        ::std::mem::align_of::<_GDBusSubtreeVTable>(),
35143        8usize,
35144        concat!("Alignment of ", stringify!(_GDBusSubtreeVTable))
35145    );
35146    assert_eq!(
35147        unsafe { ::std::ptr::addr_of!((*ptr).enumerate) as usize - ptr as usize },
35148        0usize,
35149        concat!(
35150            "Offset of field: ",
35151            stringify!(_GDBusSubtreeVTable),
35152            "::",
35153            stringify!(enumerate)
35154        )
35155    );
35156    assert_eq!(
35157        unsafe { ::std::ptr::addr_of!((*ptr).introspect) as usize - ptr as usize },
35158        8usize,
35159        concat!(
35160            "Offset of field: ",
35161            stringify!(_GDBusSubtreeVTable),
35162            "::",
35163            stringify!(introspect)
35164        )
35165    );
35166    assert_eq!(
35167        unsafe { ::std::ptr::addr_of!((*ptr).dispatch) as usize - ptr as usize },
35168        16usize,
35169        concat!(
35170            "Offset of field: ",
35171            stringify!(_GDBusSubtreeVTable),
35172            "::",
35173            stringify!(dispatch)
35174        )
35175    );
35176    assert_eq!(
35177        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
35178        24usize,
35179        concat!(
35180            "Offset of field: ",
35181            stringify!(_GDBusSubtreeVTable),
35182            "::",
35183            stringify!(padding)
35184        )
35185    );
35186}
35187extern "C" {
35188    pub fn g_dbus_connection_register_subtree(
35189        connection: *mut GDBusConnection,
35190        object_path: *const gchar,
35191        vtable: *const GDBusSubtreeVTable,
35192        flags: GDBusSubtreeFlags,
35193        user_data: gpointer,
35194        user_data_free_func: GDestroyNotify,
35195        error: *mut *mut GError,
35196    ) -> guint;
35197}
35198extern "C" {
35199    pub fn g_dbus_connection_unregister_subtree(
35200        connection: *mut GDBusConnection,
35201        registration_id: guint,
35202    ) -> gboolean;
35203}
35204pub type GDBusSignalCallback = ::std::option::Option<
35205    unsafe extern "C" fn(
35206        connection: *mut GDBusConnection,
35207        sender_name: *const gchar,
35208        object_path: *const gchar,
35209        interface_name: *const gchar,
35210        signal_name: *const gchar,
35211        parameters: *mut GVariant,
35212        user_data: gpointer,
35213    ),
35214>;
35215extern "C" {
35216    pub fn g_dbus_connection_signal_subscribe(
35217        connection: *mut GDBusConnection,
35218        sender: *const gchar,
35219        interface_name: *const gchar,
35220        member: *const gchar,
35221        object_path: *const gchar,
35222        arg0: *const gchar,
35223        flags: GDBusSignalFlags,
35224        callback: GDBusSignalCallback,
35225        user_data: gpointer,
35226        user_data_free_func: GDestroyNotify,
35227    ) -> guint;
35228}
35229extern "C" {
35230    pub fn g_dbus_connection_signal_unsubscribe(
35231        connection: *mut GDBusConnection,
35232        subscription_id: guint,
35233    );
35234}
35235pub type GDBusMessageFilterFunction = ::std::option::Option<
35236    unsafe extern "C" fn(
35237        connection: *mut GDBusConnection,
35238        message: *mut GDBusMessage,
35239        incoming: gboolean,
35240        user_data: gpointer,
35241    ) -> *mut GDBusMessage,
35242>;
35243extern "C" {
35244    pub fn g_dbus_connection_add_filter(
35245        connection: *mut GDBusConnection,
35246        filter_function: GDBusMessageFilterFunction,
35247        user_data: gpointer,
35248        user_data_free_func: GDestroyNotify,
35249    ) -> guint;
35250}
35251extern "C" {
35252    pub fn g_dbus_connection_remove_filter(connection: *mut GDBusConnection, filter_id: guint);
35253}
35254extern "C" {
35255    pub fn g_dbus_error_quark() -> GQuark;
35256}
35257extern "C" {
35258    pub fn g_dbus_error_is_remote_error(error: *const GError) -> gboolean;
35259}
35260extern "C" {
35261    pub fn g_dbus_error_get_remote_error(error: *const GError) -> *mut gchar;
35262}
35263extern "C" {
35264    pub fn g_dbus_error_strip_remote_error(error: *mut GError) -> gboolean;
35265}
35266#[repr(C)]
35267#[derive(Debug, Copy, Clone, PartialEq, Eq)]
35268pub struct _GDBusErrorEntry {
35269    pub error_code: gint,
35270    pub dbus_error_name: *const gchar,
35271}
35272#[test]
35273fn bindgen_test_layout__GDBusErrorEntry() {
35274    const UNINIT: ::std::mem::MaybeUninit<_GDBusErrorEntry> = ::std::mem::MaybeUninit::uninit();
35275    let ptr = UNINIT.as_ptr();
35276    assert_eq!(
35277        ::std::mem::size_of::<_GDBusErrorEntry>(),
35278        16usize,
35279        concat!("Size of: ", stringify!(_GDBusErrorEntry))
35280    );
35281    assert_eq!(
35282        ::std::mem::align_of::<_GDBusErrorEntry>(),
35283        8usize,
35284        concat!("Alignment of ", stringify!(_GDBusErrorEntry))
35285    );
35286    assert_eq!(
35287        unsafe { ::std::ptr::addr_of!((*ptr).error_code) as usize - ptr as usize },
35288        0usize,
35289        concat!(
35290            "Offset of field: ",
35291            stringify!(_GDBusErrorEntry),
35292            "::",
35293            stringify!(error_code)
35294        )
35295    );
35296    assert_eq!(
35297        unsafe { ::std::ptr::addr_of!((*ptr).dbus_error_name) as usize - ptr as usize },
35298        8usize,
35299        concat!(
35300            "Offset of field: ",
35301            stringify!(_GDBusErrorEntry),
35302            "::",
35303            stringify!(dbus_error_name)
35304        )
35305    );
35306}
35307extern "C" {
35308    pub fn g_dbus_error_register_error(
35309        error_domain: GQuark,
35310        error_code: gint,
35311        dbus_error_name: *const gchar,
35312    ) -> gboolean;
35313}
35314extern "C" {
35315    pub fn g_dbus_error_unregister_error(
35316        error_domain: GQuark,
35317        error_code: gint,
35318        dbus_error_name: *const gchar,
35319    ) -> gboolean;
35320}
35321extern "C" {
35322    pub fn g_dbus_error_register_error_domain(
35323        error_domain_quark_name: *const gchar,
35324        quark_volatile: *mut gsize,
35325        entries: *const GDBusErrorEntry,
35326        num_entries: guint,
35327    );
35328}
35329extern "C" {
35330    pub fn g_dbus_error_new_for_dbus_error(
35331        dbus_error_name: *const gchar,
35332        dbus_error_message: *const gchar,
35333    ) -> *mut GError;
35334}
35335extern "C" {
35336    pub fn g_dbus_error_set_dbus_error(
35337        error: *mut *mut GError,
35338        dbus_error_name: *const gchar,
35339        dbus_error_message: *const gchar,
35340        format: *const gchar,
35341        ...
35342    );
35343}
35344extern "C" {
35345    pub fn g_dbus_error_set_dbus_error_valist(
35346        error: *mut *mut GError,
35347        dbus_error_name: *const gchar,
35348        dbus_error_message: *const gchar,
35349        format: *const gchar,
35350        var_args: va_list,
35351    );
35352}
35353extern "C" {
35354    pub fn g_dbus_error_encode_gerror(error: *const GError) -> *mut gchar;
35355}
35356pub type GDBusInterfaceIface = _GDBusInterfaceIface;
35357#[repr(C)]
35358#[derive(Debug, Copy, Clone, PartialEq, Eq)]
35359pub struct _GDBusInterfaceIface {
35360    pub parent_iface: GTypeInterface,
35361    pub get_info: ::std::option::Option<
35362        unsafe extern "C" fn(interface_: *mut GDBusInterface) -> *mut GDBusInterfaceInfo,
35363    >,
35364    pub get_object: ::std::option::Option<
35365        unsafe extern "C" fn(interface_: *mut GDBusInterface) -> *mut GDBusObject,
35366    >,
35367    pub set_object: ::std::option::Option<
35368        unsafe extern "C" fn(interface_: *mut GDBusInterface, object: *mut GDBusObject),
35369    >,
35370    pub dup_object: ::std::option::Option<
35371        unsafe extern "C" fn(interface_: *mut GDBusInterface) -> *mut GDBusObject,
35372    >,
35373}
35374#[test]
35375fn bindgen_test_layout__GDBusInterfaceIface() {
35376    const UNINIT: ::std::mem::MaybeUninit<_GDBusInterfaceIface> = ::std::mem::MaybeUninit::uninit();
35377    let ptr = UNINIT.as_ptr();
35378    assert_eq!(
35379        ::std::mem::size_of::<_GDBusInterfaceIface>(),
35380        48usize,
35381        concat!("Size of: ", stringify!(_GDBusInterfaceIface))
35382    );
35383    assert_eq!(
35384        ::std::mem::align_of::<_GDBusInterfaceIface>(),
35385        8usize,
35386        concat!("Alignment of ", stringify!(_GDBusInterfaceIface))
35387    );
35388    assert_eq!(
35389        unsafe { ::std::ptr::addr_of!((*ptr).parent_iface) as usize - ptr as usize },
35390        0usize,
35391        concat!(
35392            "Offset of field: ",
35393            stringify!(_GDBusInterfaceIface),
35394            "::",
35395            stringify!(parent_iface)
35396        )
35397    );
35398    assert_eq!(
35399        unsafe { ::std::ptr::addr_of!((*ptr).get_info) as usize - ptr as usize },
35400        16usize,
35401        concat!(
35402            "Offset of field: ",
35403            stringify!(_GDBusInterfaceIface),
35404            "::",
35405            stringify!(get_info)
35406        )
35407    );
35408    assert_eq!(
35409        unsafe { ::std::ptr::addr_of!((*ptr).get_object) as usize - ptr as usize },
35410        24usize,
35411        concat!(
35412            "Offset of field: ",
35413            stringify!(_GDBusInterfaceIface),
35414            "::",
35415            stringify!(get_object)
35416        )
35417    );
35418    assert_eq!(
35419        unsafe { ::std::ptr::addr_of!((*ptr).set_object) as usize - ptr as usize },
35420        32usize,
35421        concat!(
35422            "Offset of field: ",
35423            stringify!(_GDBusInterfaceIface),
35424            "::",
35425            stringify!(set_object)
35426        )
35427    );
35428    assert_eq!(
35429        unsafe { ::std::ptr::addr_of!((*ptr).dup_object) as usize - ptr as usize },
35430        40usize,
35431        concat!(
35432            "Offset of field: ",
35433            stringify!(_GDBusInterfaceIface),
35434            "::",
35435            stringify!(dup_object)
35436        )
35437    );
35438}
35439extern "C" {
35440    pub fn g_dbus_interface_get_type() -> GType;
35441}
35442extern "C" {
35443    pub fn g_dbus_interface_get_info(interface_: *mut GDBusInterface) -> *mut GDBusInterfaceInfo;
35444}
35445extern "C" {
35446    pub fn g_dbus_interface_get_object(interface_: *mut GDBusInterface) -> *mut GDBusObject;
35447}
35448extern "C" {
35449    pub fn g_dbus_interface_set_object(interface_: *mut GDBusInterface, object: *mut GDBusObject);
35450}
35451extern "C" {
35452    pub fn g_dbus_interface_dup_object(interface_: *mut GDBusInterface) -> *mut GDBusObject;
35453}
35454pub type GDBusInterfaceSkeletonClass = _GDBusInterfaceSkeletonClass;
35455#[repr(C)]
35456#[derive(Debug, Copy, Clone)]
35457pub struct _GDBusInterfaceSkeletonPrivate {
35458    _unused: [u8; 0],
35459}
35460pub type GDBusInterfaceSkeletonPrivate = _GDBusInterfaceSkeletonPrivate;
35461#[repr(C)]
35462#[derive(Debug, Copy, Clone, PartialEq, Eq)]
35463pub struct _GDBusInterfaceSkeleton {
35464    pub parent_instance: GObject,
35465    pub priv_: *mut GDBusInterfaceSkeletonPrivate,
35466}
35467#[test]
35468fn bindgen_test_layout__GDBusInterfaceSkeleton() {
35469    const UNINIT: ::std::mem::MaybeUninit<_GDBusInterfaceSkeleton> =
35470        ::std::mem::MaybeUninit::uninit();
35471    let ptr = UNINIT.as_ptr();
35472    assert_eq!(
35473        ::std::mem::size_of::<_GDBusInterfaceSkeleton>(),
35474        32usize,
35475        concat!("Size of: ", stringify!(_GDBusInterfaceSkeleton))
35476    );
35477    assert_eq!(
35478        ::std::mem::align_of::<_GDBusInterfaceSkeleton>(),
35479        8usize,
35480        concat!("Alignment of ", stringify!(_GDBusInterfaceSkeleton))
35481    );
35482    assert_eq!(
35483        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
35484        0usize,
35485        concat!(
35486            "Offset of field: ",
35487            stringify!(_GDBusInterfaceSkeleton),
35488            "::",
35489            stringify!(parent_instance)
35490        )
35491    );
35492    assert_eq!(
35493        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
35494        24usize,
35495        concat!(
35496            "Offset of field: ",
35497            stringify!(_GDBusInterfaceSkeleton),
35498            "::",
35499            stringify!(priv_)
35500        )
35501    );
35502}
35503#[repr(C)]
35504#[derive(Debug, Copy, Clone, PartialEq, Eq)]
35505pub struct _GDBusInterfaceSkeletonClass {
35506    pub parent_class: GObjectClass,
35507    pub get_info: ::std::option::Option<
35508        unsafe extern "C" fn(interface_: *mut GDBusInterfaceSkeleton) -> *mut GDBusInterfaceInfo,
35509    >,
35510    pub get_vtable: ::std::option::Option<
35511        unsafe extern "C" fn(interface_: *mut GDBusInterfaceSkeleton) -> *mut GDBusInterfaceVTable,
35512    >,
35513    pub get_properties: ::std::option::Option<
35514        unsafe extern "C" fn(interface_: *mut GDBusInterfaceSkeleton) -> *mut GVariant,
35515    >,
35516    pub flush: ::std::option::Option<unsafe extern "C" fn(interface_: *mut GDBusInterfaceSkeleton)>,
35517    pub vfunc_padding: [gpointer; 8usize],
35518    pub g_authorize_method: ::std::option::Option<
35519        unsafe extern "C" fn(
35520            interface_: *mut GDBusInterfaceSkeleton,
35521            invocation: *mut GDBusMethodInvocation,
35522        ) -> gboolean,
35523    >,
35524    pub signal_padding: [gpointer; 8usize],
35525}
35526#[test]
35527fn bindgen_test_layout__GDBusInterfaceSkeletonClass() {
35528    const UNINIT: ::std::mem::MaybeUninit<_GDBusInterfaceSkeletonClass> =
35529        ::std::mem::MaybeUninit::uninit();
35530    let ptr = UNINIT.as_ptr();
35531    assert_eq!(
35532        ::std::mem::size_of::<_GDBusInterfaceSkeletonClass>(),
35533        304usize,
35534        concat!("Size of: ", stringify!(_GDBusInterfaceSkeletonClass))
35535    );
35536    assert_eq!(
35537        ::std::mem::align_of::<_GDBusInterfaceSkeletonClass>(),
35538        8usize,
35539        concat!("Alignment of ", stringify!(_GDBusInterfaceSkeletonClass))
35540    );
35541    assert_eq!(
35542        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
35543        0usize,
35544        concat!(
35545            "Offset of field: ",
35546            stringify!(_GDBusInterfaceSkeletonClass),
35547            "::",
35548            stringify!(parent_class)
35549        )
35550    );
35551    assert_eq!(
35552        unsafe { ::std::ptr::addr_of!((*ptr).get_info) as usize - ptr as usize },
35553        136usize,
35554        concat!(
35555            "Offset of field: ",
35556            stringify!(_GDBusInterfaceSkeletonClass),
35557            "::",
35558            stringify!(get_info)
35559        )
35560    );
35561    assert_eq!(
35562        unsafe { ::std::ptr::addr_of!((*ptr).get_vtable) as usize - ptr as usize },
35563        144usize,
35564        concat!(
35565            "Offset of field: ",
35566            stringify!(_GDBusInterfaceSkeletonClass),
35567            "::",
35568            stringify!(get_vtable)
35569        )
35570    );
35571    assert_eq!(
35572        unsafe { ::std::ptr::addr_of!((*ptr).get_properties) as usize - ptr as usize },
35573        152usize,
35574        concat!(
35575            "Offset of field: ",
35576            stringify!(_GDBusInterfaceSkeletonClass),
35577            "::",
35578            stringify!(get_properties)
35579        )
35580    );
35581    assert_eq!(
35582        unsafe { ::std::ptr::addr_of!((*ptr).flush) as usize - ptr as usize },
35583        160usize,
35584        concat!(
35585            "Offset of field: ",
35586            stringify!(_GDBusInterfaceSkeletonClass),
35587            "::",
35588            stringify!(flush)
35589        )
35590    );
35591    assert_eq!(
35592        unsafe { ::std::ptr::addr_of!((*ptr).vfunc_padding) as usize - ptr as usize },
35593        168usize,
35594        concat!(
35595            "Offset of field: ",
35596            stringify!(_GDBusInterfaceSkeletonClass),
35597            "::",
35598            stringify!(vfunc_padding)
35599        )
35600    );
35601    assert_eq!(
35602        unsafe { ::std::ptr::addr_of!((*ptr).g_authorize_method) as usize - ptr as usize },
35603        232usize,
35604        concat!(
35605            "Offset of field: ",
35606            stringify!(_GDBusInterfaceSkeletonClass),
35607            "::",
35608            stringify!(g_authorize_method)
35609        )
35610    );
35611    assert_eq!(
35612        unsafe { ::std::ptr::addr_of!((*ptr).signal_padding) as usize - ptr as usize },
35613        240usize,
35614        concat!(
35615            "Offset of field: ",
35616            stringify!(_GDBusInterfaceSkeletonClass),
35617            "::",
35618            stringify!(signal_padding)
35619        )
35620    );
35621}
35622extern "C" {
35623    pub fn g_dbus_interface_skeleton_get_type() -> GType;
35624}
35625extern "C" {
35626    pub fn g_dbus_interface_skeleton_get_flags(
35627        interface_: *mut GDBusInterfaceSkeleton,
35628    ) -> GDBusInterfaceSkeletonFlags;
35629}
35630extern "C" {
35631    pub fn g_dbus_interface_skeleton_set_flags(
35632        interface_: *mut GDBusInterfaceSkeleton,
35633        flags: GDBusInterfaceSkeletonFlags,
35634    );
35635}
35636extern "C" {
35637    pub fn g_dbus_interface_skeleton_get_info(
35638        interface_: *mut GDBusInterfaceSkeleton,
35639    ) -> *mut GDBusInterfaceInfo;
35640}
35641extern "C" {
35642    pub fn g_dbus_interface_skeleton_get_vtable(
35643        interface_: *mut GDBusInterfaceSkeleton,
35644    ) -> *mut GDBusInterfaceVTable;
35645}
35646extern "C" {
35647    pub fn g_dbus_interface_skeleton_get_properties(
35648        interface_: *mut GDBusInterfaceSkeleton,
35649    ) -> *mut GVariant;
35650}
35651extern "C" {
35652    pub fn g_dbus_interface_skeleton_flush(interface_: *mut GDBusInterfaceSkeleton);
35653}
35654extern "C" {
35655    pub fn g_dbus_interface_skeleton_export(
35656        interface_: *mut GDBusInterfaceSkeleton,
35657        connection: *mut GDBusConnection,
35658        object_path: *const gchar,
35659        error: *mut *mut GError,
35660    ) -> gboolean;
35661}
35662extern "C" {
35663    pub fn g_dbus_interface_skeleton_unexport(interface_: *mut GDBusInterfaceSkeleton);
35664}
35665extern "C" {
35666    pub fn g_dbus_interface_skeleton_unexport_from_connection(
35667        interface_: *mut GDBusInterfaceSkeleton,
35668        connection: *mut GDBusConnection,
35669    );
35670}
35671extern "C" {
35672    pub fn g_dbus_interface_skeleton_get_connection(
35673        interface_: *mut GDBusInterfaceSkeleton,
35674    ) -> *mut GDBusConnection;
35675}
35676extern "C" {
35677    pub fn g_dbus_interface_skeleton_get_connections(
35678        interface_: *mut GDBusInterfaceSkeleton,
35679    ) -> *mut GList;
35680}
35681extern "C" {
35682    pub fn g_dbus_interface_skeleton_has_connection(
35683        interface_: *mut GDBusInterfaceSkeleton,
35684        connection: *mut GDBusConnection,
35685    ) -> gboolean;
35686}
35687extern "C" {
35688    pub fn g_dbus_interface_skeleton_get_object_path(
35689        interface_: *mut GDBusInterfaceSkeleton,
35690    ) -> *const gchar;
35691}
35692#[repr(C)]
35693#[derive(Debug, Copy, Clone, PartialEq, Eq)]
35694pub struct _GDBusAnnotationInfo {
35695    pub ref_count: gint,
35696    pub key: *mut gchar,
35697    pub value: *mut gchar,
35698    pub annotations: *mut *mut GDBusAnnotationInfo,
35699}
35700#[test]
35701fn bindgen_test_layout__GDBusAnnotationInfo() {
35702    const UNINIT: ::std::mem::MaybeUninit<_GDBusAnnotationInfo> = ::std::mem::MaybeUninit::uninit();
35703    let ptr = UNINIT.as_ptr();
35704    assert_eq!(
35705        ::std::mem::size_of::<_GDBusAnnotationInfo>(),
35706        32usize,
35707        concat!("Size of: ", stringify!(_GDBusAnnotationInfo))
35708    );
35709    assert_eq!(
35710        ::std::mem::align_of::<_GDBusAnnotationInfo>(),
35711        8usize,
35712        concat!("Alignment of ", stringify!(_GDBusAnnotationInfo))
35713    );
35714    assert_eq!(
35715        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
35716        0usize,
35717        concat!(
35718            "Offset of field: ",
35719            stringify!(_GDBusAnnotationInfo),
35720            "::",
35721            stringify!(ref_count)
35722        )
35723    );
35724    assert_eq!(
35725        unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
35726        8usize,
35727        concat!(
35728            "Offset of field: ",
35729            stringify!(_GDBusAnnotationInfo),
35730            "::",
35731            stringify!(key)
35732        )
35733    );
35734    assert_eq!(
35735        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
35736        16usize,
35737        concat!(
35738            "Offset of field: ",
35739            stringify!(_GDBusAnnotationInfo),
35740            "::",
35741            stringify!(value)
35742        )
35743    );
35744    assert_eq!(
35745        unsafe { ::std::ptr::addr_of!((*ptr).annotations) as usize - ptr as usize },
35746        24usize,
35747        concat!(
35748            "Offset of field: ",
35749            stringify!(_GDBusAnnotationInfo),
35750            "::",
35751            stringify!(annotations)
35752        )
35753    );
35754}
35755#[repr(C)]
35756#[derive(Debug, Copy, Clone, PartialEq, Eq)]
35757pub struct _GDBusArgInfo {
35758    pub ref_count: gint,
35759    pub name: *mut gchar,
35760    pub signature: *mut gchar,
35761    pub annotations: *mut *mut GDBusAnnotationInfo,
35762}
35763#[test]
35764fn bindgen_test_layout__GDBusArgInfo() {
35765    const UNINIT: ::std::mem::MaybeUninit<_GDBusArgInfo> = ::std::mem::MaybeUninit::uninit();
35766    let ptr = UNINIT.as_ptr();
35767    assert_eq!(
35768        ::std::mem::size_of::<_GDBusArgInfo>(),
35769        32usize,
35770        concat!("Size of: ", stringify!(_GDBusArgInfo))
35771    );
35772    assert_eq!(
35773        ::std::mem::align_of::<_GDBusArgInfo>(),
35774        8usize,
35775        concat!("Alignment of ", stringify!(_GDBusArgInfo))
35776    );
35777    assert_eq!(
35778        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
35779        0usize,
35780        concat!(
35781            "Offset of field: ",
35782            stringify!(_GDBusArgInfo),
35783            "::",
35784            stringify!(ref_count)
35785        )
35786    );
35787    assert_eq!(
35788        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
35789        8usize,
35790        concat!(
35791            "Offset of field: ",
35792            stringify!(_GDBusArgInfo),
35793            "::",
35794            stringify!(name)
35795        )
35796    );
35797    assert_eq!(
35798        unsafe { ::std::ptr::addr_of!((*ptr).signature) as usize - ptr as usize },
35799        16usize,
35800        concat!(
35801            "Offset of field: ",
35802            stringify!(_GDBusArgInfo),
35803            "::",
35804            stringify!(signature)
35805        )
35806    );
35807    assert_eq!(
35808        unsafe { ::std::ptr::addr_of!((*ptr).annotations) as usize - ptr as usize },
35809        24usize,
35810        concat!(
35811            "Offset of field: ",
35812            stringify!(_GDBusArgInfo),
35813            "::",
35814            stringify!(annotations)
35815        )
35816    );
35817}
35818#[repr(C)]
35819#[derive(Debug, Copy, Clone, PartialEq, Eq)]
35820pub struct _GDBusMethodInfo {
35821    pub ref_count: gint,
35822    pub name: *mut gchar,
35823    pub in_args: *mut *mut GDBusArgInfo,
35824    pub out_args: *mut *mut GDBusArgInfo,
35825    pub annotations: *mut *mut GDBusAnnotationInfo,
35826}
35827#[test]
35828fn bindgen_test_layout__GDBusMethodInfo() {
35829    const UNINIT: ::std::mem::MaybeUninit<_GDBusMethodInfo> = ::std::mem::MaybeUninit::uninit();
35830    let ptr = UNINIT.as_ptr();
35831    assert_eq!(
35832        ::std::mem::size_of::<_GDBusMethodInfo>(),
35833        40usize,
35834        concat!("Size of: ", stringify!(_GDBusMethodInfo))
35835    );
35836    assert_eq!(
35837        ::std::mem::align_of::<_GDBusMethodInfo>(),
35838        8usize,
35839        concat!("Alignment of ", stringify!(_GDBusMethodInfo))
35840    );
35841    assert_eq!(
35842        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
35843        0usize,
35844        concat!(
35845            "Offset of field: ",
35846            stringify!(_GDBusMethodInfo),
35847            "::",
35848            stringify!(ref_count)
35849        )
35850    );
35851    assert_eq!(
35852        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
35853        8usize,
35854        concat!(
35855            "Offset of field: ",
35856            stringify!(_GDBusMethodInfo),
35857            "::",
35858            stringify!(name)
35859        )
35860    );
35861    assert_eq!(
35862        unsafe { ::std::ptr::addr_of!((*ptr).in_args) as usize - ptr as usize },
35863        16usize,
35864        concat!(
35865            "Offset of field: ",
35866            stringify!(_GDBusMethodInfo),
35867            "::",
35868            stringify!(in_args)
35869        )
35870    );
35871    assert_eq!(
35872        unsafe { ::std::ptr::addr_of!((*ptr).out_args) as usize - ptr as usize },
35873        24usize,
35874        concat!(
35875            "Offset of field: ",
35876            stringify!(_GDBusMethodInfo),
35877            "::",
35878            stringify!(out_args)
35879        )
35880    );
35881    assert_eq!(
35882        unsafe { ::std::ptr::addr_of!((*ptr).annotations) as usize - ptr as usize },
35883        32usize,
35884        concat!(
35885            "Offset of field: ",
35886            stringify!(_GDBusMethodInfo),
35887            "::",
35888            stringify!(annotations)
35889        )
35890    );
35891}
35892#[repr(C)]
35893#[derive(Debug, Copy, Clone, PartialEq, Eq)]
35894pub struct _GDBusSignalInfo {
35895    pub ref_count: gint,
35896    pub name: *mut gchar,
35897    pub args: *mut *mut GDBusArgInfo,
35898    pub annotations: *mut *mut GDBusAnnotationInfo,
35899}
35900#[test]
35901fn bindgen_test_layout__GDBusSignalInfo() {
35902    const UNINIT: ::std::mem::MaybeUninit<_GDBusSignalInfo> = ::std::mem::MaybeUninit::uninit();
35903    let ptr = UNINIT.as_ptr();
35904    assert_eq!(
35905        ::std::mem::size_of::<_GDBusSignalInfo>(),
35906        32usize,
35907        concat!("Size of: ", stringify!(_GDBusSignalInfo))
35908    );
35909    assert_eq!(
35910        ::std::mem::align_of::<_GDBusSignalInfo>(),
35911        8usize,
35912        concat!("Alignment of ", stringify!(_GDBusSignalInfo))
35913    );
35914    assert_eq!(
35915        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
35916        0usize,
35917        concat!(
35918            "Offset of field: ",
35919            stringify!(_GDBusSignalInfo),
35920            "::",
35921            stringify!(ref_count)
35922        )
35923    );
35924    assert_eq!(
35925        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
35926        8usize,
35927        concat!(
35928            "Offset of field: ",
35929            stringify!(_GDBusSignalInfo),
35930            "::",
35931            stringify!(name)
35932        )
35933    );
35934    assert_eq!(
35935        unsafe { ::std::ptr::addr_of!((*ptr).args) as usize - ptr as usize },
35936        16usize,
35937        concat!(
35938            "Offset of field: ",
35939            stringify!(_GDBusSignalInfo),
35940            "::",
35941            stringify!(args)
35942        )
35943    );
35944    assert_eq!(
35945        unsafe { ::std::ptr::addr_of!((*ptr).annotations) as usize - ptr as usize },
35946        24usize,
35947        concat!(
35948            "Offset of field: ",
35949            stringify!(_GDBusSignalInfo),
35950            "::",
35951            stringify!(annotations)
35952        )
35953    );
35954}
35955#[repr(C)]
35956#[derive(Debug, Copy, Clone, PartialEq, Eq)]
35957pub struct _GDBusPropertyInfo {
35958    pub ref_count: gint,
35959    pub name: *mut gchar,
35960    pub signature: *mut gchar,
35961    pub flags: GDBusPropertyInfoFlags,
35962    pub annotations: *mut *mut GDBusAnnotationInfo,
35963}
35964#[test]
35965fn bindgen_test_layout__GDBusPropertyInfo() {
35966    const UNINIT: ::std::mem::MaybeUninit<_GDBusPropertyInfo> = ::std::mem::MaybeUninit::uninit();
35967    let ptr = UNINIT.as_ptr();
35968    assert_eq!(
35969        ::std::mem::size_of::<_GDBusPropertyInfo>(),
35970        40usize,
35971        concat!("Size of: ", stringify!(_GDBusPropertyInfo))
35972    );
35973    assert_eq!(
35974        ::std::mem::align_of::<_GDBusPropertyInfo>(),
35975        8usize,
35976        concat!("Alignment of ", stringify!(_GDBusPropertyInfo))
35977    );
35978    assert_eq!(
35979        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
35980        0usize,
35981        concat!(
35982            "Offset of field: ",
35983            stringify!(_GDBusPropertyInfo),
35984            "::",
35985            stringify!(ref_count)
35986        )
35987    );
35988    assert_eq!(
35989        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
35990        8usize,
35991        concat!(
35992            "Offset of field: ",
35993            stringify!(_GDBusPropertyInfo),
35994            "::",
35995            stringify!(name)
35996        )
35997    );
35998    assert_eq!(
35999        unsafe { ::std::ptr::addr_of!((*ptr).signature) as usize - ptr as usize },
36000        16usize,
36001        concat!(
36002            "Offset of field: ",
36003            stringify!(_GDBusPropertyInfo),
36004            "::",
36005            stringify!(signature)
36006        )
36007    );
36008    assert_eq!(
36009        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
36010        24usize,
36011        concat!(
36012            "Offset of field: ",
36013            stringify!(_GDBusPropertyInfo),
36014            "::",
36015            stringify!(flags)
36016        )
36017    );
36018    assert_eq!(
36019        unsafe { ::std::ptr::addr_of!((*ptr).annotations) as usize - ptr as usize },
36020        32usize,
36021        concat!(
36022            "Offset of field: ",
36023            stringify!(_GDBusPropertyInfo),
36024            "::",
36025            stringify!(annotations)
36026        )
36027    );
36028}
36029#[repr(C)]
36030#[derive(Debug, Copy, Clone, PartialEq, Eq)]
36031pub struct _GDBusInterfaceInfo {
36032    pub ref_count: gint,
36033    pub name: *mut gchar,
36034    pub methods: *mut *mut GDBusMethodInfo,
36035    pub signals: *mut *mut GDBusSignalInfo,
36036    pub properties: *mut *mut GDBusPropertyInfo,
36037    pub annotations: *mut *mut GDBusAnnotationInfo,
36038}
36039#[test]
36040fn bindgen_test_layout__GDBusInterfaceInfo() {
36041    const UNINIT: ::std::mem::MaybeUninit<_GDBusInterfaceInfo> = ::std::mem::MaybeUninit::uninit();
36042    let ptr = UNINIT.as_ptr();
36043    assert_eq!(
36044        ::std::mem::size_of::<_GDBusInterfaceInfo>(),
36045        48usize,
36046        concat!("Size of: ", stringify!(_GDBusInterfaceInfo))
36047    );
36048    assert_eq!(
36049        ::std::mem::align_of::<_GDBusInterfaceInfo>(),
36050        8usize,
36051        concat!("Alignment of ", stringify!(_GDBusInterfaceInfo))
36052    );
36053    assert_eq!(
36054        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
36055        0usize,
36056        concat!(
36057            "Offset of field: ",
36058            stringify!(_GDBusInterfaceInfo),
36059            "::",
36060            stringify!(ref_count)
36061        )
36062    );
36063    assert_eq!(
36064        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
36065        8usize,
36066        concat!(
36067            "Offset of field: ",
36068            stringify!(_GDBusInterfaceInfo),
36069            "::",
36070            stringify!(name)
36071        )
36072    );
36073    assert_eq!(
36074        unsafe { ::std::ptr::addr_of!((*ptr).methods) as usize - ptr as usize },
36075        16usize,
36076        concat!(
36077            "Offset of field: ",
36078            stringify!(_GDBusInterfaceInfo),
36079            "::",
36080            stringify!(methods)
36081        )
36082    );
36083    assert_eq!(
36084        unsafe { ::std::ptr::addr_of!((*ptr).signals) as usize - ptr as usize },
36085        24usize,
36086        concat!(
36087            "Offset of field: ",
36088            stringify!(_GDBusInterfaceInfo),
36089            "::",
36090            stringify!(signals)
36091        )
36092    );
36093    assert_eq!(
36094        unsafe { ::std::ptr::addr_of!((*ptr).properties) as usize - ptr as usize },
36095        32usize,
36096        concat!(
36097            "Offset of field: ",
36098            stringify!(_GDBusInterfaceInfo),
36099            "::",
36100            stringify!(properties)
36101        )
36102    );
36103    assert_eq!(
36104        unsafe { ::std::ptr::addr_of!((*ptr).annotations) as usize - ptr as usize },
36105        40usize,
36106        concat!(
36107            "Offset of field: ",
36108            stringify!(_GDBusInterfaceInfo),
36109            "::",
36110            stringify!(annotations)
36111        )
36112    );
36113}
36114#[repr(C)]
36115#[derive(Debug, Copy, Clone, PartialEq, Eq)]
36116pub struct _GDBusNodeInfo {
36117    pub ref_count: gint,
36118    pub path: *mut gchar,
36119    pub interfaces: *mut *mut GDBusInterfaceInfo,
36120    pub nodes: *mut *mut GDBusNodeInfo,
36121    pub annotations: *mut *mut GDBusAnnotationInfo,
36122}
36123#[test]
36124fn bindgen_test_layout__GDBusNodeInfo() {
36125    const UNINIT: ::std::mem::MaybeUninit<_GDBusNodeInfo> = ::std::mem::MaybeUninit::uninit();
36126    let ptr = UNINIT.as_ptr();
36127    assert_eq!(
36128        ::std::mem::size_of::<_GDBusNodeInfo>(),
36129        40usize,
36130        concat!("Size of: ", stringify!(_GDBusNodeInfo))
36131    );
36132    assert_eq!(
36133        ::std::mem::align_of::<_GDBusNodeInfo>(),
36134        8usize,
36135        concat!("Alignment of ", stringify!(_GDBusNodeInfo))
36136    );
36137    assert_eq!(
36138        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
36139        0usize,
36140        concat!(
36141            "Offset of field: ",
36142            stringify!(_GDBusNodeInfo),
36143            "::",
36144            stringify!(ref_count)
36145        )
36146    );
36147    assert_eq!(
36148        unsafe { ::std::ptr::addr_of!((*ptr).path) as usize - ptr as usize },
36149        8usize,
36150        concat!(
36151            "Offset of field: ",
36152            stringify!(_GDBusNodeInfo),
36153            "::",
36154            stringify!(path)
36155        )
36156    );
36157    assert_eq!(
36158        unsafe { ::std::ptr::addr_of!((*ptr).interfaces) as usize - ptr as usize },
36159        16usize,
36160        concat!(
36161            "Offset of field: ",
36162            stringify!(_GDBusNodeInfo),
36163            "::",
36164            stringify!(interfaces)
36165        )
36166    );
36167    assert_eq!(
36168        unsafe { ::std::ptr::addr_of!((*ptr).nodes) as usize - ptr as usize },
36169        24usize,
36170        concat!(
36171            "Offset of field: ",
36172            stringify!(_GDBusNodeInfo),
36173            "::",
36174            stringify!(nodes)
36175        )
36176    );
36177    assert_eq!(
36178        unsafe { ::std::ptr::addr_of!((*ptr).annotations) as usize - ptr as usize },
36179        32usize,
36180        concat!(
36181            "Offset of field: ",
36182            stringify!(_GDBusNodeInfo),
36183            "::",
36184            stringify!(annotations)
36185        )
36186    );
36187}
36188extern "C" {
36189    pub fn g_dbus_annotation_info_lookup(
36190        annotations: *mut *mut GDBusAnnotationInfo,
36191        name: *const gchar,
36192    ) -> *const gchar;
36193}
36194extern "C" {
36195    pub fn g_dbus_interface_info_lookup_method(
36196        info: *mut GDBusInterfaceInfo,
36197        name: *const gchar,
36198    ) -> *mut GDBusMethodInfo;
36199}
36200extern "C" {
36201    pub fn g_dbus_interface_info_lookup_signal(
36202        info: *mut GDBusInterfaceInfo,
36203        name: *const gchar,
36204    ) -> *mut GDBusSignalInfo;
36205}
36206extern "C" {
36207    pub fn g_dbus_interface_info_lookup_property(
36208        info: *mut GDBusInterfaceInfo,
36209        name: *const gchar,
36210    ) -> *mut GDBusPropertyInfo;
36211}
36212extern "C" {
36213    pub fn g_dbus_interface_info_cache_build(info: *mut GDBusInterfaceInfo);
36214}
36215extern "C" {
36216    pub fn g_dbus_interface_info_cache_release(info: *mut GDBusInterfaceInfo);
36217}
36218extern "C" {
36219    pub fn g_dbus_interface_info_generate_xml(
36220        info: *mut GDBusInterfaceInfo,
36221        indent: guint,
36222        string_builder: *mut GString,
36223    );
36224}
36225extern "C" {
36226    pub fn g_dbus_node_info_new_for_xml(
36227        xml_data: *const gchar,
36228        error: *mut *mut GError,
36229    ) -> *mut GDBusNodeInfo;
36230}
36231extern "C" {
36232    pub fn g_dbus_node_info_lookup_interface(
36233        info: *mut GDBusNodeInfo,
36234        name: *const gchar,
36235    ) -> *mut GDBusInterfaceInfo;
36236}
36237extern "C" {
36238    pub fn g_dbus_node_info_generate_xml(
36239        info: *mut GDBusNodeInfo,
36240        indent: guint,
36241        string_builder: *mut GString,
36242    );
36243}
36244extern "C" {
36245    pub fn g_dbus_node_info_ref(info: *mut GDBusNodeInfo) -> *mut GDBusNodeInfo;
36246}
36247extern "C" {
36248    pub fn g_dbus_interface_info_ref(info: *mut GDBusInterfaceInfo) -> *mut GDBusInterfaceInfo;
36249}
36250extern "C" {
36251    pub fn g_dbus_method_info_ref(info: *mut GDBusMethodInfo) -> *mut GDBusMethodInfo;
36252}
36253extern "C" {
36254    pub fn g_dbus_signal_info_ref(info: *mut GDBusSignalInfo) -> *mut GDBusSignalInfo;
36255}
36256extern "C" {
36257    pub fn g_dbus_property_info_ref(info: *mut GDBusPropertyInfo) -> *mut GDBusPropertyInfo;
36258}
36259extern "C" {
36260    pub fn g_dbus_arg_info_ref(info: *mut GDBusArgInfo) -> *mut GDBusArgInfo;
36261}
36262extern "C" {
36263    pub fn g_dbus_annotation_info_ref(info: *mut GDBusAnnotationInfo) -> *mut GDBusAnnotationInfo;
36264}
36265extern "C" {
36266    pub fn g_dbus_node_info_unref(info: *mut GDBusNodeInfo);
36267}
36268extern "C" {
36269    pub fn g_dbus_interface_info_unref(info: *mut GDBusInterfaceInfo);
36270}
36271extern "C" {
36272    pub fn g_dbus_method_info_unref(info: *mut GDBusMethodInfo);
36273}
36274extern "C" {
36275    pub fn g_dbus_signal_info_unref(info: *mut GDBusSignalInfo);
36276}
36277extern "C" {
36278    pub fn g_dbus_property_info_unref(info: *mut GDBusPropertyInfo);
36279}
36280extern "C" {
36281    pub fn g_dbus_arg_info_unref(info: *mut GDBusArgInfo);
36282}
36283extern "C" {
36284    pub fn g_dbus_annotation_info_unref(info: *mut GDBusAnnotationInfo);
36285}
36286extern "C" {
36287    pub fn g_dbus_node_info_get_type() -> GType;
36288}
36289extern "C" {
36290    pub fn g_dbus_interface_info_get_type() -> GType;
36291}
36292extern "C" {
36293    pub fn g_dbus_method_info_get_type() -> GType;
36294}
36295extern "C" {
36296    pub fn g_dbus_signal_info_get_type() -> GType;
36297}
36298extern "C" {
36299    pub fn g_dbus_property_info_get_type() -> GType;
36300}
36301extern "C" {
36302    pub fn g_dbus_arg_info_get_type() -> GType;
36303}
36304extern "C" {
36305    pub fn g_dbus_annotation_info_get_type() -> GType;
36306}
36307#[repr(C)]
36308#[derive(Debug, Copy, Clone)]
36309pub struct _GDBusMenuModel {
36310    _unused: [u8; 0],
36311}
36312pub type GDBusMenuModel = _GDBusMenuModel;
36313extern "C" {
36314    pub fn g_dbus_menu_model_get_type() -> GType;
36315}
36316extern "C" {
36317    pub fn g_dbus_menu_model_get(
36318        connection: *mut GDBusConnection,
36319        bus_name: *const gchar,
36320        object_path: *const gchar,
36321    ) -> *mut GDBusMenuModel;
36322}
36323extern "C" {
36324    pub fn g_dbus_message_get_type() -> GType;
36325}
36326extern "C" {
36327    pub fn g_dbus_message_new() -> *mut GDBusMessage;
36328}
36329extern "C" {
36330    pub fn g_dbus_message_new_signal(
36331        path: *const gchar,
36332        interface_: *const gchar,
36333        signal: *const gchar,
36334    ) -> *mut GDBusMessage;
36335}
36336extern "C" {
36337    pub fn g_dbus_message_new_method_call(
36338        name: *const gchar,
36339        path: *const gchar,
36340        interface_: *const gchar,
36341        method: *const gchar,
36342    ) -> *mut GDBusMessage;
36343}
36344extern "C" {
36345    pub fn g_dbus_message_new_method_reply(
36346        method_call_message: *mut GDBusMessage,
36347    ) -> *mut GDBusMessage;
36348}
36349extern "C" {
36350    pub fn g_dbus_message_new_method_error(
36351        method_call_message: *mut GDBusMessage,
36352        error_name: *const gchar,
36353        error_message_format: *const gchar,
36354        ...
36355    ) -> *mut GDBusMessage;
36356}
36357extern "C" {
36358    pub fn g_dbus_message_new_method_error_valist(
36359        method_call_message: *mut GDBusMessage,
36360        error_name: *const gchar,
36361        error_message_format: *const gchar,
36362        var_args: va_list,
36363    ) -> *mut GDBusMessage;
36364}
36365extern "C" {
36366    pub fn g_dbus_message_new_method_error_literal(
36367        method_call_message: *mut GDBusMessage,
36368        error_name: *const gchar,
36369        error_message: *const gchar,
36370    ) -> *mut GDBusMessage;
36371}
36372extern "C" {
36373    pub fn g_dbus_message_print(message: *mut GDBusMessage, indent: guint) -> *mut gchar;
36374}
36375extern "C" {
36376    pub fn g_dbus_message_get_locked(message: *mut GDBusMessage) -> gboolean;
36377}
36378extern "C" {
36379    pub fn g_dbus_message_lock(message: *mut GDBusMessage);
36380}
36381extern "C" {
36382    pub fn g_dbus_message_copy(
36383        message: *mut GDBusMessage,
36384        error: *mut *mut GError,
36385    ) -> *mut GDBusMessage;
36386}
36387extern "C" {
36388    pub fn g_dbus_message_get_byte_order(message: *mut GDBusMessage) -> GDBusMessageByteOrder;
36389}
36390extern "C" {
36391    pub fn g_dbus_message_set_byte_order(
36392        message: *mut GDBusMessage,
36393        byte_order: GDBusMessageByteOrder,
36394    );
36395}
36396extern "C" {
36397    pub fn g_dbus_message_get_message_type(message: *mut GDBusMessage) -> GDBusMessageType;
36398}
36399extern "C" {
36400    pub fn g_dbus_message_set_message_type(message: *mut GDBusMessage, type_: GDBusMessageType);
36401}
36402extern "C" {
36403    pub fn g_dbus_message_get_flags(message: *mut GDBusMessage) -> GDBusMessageFlags;
36404}
36405extern "C" {
36406    pub fn g_dbus_message_set_flags(message: *mut GDBusMessage, flags: GDBusMessageFlags);
36407}
36408extern "C" {
36409    pub fn g_dbus_message_get_serial(message: *mut GDBusMessage) -> guint32;
36410}
36411extern "C" {
36412    pub fn g_dbus_message_set_serial(message: *mut GDBusMessage, serial: guint32);
36413}
36414extern "C" {
36415    pub fn g_dbus_message_get_header(
36416        message: *mut GDBusMessage,
36417        header_field: GDBusMessageHeaderField,
36418    ) -> *mut GVariant;
36419}
36420extern "C" {
36421    pub fn g_dbus_message_set_header(
36422        message: *mut GDBusMessage,
36423        header_field: GDBusMessageHeaderField,
36424        value: *mut GVariant,
36425    );
36426}
36427extern "C" {
36428    pub fn g_dbus_message_get_header_fields(message: *mut GDBusMessage) -> *mut guchar;
36429}
36430extern "C" {
36431    pub fn g_dbus_message_get_body(message: *mut GDBusMessage) -> *mut GVariant;
36432}
36433extern "C" {
36434    pub fn g_dbus_message_set_body(message: *mut GDBusMessage, body: *mut GVariant);
36435}
36436extern "C" {
36437    pub fn g_dbus_message_get_unix_fd_list(message: *mut GDBusMessage) -> *mut GUnixFDList;
36438}
36439extern "C" {
36440    pub fn g_dbus_message_set_unix_fd_list(message: *mut GDBusMessage, fd_list: *mut GUnixFDList);
36441}
36442extern "C" {
36443    pub fn g_dbus_message_get_reply_serial(message: *mut GDBusMessage) -> guint32;
36444}
36445extern "C" {
36446    pub fn g_dbus_message_set_reply_serial(message: *mut GDBusMessage, value: guint32);
36447}
36448extern "C" {
36449    pub fn g_dbus_message_get_interface(message: *mut GDBusMessage) -> *const gchar;
36450}
36451extern "C" {
36452    pub fn g_dbus_message_set_interface(message: *mut GDBusMessage, value: *const gchar);
36453}
36454extern "C" {
36455    pub fn g_dbus_message_get_member(message: *mut GDBusMessage) -> *const gchar;
36456}
36457extern "C" {
36458    pub fn g_dbus_message_set_member(message: *mut GDBusMessage, value: *const gchar);
36459}
36460extern "C" {
36461    pub fn g_dbus_message_get_path(message: *mut GDBusMessage) -> *const gchar;
36462}
36463extern "C" {
36464    pub fn g_dbus_message_set_path(message: *mut GDBusMessage, value: *const gchar);
36465}
36466extern "C" {
36467    pub fn g_dbus_message_get_sender(message: *mut GDBusMessage) -> *const gchar;
36468}
36469extern "C" {
36470    pub fn g_dbus_message_set_sender(message: *mut GDBusMessage, value: *const gchar);
36471}
36472extern "C" {
36473    pub fn g_dbus_message_get_destination(message: *mut GDBusMessage) -> *const gchar;
36474}
36475extern "C" {
36476    pub fn g_dbus_message_set_destination(message: *mut GDBusMessage, value: *const gchar);
36477}
36478extern "C" {
36479    pub fn g_dbus_message_get_error_name(message: *mut GDBusMessage) -> *const gchar;
36480}
36481extern "C" {
36482    pub fn g_dbus_message_set_error_name(message: *mut GDBusMessage, value: *const gchar);
36483}
36484extern "C" {
36485    pub fn g_dbus_message_get_signature(message: *mut GDBusMessage) -> *const gchar;
36486}
36487extern "C" {
36488    pub fn g_dbus_message_set_signature(message: *mut GDBusMessage, value: *const gchar);
36489}
36490extern "C" {
36491    pub fn g_dbus_message_get_num_unix_fds(message: *mut GDBusMessage) -> guint32;
36492}
36493extern "C" {
36494    pub fn g_dbus_message_set_num_unix_fds(message: *mut GDBusMessage, value: guint32);
36495}
36496extern "C" {
36497    pub fn g_dbus_message_get_arg0(message: *mut GDBusMessage) -> *const gchar;
36498}
36499extern "C" {
36500    pub fn g_dbus_message_new_from_blob(
36501        blob: *mut guchar,
36502        blob_len: gsize,
36503        capabilities: GDBusCapabilityFlags,
36504        error: *mut *mut GError,
36505    ) -> *mut GDBusMessage;
36506}
36507extern "C" {
36508    pub fn g_dbus_message_bytes_needed(
36509        blob: *mut guchar,
36510        blob_len: gsize,
36511        error: *mut *mut GError,
36512    ) -> gssize;
36513}
36514extern "C" {
36515    pub fn g_dbus_message_to_blob(
36516        message: *mut GDBusMessage,
36517        out_size: *mut gsize,
36518        capabilities: GDBusCapabilityFlags,
36519        error: *mut *mut GError,
36520    ) -> *mut guchar;
36521}
36522extern "C" {
36523    pub fn g_dbus_message_to_gerror(
36524        message: *mut GDBusMessage,
36525        error: *mut *mut GError,
36526    ) -> gboolean;
36527}
36528extern "C" {
36529    pub fn g_dbus_method_invocation_get_type() -> GType;
36530}
36531extern "C" {
36532    pub fn g_dbus_method_invocation_get_sender(
36533        invocation: *mut GDBusMethodInvocation,
36534    ) -> *const gchar;
36535}
36536extern "C" {
36537    pub fn g_dbus_method_invocation_get_object_path(
36538        invocation: *mut GDBusMethodInvocation,
36539    ) -> *const gchar;
36540}
36541extern "C" {
36542    pub fn g_dbus_method_invocation_get_interface_name(
36543        invocation: *mut GDBusMethodInvocation,
36544    ) -> *const gchar;
36545}
36546extern "C" {
36547    pub fn g_dbus_method_invocation_get_method_name(
36548        invocation: *mut GDBusMethodInvocation,
36549    ) -> *const gchar;
36550}
36551extern "C" {
36552    pub fn g_dbus_method_invocation_get_method_info(
36553        invocation: *mut GDBusMethodInvocation,
36554    ) -> *const GDBusMethodInfo;
36555}
36556extern "C" {
36557    pub fn g_dbus_method_invocation_get_property_info(
36558        invocation: *mut GDBusMethodInvocation,
36559    ) -> *const GDBusPropertyInfo;
36560}
36561extern "C" {
36562    pub fn g_dbus_method_invocation_get_connection(
36563        invocation: *mut GDBusMethodInvocation,
36564    ) -> *mut GDBusConnection;
36565}
36566extern "C" {
36567    pub fn g_dbus_method_invocation_get_message(
36568        invocation: *mut GDBusMethodInvocation,
36569    ) -> *mut GDBusMessage;
36570}
36571extern "C" {
36572    pub fn g_dbus_method_invocation_get_parameters(
36573        invocation: *mut GDBusMethodInvocation,
36574    ) -> *mut GVariant;
36575}
36576extern "C" {
36577    pub fn g_dbus_method_invocation_get_user_data(
36578        invocation: *mut GDBusMethodInvocation,
36579    ) -> gpointer;
36580}
36581extern "C" {
36582    pub fn g_dbus_method_invocation_return_value(
36583        invocation: *mut GDBusMethodInvocation,
36584        parameters: *mut GVariant,
36585    );
36586}
36587extern "C" {
36588    pub fn g_dbus_method_invocation_return_value_with_unix_fd_list(
36589        invocation: *mut GDBusMethodInvocation,
36590        parameters: *mut GVariant,
36591        fd_list: *mut GUnixFDList,
36592    );
36593}
36594extern "C" {
36595    pub fn g_dbus_method_invocation_return_error(
36596        invocation: *mut GDBusMethodInvocation,
36597        domain: GQuark,
36598        code: gint,
36599        format: *const gchar,
36600        ...
36601    );
36602}
36603extern "C" {
36604    pub fn g_dbus_method_invocation_return_error_valist(
36605        invocation: *mut GDBusMethodInvocation,
36606        domain: GQuark,
36607        code: gint,
36608        format: *const gchar,
36609        var_args: va_list,
36610    );
36611}
36612extern "C" {
36613    pub fn g_dbus_method_invocation_return_error_literal(
36614        invocation: *mut GDBusMethodInvocation,
36615        domain: GQuark,
36616        code: gint,
36617        message: *const gchar,
36618    );
36619}
36620extern "C" {
36621    pub fn g_dbus_method_invocation_return_gerror(
36622        invocation: *mut GDBusMethodInvocation,
36623        error: *const GError,
36624    );
36625}
36626extern "C" {
36627    pub fn g_dbus_method_invocation_take_error(
36628        invocation: *mut GDBusMethodInvocation,
36629        error: *mut GError,
36630    );
36631}
36632extern "C" {
36633    pub fn g_dbus_method_invocation_return_dbus_error(
36634        invocation: *mut GDBusMethodInvocation,
36635        error_name: *const gchar,
36636        error_message: *const gchar,
36637    );
36638}
36639pub type GBusAcquiredCallback = ::std::option::Option<
36640    unsafe extern "C" fn(connection: *mut GDBusConnection, name: *const gchar, user_data: gpointer),
36641>;
36642pub type GBusNameAcquiredCallback = ::std::option::Option<
36643    unsafe extern "C" fn(connection: *mut GDBusConnection, name: *const gchar, user_data: gpointer),
36644>;
36645pub type GBusNameLostCallback = ::std::option::Option<
36646    unsafe extern "C" fn(connection: *mut GDBusConnection, name: *const gchar, user_data: gpointer),
36647>;
36648extern "C" {
36649    pub fn g_bus_own_name(
36650        bus_type: GBusType,
36651        name: *const gchar,
36652        flags: GBusNameOwnerFlags,
36653        bus_acquired_handler: GBusAcquiredCallback,
36654        name_acquired_handler: GBusNameAcquiredCallback,
36655        name_lost_handler: GBusNameLostCallback,
36656        user_data: gpointer,
36657        user_data_free_func: GDestroyNotify,
36658    ) -> guint;
36659}
36660extern "C" {
36661    pub fn g_bus_own_name_on_connection(
36662        connection: *mut GDBusConnection,
36663        name: *const gchar,
36664        flags: GBusNameOwnerFlags,
36665        name_acquired_handler: GBusNameAcquiredCallback,
36666        name_lost_handler: GBusNameLostCallback,
36667        user_data: gpointer,
36668        user_data_free_func: GDestroyNotify,
36669    ) -> guint;
36670}
36671extern "C" {
36672    pub fn g_bus_own_name_with_closures(
36673        bus_type: GBusType,
36674        name: *const gchar,
36675        flags: GBusNameOwnerFlags,
36676        bus_acquired_closure: *mut GClosure,
36677        name_acquired_closure: *mut GClosure,
36678        name_lost_closure: *mut GClosure,
36679    ) -> guint;
36680}
36681extern "C" {
36682    pub fn g_bus_own_name_on_connection_with_closures(
36683        connection: *mut GDBusConnection,
36684        name: *const gchar,
36685        flags: GBusNameOwnerFlags,
36686        name_acquired_closure: *mut GClosure,
36687        name_lost_closure: *mut GClosure,
36688    ) -> guint;
36689}
36690extern "C" {
36691    pub fn g_bus_unown_name(owner_id: guint);
36692}
36693pub type GBusNameAppearedCallback = ::std::option::Option<
36694    unsafe extern "C" fn(
36695        connection: *mut GDBusConnection,
36696        name: *const gchar,
36697        name_owner: *const gchar,
36698        user_data: gpointer,
36699    ),
36700>;
36701pub type GBusNameVanishedCallback = ::std::option::Option<
36702    unsafe extern "C" fn(connection: *mut GDBusConnection, name: *const gchar, user_data: gpointer),
36703>;
36704extern "C" {
36705    pub fn g_bus_watch_name(
36706        bus_type: GBusType,
36707        name: *const gchar,
36708        flags: GBusNameWatcherFlags,
36709        name_appeared_handler: GBusNameAppearedCallback,
36710        name_vanished_handler: GBusNameVanishedCallback,
36711        user_data: gpointer,
36712        user_data_free_func: GDestroyNotify,
36713    ) -> guint;
36714}
36715extern "C" {
36716    pub fn g_bus_watch_name_on_connection(
36717        connection: *mut GDBusConnection,
36718        name: *const gchar,
36719        flags: GBusNameWatcherFlags,
36720        name_appeared_handler: GBusNameAppearedCallback,
36721        name_vanished_handler: GBusNameVanishedCallback,
36722        user_data: gpointer,
36723        user_data_free_func: GDestroyNotify,
36724    ) -> guint;
36725}
36726extern "C" {
36727    pub fn g_bus_watch_name_with_closures(
36728        bus_type: GBusType,
36729        name: *const gchar,
36730        flags: GBusNameWatcherFlags,
36731        name_appeared_closure: *mut GClosure,
36732        name_vanished_closure: *mut GClosure,
36733    ) -> guint;
36734}
36735extern "C" {
36736    pub fn g_bus_watch_name_on_connection_with_closures(
36737        connection: *mut GDBusConnection,
36738        name: *const gchar,
36739        flags: GBusNameWatcherFlags,
36740        name_appeared_closure: *mut GClosure,
36741        name_vanished_closure: *mut GClosure,
36742    ) -> guint;
36743}
36744extern "C" {
36745    pub fn g_bus_unwatch_name(watcher_id: guint);
36746}
36747pub type GDBusObjectIface = _GDBusObjectIface;
36748#[repr(C)]
36749#[derive(Debug, Copy, Clone, PartialEq, Eq)]
36750pub struct _GDBusObjectIface {
36751    pub parent_iface: GTypeInterface,
36752    pub get_object_path:
36753        ::std::option::Option<unsafe extern "C" fn(object: *mut GDBusObject) -> *const gchar>,
36754    pub get_interfaces:
36755        ::std::option::Option<unsafe extern "C" fn(object: *mut GDBusObject) -> *mut GList>,
36756    pub get_interface: ::std::option::Option<
36757        unsafe extern "C" fn(
36758            object: *mut GDBusObject,
36759            interface_name: *const gchar,
36760        ) -> *mut GDBusInterface,
36761    >,
36762    pub interface_added: ::std::option::Option<
36763        unsafe extern "C" fn(object: *mut GDBusObject, interface_: *mut GDBusInterface),
36764    >,
36765    pub interface_removed: ::std::option::Option<
36766        unsafe extern "C" fn(object: *mut GDBusObject, interface_: *mut GDBusInterface),
36767    >,
36768}
36769#[test]
36770fn bindgen_test_layout__GDBusObjectIface() {
36771    const UNINIT: ::std::mem::MaybeUninit<_GDBusObjectIface> = ::std::mem::MaybeUninit::uninit();
36772    let ptr = UNINIT.as_ptr();
36773    assert_eq!(
36774        ::std::mem::size_of::<_GDBusObjectIface>(),
36775        56usize,
36776        concat!("Size of: ", stringify!(_GDBusObjectIface))
36777    );
36778    assert_eq!(
36779        ::std::mem::align_of::<_GDBusObjectIface>(),
36780        8usize,
36781        concat!("Alignment of ", stringify!(_GDBusObjectIface))
36782    );
36783    assert_eq!(
36784        unsafe { ::std::ptr::addr_of!((*ptr).parent_iface) as usize - ptr as usize },
36785        0usize,
36786        concat!(
36787            "Offset of field: ",
36788            stringify!(_GDBusObjectIface),
36789            "::",
36790            stringify!(parent_iface)
36791        )
36792    );
36793    assert_eq!(
36794        unsafe { ::std::ptr::addr_of!((*ptr).get_object_path) as usize - ptr as usize },
36795        16usize,
36796        concat!(
36797            "Offset of field: ",
36798            stringify!(_GDBusObjectIface),
36799            "::",
36800            stringify!(get_object_path)
36801        )
36802    );
36803    assert_eq!(
36804        unsafe { ::std::ptr::addr_of!((*ptr).get_interfaces) as usize - ptr as usize },
36805        24usize,
36806        concat!(
36807            "Offset of field: ",
36808            stringify!(_GDBusObjectIface),
36809            "::",
36810            stringify!(get_interfaces)
36811        )
36812    );
36813    assert_eq!(
36814        unsafe { ::std::ptr::addr_of!((*ptr).get_interface) as usize - ptr as usize },
36815        32usize,
36816        concat!(
36817            "Offset of field: ",
36818            stringify!(_GDBusObjectIface),
36819            "::",
36820            stringify!(get_interface)
36821        )
36822    );
36823    assert_eq!(
36824        unsafe { ::std::ptr::addr_of!((*ptr).interface_added) as usize - ptr as usize },
36825        40usize,
36826        concat!(
36827            "Offset of field: ",
36828            stringify!(_GDBusObjectIface),
36829            "::",
36830            stringify!(interface_added)
36831        )
36832    );
36833    assert_eq!(
36834        unsafe { ::std::ptr::addr_of!((*ptr).interface_removed) as usize - ptr as usize },
36835        48usize,
36836        concat!(
36837            "Offset of field: ",
36838            stringify!(_GDBusObjectIface),
36839            "::",
36840            stringify!(interface_removed)
36841        )
36842    );
36843}
36844extern "C" {
36845    pub fn g_dbus_object_get_type() -> GType;
36846}
36847extern "C" {
36848    pub fn g_dbus_object_get_object_path(object: *mut GDBusObject) -> *const gchar;
36849}
36850extern "C" {
36851    pub fn g_dbus_object_get_interfaces(object: *mut GDBusObject) -> *mut GList;
36852}
36853extern "C" {
36854    pub fn g_dbus_object_get_interface(
36855        object: *mut GDBusObject,
36856        interface_name: *const gchar,
36857    ) -> *mut GDBusInterface;
36858}
36859pub type GDBusObjectManagerIface = _GDBusObjectManagerIface;
36860#[repr(C)]
36861#[derive(Debug, Copy, Clone, PartialEq, Eq)]
36862pub struct _GDBusObjectManagerIface {
36863    pub parent_iface: GTypeInterface,
36864    pub get_object_path: ::std::option::Option<
36865        unsafe extern "C" fn(manager: *mut GDBusObjectManager) -> *const gchar,
36866    >,
36867    pub get_objects:
36868        ::std::option::Option<unsafe extern "C" fn(manager: *mut GDBusObjectManager) -> *mut GList>,
36869    pub get_object: ::std::option::Option<
36870        unsafe extern "C" fn(
36871            manager: *mut GDBusObjectManager,
36872            object_path: *const gchar,
36873        ) -> *mut GDBusObject,
36874    >,
36875    pub get_interface: ::std::option::Option<
36876        unsafe extern "C" fn(
36877            manager: *mut GDBusObjectManager,
36878            object_path: *const gchar,
36879            interface_name: *const gchar,
36880        ) -> *mut GDBusInterface,
36881    >,
36882    pub object_added: ::std::option::Option<
36883        unsafe extern "C" fn(manager: *mut GDBusObjectManager, object: *mut GDBusObject),
36884    >,
36885    pub object_removed: ::std::option::Option<
36886        unsafe extern "C" fn(manager: *mut GDBusObjectManager, object: *mut GDBusObject),
36887    >,
36888    pub interface_added: ::std::option::Option<
36889        unsafe extern "C" fn(
36890            manager: *mut GDBusObjectManager,
36891            object: *mut GDBusObject,
36892            interface_: *mut GDBusInterface,
36893        ),
36894    >,
36895    pub interface_removed: ::std::option::Option<
36896        unsafe extern "C" fn(
36897            manager: *mut GDBusObjectManager,
36898            object: *mut GDBusObject,
36899            interface_: *mut GDBusInterface,
36900        ),
36901    >,
36902}
36903#[test]
36904fn bindgen_test_layout__GDBusObjectManagerIface() {
36905    const UNINIT: ::std::mem::MaybeUninit<_GDBusObjectManagerIface> =
36906        ::std::mem::MaybeUninit::uninit();
36907    let ptr = UNINIT.as_ptr();
36908    assert_eq!(
36909        ::std::mem::size_of::<_GDBusObjectManagerIface>(),
36910        80usize,
36911        concat!("Size of: ", stringify!(_GDBusObjectManagerIface))
36912    );
36913    assert_eq!(
36914        ::std::mem::align_of::<_GDBusObjectManagerIface>(),
36915        8usize,
36916        concat!("Alignment of ", stringify!(_GDBusObjectManagerIface))
36917    );
36918    assert_eq!(
36919        unsafe { ::std::ptr::addr_of!((*ptr).parent_iface) as usize - ptr as usize },
36920        0usize,
36921        concat!(
36922            "Offset of field: ",
36923            stringify!(_GDBusObjectManagerIface),
36924            "::",
36925            stringify!(parent_iface)
36926        )
36927    );
36928    assert_eq!(
36929        unsafe { ::std::ptr::addr_of!((*ptr).get_object_path) as usize - ptr as usize },
36930        16usize,
36931        concat!(
36932            "Offset of field: ",
36933            stringify!(_GDBusObjectManagerIface),
36934            "::",
36935            stringify!(get_object_path)
36936        )
36937    );
36938    assert_eq!(
36939        unsafe { ::std::ptr::addr_of!((*ptr).get_objects) as usize - ptr as usize },
36940        24usize,
36941        concat!(
36942            "Offset of field: ",
36943            stringify!(_GDBusObjectManagerIface),
36944            "::",
36945            stringify!(get_objects)
36946        )
36947    );
36948    assert_eq!(
36949        unsafe { ::std::ptr::addr_of!((*ptr).get_object) as usize - ptr as usize },
36950        32usize,
36951        concat!(
36952            "Offset of field: ",
36953            stringify!(_GDBusObjectManagerIface),
36954            "::",
36955            stringify!(get_object)
36956        )
36957    );
36958    assert_eq!(
36959        unsafe { ::std::ptr::addr_of!((*ptr).get_interface) as usize - ptr as usize },
36960        40usize,
36961        concat!(
36962            "Offset of field: ",
36963            stringify!(_GDBusObjectManagerIface),
36964            "::",
36965            stringify!(get_interface)
36966        )
36967    );
36968    assert_eq!(
36969        unsafe { ::std::ptr::addr_of!((*ptr).object_added) as usize - ptr as usize },
36970        48usize,
36971        concat!(
36972            "Offset of field: ",
36973            stringify!(_GDBusObjectManagerIface),
36974            "::",
36975            stringify!(object_added)
36976        )
36977    );
36978    assert_eq!(
36979        unsafe { ::std::ptr::addr_of!((*ptr).object_removed) as usize - ptr as usize },
36980        56usize,
36981        concat!(
36982            "Offset of field: ",
36983            stringify!(_GDBusObjectManagerIface),
36984            "::",
36985            stringify!(object_removed)
36986        )
36987    );
36988    assert_eq!(
36989        unsafe { ::std::ptr::addr_of!((*ptr).interface_added) as usize - ptr as usize },
36990        64usize,
36991        concat!(
36992            "Offset of field: ",
36993            stringify!(_GDBusObjectManagerIface),
36994            "::",
36995            stringify!(interface_added)
36996        )
36997    );
36998    assert_eq!(
36999        unsafe { ::std::ptr::addr_of!((*ptr).interface_removed) as usize - ptr as usize },
37000        72usize,
37001        concat!(
37002            "Offset of field: ",
37003            stringify!(_GDBusObjectManagerIface),
37004            "::",
37005            stringify!(interface_removed)
37006        )
37007    );
37008}
37009extern "C" {
37010    pub fn g_dbus_object_manager_get_type() -> GType;
37011}
37012extern "C" {
37013    pub fn g_dbus_object_manager_get_object_path(manager: *mut GDBusObjectManager) -> *const gchar;
37014}
37015extern "C" {
37016    pub fn g_dbus_object_manager_get_objects(manager: *mut GDBusObjectManager) -> *mut GList;
37017}
37018extern "C" {
37019    pub fn g_dbus_object_manager_get_object(
37020        manager: *mut GDBusObjectManager,
37021        object_path: *const gchar,
37022    ) -> *mut GDBusObject;
37023}
37024extern "C" {
37025    pub fn g_dbus_object_manager_get_interface(
37026        manager: *mut GDBusObjectManager,
37027        object_path: *const gchar,
37028        interface_name: *const gchar,
37029    ) -> *mut GDBusInterface;
37030}
37031pub type GDBusObjectManagerClientClass = _GDBusObjectManagerClientClass;
37032#[repr(C)]
37033#[derive(Debug, Copy, Clone)]
37034pub struct _GDBusObjectManagerClientPrivate {
37035    _unused: [u8; 0],
37036}
37037pub type GDBusObjectManagerClientPrivate = _GDBusObjectManagerClientPrivate;
37038#[repr(C)]
37039#[derive(Debug, Copy, Clone, PartialEq, Eq)]
37040pub struct _GDBusObjectManagerClient {
37041    pub parent_instance: GObject,
37042    pub priv_: *mut GDBusObjectManagerClientPrivate,
37043}
37044#[test]
37045fn bindgen_test_layout__GDBusObjectManagerClient() {
37046    const UNINIT: ::std::mem::MaybeUninit<_GDBusObjectManagerClient> =
37047        ::std::mem::MaybeUninit::uninit();
37048    let ptr = UNINIT.as_ptr();
37049    assert_eq!(
37050        ::std::mem::size_of::<_GDBusObjectManagerClient>(),
37051        32usize,
37052        concat!("Size of: ", stringify!(_GDBusObjectManagerClient))
37053    );
37054    assert_eq!(
37055        ::std::mem::align_of::<_GDBusObjectManagerClient>(),
37056        8usize,
37057        concat!("Alignment of ", stringify!(_GDBusObjectManagerClient))
37058    );
37059    assert_eq!(
37060        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
37061        0usize,
37062        concat!(
37063            "Offset of field: ",
37064            stringify!(_GDBusObjectManagerClient),
37065            "::",
37066            stringify!(parent_instance)
37067        )
37068    );
37069    assert_eq!(
37070        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
37071        24usize,
37072        concat!(
37073            "Offset of field: ",
37074            stringify!(_GDBusObjectManagerClient),
37075            "::",
37076            stringify!(priv_)
37077        )
37078    );
37079}
37080#[repr(C)]
37081#[derive(Debug, Copy, Clone, PartialEq, Eq)]
37082pub struct _GDBusObjectManagerClientClass {
37083    pub parent_class: GObjectClass,
37084    pub interface_proxy_signal: ::std::option::Option<
37085        unsafe extern "C" fn(
37086            manager: *mut GDBusObjectManagerClient,
37087            object_proxy: *mut GDBusObjectProxy,
37088            interface_proxy: *mut GDBusProxy,
37089            sender_name: *const gchar,
37090            signal_name: *const gchar,
37091            parameters: *mut GVariant,
37092        ),
37093    >,
37094    pub interface_proxy_properties_changed: ::std::option::Option<
37095        unsafe extern "C" fn(
37096            manager: *mut GDBusObjectManagerClient,
37097            object_proxy: *mut GDBusObjectProxy,
37098            interface_proxy: *mut GDBusProxy,
37099            changed_properties: *mut GVariant,
37100            invalidated_properties: *const *const gchar,
37101        ),
37102    >,
37103    pub padding: [gpointer; 8usize],
37104}
37105#[test]
37106fn bindgen_test_layout__GDBusObjectManagerClientClass() {
37107    const UNINIT: ::std::mem::MaybeUninit<_GDBusObjectManagerClientClass> =
37108        ::std::mem::MaybeUninit::uninit();
37109    let ptr = UNINIT.as_ptr();
37110    assert_eq!(
37111        ::std::mem::size_of::<_GDBusObjectManagerClientClass>(),
37112        216usize,
37113        concat!("Size of: ", stringify!(_GDBusObjectManagerClientClass))
37114    );
37115    assert_eq!(
37116        ::std::mem::align_of::<_GDBusObjectManagerClientClass>(),
37117        8usize,
37118        concat!("Alignment of ", stringify!(_GDBusObjectManagerClientClass))
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!(_GDBusObjectManagerClientClass),
37126            "::",
37127            stringify!(parent_class)
37128        )
37129    );
37130    assert_eq!(
37131        unsafe { ::std::ptr::addr_of!((*ptr).interface_proxy_signal) as usize - ptr as usize },
37132        136usize,
37133        concat!(
37134            "Offset of field: ",
37135            stringify!(_GDBusObjectManagerClientClass),
37136            "::",
37137            stringify!(interface_proxy_signal)
37138        )
37139    );
37140    assert_eq!(
37141        unsafe {
37142            ::std::ptr::addr_of!((*ptr).interface_proxy_properties_changed) as usize - ptr as usize
37143        },
37144        144usize,
37145        concat!(
37146            "Offset of field: ",
37147            stringify!(_GDBusObjectManagerClientClass),
37148            "::",
37149            stringify!(interface_proxy_properties_changed)
37150        )
37151    );
37152    assert_eq!(
37153        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
37154        152usize,
37155        concat!(
37156            "Offset of field: ",
37157            stringify!(_GDBusObjectManagerClientClass),
37158            "::",
37159            stringify!(padding)
37160        )
37161    );
37162}
37163extern "C" {
37164    pub fn g_dbus_object_manager_client_get_type() -> GType;
37165}
37166extern "C" {
37167    pub fn g_dbus_object_manager_client_new(
37168        connection: *mut GDBusConnection,
37169        flags: GDBusObjectManagerClientFlags,
37170        name: *const gchar,
37171        object_path: *const gchar,
37172        get_proxy_type_func: GDBusProxyTypeFunc,
37173        get_proxy_type_user_data: gpointer,
37174        get_proxy_type_destroy_notify: GDestroyNotify,
37175        cancellable: *mut GCancellable,
37176        callback: GAsyncReadyCallback,
37177        user_data: gpointer,
37178    );
37179}
37180extern "C" {
37181    pub fn g_dbus_object_manager_client_new_finish(
37182        res: *mut GAsyncResult,
37183        error: *mut *mut GError,
37184    ) -> *mut GDBusObjectManager;
37185}
37186extern "C" {
37187    pub fn g_dbus_object_manager_client_new_sync(
37188        connection: *mut GDBusConnection,
37189        flags: GDBusObjectManagerClientFlags,
37190        name: *const gchar,
37191        object_path: *const gchar,
37192        get_proxy_type_func: GDBusProxyTypeFunc,
37193        get_proxy_type_user_data: gpointer,
37194        get_proxy_type_destroy_notify: GDestroyNotify,
37195        cancellable: *mut GCancellable,
37196        error: *mut *mut GError,
37197    ) -> *mut GDBusObjectManager;
37198}
37199extern "C" {
37200    pub fn g_dbus_object_manager_client_new_for_bus(
37201        bus_type: GBusType,
37202        flags: GDBusObjectManagerClientFlags,
37203        name: *const gchar,
37204        object_path: *const gchar,
37205        get_proxy_type_func: GDBusProxyTypeFunc,
37206        get_proxy_type_user_data: gpointer,
37207        get_proxy_type_destroy_notify: GDestroyNotify,
37208        cancellable: *mut GCancellable,
37209        callback: GAsyncReadyCallback,
37210        user_data: gpointer,
37211    );
37212}
37213extern "C" {
37214    pub fn g_dbus_object_manager_client_new_for_bus_finish(
37215        res: *mut GAsyncResult,
37216        error: *mut *mut GError,
37217    ) -> *mut GDBusObjectManager;
37218}
37219extern "C" {
37220    pub fn g_dbus_object_manager_client_new_for_bus_sync(
37221        bus_type: GBusType,
37222        flags: GDBusObjectManagerClientFlags,
37223        name: *const gchar,
37224        object_path: *const gchar,
37225        get_proxy_type_func: GDBusProxyTypeFunc,
37226        get_proxy_type_user_data: gpointer,
37227        get_proxy_type_destroy_notify: GDestroyNotify,
37228        cancellable: *mut GCancellable,
37229        error: *mut *mut GError,
37230    ) -> *mut GDBusObjectManager;
37231}
37232extern "C" {
37233    pub fn g_dbus_object_manager_client_get_connection(
37234        manager: *mut GDBusObjectManagerClient,
37235    ) -> *mut GDBusConnection;
37236}
37237extern "C" {
37238    pub fn g_dbus_object_manager_client_get_flags(
37239        manager: *mut GDBusObjectManagerClient,
37240    ) -> GDBusObjectManagerClientFlags;
37241}
37242extern "C" {
37243    pub fn g_dbus_object_manager_client_get_name(
37244        manager: *mut GDBusObjectManagerClient,
37245    ) -> *const gchar;
37246}
37247extern "C" {
37248    pub fn g_dbus_object_manager_client_get_name_owner(
37249        manager: *mut GDBusObjectManagerClient,
37250    ) -> *mut gchar;
37251}
37252pub type GDBusObjectManagerServerClass = _GDBusObjectManagerServerClass;
37253#[repr(C)]
37254#[derive(Debug, Copy, Clone)]
37255pub struct _GDBusObjectManagerServerPrivate {
37256    _unused: [u8; 0],
37257}
37258pub type GDBusObjectManagerServerPrivate = _GDBusObjectManagerServerPrivate;
37259#[repr(C)]
37260#[derive(Debug, Copy, Clone, PartialEq, Eq)]
37261pub struct _GDBusObjectManagerServer {
37262    pub parent_instance: GObject,
37263    pub priv_: *mut GDBusObjectManagerServerPrivate,
37264}
37265#[test]
37266fn bindgen_test_layout__GDBusObjectManagerServer() {
37267    const UNINIT: ::std::mem::MaybeUninit<_GDBusObjectManagerServer> =
37268        ::std::mem::MaybeUninit::uninit();
37269    let ptr = UNINIT.as_ptr();
37270    assert_eq!(
37271        ::std::mem::size_of::<_GDBusObjectManagerServer>(),
37272        32usize,
37273        concat!("Size of: ", stringify!(_GDBusObjectManagerServer))
37274    );
37275    assert_eq!(
37276        ::std::mem::align_of::<_GDBusObjectManagerServer>(),
37277        8usize,
37278        concat!("Alignment of ", stringify!(_GDBusObjectManagerServer))
37279    );
37280    assert_eq!(
37281        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
37282        0usize,
37283        concat!(
37284            "Offset of field: ",
37285            stringify!(_GDBusObjectManagerServer),
37286            "::",
37287            stringify!(parent_instance)
37288        )
37289    );
37290    assert_eq!(
37291        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
37292        24usize,
37293        concat!(
37294            "Offset of field: ",
37295            stringify!(_GDBusObjectManagerServer),
37296            "::",
37297            stringify!(priv_)
37298        )
37299    );
37300}
37301#[repr(C)]
37302#[derive(Debug, Copy, Clone, PartialEq, Eq)]
37303pub struct _GDBusObjectManagerServerClass {
37304    pub parent_class: GObjectClass,
37305    pub padding: [gpointer; 8usize],
37306}
37307#[test]
37308fn bindgen_test_layout__GDBusObjectManagerServerClass() {
37309    const UNINIT: ::std::mem::MaybeUninit<_GDBusObjectManagerServerClass> =
37310        ::std::mem::MaybeUninit::uninit();
37311    let ptr = UNINIT.as_ptr();
37312    assert_eq!(
37313        ::std::mem::size_of::<_GDBusObjectManagerServerClass>(),
37314        200usize,
37315        concat!("Size of: ", stringify!(_GDBusObjectManagerServerClass))
37316    );
37317    assert_eq!(
37318        ::std::mem::align_of::<_GDBusObjectManagerServerClass>(),
37319        8usize,
37320        concat!("Alignment of ", stringify!(_GDBusObjectManagerServerClass))
37321    );
37322    assert_eq!(
37323        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
37324        0usize,
37325        concat!(
37326            "Offset of field: ",
37327            stringify!(_GDBusObjectManagerServerClass),
37328            "::",
37329            stringify!(parent_class)
37330        )
37331    );
37332    assert_eq!(
37333        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
37334        136usize,
37335        concat!(
37336            "Offset of field: ",
37337            stringify!(_GDBusObjectManagerServerClass),
37338            "::",
37339            stringify!(padding)
37340        )
37341    );
37342}
37343extern "C" {
37344    pub fn g_dbus_object_manager_server_get_type() -> GType;
37345}
37346extern "C" {
37347    pub fn g_dbus_object_manager_server_new(
37348        object_path: *const gchar,
37349    ) -> *mut GDBusObjectManagerServer;
37350}
37351extern "C" {
37352    pub fn g_dbus_object_manager_server_get_connection(
37353        manager: *mut GDBusObjectManagerServer,
37354    ) -> *mut GDBusConnection;
37355}
37356extern "C" {
37357    pub fn g_dbus_object_manager_server_set_connection(
37358        manager: *mut GDBusObjectManagerServer,
37359        connection: *mut GDBusConnection,
37360    );
37361}
37362extern "C" {
37363    pub fn g_dbus_object_manager_server_export(
37364        manager: *mut GDBusObjectManagerServer,
37365        object: *mut GDBusObjectSkeleton,
37366    );
37367}
37368extern "C" {
37369    pub fn g_dbus_object_manager_server_export_uniquely(
37370        manager: *mut GDBusObjectManagerServer,
37371        object: *mut GDBusObjectSkeleton,
37372    );
37373}
37374extern "C" {
37375    pub fn g_dbus_object_manager_server_is_exported(
37376        manager: *mut GDBusObjectManagerServer,
37377        object: *mut GDBusObjectSkeleton,
37378    ) -> gboolean;
37379}
37380extern "C" {
37381    pub fn g_dbus_object_manager_server_unexport(
37382        manager: *mut GDBusObjectManagerServer,
37383        object_path: *const gchar,
37384    ) -> gboolean;
37385}
37386pub type GDBusObjectProxyClass = _GDBusObjectProxyClass;
37387#[repr(C)]
37388#[derive(Debug, Copy, Clone)]
37389pub struct _GDBusObjectProxyPrivate {
37390    _unused: [u8; 0],
37391}
37392pub type GDBusObjectProxyPrivate = _GDBusObjectProxyPrivate;
37393#[repr(C)]
37394#[derive(Debug, Copy, Clone, PartialEq, Eq)]
37395pub struct _GDBusObjectProxy {
37396    pub parent_instance: GObject,
37397    pub priv_: *mut GDBusObjectProxyPrivate,
37398}
37399#[test]
37400fn bindgen_test_layout__GDBusObjectProxy() {
37401    const UNINIT: ::std::mem::MaybeUninit<_GDBusObjectProxy> = ::std::mem::MaybeUninit::uninit();
37402    let ptr = UNINIT.as_ptr();
37403    assert_eq!(
37404        ::std::mem::size_of::<_GDBusObjectProxy>(),
37405        32usize,
37406        concat!("Size of: ", stringify!(_GDBusObjectProxy))
37407    );
37408    assert_eq!(
37409        ::std::mem::align_of::<_GDBusObjectProxy>(),
37410        8usize,
37411        concat!("Alignment of ", stringify!(_GDBusObjectProxy))
37412    );
37413    assert_eq!(
37414        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
37415        0usize,
37416        concat!(
37417            "Offset of field: ",
37418            stringify!(_GDBusObjectProxy),
37419            "::",
37420            stringify!(parent_instance)
37421        )
37422    );
37423    assert_eq!(
37424        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
37425        24usize,
37426        concat!(
37427            "Offset of field: ",
37428            stringify!(_GDBusObjectProxy),
37429            "::",
37430            stringify!(priv_)
37431        )
37432    );
37433}
37434#[repr(C)]
37435#[derive(Debug, Copy, Clone, PartialEq, Eq)]
37436pub struct _GDBusObjectProxyClass {
37437    pub parent_class: GObjectClass,
37438    pub padding: [gpointer; 8usize],
37439}
37440#[test]
37441fn bindgen_test_layout__GDBusObjectProxyClass() {
37442    const UNINIT: ::std::mem::MaybeUninit<_GDBusObjectProxyClass> =
37443        ::std::mem::MaybeUninit::uninit();
37444    let ptr = UNINIT.as_ptr();
37445    assert_eq!(
37446        ::std::mem::size_of::<_GDBusObjectProxyClass>(),
37447        200usize,
37448        concat!("Size of: ", stringify!(_GDBusObjectProxyClass))
37449    );
37450    assert_eq!(
37451        ::std::mem::align_of::<_GDBusObjectProxyClass>(),
37452        8usize,
37453        concat!("Alignment of ", stringify!(_GDBusObjectProxyClass))
37454    );
37455    assert_eq!(
37456        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
37457        0usize,
37458        concat!(
37459            "Offset of field: ",
37460            stringify!(_GDBusObjectProxyClass),
37461            "::",
37462            stringify!(parent_class)
37463        )
37464    );
37465    assert_eq!(
37466        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
37467        136usize,
37468        concat!(
37469            "Offset of field: ",
37470            stringify!(_GDBusObjectProxyClass),
37471            "::",
37472            stringify!(padding)
37473        )
37474    );
37475}
37476extern "C" {
37477    pub fn g_dbus_object_proxy_get_type() -> GType;
37478}
37479extern "C" {
37480    pub fn g_dbus_object_proxy_new(
37481        connection: *mut GDBusConnection,
37482        object_path: *const gchar,
37483    ) -> *mut GDBusObjectProxy;
37484}
37485extern "C" {
37486    pub fn g_dbus_object_proxy_get_connection(proxy: *mut GDBusObjectProxy)
37487        -> *mut GDBusConnection;
37488}
37489pub type GDBusObjectSkeletonClass = _GDBusObjectSkeletonClass;
37490#[repr(C)]
37491#[derive(Debug, Copy, Clone)]
37492pub struct _GDBusObjectSkeletonPrivate {
37493    _unused: [u8; 0],
37494}
37495pub type GDBusObjectSkeletonPrivate = _GDBusObjectSkeletonPrivate;
37496#[repr(C)]
37497#[derive(Debug, Copy, Clone, PartialEq, Eq)]
37498pub struct _GDBusObjectSkeleton {
37499    pub parent_instance: GObject,
37500    pub priv_: *mut GDBusObjectSkeletonPrivate,
37501}
37502#[test]
37503fn bindgen_test_layout__GDBusObjectSkeleton() {
37504    const UNINIT: ::std::mem::MaybeUninit<_GDBusObjectSkeleton> = ::std::mem::MaybeUninit::uninit();
37505    let ptr = UNINIT.as_ptr();
37506    assert_eq!(
37507        ::std::mem::size_of::<_GDBusObjectSkeleton>(),
37508        32usize,
37509        concat!("Size of: ", stringify!(_GDBusObjectSkeleton))
37510    );
37511    assert_eq!(
37512        ::std::mem::align_of::<_GDBusObjectSkeleton>(),
37513        8usize,
37514        concat!("Alignment of ", stringify!(_GDBusObjectSkeleton))
37515    );
37516    assert_eq!(
37517        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
37518        0usize,
37519        concat!(
37520            "Offset of field: ",
37521            stringify!(_GDBusObjectSkeleton),
37522            "::",
37523            stringify!(parent_instance)
37524        )
37525    );
37526    assert_eq!(
37527        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
37528        24usize,
37529        concat!(
37530            "Offset of field: ",
37531            stringify!(_GDBusObjectSkeleton),
37532            "::",
37533            stringify!(priv_)
37534        )
37535    );
37536}
37537#[repr(C)]
37538#[derive(Debug, Copy, Clone, PartialEq, Eq)]
37539pub struct _GDBusObjectSkeletonClass {
37540    pub parent_class: GObjectClass,
37541    pub authorize_method: ::std::option::Option<
37542        unsafe extern "C" fn(
37543            object: *mut GDBusObjectSkeleton,
37544            interface_: *mut GDBusInterfaceSkeleton,
37545            invocation: *mut GDBusMethodInvocation,
37546        ) -> gboolean,
37547    >,
37548    pub padding: [gpointer; 8usize],
37549}
37550#[test]
37551fn bindgen_test_layout__GDBusObjectSkeletonClass() {
37552    const UNINIT: ::std::mem::MaybeUninit<_GDBusObjectSkeletonClass> =
37553        ::std::mem::MaybeUninit::uninit();
37554    let ptr = UNINIT.as_ptr();
37555    assert_eq!(
37556        ::std::mem::size_of::<_GDBusObjectSkeletonClass>(),
37557        208usize,
37558        concat!("Size of: ", stringify!(_GDBusObjectSkeletonClass))
37559    );
37560    assert_eq!(
37561        ::std::mem::align_of::<_GDBusObjectSkeletonClass>(),
37562        8usize,
37563        concat!("Alignment of ", stringify!(_GDBusObjectSkeletonClass))
37564    );
37565    assert_eq!(
37566        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
37567        0usize,
37568        concat!(
37569            "Offset of field: ",
37570            stringify!(_GDBusObjectSkeletonClass),
37571            "::",
37572            stringify!(parent_class)
37573        )
37574    );
37575    assert_eq!(
37576        unsafe { ::std::ptr::addr_of!((*ptr).authorize_method) as usize - ptr as usize },
37577        136usize,
37578        concat!(
37579            "Offset of field: ",
37580            stringify!(_GDBusObjectSkeletonClass),
37581            "::",
37582            stringify!(authorize_method)
37583        )
37584    );
37585    assert_eq!(
37586        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
37587        144usize,
37588        concat!(
37589            "Offset of field: ",
37590            stringify!(_GDBusObjectSkeletonClass),
37591            "::",
37592            stringify!(padding)
37593        )
37594    );
37595}
37596extern "C" {
37597    pub fn g_dbus_object_skeleton_get_type() -> GType;
37598}
37599extern "C" {
37600    pub fn g_dbus_object_skeleton_new(object_path: *const gchar) -> *mut GDBusObjectSkeleton;
37601}
37602extern "C" {
37603    pub fn g_dbus_object_skeleton_flush(object: *mut GDBusObjectSkeleton);
37604}
37605extern "C" {
37606    pub fn g_dbus_object_skeleton_add_interface(
37607        object: *mut GDBusObjectSkeleton,
37608        interface_: *mut GDBusInterfaceSkeleton,
37609    );
37610}
37611extern "C" {
37612    pub fn g_dbus_object_skeleton_remove_interface(
37613        object: *mut GDBusObjectSkeleton,
37614        interface_: *mut GDBusInterfaceSkeleton,
37615    );
37616}
37617extern "C" {
37618    pub fn g_dbus_object_skeleton_remove_interface_by_name(
37619        object: *mut GDBusObjectSkeleton,
37620        interface_name: *const gchar,
37621    );
37622}
37623extern "C" {
37624    pub fn g_dbus_object_skeleton_set_object_path(
37625        object: *mut GDBusObjectSkeleton,
37626        object_path: *const gchar,
37627    );
37628}
37629pub type GDBusProxyClass = _GDBusProxyClass;
37630#[repr(C)]
37631#[derive(Debug, Copy, Clone)]
37632pub struct _GDBusProxyPrivate {
37633    _unused: [u8; 0],
37634}
37635pub type GDBusProxyPrivate = _GDBusProxyPrivate;
37636#[repr(C)]
37637#[derive(Debug, Copy, Clone, PartialEq, Eq)]
37638pub struct _GDBusProxy {
37639    pub parent_instance: GObject,
37640    pub priv_: *mut GDBusProxyPrivate,
37641}
37642#[test]
37643fn bindgen_test_layout__GDBusProxy() {
37644    const UNINIT: ::std::mem::MaybeUninit<_GDBusProxy> = ::std::mem::MaybeUninit::uninit();
37645    let ptr = UNINIT.as_ptr();
37646    assert_eq!(
37647        ::std::mem::size_of::<_GDBusProxy>(),
37648        32usize,
37649        concat!("Size of: ", stringify!(_GDBusProxy))
37650    );
37651    assert_eq!(
37652        ::std::mem::align_of::<_GDBusProxy>(),
37653        8usize,
37654        concat!("Alignment of ", stringify!(_GDBusProxy))
37655    );
37656    assert_eq!(
37657        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
37658        0usize,
37659        concat!(
37660            "Offset of field: ",
37661            stringify!(_GDBusProxy),
37662            "::",
37663            stringify!(parent_instance)
37664        )
37665    );
37666    assert_eq!(
37667        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
37668        24usize,
37669        concat!(
37670            "Offset of field: ",
37671            stringify!(_GDBusProxy),
37672            "::",
37673            stringify!(priv_)
37674        )
37675    );
37676}
37677#[repr(C)]
37678#[derive(Debug, Copy, Clone, PartialEq, Eq)]
37679pub struct _GDBusProxyClass {
37680    pub parent_class: GObjectClass,
37681    pub g_properties_changed: ::std::option::Option<
37682        unsafe extern "C" fn(
37683            proxy: *mut GDBusProxy,
37684            changed_properties: *mut GVariant,
37685            invalidated_properties: *const *const gchar,
37686        ),
37687    >,
37688    pub g_signal: ::std::option::Option<
37689        unsafe extern "C" fn(
37690            proxy: *mut GDBusProxy,
37691            sender_name: *const gchar,
37692            signal_name: *const gchar,
37693            parameters: *mut GVariant,
37694        ),
37695    >,
37696    pub padding: [gpointer; 32usize],
37697}
37698#[test]
37699fn bindgen_test_layout__GDBusProxyClass() {
37700    const UNINIT: ::std::mem::MaybeUninit<_GDBusProxyClass> = ::std::mem::MaybeUninit::uninit();
37701    let ptr = UNINIT.as_ptr();
37702    assert_eq!(
37703        ::std::mem::size_of::<_GDBusProxyClass>(),
37704        408usize,
37705        concat!("Size of: ", stringify!(_GDBusProxyClass))
37706    );
37707    assert_eq!(
37708        ::std::mem::align_of::<_GDBusProxyClass>(),
37709        8usize,
37710        concat!("Alignment of ", stringify!(_GDBusProxyClass))
37711    );
37712    assert_eq!(
37713        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
37714        0usize,
37715        concat!(
37716            "Offset of field: ",
37717            stringify!(_GDBusProxyClass),
37718            "::",
37719            stringify!(parent_class)
37720        )
37721    );
37722    assert_eq!(
37723        unsafe { ::std::ptr::addr_of!((*ptr).g_properties_changed) as usize - ptr as usize },
37724        136usize,
37725        concat!(
37726            "Offset of field: ",
37727            stringify!(_GDBusProxyClass),
37728            "::",
37729            stringify!(g_properties_changed)
37730        )
37731    );
37732    assert_eq!(
37733        unsafe { ::std::ptr::addr_of!((*ptr).g_signal) as usize - ptr as usize },
37734        144usize,
37735        concat!(
37736            "Offset of field: ",
37737            stringify!(_GDBusProxyClass),
37738            "::",
37739            stringify!(g_signal)
37740        )
37741    );
37742    assert_eq!(
37743        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
37744        152usize,
37745        concat!(
37746            "Offset of field: ",
37747            stringify!(_GDBusProxyClass),
37748            "::",
37749            stringify!(padding)
37750        )
37751    );
37752}
37753extern "C" {
37754    pub fn g_dbus_proxy_get_type() -> GType;
37755}
37756extern "C" {
37757    pub fn g_dbus_proxy_new(
37758        connection: *mut GDBusConnection,
37759        flags: GDBusProxyFlags,
37760        info: *mut GDBusInterfaceInfo,
37761        name: *const gchar,
37762        object_path: *const gchar,
37763        interface_name: *const gchar,
37764        cancellable: *mut GCancellable,
37765        callback: GAsyncReadyCallback,
37766        user_data: gpointer,
37767    );
37768}
37769extern "C" {
37770    pub fn g_dbus_proxy_new_finish(
37771        res: *mut GAsyncResult,
37772        error: *mut *mut GError,
37773    ) -> *mut GDBusProxy;
37774}
37775extern "C" {
37776    pub fn g_dbus_proxy_new_sync(
37777        connection: *mut GDBusConnection,
37778        flags: GDBusProxyFlags,
37779        info: *mut GDBusInterfaceInfo,
37780        name: *const gchar,
37781        object_path: *const gchar,
37782        interface_name: *const gchar,
37783        cancellable: *mut GCancellable,
37784        error: *mut *mut GError,
37785    ) -> *mut GDBusProxy;
37786}
37787extern "C" {
37788    pub fn g_dbus_proxy_new_for_bus(
37789        bus_type: GBusType,
37790        flags: GDBusProxyFlags,
37791        info: *mut GDBusInterfaceInfo,
37792        name: *const gchar,
37793        object_path: *const gchar,
37794        interface_name: *const gchar,
37795        cancellable: *mut GCancellable,
37796        callback: GAsyncReadyCallback,
37797        user_data: gpointer,
37798    );
37799}
37800extern "C" {
37801    pub fn g_dbus_proxy_new_for_bus_finish(
37802        res: *mut GAsyncResult,
37803        error: *mut *mut GError,
37804    ) -> *mut GDBusProxy;
37805}
37806extern "C" {
37807    pub fn g_dbus_proxy_new_for_bus_sync(
37808        bus_type: GBusType,
37809        flags: GDBusProxyFlags,
37810        info: *mut GDBusInterfaceInfo,
37811        name: *const gchar,
37812        object_path: *const gchar,
37813        interface_name: *const gchar,
37814        cancellable: *mut GCancellable,
37815        error: *mut *mut GError,
37816    ) -> *mut GDBusProxy;
37817}
37818extern "C" {
37819    pub fn g_dbus_proxy_get_connection(proxy: *mut GDBusProxy) -> *mut GDBusConnection;
37820}
37821extern "C" {
37822    pub fn g_dbus_proxy_get_flags(proxy: *mut GDBusProxy) -> GDBusProxyFlags;
37823}
37824extern "C" {
37825    pub fn g_dbus_proxy_get_name(proxy: *mut GDBusProxy) -> *const gchar;
37826}
37827extern "C" {
37828    pub fn g_dbus_proxy_get_name_owner(proxy: *mut GDBusProxy) -> *mut gchar;
37829}
37830extern "C" {
37831    pub fn g_dbus_proxy_get_object_path(proxy: *mut GDBusProxy) -> *const gchar;
37832}
37833extern "C" {
37834    pub fn g_dbus_proxy_get_interface_name(proxy: *mut GDBusProxy) -> *const gchar;
37835}
37836extern "C" {
37837    pub fn g_dbus_proxy_get_default_timeout(proxy: *mut GDBusProxy) -> gint;
37838}
37839extern "C" {
37840    pub fn g_dbus_proxy_set_default_timeout(proxy: *mut GDBusProxy, timeout_msec: gint);
37841}
37842extern "C" {
37843    pub fn g_dbus_proxy_get_interface_info(proxy: *mut GDBusProxy) -> *mut GDBusInterfaceInfo;
37844}
37845extern "C" {
37846    pub fn g_dbus_proxy_set_interface_info(proxy: *mut GDBusProxy, info: *mut GDBusInterfaceInfo);
37847}
37848extern "C" {
37849    pub fn g_dbus_proxy_get_cached_property(
37850        proxy: *mut GDBusProxy,
37851        property_name: *const gchar,
37852    ) -> *mut GVariant;
37853}
37854extern "C" {
37855    pub fn g_dbus_proxy_set_cached_property(
37856        proxy: *mut GDBusProxy,
37857        property_name: *const gchar,
37858        value: *mut GVariant,
37859    );
37860}
37861extern "C" {
37862    pub fn g_dbus_proxy_get_cached_property_names(proxy: *mut GDBusProxy) -> *mut *mut gchar;
37863}
37864extern "C" {
37865    pub fn g_dbus_proxy_call(
37866        proxy: *mut GDBusProxy,
37867        method_name: *const gchar,
37868        parameters: *mut GVariant,
37869        flags: GDBusCallFlags,
37870        timeout_msec: gint,
37871        cancellable: *mut GCancellable,
37872        callback: GAsyncReadyCallback,
37873        user_data: gpointer,
37874    );
37875}
37876extern "C" {
37877    pub fn g_dbus_proxy_call_finish(
37878        proxy: *mut GDBusProxy,
37879        res: *mut GAsyncResult,
37880        error: *mut *mut GError,
37881    ) -> *mut GVariant;
37882}
37883extern "C" {
37884    pub fn g_dbus_proxy_call_sync(
37885        proxy: *mut GDBusProxy,
37886        method_name: *const gchar,
37887        parameters: *mut GVariant,
37888        flags: GDBusCallFlags,
37889        timeout_msec: gint,
37890        cancellable: *mut GCancellable,
37891        error: *mut *mut GError,
37892    ) -> *mut GVariant;
37893}
37894extern "C" {
37895    pub fn g_dbus_proxy_call_with_unix_fd_list(
37896        proxy: *mut GDBusProxy,
37897        method_name: *const gchar,
37898        parameters: *mut GVariant,
37899        flags: GDBusCallFlags,
37900        timeout_msec: gint,
37901        fd_list: *mut GUnixFDList,
37902        cancellable: *mut GCancellable,
37903        callback: GAsyncReadyCallback,
37904        user_data: gpointer,
37905    );
37906}
37907extern "C" {
37908    pub fn g_dbus_proxy_call_with_unix_fd_list_finish(
37909        proxy: *mut GDBusProxy,
37910        out_fd_list: *mut *mut GUnixFDList,
37911        res: *mut GAsyncResult,
37912        error: *mut *mut GError,
37913    ) -> *mut GVariant;
37914}
37915extern "C" {
37916    pub fn g_dbus_proxy_call_with_unix_fd_list_sync(
37917        proxy: *mut GDBusProxy,
37918        method_name: *const gchar,
37919        parameters: *mut GVariant,
37920        flags: GDBusCallFlags,
37921        timeout_msec: gint,
37922        fd_list: *mut GUnixFDList,
37923        out_fd_list: *mut *mut GUnixFDList,
37924        cancellable: *mut GCancellable,
37925        error: *mut *mut GError,
37926    ) -> *mut GVariant;
37927}
37928extern "C" {
37929    pub fn g_dbus_server_get_type() -> GType;
37930}
37931extern "C" {
37932    pub fn g_dbus_server_new_sync(
37933        address: *const gchar,
37934        flags: GDBusServerFlags,
37935        guid: *const gchar,
37936        observer: *mut GDBusAuthObserver,
37937        cancellable: *mut GCancellable,
37938        error: *mut *mut GError,
37939    ) -> *mut GDBusServer;
37940}
37941extern "C" {
37942    pub fn g_dbus_server_get_client_address(server: *mut GDBusServer) -> *const gchar;
37943}
37944extern "C" {
37945    pub fn g_dbus_server_get_guid(server: *mut GDBusServer) -> *const gchar;
37946}
37947extern "C" {
37948    pub fn g_dbus_server_get_flags(server: *mut GDBusServer) -> GDBusServerFlags;
37949}
37950extern "C" {
37951    pub fn g_dbus_server_start(server: *mut GDBusServer);
37952}
37953extern "C" {
37954    pub fn g_dbus_server_stop(server: *mut GDBusServer);
37955}
37956extern "C" {
37957    pub fn g_dbus_server_is_active(server: *mut GDBusServer) -> gboolean;
37958}
37959extern "C" {
37960    pub fn g_dbus_is_guid(string: *const gchar) -> gboolean;
37961}
37962extern "C" {
37963    pub fn g_dbus_generate_guid() -> *mut gchar;
37964}
37965extern "C" {
37966    pub fn g_dbus_is_name(string: *const gchar) -> gboolean;
37967}
37968extern "C" {
37969    pub fn g_dbus_is_unique_name(string: *const gchar) -> gboolean;
37970}
37971extern "C" {
37972    pub fn g_dbus_is_member_name(string: *const gchar) -> gboolean;
37973}
37974extern "C" {
37975    pub fn g_dbus_is_interface_name(string: *const gchar) -> gboolean;
37976}
37977extern "C" {
37978    pub fn g_dbus_is_error_name(string: *const gchar) -> gboolean;
37979}
37980extern "C" {
37981    pub fn g_dbus_gvariant_to_gvalue(value: *mut GVariant, out_gvalue: *mut GValue);
37982}
37983extern "C" {
37984    pub fn g_dbus_gvalue_to_gvariant(
37985        gvalue: *const GValue,
37986        type_: *const GVariantType,
37987    ) -> *mut GVariant;
37988}
37989extern "C" {
37990    pub fn g_dbus_escape_object_path_bytestring(bytes: *const guint8) -> *mut gchar;
37991}
37992extern "C" {
37993    pub fn g_dbus_escape_object_path(s: *const gchar) -> *mut gchar;
37994}
37995extern "C" {
37996    pub fn g_dbus_unescape_object_path(s: *const gchar) -> *mut guint8;
37997}
37998extern "C" {
37999    pub fn g_debug_controller_get_type() -> GType;
38000}
38001#[repr(C)]
38002#[derive(Debug, Copy, Clone)]
38003pub struct _GDebugController {
38004    _unused: [u8; 0],
38005}
38006pub type GDebugController = _GDebugController;
38007pub type GDebugControllerInterface = _GDebugControllerInterface;
38008pub type GDebugController_autoptr = *mut GDebugController;
38009pub type GDebugController_listautoptr = *mut GList;
38010pub type GDebugController_slistautoptr = *mut GSList;
38011pub type GDebugController_queueautoptr = *mut GQueue;
38012#[repr(C)]
38013#[derive(Debug, Copy, Clone, PartialEq, Eq)]
38014pub struct _GDebugControllerInterface {
38015    pub g_iface: GTypeInterface,
38016}
38017#[test]
38018fn bindgen_test_layout__GDebugControllerInterface() {
38019    const UNINIT: ::std::mem::MaybeUninit<_GDebugControllerInterface> =
38020        ::std::mem::MaybeUninit::uninit();
38021    let ptr = UNINIT.as_ptr();
38022    assert_eq!(
38023        ::std::mem::size_of::<_GDebugControllerInterface>(),
38024        16usize,
38025        concat!("Size of: ", stringify!(_GDebugControllerInterface))
38026    );
38027    assert_eq!(
38028        ::std::mem::align_of::<_GDebugControllerInterface>(),
38029        8usize,
38030        concat!("Alignment of ", stringify!(_GDebugControllerInterface))
38031    );
38032    assert_eq!(
38033        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
38034        0usize,
38035        concat!(
38036            "Offset of field: ",
38037            stringify!(_GDebugControllerInterface),
38038            "::",
38039            stringify!(g_iface)
38040        )
38041    );
38042}
38043extern "C" {
38044    pub fn g_debug_controller_get_debug_enabled(self_: *mut GDebugController) -> gboolean;
38045}
38046extern "C" {
38047    pub fn g_debug_controller_set_debug_enabled(
38048        self_: *mut GDebugController,
38049        debug_enabled: gboolean,
38050    );
38051}
38052extern "C" {
38053    pub fn g_debug_controller_dbus_get_type() -> GType;
38054}
38055pub type GDebugControllerDBus = _GDebugControllerDBus;
38056pub type GDebugControllerDBusClass = _GDebugControllerDBusClass;
38057#[repr(C)]
38058#[derive(Debug, Copy, Clone, PartialEq, Eq)]
38059pub struct _GDebugControllerDBus {
38060    pub parent_instance: GObject,
38061}
38062#[test]
38063fn bindgen_test_layout__GDebugControllerDBus() {
38064    const UNINIT: ::std::mem::MaybeUninit<_GDebugControllerDBus> =
38065        ::std::mem::MaybeUninit::uninit();
38066    let ptr = UNINIT.as_ptr();
38067    assert_eq!(
38068        ::std::mem::size_of::<_GDebugControllerDBus>(),
38069        24usize,
38070        concat!("Size of: ", stringify!(_GDebugControllerDBus))
38071    );
38072    assert_eq!(
38073        ::std::mem::align_of::<_GDebugControllerDBus>(),
38074        8usize,
38075        concat!("Alignment of ", stringify!(_GDebugControllerDBus))
38076    );
38077    assert_eq!(
38078        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
38079        0usize,
38080        concat!(
38081            "Offset of field: ",
38082            stringify!(_GDebugControllerDBus),
38083            "::",
38084            stringify!(parent_instance)
38085        )
38086    );
38087}
38088pub type GDebugControllerDBus_autoptr = *mut GDebugControllerDBus;
38089pub type GDebugControllerDBus_listautoptr = *mut GList;
38090pub type GDebugControllerDBus_slistautoptr = *mut GSList;
38091pub type GDebugControllerDBus_queueautoptr = *mut GQueue;
38092pub type GDebugControllerDBusClass_autoptr = *mut GDebugControllerDBusClass;
38093pub type GDebugControllerDBusClass_listautoptr = *mut GList;
38094pub type GDebugControllerDBusClass_slistautoptr = *mut GSList;
38095pub type GDebugControllerDBusClass_queueautoptr = *mut GQueue;
38096#[repr(C)]
38097#[derive(Debug, Copy, Clone, PartialEq, Eq)]
38098pub struct _GDebugControllerDBusClass {
38099    pub parent_class: GObjectClass,
38100    pub authorize: ::std::option::Option<
38101        unsafe extern "C" fn(
38102            controller: *mut GDebugControllerDBus,
38103            invocation: *mut GDBusMethodInvocation,
38104        ) -> gboolean,
38105    >,
38106    pub padding: [gpointer; 12usize],
38107}
38108#[test]
38109fn bindgen_test_layout__GDebugControllerDBusClass() {
38110    const UNINIT: ::std::mem::MaybeUninit<_GDebugControllerDBusClass> =
38111        ::std::mem::MaybeUninit::uninit();
38112    let ptr = UNINIT.as_ptr();
38113    assert_eq!(
38114        ::std::mem::size_of::<_GDebugControllerDBusClass>(),
38115        240usize,
38116        concat!("Size of: ", stringify!(_GDebugControllerDBusClass))
38117    );
38118    assert_eq!(
38119        ::std::mem::align_of::<_GDebugControllerDBusClass>(),
38120        8usize,
38121        concat!("Alignment of ", stringify!(_GDebugControllerDBusClass))
38122    );
38123    assert_eq!(
38124        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
38125        0usize,
38126        concat!(
38127            "Offset of field: ",
38128            stringify!(_GDebugControllerDBusClass),
38129            "::",
38130            stringify!(parent_class)
38131        )
38132    );
38133    assert_eq!(
38134        unsafe { ::std::ptr::addr_of!((*ptr).authorize) as usize - ptr as usize },
38135        136usize,
38136        concat!(
38137            "Offset of field: ",
38138            stringify!(_GDebugControllerDBusClass),
38139            "::",
38140            stringify!(authorize)
38141        )
38142    );
38143    assert_eq!(
38144        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
38145        144usize,
38146        concat!(
38147            "Offset of field: ",
38148            stringify!(_GDebugControllerDBusClass),
38149            "::",
38150            stringify!(padding)
38151        )
38152    );
38153}
38154extern "C" {
38155    pub fn g_debug_controller_dbus_new(
38156        connection: *mut GDBusConnection,
38157        cancellable: *mut GCancellable,
38158        error: *mut *mut GError,
38159    ) -> *mut GDebugControllerDBus;
38160}
38161extern "C" {
38162    pub fn g_debug_controller_dbus_stop(self_: *mut GDebugControllerDBus);
38163}
38164pub type GDriveIface = _GDriveIface;
38165#[repr(C)]
38166#[derive(Debug, Copy, Clone, PartialEq, Eq)]
38167pub struct _GDriveIface {
38168    pub g_iface: GTypeInterface,
38169    pub changed: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive)>,
38170    pub disconnected: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive)>,
38171    pub eject_button: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive)>,
38172    pub get_name: ::std::option::Option<
38173        unsafe extern "C" fn(drive: *mut GDrive) -> *mut ::std::os::raw::c_char,
38174    >,
38175    pub get_icon: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> *mut GIcon>,
38176    pub has_volumes: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> gboolean>,
38177    pub get_volumes: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> *mut GList>,
38178    pub is_media_removable:
38179        ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> gboolean>,
38180    pub has_media: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> gboolean>,
38181    pub is_media_check_automatic:
38182        ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> gboolean>,
38183    pub can_eject: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> gboolean>,
38184    pub can_poll_for_media:
38185        ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> gboolean>,
38186    pub eject: ::std::option::Option<
38187        unsafe extern "C" fn(
38188            drive: *mut GDrive,
38189            flags: GMountUnmountFlags,
38190            cancellable: *mut GCancellable,
38191            callback: GAsyncReadyCallback,
38192            user_data: gpointer,
38193        ),
38194    >,
38195    pub eject_finish: ::std::option::Option<
38196        unsafe extern "C" fn(
38197            drive: *mut GDrive,
38198            result: *mut GAsyncResult,
38199            error: *mut *mut GError,
38200        ) -> gboolean,
38201    >,
38202    pub poll_for_media: ::std::option::Option<
38203        unsafe extern "C" fn(
38204            drive: *mut GDrive,
38205            cancellable: *mut GCancellable,
38206            callback: GAsyncReadyCallback,
38207            user_data: gpointer,
38208        ),
38209    >,
38210    pub poll_for_media_finish: ::std::option::Option<
38211        unsafe extern "C" fn(
38212            drive: *mut GDrive,
38213            result: *mut GAsyncResult,
38214            error: *mut *mut GError,
38215        ) -> gboolean,
38216    >,
38217    pub get_identifier: ::std::option::Option<
38218        unsafe extern "C" fn(
38219            drive: *mut GDrive,
38220            kind: *const ::std::os::raw::c_char,
38221        ) -> *mut ::std::os::raw::c_char,
38222    >,
38223    pub enumerate_identifiers: ::std::option::Option<
38224        unsafe extern "C" fn(drive: *mut GDrive) -> *mut *mut ::std::os::raw::c_char,
38225    >,
38226    pub get_start_stop_type:
38227        ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> GDriveStartStopType>,
38228    pub can_start: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> gboolean>,
38229    pub can_start_degraded:
38230        ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> gboolean>,
38231    pub start: ::std::option::Option<
38232        unsafe extern "C" fn(
38233            drive: *mut GDrive,
38234            flags: GDriveStartFlags,
38235            mount_operation: *mut GMountOperation,
38236            cancellable: *mut GCancellable,
38237            callback: GAsyncReadyCallback,
38238            user_data: gpointer,
38239        ),
38240    >,
38241    pub start_finish: ::std::option::Option<
38242        unsafe extern "C" fn(
38243            drive: *mut GDrive,
38244            result: *mut GAsyncResult,
38245            error: *mut *mut GError,
38246        ) -> gboolean,
38247    >,
38248    pub can_stop: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> gboolean>,
38249    pub stop: ::std::option::Option<
38250        unsafe extern "C" fn(
38251            drive: *mut GDrive,
38252            flags: GMountUnmountFlags,
38253            mount_operation: *mut GMountOperation,
38254            cancellable: *mut GCancellable,
38255            callback: GAsyncReadyCallback,
38256            user_data: gpointer,
38257        ),
38258    >,
38259    pub stop_finish: ::std::option::Option<
38260        unsafe extern "C" fn(
38261            drive: *mut GDrive,
38262            result: *mut GAsyncResult,
38263            error: *mut *mut GError,
38264        ) -> gboolean,
38265    >,
38266    pub stop_button: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive)>,
38267    pub eject_with_operation: ::std::option::Option<
38268        unsafe extern "C" fn(
38269            drive: *mut GDrive,
38270            flags: GMountUnmountFlags,
38271            mount_operation: *mut GMountOperation,
38272            cancellable: *mut GCancellable,
38273            callback: GAsyncReadyCallback,
38274            user_data: gpointer,
38275        ),
38276    >,
38277    pub eject_with_operation_finish: ::std::option::Option<
38278        unsafe extern "C" fn(
38279            drive: *mut GDrive,
38280            result: *mut GAsyncResult,
38281            error: *mut *mut GError,
38282        ) -> gboolean,
38283    >,
38284    pub get_sort_key:
38285        ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> *const gchar>,
38286    pub get_symbolic_icon:
38287        ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> *mut GIcon>,
38288    pub is_removable: ::std::option::Option<unsafe extern "C" fn(drive: *mut GDrive) -> gboolean>,
38289}
38290#[test]
38291fn bindgen_test_layout__GDriveIface() {
38292    const UNINIT: ::std::mem::MaybeUninit<_GDriveIface> = ::std::mem::MaybeUninit::uninit();
38293    let ptr = UNINIT.as_ptr();
38294    assert_eq!(
38295        ::std::mem::size_of::<_GDriveIface>(),
38296        272usize,
38297        concat!("Size of: ", stringify!(_GDriveIface))
38298    );
38299    assert_eq!(
38300        ::std::mem::align_of::<_GDriveIface>(),
38301        8usize,
38302        concat!("Alignment of ", stringify!(_GDriveIface))
38303    );
38304    assert_eq!(
38305        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
38306        0usize,
38307        concat!(
38308            "Offset of field: ",
38309            stringify!(_GDriveIface),
38310            "::",
38311            stringify!(g_iface)
38312        )
38313    );
38314    assert_eq!(
38315        unsafe { ::std::ptr::addr_of!((*ptr).changed) as usize - ptr as usize },
38316        16usize,
38317        concat!(
38318            "Offset of field: ",
38319            stringify!(_GDriveIface),
38320            "::",
38321            stringify!(changed)
38322        )
38323    );
38324    assert_eq!(
38325        unsafe { ::std::ptr::addr_of!((*ptr).disconnected) as usize - ptr as usize },
38326        24usize,
38327        concat!(
38328            "Offset of field: ",
38329            stringify!(_GDriveIface),
38330            "::",
38331            stringify!(disconnected)
38332        )
38333    );
38334    assert_eq!(
38335        unsafe { ::std::ptr::addr_of!((*ptr).eject_button) as usize - ptr as usize },
38336        32usize,
38337        concat!(
38338            "Offset of field: ",
38339            stringify!(_GDriveIface),
38340            "::",
38341            stringify!(eject_button)
38342        )
38343    );
38344    assert_eq!(
38345        unsafe { ::std::ptr::addr_of!((*ptr).get_name) as usize - ptr as usize },
38346        40usize,
38347        concat!(
38348            "Offset of field: ",
38349            stringify!(_GDriveIface),
38350            "::",
38351            stringify!(get_name)
38352        )
38353    );
38354    assert_eq!(
38355        unsafe { ::std::ptr::addr_of!((*ptr).get_icon) as usize - ptr as usize },
38356        48usize,
38357        concat!(
38358            "Offset of field: ",
38359            stringify!(_GDriveIface),
38360            "::",
38361            stringify!(get_icon)
38362        )
38363    );
38364    assert_eq!(
38365        unsafe { ::std::ptr::addr_of!((*ptr).has_volumes) as usize - ptr as usize },
38366        56usize,
38367        concat!(
38368            "Offset of field: ",
38369            stringify!(_GDriveIface),
38370            "::",
38371            stringify!(has_volumes)
38372        )
38373    );
38374    assert_eq!(
38375        unsafe { ::std::ptr::addr_of!((*ptr).get_volumes) as usize - ptr as usize },
38376        64usize,
38377        concat!(
38378            "Offset of field: ",
38379            stringify!(_GDriveIface),
38380            "::",
38381            stringify!(get_volumes)
38382        )
38383    );
38384    assert_eq!(
38385        unsafe { ::std::ptr::addr_of!((*ptr).is_media_removable) as usize - ptr as usize },
38386        72usize,
38387        concat!(
38388            "Offset of field: ",
38389            stringify!(_GDriveIface),
38390            "::",
38391            stringify!(is_media_removable)
38392        )
38393    );
38394    assert_eq!(
38395        unsafe { ::std::ptr::addr_of!((*ptr).has_media) as usize - ptr as usize },
38396        80usize,
38397        concat!(
38398            "Offset of field: ",
38399            stringify!(_GDriveIface),
38400            "::",
38401            stringify!(has_media)
38402        )
38403    );
38404    assert_eq!(
38405        unsafe { ::std::ptr::addr_of!((*ptr).is_media_check_automatic) as usize - ptr as usize },
38406        88usize,
38407        concat!(
38408            "Offset of field: ",
38409            stringify!(_GDriveIface),
38410            "::",
38411            stringify!(is_media_check_automatic)
38412        )
38413    );
38414    assert_eq!(
38415        unsafe { ::std::ptr::addr_of!((*ptr).can_eject) as usize - ptr as usize },
38416        96usize,
38417        concat!(
38418            "Offset of field: ",
38419            stringify!(_GDriveIface),
38420            "::",
38421            stringify!(can_eject)
38422        )
38423    );
38424    assert_eq!(
38425        unsafe { ::std::ptr::addr_of!((*ptr).can_poll_for_media) as usize - ptr as usize },
38426        104usize,
38427        concat!(
38428            "Offset of field: ",
38429            stringify!(_GDriveIface),
38430            "::",
38431            stringify!(can_poll_for_media)
38432        )
38433    );
38434    assert_eq!(
38435        unsafe { ::std::ptr::addr_of!((*ptr).eject) as usize - ptr as usize },
38436        112usize,
38437        concat!(
38438            "Offset of field: ",
38439            stringify!(_GDriveIface),
38440            "::",
38441            stringify!(eject)
38442        )
38443    );
38444    assert_eq!(
38445        unsafe { ::std::ptr::addr_of!((*ptr).eject_finish) as usize - ptr as usize },
38446        120usize,
38447        concat!(
38448            "Offset of field: ",
38449            stringify!(_GDriveIface),
38450            "::",
38451            stringify!(eject_finish)
38452        )
38453    );
38454    assert_eq!(
38455        unsafe { ::std::ptr::addr_of!((*ptr).poll_for_media) as usize - ptr as usize },
38456        128usize,
38457        concat!(
38458            "Offset of field: ",
38459            stringify!(_GDriveIface),
38460            "::",
38461            stringify!(poll_for_media)
38462        )
38463    );
38464    assert_eq!(
38465        unsafe { ::std::ptr::addr_of!((*ptr).poll_for_media_finish) as usize - ptr as usize },
38466        136usize,
38467        concat!(
38468            "Offset of field: ",
38469            stringify!(_GDriveIface),
38470            "::",
38471            stringify!(poll_for_media_finish)
38472        )
38473    );
38474    assert_eq!(
38475        unsafe { ::std::ptr::addr_of!((*ptr).get_identifier) as usize - ptr as usize },
38476        144usize,
38477        concat!(
38478            "Offset of field: ",
38479            stringify!(_GDriveIface),
38480            "::",
38481            stringify!(get_identifier)
38482        )
38483    );
38484    assert_eq!(
38485        unsafe { ::std::ptr::addr_of!((*ptr).enumerate_identifiers) as usize - ptr as usize },
38486        152usize,
38487        concat!(
38488            "Offset of field: ",
38489            stringify!(_GDriveIface),
38490            "::",
38491            stringify!(enumerate_identifiers)
38492        )
38493    );
38494    assert_eq!(
38495        unsafe { ::std::ptr::addr_of!((*ptr).get_start_stop_type) as usize - ptr as usize },
38496        160usize,
38497        concat!(
38498            "Offset of field: ",
38499            stringify!(_GDriveIface),
38500            "::",
38501            stringify!(get_start_stop_type)
38502        )
38503    );
38504    assert_eq!(
38505        unsafe { ::std::ptr::addr_of!((*ptr).can_start) as usize - ptr as usize },
38506        168usize,
38507        concat!(
38508            "Offset of field: ",
38509            stringify!(_GDriveIface),
38510            "::",
38511            stringify!(can_start)
38512        )
38513    );
38514    assert_eq!(
38515        unsafe { ::std::ptr::addr_of!((*ptr).can_start_degraded) as usize - ptr as usize },
38516        176usize,
38517        concat!(
38518            "Offset of field: ",
38519            stringify!(_GDriveIface),
38520            "::",
38521            stringify!(can_start_degraded)
38522        )
38523    );
38524    assert_eq!(
38525        unsafe { ::std::ptr::addr_of!((*ptr).start) as usize - ptr as usize },
38526        184usize,
38527        concat!(
38528            "Offset of field: ",
38529            stringify!(_GDriveIface),
38530            "::",
38531            stringify!(start)
38532        )
38533    );
38534    assert_eq!(
38535        unsafe { ::std::ptr::addr_of!((*ptr).start_finish) as usize - ptr as usize },
38536        192usize,
38537        concat!(
38538            "Offset of field: ",
38539            stringify!(_GDriveIface),
38540            "::",
38541            stringify!(start_finish)
38542        )
38543    );
38544    assert_eq!(
38545        unsafe { ::std::ptr::addr_of!((*ptr).can_stop) as usize - ptr as usize },
38546        200usize,
38547        concat!(
38548            "Offset of field: ",
38549            stringify!(_GDriveIface),
38550            "::",
38551            stringify!(can_stop)
38552        )
38553    );
38554    assert_eq!(
38555        unsafe { ::std::ptr::addr_of!((*ptr).stop) as usize - ptr as usize },
38556        208usize,
38557        concat!(
38558            "Offset of field: ",
38559            stringify!(_GDriveIface),
38560            "::",
38561            stringify!(stop)
38562        )
38563    );
38564    assert_eq!(
38565        unsafe { ::std::ptr::addr_of!((*ptr).stop_finish) as usize - ptr as usize },
38566        216usize,
38567        concat!(
38568            "Offset of field: ",
38569            stringify!(_GDriveIface),
38570            "::",
38571            stringify!(stop_finish)
38572        )
38573    );
38574    assert_eq!(
38575        unsafe { ::std::ptr::addr_of!((*ptr).stop_button) as usize - ptr as usize },
38576        224usize,
38577        concat!(
38578            "Offset of field: ",
38579            stringify!(_GDriveIface),
38580            "::",
38581            stringify!(stop_button)
38582        )
38583    );
38584    assert_eq!(
38585        unsafe { ::std::ptr::addr_of!((*ptr).eject_with_operation) as usize - ptr as usize },
38586        232usize,
38587        concat!(
38588            "Offset of field: ",
38589            stringify!(_GDriveIface),
38590            "::",
38591            stringify!(eject_with_operation)
38592        )
38593    );
38594    assert_eq!(
38595        unsafe { ::std::ptr::addr_of!((*ptr).eject_with_operation_finish) as usize - ptr as usize },
38596        240usize,
38597        concat!(
38598            "Offset of field: ",
38599            stringify!(_GDriveIface),
38600            "::",
38601            stringify!(eject_with_operation_finish)
38602        )
38603    );
38604    assert_eq!(
38605        unsafe { ::std::ptr::addr_of!((*ptr).get_sort_key) as usize - ptr as usize },
38606        248usize,
38607        concat!(
38608            "Offset of field: ",
38609            stringify!(_GDriveIface),
38610            "::",
38611            stringify!(get_sort_key)
38612        )
38613    );
38614    assert_eq!(
38615        unsafe { ::std::ptr::addr_of!((*ptr).get_symbolic_icon) as usize - ptr as usize },
38616        256usize,
38617        concat!(
38618            "Offset of field: ",
38619            stringify!(_GDriveIface),
38620            "::",
38621            stringify!(get_symbolic_icon)
38622        )
38623    );
38624    assert_eq!(
38625        unsafe { ::std::ptr::addr_of!((*ptr).is_removable) as usize - ptr as usize },
38626        264usize,
38627        concat!(
38628            "Offset of field: ",
38629            stringify!(_GDriveIface),
38630            "::",
38631            stringify!(is_removable)
38632        )
38633    );
38634}
38635extern "C" {
38636    pub fn g_drive_get_type() -> GType;
38637}
38638extern "C" {
38639    pub fn g_drive_get_name(drive: *mut GDrive) -> *mut ::std::os::raw::c_char;
38640}
38641extern "C" {
38642    pub fn g_drive_get_icon(drive: *mut GDrive) -> *mut GIcon;
38643}
38644extern "C" {
38645    pub fn g_drive_get_symbolic_icon(drive: *mut GDrive) -> *mut GIcon;
38646}
38647extern "C" {
38648    pub fn g_drive_has_volumes(drive: *mut GDrive) -> gboolean;
38649}
38650extern "C" {
38651    pub fn g_drive_get_volumes(drive: *mut GDrive) -> *mut GList;
38652}
38653extern "C" {
38654    pub fn g_drive_is_removable(drive: *mut GDrive) -> gboolean;
38655}
38656extern "C" {
38657    pub fn g_drive_is_media_removable(drive: *mut GDrive) -> gboolean;
38658}
38659extern "C" {
38660    pub fn g_drive_has_media(drive: *mut GDrive) -> gboolean;
38661}
38662extern "C" {
38663    pub fn g_drive_is_media_check_automatic(drive: *mut GDrive) -> gboolean;
38664}
38665extern "C" {
38666    pub fn g_drive_can_poll_for_media(drive: *mut GDrive) -> gboolean;
38667}
38668extern "C" {
38669    pub fn g_drive_can_eject(drive: *mut GDrive) -> gboolean;
38670}
38671extern "C" {
38672    pub fn g_drive_eject(
38673        drive: *mut GDrive,
38674        flags: GMountUnmountFlags,
38675        cancellable: *mut GCancellable,
38676        callback: GAsyncReadyCallback,
38677        user_data: gpointer,
38678    );
38679}
38680extern "C" {
38681    pub fn g_drive_eject_finish(
38682        drive: *mut GDrive,
38683        result: *mut GAsyncResult,
38684        error: *mut *mut GError,
38685    ) -> gboolean;
38686}
38687extern "C" {
38688    pub fn g_drive_poll_for_media(
38689        drive: *mut GDrive,
38690        cancellable: *mut GCancellable,
38691        callback: GAsyncReadyCallback,
38692        user_data: gpointer,
38693    );
38694}
38695extern "C" {
38696    pub fn g_drive_poll_for_media_finish(
38697        drive: *mut GDrive,
38698        result: *mut GAsyncResult,
38699        error: *mut *mut GError,
38700    ) -> gboolean;
38701}
38702extern "C" {
38703    pub fn g_drive_get_identifier(
38704        drive: *mut GDrive,
38705        kind: *const ::std::os::raw::c_char,
38706    ) -> *mut ::std::os::raw::c_char;
38707}
38708extern "C" {
38709    pub fn g_drive_enumerate_identifiers(drive: *mut GDrive) -> *mut *mut ::std::os::raw::c_char;
38710}
38711extern "C" {
38712    pub fn g_drive_get_start_stop_type(drive: *mut GDrive) -> GDriveStartStopType;
38713}
38714extern "C" {
38715    pub fn g_drive_can_start(drive: *mut GDrive) -> gboolean;
38716}
38717extern "C" {
38718    pub fn g_drive_can_start_degraded(drive: *mut GDrive) -> gboolean;
38719}
38720extern "C" {
38721    pub fn g_drive_start(
38722        drive: *mut GDrive,
38723        flags: GDriveStartFlags,
38724        mount_operation: *mut GMountOperation,
38725        cancellable: *mut GCancellable,
38726        callback: GAsyncReadyCallback,
38727        user_data: gpointer,
38728    );
38729}
38730extern "C" {
38731    pub fn g_drive_start_finish(
38732        drive: *mut GDrive,
38733        result: *mut GAsyncResult,
38734        error: *mut *mut GError,
38735    ) -> gboolean;
38736}
38737extern "C" {
38738    pub fn g_drive_can_stop(drive: *mut GDrive) -> gboolean;
38739}
38740extern "C" {
38741    pub fn g_drive_stop(
38742        drive: *mut GDrive,
38743        flags: GMountUnmountFlags,
38744        mount_operation: *mut GMountOperation,
38745        cancellable: *mut GCancellable,
38746        callback: GAsyncReadyCallback,
38747        user_data: gpointer,
38748    );
38749}
38750extern "C" {
38751    pub fn g_drive_stop_finish(
38752        drive: *mut GDrive,
38753        result: *mut GAsyncResult,
38754        error: *mut *mut GError,
38755    ) -> gboolean;
38756}
38757extern "C" {
38758    pub fn g_drive_eject_with_operation(
38759        drive: *mut GDrive,
38760        flags: GMountUnmountFlags,
38761        mount_operation: *mut GMountOperation,
38762        cancellable: *mut GCancellable,
38763        callback: GAsyncReadyCallback,
38764        user_data: gpointer,
38765    );
38766}
38767extern "C" {
38768    pub fn g_drive_eject_with_operation_finish(
38769        drive: *mut GDrive,
38770        result: *mut GAsyncResult,
38771        error: *mut *mut GError,
38772    ) -> gboolean;
38773}
38774extern "C" {
38775    pub fn g_drive_get_sort_key(drive: *mut GDrive) -> *const gchar;
38776}
38777pub type GDtlsConnectionInterface = _GDtlsConnectionInterface;
38778#[repr(C)]
38779#[derive(Debug, Copy, Clone, PartialEq, Eq)]
38780pub struct _GDtlsConnectionInterface {
38781    pub g_iface: GTypeInterface,
38782    pub accept_certificate: ::std::option::Option<
38783        unsafe extern "C" fn(
38784            connection: *mut GDtlsConnection,
38785            peer_cert: *mut GTlsCertificate,
38786            errors: GTlsCertificateFlags,
38787        ) -> gboolean,
38788    >,
38789    pub handshake: ::std::option::Option<
38790        unsafe extern "C" fn(
38791            conn: *mut GDtlsConnection,
38792            cancellable: *mut GCancellable,
38793            error: *mut *mut GError,
38794        ) -> gboolean,
38795    >,
38796    pub handshake_async: ::std::option::Option<
38797        unsafe extern "C" fn(
38798            conn: *mut GDtlsConnection,
38799            io_priority: ::std::os::raw::c_int,
38800            cancellable: *mut GCancellable,
38801            callback: GAsyncReadyCallback,
38802            user_data: gpointer,
38803        ),
38804    >,
38805    pub handshake_finish: ::std::option::Option<
38806        unsafe extern "C" fn(
38807            conn: *mut GDtlsConnection,
38808            result: *mut GAsyncResult,
38809            error: *mut *mut GError,
38810        ) -> gboolean,
38811    >,
38812    pub shutdown: ::std::option::Option<
38813        unsafe extern "C" fn(
38814            conn: *mut GDtlsConnection,
38815            shutdown_read: gboolean,
38816            shutdown_write: gboolean,
38817            cancellable: *mut GCancellable,
38818            error: *mut *mut GError,
38819        ) -> gboolean,
38820    >,
38821    pub shutdown_async: ::std::option::Option<
38822        unsafe extern "C" fn(
38823            conn: *mut GDtlsConnection,
38824            shutdown_read: gboolean,
38825            shutdown_write: gboolean,
38826            io_priority: ::std::os::raw::c_int,
38827            cancellable: *mut GCancellable,
38828            callback: GAsyncReadyCallback,
38829            user_data: gpointer,
38830        ),
38831    >,
38832    pub shutdown_finish: ::std::option::Option<
38833        unsafe extern "C" fn(
38834            conn: *mut GDtlsConnection,
38835            result: *mut GAsyncResult,
38836            error: *mut *mut GError,
38837        ) -> gboolean,
38838    >,
38839    pub set_advertised_protocols: ::std::option::Option<
38840        unsafe extern "C" fn(conn: *mut GDtlsConnection, protocols: *const *const gchar),
38841    >,
38842    pub get_negotiated_protocol:
38843        ::std::option::Option<unsafe extern "C" fn(conn: *mut GDtlsConnection) -> *const gchar>,
38844    pub get_binding_data: ::std::option::Option<
38845        unsafe extern "C" fn(
38846            conn: *mut GDtlsConnection,
38847            type_: GTlsChannelBindingType,
38848            data: *mut GByteArray,
38849            error: *mut *mut GError,
38850        ) -> gboolean,
38851    >,
38852}
38853#[test]
38854fn bindgen_test_layout__GDtlsConnectionInterface() {
38855    const UNINIT: ::std::mem::MaybeUninit<_GDtlsConnectionInterface> =
38856        ::std::mem::MaybeUninit::uninit();
38857    let ptr = UNINIT.as_ptr();
38858    assert_eq!(
38859        ::std::mem::size_of::<_GDtlsConnectionInterface>(),
38860        96usize,
38861        concat!("Size of: ", stringify!(_GDtlsConnectionInterface))
38862    );
38863    assert_eq!(
38864        ::std::mem::align_of::<_GDtlsConnectionInterface>(),
38865        8usize,
38866        concat!("Alignment of ", stringify!(_GDtlsConnectionInterface))
38867    );
38868    assert_eq!(
38869        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
38870        0usize,
38871        concat!(
38872            "Offset of field: ",
38873            stringify!(_GDtlsConnectionInterface),
38874            "::",
38875            stringify!(g_iface)
38876        )
38877    );
38878    assert_eq!(
38879        unsafe { ::std::ptr::addr_of!((*ptr).accept_certificate) as usize - ptr as usize },
38880        16usize,
38881        concat!(
38882            "Offset of field: ",
38883            stringify!(_GDtlsConnectionInterface),
38884            "::",
38885            stringify!(accept_certificate)
38886        )
38887    );
38888    assert_eq!(
38889        unsafe { ::std::ptr::addr_of!((*ptr).handshake) as usize - ptr as usize },
38890        24usize,
38891        concat!(
38892            "Offset of field: ",
38893            stringify!(_GDtlsConnectionInterface),
38894            "::",
38895            stringify!(handshake)
38896        )
38897    );
38898    assert_eq!(
38899        unsafe { ::std::ptr::addr_of!((*ptr).handshake_async) as usize - ptr as usize },
38900        32usize,
38901        concat!(
38902            "Offset of field: ",
38903            stringify!(_GDtlsConnectionInterface),
38904            "::",
38905            stringify!(handshake_async)
38906        )
38907    );
38908    assert_eq!(
38909        unsafe { ::std::ptr::addr_of!((*ptr).handshake_finish) as usize - ptr as usize },
38910        40usize,
38911        concat!(
38912            "Offset of field: ",
38913            stringify!(_GDtlsConnectionInterface),
38914            "::",
38915            stringify!(handshake_finish)
38916        )
38917    );
38918    assert_eq!(
38919        unsafe { ::std::ptr::addr_of!((*ptr).shutdown) as usize - ptr as usize },
38920        48usize,
38921        concat!(
38922            "Offset of field: ",
38923            stringify!(_GDtlsConnectionInterface),
38924            "::",
38925            stringify!(shutdown)
38926        )
38927    );
38928    assert_eq!(
38929        unsafe { ::std::ptr::addr_of!((*ptr).shutdown_async) as usize - ptr as usize },
38930        56usize,
38931        concat!(
38932            "Offset of field: ",
38933            stringify!(_GDtlsConnectionInterface),
38934            "::",
38935            stringify!(shutdown_async)
38936        )
38937    );
38938    assert_eq!(
38939        unsafe { ::std::ptr::addr_of!((*ptr).shutdown_finish) as usize - ptr as usize },
38940        64usize,
38941        concat!(
38942            "Offset of field: ",
38943            stringify!(_GDtlsConnectionInterface),
38944            "::",
38945            stringify!(shutdown_finish)
38946        )
38947    );
38948    assert_eq!(
38949        unsafe { ::std::ptr::addr_of!((*ptr).set_advertised_protocols) as usize - ptr as usize },
38950        72usize,
38951        concat!(
38952            "Offset of field: ",
38953            stringify!(_GDtlsConnectionInterface),
38954            "::",
38955            stringify!(set_advertised_protocols)
38956        )
38957    );
38958    assert_eq!(
38959        unsafe { ::std::ptr::addr_of!((*ptr).get_negotiated_protocol) as usize - ptr as usize },
38960        80usize,
38961        concat!(
38962            "Offset of field: ",
38963            stringify!(_GDtlsConnectionInterface),
38964            "::",
38965            stringify!(get_negotiated_protocol)
38966        )
38967    );
38968    assert_eq!(
38969        unsafe { ::std::ptr::addr_of!((*ptr).get_binding_data) as usize - ptr as usize },
38970        88usize,
38971        concat!(
38972            "Offset of field: ",
38973            stringify!(_GDtlsConnectionInterface),
38974            "::",
38975            stringify!(get_binding_data)
38976        )
38977    );
38978}
38979extern "C" {
38980    pub fn g_dtls_connection_get_type() -> GType;
38981}
38982extern "C" {
38983    pub fn g_dtls_connection_set_database(conn: *mut GDtlsConnection, database: *mut GTlsDatabase);
38984}
38985extern "C" {
38986    pub fn g_dtls_connection_get_database(conn: *mut GDtlsConnection) -> *mut GTlsDatabase;
38987}
38988extern "C" {
38989    pub fn g_dtls_connection_set_certificate(
38990        conn: *mut GDtlsConnection,
38991        certificate: *mut GTlsCertificate,
38992    );
38993}
38994extern "C" {
38995    pub fn g_dtls_connection_get_certificate(conn: *mut GDtlsConnection) -> *mut GTlsCertificate;
38996}
38997extern "C" {
38998    pub fn g_dtls_connection_set_interaction(
38999        conn: *mut GDtlsConnection,
39000        interaction: *mut GTlsInteraction,
39001    );
39002}
39003extern "C" {
39004    pub fn g_dtls_connection_get_interaction(conn: *mut GDtlsConnection) -> *mut GTlsInteraction;
39005}
39006extern "C" {
39007    pub fn g_dtls_connection_get_peer_certificate(
39008        conn: *mut GDtlsConnection,
39009    ) -> *mut GTlsCertificate;
39010}
39011extern "C" {
39012    pub fn g_dtls_connection_get_peer_certificate_errors(
39013        conn: *mut GDtlsConnection,
39014    ) -> GTlsCertificateFlags;
39015}
39016extern "C" {
39017    pub fn g_dtls_connection_set_require_close_notify(
39018        conn: *mut GDtlsConnection,
39019        require_close_notify: gboolean,
39020    );
39021}
39022extern "C" {
39023    pub fn g_dtls_connection_get_require_close_notify(conn: *mut GDtlsConnection) -> gboolean;
39024}
39025extern "C" {
39026    pub fn g_dtls_connection_set_rehandshake_mode(
39027        conn: *mut GDtlsConnection,
39028        mode: GTlsRehandshakeMode,
39029    );
39030}
39031extern "C" {
39032    pub fn g_dtls_connection_get_rehandshake_mode(
39033        conn: *mut GDtlsConnection,
39034    ) -> GTlsRehandshakeMode;
39035}
39036extern "C" {
39037    pub fn g_dtls_connection_handshake(
39038        conn: *mut GDtlsConnection,
39039        cancellable: *mut GCancellable,
39040        error: *mut *mut GError,
39041    ) -> gboolean;
39042}
39043extern "C" {
39044    pub fn g_dtls_connection_handshake_async(
39045        conn: *mut GDtlsConnection,
39046        io_priority: ::std::os::raw::c_int,
39047        cancellable: *mut GCancellable,
39048        callback: GAsyncReadyCallback,
39049        user_data: gpointer,
39050    );
39051}
39052extern "C" {
39053    pub fn g_dtls_connection_handshake_finish(
39054        conn: *mut GDtlsConnection,
39055        result: *mut GAsyncResult,
39056        error: *mut *mut GError,
39057    ) -> gboolean;
39058}
39059extern "C" {
39060    pub fn g_dtls_connection_shutdown(
39061        conn: *mut GDtlsConnection,
39062        shutdown_read: gboolean,
39063        shutdown_write: gboolean,
39064        cancellable: *mut GCancellable,
39065        error: *mut *mut GError,
39066    ) -> gboolean;
39067}
39068extern "C" {
39069    pub fn g_dtls_connection_shutdown_async(
39070        conn: *mut GDtlsConnection,
39071        shutdown_read: gboolean,
39072        shutdown_write: gboolean,
39073        io_priority: ::std::os::raw::c_int,
39074        cancellable: *mut GCancellable,
39075        callback: GAsyncReadyCallback,
39076        user_data: gpointer,
39077    );
39078}
39079extern "C" {
39080    pub fn g_dtls_connection_shutdown_finish(
39081        conn: *mut GDtlsConnection,
39082        result: *mut GAsyncResult,
39083        error: *mut *mut GError,
39084    ) -> gboolean;
39085}
39086extern "C" {
39087    pub fn g_dtls_connection_close(
39088        conn: *mut GDtlsConnection,
39089        cancellable: *mut GCancellable,
39090        error: *mut *mut GError,
39091    ) -> gboolean;
39092}
39093extern "C" {
39094    pub fn g_dtls_connection_close_async(
39095        conn: *mut GDtlsConnection,
39096        io_priority: ::std::os::raw::c_int,
39097        cancellable: *mut GCancellable,
39098        callback: GAsyncReadyCallback,
39099        user_data: gpointer,
39100    );
39101}
39102extern "C" {
39103    pub fn g_dtls_connection_close_finish(
39104        conn: *mut GDtlsConnection,
39105        result: *mut GAsyncResult,
39106        error: *mut *mut GError,
39107    ) -> gboolean;
39108}
39109extern "C" {
39110    pub fn g_dtls_connection_emit_accept_certificate(
39111        conn: *mut GDtlsConnection,
39112        peer_cert: *mut GTlsCertificate,
39113        errors: GTlsCertificateFlags,
39114    ) -> gboolean;
39115}
39116extern "C" {
39117    pub fn g_dtls_connection_set_advertised_protocols(
39118        conn: *mut GDtlsConnection,
39119        protocols: *const *const gchar,
39120    );
39121}
39122extern "C" {
39123    pub fn g_dtls_connection_get_negotiated_protocol(conn: *mut GDtlsConnection) -> *const gchar;
39124}
39125extern "C" {
39126    pub fn g_dtls_connection_get_channel_binding_data(
39127        conn: *mut GDtlsConnection,
39128        type_: GTlsChannelBindingType,
39129        data: *mut GByteArray,
39130        error: *mut *mut GError,
39131    ) -> gboolean;
39132}
39133extern "C" {
39134    pub fn g_dtls_connection_get_protocol_version(
39135        conn: *mut GDtlsConnection,
39136    ) -> GTlsProtocolVersion;
39137}
39138extern "C" {
39139    pub fn g_dtls_connection_get_ciphersuite_name(conn: *mut GDtlsConnection) -> *mut gchar;
39140}
39141pub type GDtlsClientConnectionInterface = _GDtlsClientConnectionInterface;
39142#[repr(C)]
39143#[derive(Debug, Copy, Clone, PartialEq, Eq)]
39144pub struct _GDtlsClientConnectionInterface {
39145    pub g_iface: GTypeInterface,
39146}
39147#[test]
39148fn bindgen_test_layout__GDtlsClientConnectionInterface() {
39149    const UNINIT: ::std::mem::MaybeUninit<_GDtlsClientConnectionInterface> =
39150        ::std::mem::MaybeUninit::uninit();
39151    let ptr = UNINIT.as_ptr();
39152    assert_eq!(
39153        ::std::mem::size_of::<_GDtlsClientConnectionInterface>(),
39154        16usize,
39155        concat!("Size of: ", stringify!(_GDtlsClientConnectionInterface))
39156    );
39157    assert_eq!(
39158        ::std::mem::align_of::<_GDtlsClientConnectionInterface>(),
39159        8usize,
39160        concat!("Alignment of ", stringify!(_GDtlsClientConnectionInterface))
39161    );
39162    assert_eq!(
39163        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
39164        0usize,
39165        concat!(
39166            "Offset of field: ",
39167            stringify!(_GDtlsClientConnectionInterface),
39168            "::",
39169            stringify!(g_iface)
39170        )
39171    );
39172}
39173extern "C" {
39174    pub fn g_dtls_client_connection_get_type() -> GType;
39175}
39176extern "C" {
39177    pub fn g_dtls_client_connection_new(
39178        base_socket: *mut GDatagramBased,
39179        server_identity: *mut GSocketConnectable,
39180        error: *mut *mut GError,
39181    ) -> *mut GDatagramBased;
39182}
39183extern "C" {
39184    pub fn g_dtls_client_connection_get_validation_flags(
39185        conn: *mut GDtlsClientConnection,
39186    ) -> GTlsCertificateFlags;
39187}
39188extern "C" {
39189    pub fn g_dtls_client_connection_set_validation_flags(
39190        conn: *mut GDtlsClientConnection,
39191        flags: GTlsCertificateFlags,
39192    );
39193}
39194extern "C" {
39195    pub fn g_dtls_client_connection_get_server_identity(
39196        conn: *mut GDtlsClientConnection,
39197    ) -> *mut GSocketConnectable;
39198}
39199extern "C" {
39200    pub fn g_dtls_client_connection_set_server_identity(
39201        conn: *mut GDtlsClientConnection,
39202        identity: *mut GSocketConnectable,
39203    );
39204}
39205extern "C" {
39206    pub fn g_dtls_client_connection_get_accepted_cas(
39207        conn: *mut GDtlsClientConnection,
39208    ) -> *mut GList;
39209}
39210pub type GDtlsServerConnectionInterface = _GDtlsServerConnectionInterface;
39211#[repr(C)]
39212#[derive(Debug, Copy, Clone, PartialEq, Eq)]
39213pub struct _GDtlsServerConnectionInterface {
39214    pub g_iface: GTypeInterface,
39215}
39216#[test]
39217fn bindgen_test_layout__GDtlsServerConnectionInterface() {
39218    const UNINIT: ::std::mem::MaybeUninit<_GDtlsServerConnectionInterface> =
39219        ::std::mem::MaybeUninit::uninit();
39220    let ptr = UNINIT.as_ptr();
39221    assert_eq!(
39222        ::std::mem::size_of::<_GDtlsServerConnectionInterface>(),
39223        16usize,
39224        concat!("Size of: ", stringify!(_GDtlsServerConnectionInterface))
39225    );
39226    assert_eq!(
39227        ::std::mem::align_of::<_GDtlsServerConnectionInterface>(),
39228        8usize,
39229        concat!("Alignment of ", stringify!(_GDtlsServerConnectionInterface))
39230    );
39231    assert_eq!(
39232        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
39233        0usize,
39234        concat!(
39235            "Offset of field: ",
39236            stringify!(_GDtlsServerConnectionInterface),
39237            "::",
39238            stringify!(g_iface)
39239        )
39240    );
39241}
39242extern "C" {
39243    pub fn g_dtls_server_connection_get_type() -> GType;
39244}
39245extern "C" {
39246    pub fn g_dtls_server_connection_new(
39247        base_socket: *mut GDatagramBased,
39248        certificate: *mut GTlsCertificate,
39249        error: *mut *mut GError,
39250    ) -> *mut GDatagramBased;
39251}
39252pub type GIconIface = _GIconIface;
39253#[repr(C)]
39254#[derive(Debug, Copy, Clone, PartialEq, Eq)]
39255pub struct _GIconIface {
39256    pub g_iface: GTypeInterface,
39257    pub hash: ::std::option::Option<unsafe extern "C" fn(icon: *mut GIcon) -> guint>,
39258    pub equal: ::std::option::Option<
39259        unsafe extern "C" fn(icon1: *mut GIcon, icon2: *mut GIcon) -> gboolean,
39260    >,
39261    pub to_tokens: ::std::option::Option<
39262        unsafe extern "C" fn(
39263            icon: *mut GIcon,
39264            tokens: *mut GPtrArray,
39265            out_version: *mut gint,
39266        ) -> gboolean,
39267    >,
39268    pub from_tokens: ::std::option::Option<
39269        unsafe extern "C" fn(
39270            tokens: *mut *mut gchar,
39271            num_tokens: gint,
39272            version: gint,
39273            error: *mut *mut GError,
39274        ) -> *mut GIcon,
39275    >,
39276    pub serialize: ::std::option::Option<unsafe extern "C" fn(icon: *mut GIcon) -> *mut GVariant>,
39277}
39278#[test]
39279fn bindgen_test_layout__GIconIface() {
39280    const UNINIT: ::std::mem::MaybeUninit<_GIconIface> = ::std::mem::MaybeUninit::uninit();
39281    let ptr = UNINIT.as_ptr();
39282    assert_eq!(
39283        ::std::mem::size_of::<_GIconIface>(),
39284        56usize,
39285        concat!("Size of: ", stringify!(_GIconIface))
39286    );
39287    assert_eq!(
39288        ::std::mem::align_of::<_GIconIface>(),
39289        8usize,
39290        concat!("Alignment of ", stringify!(_GIconIface))
39291    );
39292    assert_eq!(
39293        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
39294        0usize,
39295        concat!(
39296            "Offset of field: ",
39297            stringify!(_GIconIface),
39298            "::",
39299            stringify!(g_iface)
39300        )
39301    );
39302    assert_eq!(
39303        unsafe { ::std::ptr::addr_of!((*ptr).hash) as usize - ptr as usize },
39304        16usize,
39305        concat!(
39306            "Offset of field: ",
39307            stringify!(_GIconIface),
39308            "::",
39309            stringify!(hash)
39310        )
39311    );
39312    assert_eq!(
39313        unsafe { ::std::ptr::addr_of!((*ptr).equal) as usize - ptr as usize },
39314        24usize,
39315        concat!(
39316            "Offset of field: ",
39317            stringify!(_GIconIface),
39318            "::",
39319            stringify!(equal)
39320        )
39321    );
39322    assert_eq!(
39323        unsafe { ::std::ptr::addr_of!((*ptr).to_tokens) as usize - ptr as usize },
39324        32usize,
39325        concat!(
39326            "Offset of field: ",
39327            stringify!(_GIconIface),
39328            "::",
39329            stringify!(to_tokens)
39330        )
39331    );
39332    assert_eq!(
39333        unsafe { ::std::ptr::addr_of!((*ptr).from_tokens) as usize - ptr as usize },
39334        40usize,
39335        concat!(
39336            "Offset of field: ",
39337            stringify!(_GIconIface),
39338            "::",
39339            stringify!(from_tokens)
39340        )
39341    );
39342    assert_eq!(
39343        unsafe { ::std::ptr::addr_of!((*ptr).serialize) as usize - ptr as usize },
39344        48usize,
39345        concat!(
39346            "Offset of field: ",
39347            stringify!(_GIconIface),
39348            "::",
39349            stringify!(serialize)
39350        )
39351    );
39352}
39353extern "C" {
39354    pub fn g_icon_get_type() -> GType;
39355}
39356extern "C" {
39357    pub fn g_icon_hash(icon: gconstpointer) -> guint;
39358}
39359extern "C" {
39360    pub fn g_icon_equal(icon1: *mut GIcon, icon2: *mut GIcon) -> gboolean;
39361}
39362extern "C" {
39363    pub fn g_icon_to_string(icon: *mut GIcon) -> *mut gchar;
39364}
39365extern "C" {
39366    pub fn g_icon_new_for_string(str_: *const gchar, error: *mut *mut GError) -> *mut GIcon;
39367}
39368extern "C" {
39369    pub fn g_icon_serialize(icon: *mut GIcon) -> *mut GVariant;
39370}
39371extern "C" {
39372    pub fn g_icon_deserialize(value: *mut GVariant) -> *mut GIcon;
39373}
39374#[repr(C)]
39375#[derive(Debug, Copy, Clone)]
39376pub struct _GEmblem {
39377    _unused: [u8; 0],
39378}
39379pub type GEmblem = _GEmblem;
39380#[repr(C)]
39381#[derive(Debug, Copy, Clone)]
39382pub struct _GEmblemClass {
39383    _unused: [u8; 0],
39384}
39385pub type GEmblemClass = _GEmblemClass;
39386extern "C" {
39387    pub fn g_emblem_get_type() -> GType;
39388}
39389extern "C" {
39390    pub fn g_emblem_new(icon: *mut GIcon) -> *mut GEmblem;
39391}
39392extern "C" {
39393    pub fn g_emblem_new_with_origin(icon: *mut GIcon, origin: GEmblemOrigin) -> *mut GEmblem;
39394}
39395extern "C" {
39396    pub fn g_emblem_get_icon(emblem: *mut GEmblem) -> *mut GIcon;
39397}
39398extern "C" {
39399    pub fn g_emblem_get_origin(emblem: *mut GEmblem) -> GEmblemOrigin;
39400}
39401pub type GEmblemedIcon = _GEmblemedIcon;
39402pub type GEmblemedIconClass = _GEmblemedIconClass;
39403#[repr(C)]
39404#[derive(Debug, Copy, Clone)]
39405pub struct _GEmblemedIconPrivate {
39406    _unused: [u8; 0],
39407}
39408pub type GEmblemedIconPrivate = _GEmblemedIconPrivate;
39409#[repr(C)]
39410#[derive(Debug, Copy, Clone, PartialEq, Eq)]
39411pub struct _GEmblemedIcon {
39412    pub parent_instance: GObject,
39413    pub priv_: *mut GEmblemedIconPrivate,
39414}
39415#[test]
39416fn bindgen_test_layout__GEmblemedIcon() {
39417    const UNINIT: ::std::mem::MaybeUninit<_GEmblemedIcon> = ::std::mem::MaybeUninit::uninit();
39418    let ptr = UNINIT.as_ptr();
39419    assert_eq!(
39420        ::std::mem::size_of::<_GEmblemedIcon>(),
39421        32usize,
39422        concat!("Size of: ", stringify!(_GEmblemedIcon))
39423    );
39424    assert_eq!(
39425        ::std::mem::align_of::<_GEmblemedIcon>(),
39426        8usize,
39427        concat!("Alignment of ", stringify!(_GEmblemedIcon))
39428    );
39429    assert_eq!(
39430        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
39431        0usize,
39432        concat!(
39433            "Offset of field: ",
39434            stringify!(_GEmblemedIcon),
39435            "::",
39436            stringify!(parent_instance)
39437        )
39438    );
39439    assert_eq!(
39440        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
39441        24usize,
39442        concat!(
39443            "Offset of field: ",
39444            stringify!(_GEmblemedIcon),
39445            "::",
39446            stringify!(priv_)
39447        )
39448    );
39449}
39450#[repr(C)]
39451#[derive(Debug, Copy, Clone, PartialEq, Eq)]
39452pub struct _GEmblemedIconClass {
39453    pub parent_class: GObjectClass,
39454}
39455#[test]
39456fn bindgen_test_layout__GEmblemedIconClass() {
39457    const UNINIT: ::std::mem::MaybeUninit<_GEmblemedIconClass> = ::std::mem::MaybeUninit::uninit();
39458    let ptr = UNINIT.as_ptr();
39459    assert_eq!(
39460        ::std::mem::size_of::<_GEmblemedIconClass>(),
39461        136usize,
39462        concat!("Size of: ", stringify!(_GEmblemedIconClass))
39463    );
39464    assert_eq!(
39465        ::std::mem::align_of::<_GEmblemedIconClass>(),
39466        8usize,
39467        concat!("Alignment of ", stringify!(_GEmblemedIconClass))
39468    );
39469    assert_eq!(
39470        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
39471        0usize,
39472        concat!(
39473            "Offset of field: ",
39474            stringify!(_GEmblemedIconClass),
39475            "::",
39476            stringify!(parent_class)
39477        )
39478    );
39479}
39480extern "C" {
39481    pub fn g_emblemed_icon_get_type() -> GType;
39482}
39483extern "C" {
39484    pub fn g_emblemed_icon_new(icon: *mut GIcon, emblem: *mut GEmblem) -> *mut GIcon;
39485}
39486extern "C" {
39487    pub fn g_emblemed_icon_get_icon(emblemed: *mut GEmblemedIcon) -> *mut GIcon;
39488}
39489extern "C" {
39490    pub fn g_emblemed_icon_get_emblems(emblemed: *mut GEmblemedIcon) -> *mut GList;
39491}
39492extern "C" {
39493    pub fn g_emblemed_icon_add_emblem(emblemed: *mut GEmblemedIcon, emblem: *mut GEmblem);
39494}
39495extern "C" {
39496    pub fn g_emblemed_icon_clear_emblems(emblemed: *mut GEmblemedIcon);
39497}
39498pub type GFileIface = _GFileIface;
39499#[repr(C)]
39500#[derive(Debug, Copy, Clone, PartialEq, Eq)]
39501pub struct _GFileIface {
39502    pub g_iface: GTypeInterface,
39503    pub dup: ::std::option::Option<unsafe extern "C" fn(file: *mut GFile) -> *mut GFile>,
39504    pub hash: ::std::option::Option<unsafe extern "C" fn(file: *mut GFile) -> guint>,
39505    pub equal: ::std::option::Option<
39506        unsafe extern "C" fn(file1: *mut GFile, file2: *mut GFile) -> gboolean,
39507    >,
39508    pub is_native: ::std::option::Option<unsafe extern "C" fn(file: *mut GFile) -> gboolean>,
39509    pub has_uri_scheme: ::std::option::Option<
39510        unsafe extern "C" fn(
39511            file: *mut GFile,
39512            uri_scheme: *const ::std::os::raw::c_char,
39513        ) -> gboolean,
39514    >,
39515    pub get_uri_scheme: ::std::option::Option<
39516        unsafe extern "C" fn(file: *mut GFile) -> *mut ::std::os::raw::c_char,
39517    >,
39518    pub get_basename: ::std::option::Option<
39519        unsafe extern "C" fn(file: *mut GFile) -> *mut ::std::os::raw::c_char,
39520    >,
39521    pub get_path: ::std::option::Option<
39522        unsafe extern "C" fn(file: *mut GFile) -> *mut ::std::os::raw::c_char,
39523    >,
39524    pub get_uri: ::std::option::Option<
39525        unsafe extern "C" fn(file: *mut GFile) -> *mut ::std::os::raw::c_char,
39526    >,
39527    pub get_parse_name: ::std::option::Option<
39528        unsafe extern "C" fn(file: *mut GFile) -> *mut ::std::os::raw::c_char,
39529    >,
39530    pub get_parent: ::std::option::Option<unsafe extern "C" fn(file: *mut GFile) -> *mut GFile>,
39531    pub prefix_matches: ::std::option::Option<
39532        unsafe extern "C" fn(prefix: *mut GFile, file: *mut GFile) -> gboolean,
39533    >,
39534    pub get_relative_path: ::std::option::Option<
39535        unsafe extern "C" fn(
39536            parent: *mut GFile,
39537            descendant: *mut GFile,
39538        ) -> *mut ::std::os::raw::c_char,
39539    >,
39540    pub resolve_relative_path: ::std::option::Option<
39541        unsafe extern "C" fn(
39542            file: *mut GFile,
39543            relative_path: *const ::std::os::raw::c_char,
39544        ) -> *mut GFile,
39545    >,
39546    pub get_child_for_display_name: ::std::option::Option<
39547        unsafe extern "C" fn(
39548            file: *mut GFile,
39549            display_name: *const ::std::os::raw::c_char,
39550            error: *mut *mut GError,
39551        ) -> *mut GFile,
39552    >,
39553    pub enumerate_children: ::std::option::Option<
39554        unsafe extern "C" fn(
39555            file: *mut GFile,
39556            attributes: *const ::std::os::raw::c_char,
39557            flags: GFileQueryInfoFlags,
39558            cancellable: *mut GCancellable,
39559            error: *mut *mut GError,
39560        ) -> *mut GFileEnumerator,
39561    >,
39562    pub enumerate_children_async: ::std::option::Option<
39563        unsafe extern "C" fn(
39564            file: *mut GFile,
39565            attributes: *const ::std::os::raw::c_char,
39566            flags: GFileQueryInfoFlags,
39567            io_priority: ::std::os::raw::c_int,
39568            cancellable: *mut GCancellable,
39569            callback: GAsyncReadyCallback,
39570            user_data: gpointer,
39571        ),
39572    >,
39573    pub enumerate_children_finish: ::std::option::Option<
39574        unsafe extern "C" fn(
39575            file: *mut GFile,
39576            res: *mut GAsyncResult,
39577            error: *mut *mut GError,
39578        ) -> *mut GFileEnumerator,
39579    >,
39580    pub query_info: ::std::option::Option<
39581        unsafe extern "C" fn(
39582            file: *mut GFile,
39583            attributes: *const ::std::os::raw::c_char,
39584            flags: GFileQueryInfoFlags,
39585            cancellable: *mut GCancellable,
39586            error: *mut *mut GError,
39587        ) -> *mut GFileInfo,
39588    >,
39589    pub query_info_async: ::std::option::Option<
39590        unsafe extern "C" fn(
39591            file: *mut GFile,
39592            attributes: *const ::std::os::raw::c_char,
39593            flags: GFileQueryInfoFlags,
39594            io_priority: ::std::os::raw::c_int,
39595            cancellable: *mut GCancellable,
39596            callback: GAsyncReadyCallback,
39597            user_data: gpointer,
39598        ),
39599    >,
39600    pub query_info_finish: ::std::option::Option<
39601        unsafe extern "C" fn(
39602            file: *mut GFile,
39603            res: *mut GAsyncResult,
39604            error: *mut *mut GError,
39605        ) -> *mut GFileInfo,
39606    >,
39607    pub query_filesystem_info: ::std::option::Option<
39608        unsafe extern "C" fn(
39609            file: *mut GFile,
39610            attributes: *const ::std::os::raw::c_char,
39611            cancellable: *mut GCancellable,
39612            error: *mut *mut GError,
39613        ) -> *mut GFileInfo,
39614    >,
39615    pub query_filesystem_info_async: ::std::option::Option<
39616        unsafe extern "C" fn(
39617            file: *mut GFile,
39618            attributes: *const ::std::os::raw::c_char,
39619            io_priority: ::std::os::raw::c_int,
39620            cancellable: *mut GCancellable,
39621            callback: GAsyncReadyCallback,
39622            user_data: gpointer,
39623        ),
39624    >,
39625    pub query_filesystem_info_finish: ::std::option::Option<
39626        unsafe extern "C" fn(
39627            file: *mut GFile,
39628            res: *mut GAsyncResult,
39629            error: *mut *mut GError,
39630        ) -> *mut GFileInfo,
39631    >,
39632    pub find_enclosing_mount: ::std::option::Option<
39633        unsafe extern "C" fn(
39634            file: *mut GFile,
39635            cancellable: *mut GCancellable,
39636            error: *mut *mut GError,
39637        ) -> *mut GMount,
39638    >,
39639    pub find_enclosing_mount_async: ::std::option::Option<
39640        unsafe extern "C" fn(
39641            file: *mut GFile,
39642            io_priority: ::std::os::raw::c_int,
39643            cancellable: *mut GCancellable,
39644            callback: GAsyncReadyCallback,
39645            user_data: gpointer,
39646        ),
39647    >,
39648    pub find_enclosing_mount_finish: ::std::option::Option<
39649        unsafe extern "C" fn(
39650            file: *mut GFile,
39651            res: *mut GAsyncResult,
39652            error: *mut *mut GError,
39653        ) -> *mut GMount,
39654    >,
39655    pub set_display_name: ::std::option::Option<
39656        unsafe extern "C" fn(
39657            file: *mut GFile,
39658            display_name: *const ::std::os::raw::c_char,
39659            cancellable: *mut GCancellable,
39660            error: *mut *mut GError,
39661        ) -> *mut GFile,
39662    >,
39663    pub set_display_name_async: ::std::option::Option<
39664        unsafe extern "C" fn(
39665            file: *mut GFile,
39666            display_name: *const ::std::os::raw::c_char,
39667            io_priority: ::std::os::raw::c_int,
39668            cancellable: *mut GCancellable,
39669            callback: GAsyncReadyCallback,
39670            user_data: gpointer,
39671        ),
39672    >,
39673    pub set_display_name_finish: ::std::option::Option<
39674        unsafe extern "C" fn(
39675            file: *mut GFile,
39676            res: *mut GAsyncResult,
39677            error: *mut *mut GError,
39678        ) -> *mut GFile,
39679    >,
39680    pub query_settable_attributes: ::std::option::Option<
39681        unsafe extern "C" fn(
39682            file: *mut GFile,
39683            cancellable: *mut GCancellable,
39684            error: *mut *mut GError,
39685        ) -> *mut GFileAttributeInfoList,
39686    >,
39687    pub _query_settable_attributes_async: ::std::option::Option<unsafe extern "C" fn()>,
39688    pub _query_settable_attributes_finish: ::std::option::Option<unsafe extern "C" fn()>,
39689    pub query_writable_namespaces: ::std::option::Option<
39690        unsafe extern "C" fn(
39691            file: *mut GFile,
39692            cancellable: *mut GCancellable,
39693            error: *mut *mut GError,
39694        ) -> *mut GFileAttributeInfoList,
39695    >,
39696    pub _query_writable_namespaces_async: ::std::option::Option<unsafe extern "C" fn()>,
39697    pub _query_writable_namespaces_finish: ::std::option::Option<unsafe extern "C" fn()>,
39698    pub set_attribute: ::std::option::Option<
39699        unsafe extern "C" fn(
39700            file: *mut GFile,
39701            attribute: *const ::std::os::raw::c_char,
39702            type_: GFileAttributeType,
39703            value_p: gpointer,
39704            flags: GFileQueryInfoFlags,
39705            cancellable: *mut GCancellable,
39706            error: *mut *mut GError,
39707        ) -> gboolean,
39708    >,
39709    pub set_attributes_from_info: ::std::option::Option<
39710        unsafe extern "C" fn(
39711            file: *mut GFile,
39712            info: *mut GFileInfo,
39713            flags: GFileQueryInfoFlags,
39714            cancellable: *mut GCancellable,
39715            error: *mut *mut GError,
39716        ) -> gboolean,
39717    >,
39718    pub set_attributes_async: ::std::option::Option<
39719        unsafe extern "C" fn(
39720            file: *mut GFile,
39721            info: *mut GFileInfo,
39722            flags: GFileQueryInfoFlags,
39723            io_priority: ::std::os::raw::c_int,
39724            cancellable: *mut GCancellable,
39725            callback: GAsyncReadyCallback,
39726            user_data: gpointer,
39727        ),
39728    >,
39729    pub set_attributes_finish: ::std::option::Option<
39730        unsafe extern "C" fn(
39731            file: *mut GFile,
39732            result: *mut GAsyncResult,
39733            info: *mut *mut GFileInfo,
39734            error: *mut *mut GError,
39735        ) -> gboolean,
39736    >,
39737    pub read_fn: ::std::option::Option<
39738        unsafe extern "C" fn(
39739            file: *mut GFile,
39740            cancellable: *mut GCancellable,
39741            error: *mut *mut GError,
39742        ) -> *mut GFileInputStream,
39743    >,
39744    pub read_async: ::std::option::Option<
39745        unsafe extern "C" fn(
39746            file: *mut GFile,
39747            io_priority: ::std::os::raw::c_int,
39748            cancellable: *mut GCancellable,
39749            callback: GAsyncReadyCallback,
39750            user_data: gpointer,
39751        ),
39752    >,
39753    pub read_finish: ::std::option::Option<
39754        unsafe extern "C" fn(
39755            file: *mut GFile,
39756            res: *mut GAsyncResult,
39757            error: *mut *mut GError,
39758        ) -> *mut GFileInputStream,
39759    >,
39760    pub append_to: ::std::option::Option<
39761        unsafe extern "C" fn(
39762            file: *mut GFile,
39763            flags: GFileCreateFlags,
39764            cancellable: *mut GCancellable,
39765            error: *mut *mut GError,
39766        ) -> *mut GFileOutputStream,
39767    >,
39768    pub append_to_async: ::std::option::Option<
39769        unsafe extern "C" fn(
39770            file: *mut GFile,
39771            flags: GFileCreateFlags,
39772            io_priority: ::std::os::raw::c_int,
39773            cancellable: *mut GCancellable,
39774            callback: GAsyncReadyCallback,
39775            user_data: gpointer,
39776        ),
39777    >,
39778    pub append_to_finish: ::std::option::Option<
39779        unsafe extern "C" fn(
39780            file: *mut GFile,
39781            res: *mut GAsyncResult,
39782            error: *mut *mut GError,
39783        ) -> *mut GFileOutputStream,
39784    >,
39785    pub create: ::std::option::Option<
39786        unsafe extern "C" fn(
39787            file: *mut GFile,
39788            flags: GFileCreateFlags,
39789            cancellable: *mut GCancellable,
39790            error: *mut *mut GError,
39791        ) -> *mut GFileOutputStream,
39792    >,
39793    pub create_async: ::std::option::Option<
39794        unsafe extern "C" fn(
39795            file: *mut GFile,
39796            flags: GFileCreateFlags,
39797            io_priority: ::std::os::raw::c_int,
39798            cancellable: *mut GCancellable,
39799            callback: GAsyncReadyCallback,
39800            user_data: gpointer,
39801        ),
39802    >,
39803    pub create_finish: ::std::option::Option<
39804        unsafe extern "C" fn(
39805            file: *mut GFile,
39806            res: *mut GAsyncResult,
39807            error: *mut *mut GError,
39808        ) -> *mut GFileOutputStream,
39809    >,
39810    pub replace: ::std::option::Option<
39811        unsafe extern "C" fn(
39812            file: *mut GFile,
39813            etag: *const ::std::os::raw::c_char,
39814            make_backup: gboolean,
39815            flags: GFileCreateFlags,
39816            cancellable: *mut GCancellable,
39817            error: *mut *mut GError,
39818        ) -> *mut GFileOutputStream,
39819    >,
39820    pub replace_async: ::std::option::Option<
39821        unsafe extern "C" fn(
39822            file: *mut GFile,
39823            etag: *const ::std::os::raw::c_char,
39824            make_backup: gboolean,
39825            flags: GFileCreateFlags,
39826            io_priority: ::std::os::raw::c_int,
39827            cancellable: *mut GCancellable,
39828            callback: GAsyncReadyCallback,
39829            user_data: gpointer,
39830        ),
39831    >,
39832    pub replace_finish: ::std::option::Option<
39833        unsafe extern "C" fn(
39834            file: *mut GFile,
39835            res: *mut GAsyncResult,
39836            error: *mut *mut GError,
39837        ) -> *mut GFileOutputStream,
39838    >,
39839    pub delete_file: ::std::option::Option<
39840        unsafe extern "C" fn(
39841            file: *mut GFile,
39842            cancellable: *mut GCancellable,
39843            error: *mut *mut GError,
39844        ) -> gboolean,
39845    >,
39846    pub delete_file_async: ::std::option::Option<
39847        unsafe extern "C" fn(
39848            file: *mut GFile,
39849            io_priority: ::std::os::raw::c_int,
39850            cancellable: *mut GCancellable,
39851            callback: GAsyncReadyCallback,
39852            user_data: gpointer,
39853        ),
39854    >,
39855    pub delete_file_finish: ::std::option::Option<
39856        unsafe extern "C" fn(
39857            file: *mut GFile,
39858            result: *mut GAsyncResult,
39859            error: *mut *mut GError,
39860        ) -> gboolean,
39861    >,
39862    pub trash: ::std::option::Option<
39863        unsafe extern "C" fn(
39864            file: *mut GFile,
39865            cancellable: *mut GCancellable,
39866            error: *mut *mut GError,
39867        ) -> gboolean,
39868    >,
39869    pub trash_async: ::std::option::Option<
39870        unsafe extern "C" fn(
39871            file: *mut GFile,
39872            io_priority: ::std::os::raw::c_int,
39873            cancellable: *mut GCancellable,
39874            callback: GAsyncReadyCallback,
39875            user_data: gpointer,
39876        ),
39877    >,
39878    pub trash_finish: ::std::option::Option<
39879        unsafe extern "C" fn(
39880            file: *mut GFile,
39881            result: *mut GAsyncResult,
39882            error: *mut *mut GError,
39883        ) -> gboolean,
39884    >,
39885    pub make_directory: ::std::option::Option<
39886        unsafe extern "C" fn(
39887            file: *mut GFile,
39888            cancellable: *mut GCancellable,
39889            error: *mut *mut GError,
39890        ) -> gboolean,
39891    >,
39892    pub make_directory_async: ::std::option::Option<
39893        unsafe extern "C" fn(
39894            file: *mut GFile,
39895            io_priority: ::std::os::raw::c_int,
39896            cancellable: *mut GCancellable,
39897            callback: GAsyncReadyCallback,
39898            user_data: gpointer,
39899        ),
39900    >,
39901    pub make_directory_finish: ::std::option::Option<
39902        unsafe extern "C" fn(
39903            file: *mut GFile,
39904            result: *mut GAsyncResult,
39905            error: *mut *mut GError,
39906        ) -> gboolean,
39907    >,
39908    pub make_symbolic_link: ::std::option::Option<
39909        unsafe extern "C" fn(
39910            file: *mut GFile,
39911            symlink_value: *const ::std::os::raw::c_char,
39912            cancellable: *mut GCancellable,
39913            error: *mut *mut GError,
39914        ) -> gboolean,
39915    >,
39916    pub make_symbolic_link_async: ::std::option::Option<
39917        unsafe extern "C" fn(
39918            file: *mut GFile,
39919            symlink_value: *const ::std::os::raw::c_char,
39920            io_priority: ::std::os::raw::c_int,
39921            cancellable: *mut GCancellable,
39922            callback: GAsyncReadyCallback,
39923            user_data: gpointer,
39924        ),
39925    >,
39926    pub make_symbolic_link_finish: ::std::option::Option<
39927        unsafe extern "C" fn(
39928            file: *mut GFile,
39929            result: *mut GAsyncResult,
39930            error: *mut *mut GError,
39931        ) -> gboolean,
39932    >,
39933    pub copy: ::std::option::Option<
39934        unsafe extern "C" fn(
39935            source: *mut GFile,
39936            destination: *mut GFile,
39937            flags: GFileCopyFlags,
39938            cancellable: *mut GCancellable,
39939            progress_callback: GFileProgressCallback,
39940            progress_callback_data: gpointer,
39941            error: *mut *mut GError,
39942        ) -> gboolean,
39943    >,
39944    pub copy_async: ::std::option::Option<
39945        unsafe extern "C" fn(
39946            source: *mut GFile,
39947            destination: *mut GFile,
39948            flags: GFileCopyFlags,
39949            io_priority: ::std::os::raw::c_int,
39950            cancellable: *mut GCancellable,
39951            progress_callback: GFileProgressCallback,
39952            progress_callback_data: gpointer,
39953            callback: GAsyncReadyCallback,
39954            user_data: gpointer,
39955        ),
39956    >,
39957    pub copy_finish: ::std::option::Option<
39958        unsafe extern "C" fn(
39959            file: *mut GFile,
39960            res: *mut GAsyncResult,
39961            error: *mut *mut GError,
39962        ) -> gboolean,
39963    >,
39964    pub move_: ::std::option::Option<
39965        unsafe extern "C" fn(
39966            source: *mut GFile,
39967            destination: *mut GFile,
39968            flags: GFileCopyFlags,
39969            cancellable: *mut GCancellable,
39970            progress_callback: GFileProgressCallback,
39971            progress_callback_data: gpointer,
39972            error: *mut *mut GError,
39973        ) -> gboolean,
39974    >,
39975    pub move_async: ::std::option::Option<
39976        unsafe extern "C" fn(
39977            source: *mut GFile,
39978            destination: *mut GFile,
39979            flags: GFileCopyFlags,
39980            io_priority: ::std::os::raw::c_int,
39981            cancellable: *mut GCancellable,
39982            progress_callback: GFileProgressCallback,
39983            progress_callback_data: gpointer,
39984            callback: GAsyncReadyCallback,
39985            user_data: gpointer,
39986        ),
39987    >,
39988    pub move_finish: ::std::option::Option<
39989        unsafe extern "C" fn(
39990            file: *mut GFile,
39991            result: *mut GAsyncResult,
39992            error: *mut *mut GError,
39993        ) -> gboolean,
39994    >,
39995    pub mount_mountable: ::std::option::Option<
39996        unsafe extern "C" fn(
39997            file: *mut GFile,
39998            flags: GMountMountFlags,
39999            mount_operation: *mut GMountOperation,
40000            cancellable: *mut GCancellable,
40001            callback: GAsyncReadyCallback,
40002            user_data: gpointer,
40003        ),
40004    >,
40005    pub mount_mountable_finish: ::std::option::Option<
40006        unsafe extern "C" fn(
40007            file: *mut GFile,
40008            result: *mut GAsyncResult,
40009            error: *mut *mut GError,
40010        ) -> *mut GFile,
40011    >,
40012    pub unmount_mountable: ::std::option::Option<
40013        unsafe extern "C" fn(
40014            file: *mut GFile,
40015            flags: GMountUnmountFlags,
40016            cancellable: *mut GCancellable,
40017            callback: GAsyncReadyCallback,
40018            user_data: gpointer,
40019        ),
40020    >,
40021    pub unmount_mountable_finish: ::std::option::Option<
40022        unsafe extern "C" fn(
40023            file: *mut GFile,
40024            result: *mut GAsyncResult,
40025            error: *mut *mut GError,
40026        ) -> gboolean,
40027    >,
40028    pub eject_mountable: ::std::option::Option<
40029        unsafe extern "C" fn(
40030            file: *mut GFile,
40031            flags: GMountUnmountFlags,
40032            cancellable: *mut GCancellable,
40033            callback: GAsyncReadyCallback,
40034            user_data: gpointer,
40035        ),
40036    >,
40037    pub eject_mountable_finish: ::std::option::Option<
40038        unsafe extern "C" fn(
40039            file: *mut GFile,
40040            result: *mut GAsyncResult,
40041            error: *mut *mut GError,
40042        ) -> gboolean,
40043    >,
40044    pub mount_enclosing_volume: ::std::option::Option<
40045        unsafe extern "C" fn(
40046            location: *mut GFile,
40047            flags: GMountMountFlags,
40048            mount_operation: *mut GMountOperation,
40049            cancellable: *mut GCancellable,
40050            callback: GAsyncReadyCallback,
40051            user_data: gpointer,
40052        ),
40053    >,
40054    pub mount_enclosing_volume_finish: ::std::option::Option<
40055        unsafe extern "C" fn(
40056            location: *mut GFile,
40057            result: *mut GAsyncResult,
40058            error: *mut *mut GError,
40059        ) -> gboolean,
40060    >,
40061    pub monitor_dir: ::std::option::Option<
40062        unsafe extern "C" fn(
40063            file: *mut GFile,
40064            flags: GFileMonitorFlags,
40065            cancellable: *mut GCancellable,
40066            error: *mut *mut GError,
40067        ) -> *mut GFileMonitor,
40068    >,
40069    pub monitor_file: ::std::option::Option<
40070        unsafe extern "C" fn(
40071            file: *mut GFile,
40072            flags: GFileMonitorFlags,
40073            cancellable: *mut GCancellable,
40074            error: *mut *mut GError,
40075        ) -> *mut GFileMonitor,
40076    >,
40077    pub open_readwrite: ::std::option::Option<
40078        unsafe extern "C" fn(
40079            file: *mut GFile,
40080            cancellable: *mut GCancellable,
40081            error: *mut *mut GError,
40082        ) -> *mut GFileIOStream,
40083    >,
40084    pub open_readwrite_async: ::std::option::Option<
40085        unsafe extern "C" fn(
40086            file: *mut GFile,
40087            io_priority: ::std::os::raw::c_int,
40088            cancellable: *mut GCancellable,
40089            callback: GAsyncReadyCallback,
40090            user_data: gpointer,
40091        ),
40092    >,
40093    pub open_readwrite_finish: ::std::option::Option<
40094        unsafe extern "C" fn(
40095            file: *mut GFile,
40096            res: *mut GAsyncResult,
40097            error: *mut *mut GError,
40098        ) -> *mut GFileIOStream,
40099    >,
40100    pub create_readwrite: ::std::option::Option<
40101        unsafe extern "C" fn(
40102            file: *mut GFile,
40103            flags: GFileCreateFlags,
40104            cancellable: *mut GCancellable,
40105            error: *mut *mut GError,
40106        ) -> *mut GFileIOStream,
40107    >,
40108    pub create_readwrite_async: ::std::option::Option<
40109        unsafe extern "C" fn(
40110            file: *mut GFile,
40111            flags: GFileCreateFlags,
40112            io_priority: ::std::os::raw::c_int,
40113            cancellable: *mut GCancellable,
40114            callback: GAsyncReadyCallback,
40115            user_data: gpointer,
40116        ),
40117    >,
40118    pub create_readwrite_finish: ::std::option::Option<
40119        unsafe extern "C" fn(
40120            file: *mut GFile,
40121            res: *mut GAsyncResult,
40122            error: *mut *mut GError,
40123        ) -> *mut GFileIOStream,
40124    >,
40125    pub replace_readwrite: ::std::option::Option<
40126        unsafe extern "C" fn(
40127            file: *mut GFile,
40128            etag: *const ::std::os::raw::c_char,
40129            make_backup: gboolean,
40130            flags: GFileCreateFlags,
40131            cancellable: *mut GCancellable,
40132            error: *mut *mut GError,
40133        ) -> *mut GFileIOStream,
40134    >,
40135    pub replace_readwrite_async: ::std::option::Option<
40136        unsafe extern "C" fn(
40137            file: *mut GFile,
40138            etag: *const ::std::os::raw::c_char,
40139            make_backup: gboolean,
40140            flags: GFileCreateFlags,
40141            io_priority: ::std::os::raw::c_int,
40142            cancellable: *mut GCancellable,
40143            callback: GAsyncReadyCallback,
40144            user_data: gpointer,
40145        ),
40146    >,
40147    pub replace_readwrite_finish: ::std::option::Option<
40148        unsafe extern "C" fn(
40149            file: *mut GFile,
40150            res: *mut GAsyncResult,
40151            error: *mut *mut GError,
40152        ) -> *mut GFileIOStream,
40153    >,
40154    pub start_mountable: ::std::option::Option<
40155        unsafe extern "C" fn(
40156            file: *mut GFile,
40157            flags: GDriveStartFlags,
40158            start_operation: *mut GMountOperation,
40159            cancellable: *mut GCancellable,
40160            callback: GAsyncReadyCallback,
40161            user_data: gpointer,
40162        ),
40163    >,
40164    pub start_mountable_finish: ::std::option::Option<
40165        unsafe extern "C" fn(
40166            file: *mut GFile,
40167            result: *mut GAsyncResult,
40168            error: *mut *mut GError,
40169        ) -> gboolean,
40170    >,
40171    pub stop_mountable: ::std::option::Option<
40172        unsafe extern "C" fn(
40173            file: *mut GFile,
40174            flags: GMountUnmountFlags,
40175            mount_operation: *mut GMountOperation,
40176            cancellable: *mut GCancellable,
40177            callback: GAsyncReadyCallback,
40178            user_data: gpointer,
40179        ),
40180    >,
40181    pub stop_mountable_finish: ::std::option::Option<
40182        unsafe extern "C" fn(
40183            file: *mut GFile,
40184            result: *mut GAsyncResult,
40185            error: *mut *mut GError,
40186        ) -> gboolean,
40187    >,
40188    pub supports_thread_contexts: gboolean,
40189    pub unmount_mountable_with_operation: ::std::option::Option<
40190        unsafe extern "C" fn(
40191            file: *mut GFile,
40192            flags: GMountUnmountFlags,
40193            mount_operation: *mut GMountOperation,
40194            cancellable: *mut GCancellable,
40195            callback: GAsyncReadyCallback,
40196            user_data: gpointer,
40197        ),
40198    >,
40199    pub unmount_mountable_with_operation_finish: ::std::option::Option<
40200        unsafe extern "C" fn(
40201            file: *mut GFile,
40202            result: *mut GAsyncResult,
40203            error: *mut *mut GError,
40204        ) -> gboolean,
40205    >,
40206    pub eject_mountable_with_operation: ::std::option::Option<
40207        unsafe extern "C" fn(
40208            file: *mut GFile,
40209            flags: GMountUnmountFlags,
40210            mount_operation: *mut GMountOperation,
40211            cancellable: *mut GCancellable,
40212            callback: GAsyncReadyCallback,
40213            user_data: gpointer,
40214        ),
40215    >,
40216    pub eject_mountable_with_operation_finish: ::std::option::Option<
40217        unsafe extern "C" fn(
40218            file: *mut GFile,
40219            result: *mut GAsyncResult,
40220            error: *mut *mut GError,
40221        ) -> gboolean,
40222    >,
40223    pub poll_mountable: ::std::option::Option<
40224        unsafe extern "C" fn(
40225            file: *mut GFile,
40226            cancellable: *mut GCancellable,
40227            callback: GAsyncReadyCallback,
40228            user_data: gpointer,
40229        ),
40230    >,
40231    pub poll_mountable_finish: ::std::option::Option<
40232        unsafe extern "C" fn(
40233            file: *mut GFile,
40234            result: *mut GAsyncResult,
40235            error: *mut *mut GError,
40236        ) -> gboolean,
40237    >,
40238    pub measure_disk_usage: ::std::option::Option<
40239        unsafe extern "C" fn(
40240            file: *mut GFile,
40241            flags: GFileMeasureFlags,
40242            cancellable: *mut GCancellable,
40243            progress_callback: GFileMeasureProgressCallback,
40244            progress_data: gpointer,
40245            disk_usage: *mut guint64,
40246            num_dirs: *mut guint64,
40247            num_files: *mut guint64,
40248            error: *mut *mut GError,
40249        ) -> gboolean,
40250    >,
40251    pub measure_disk_usage_async: ::std::option::Option<
40252        unsafe extern "C" fn(
40253            file: *mut GFile,
40254            flags: GFileMeasureFlags,
40255            io_priority: gint,
40256            cancellable: *mut GCancellable,
40257            progress_callback: GFileMeasureProgressCallback,
40258            progress_data: gpointer,
40259            callback: GAsyncReadyCallback,
40260            user_data: gpointer,
40261        ),
40262    >,
40263    pub measure_disk_usage_finish: ::std::option::Option<
40264        unsafe extern "C" fn(
40265            file: *mut GFile,
40266            result: *mut GAsyncResult,
40267            disk_usage: *mut guint64,
40268            num_dirs: *mut guint64,
40269            num_files: *mut guint64,
40270            error: *mut *mut GError,
40271        ) -> gboolean,
40272    >,
40273}
40274#[test]
40275fn bindgen_test_layout__GFileIface() {
40276    const UNINIT: ::std::mem::MaybeUninit<_GFileIface> = ::std::mem::MaybeUninit::uninit();
40277    let ptr = UNINIT.as_ptr();
40278    assert_eq!(
40279        ::std::mem::size_of::<_GFileIface>(),
40280        840usize,
40281        concat!("Size of: ", stringify!(_GFileIface))
40282    );
40283    assert_eq!(
40284        ::std::mem::align_of::<_GFileIface>(),
40285        8usize,
40286        concat!("Alignment of ", stringify!(_GFileIface))
40287    );
40288    assert_eq!(
40289        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
40290        0usize,
40291        concat!(
40292            "Offset of field: ",
40293            stringify!(_GFileIface),
40294            "::",
40295            stringify!(g_iface)
40296        )
40297    );
40298    assert_eq!(
40299        unsafe { ::std::ptr::addr_of!((*ptr).dup) as usize - ptr as usize },
40300        16usize,
40301        concat!(
40302            "Offset of field: ",
40303            stringify!(_GFileIface),
40304            "::",
40305            stringify!(dup)
40306        )
40307    );
40308    assert_eq!(
40309        unsafe { ::std::ptr::addr_of!((*ptr).hash) as usize - ptr as usize },
40310        24usize,
40311        concat!(
40312            "Offset of field: ",
40313            stringify!(_GFileIface),
40314            "::",
40315            stringify!(hash)
40316        )
40317    );
40318    assert_eq!(
40319        unsafe { ::std::ptr::addr_of!((*ptr).equal) as usize - ptr as usize },
40320        32usize,
40321        concat!(
40322            "Offset of field: ",
40323            stringify!(_GFileIface),
40324            "::",
40325            stringify!(equal)
40326        )
40327    );
40328    assert_eq!(
40329        unsafe { ::std::ptr::addr_of!((*ptr).is_native) as usize - ptr as usize },
40330        40usize,
40331        concat!(
40332            "Offset of field: ",
40333            stringify!(_GFileIface),
40334            "::",
40335            stringify!(is_native)
40336        )
40337    );
40338    assert_eq!(
40339        unsafe { ::std::ptr::addr_of!((*ptr).has_uri_scheme) as usize - ptr as usize },
40340        48usize,
40341        concat!(
40342            "Offset of field: ",
40343            stringify!(_GFileIface),
40344            "::",
40345            stringify!(has_uri_scheme)
40346        )
40347    );
40348    assert_eq!(
40349        unsafe { ::std::ptr::addr_of!((*ptr).get_uri_scheme) as usize - ptr as usize },
40350        56usize,
40351        concat!(
40352            "Offset of field: ",
40353            stringify!(_GFileIface),
40354            "::",
40355            stringify!(get_uri_scheme)
40356        )
40357    );
40358    assert_eq!(
40359        unsafe { ::std::ptr::addr_of!((*ptr).get_basename) as usize - ptr as usize },
40360        64usize,
40361        concat!(
40362            "Offset of field: ",
40363            stringify!(_GFileIface),
40364            "::",
40365            stringify!(get_basename)
40366        )
40367    );
40368    assert_eq!(
40369        unsafe { ::std::ptr::addr_of!((*ptr).get_path) as usize - ptr as usize },
40370        72usize,
40371        concat!(
40372            "Offset of field: ",
40373            stringify!(_GFileIface),
40374            "::",
40375            stringify!(get_path)
40376        )
40377    );
40378    assert_eq!(
40379        unsafe { ::std::ptr::addr_of!((*ptr).get_uri) as usize - ptr as usize },
40380        80usize,
40381        concat!(
40382            "Offset of field: ",
40383            stringify!(_GFileIface),
40384            "::",
40385            stringify!(get_uri)
40386        )
40387    );
40388    assert_eq!(
40389        unsafe { ::std::ptr::addr_of!((*ptr).get_parse_name) as usize - ptr as usize },
40390        88usize,
40391        concat!(
40392            "Offset of field: ",
40393            stringify!(_GFileIface),
40394            "::",
40395            stringify!(get_parse_name)
40396        )
40397    );
40398    assert_eq!(
40399        unsafe { ::std::ptr::addr_of!((*ptr).get_parent) as usize - ptr as usize },
40400        96usize,
40401        concat!(
40402            "Offset of field: ",
40403            stringify!(_GFileIface),
40404            "::",
40405            stringify!(get_parent)
40406        )
40407    );
40408    assert_eq!(
40409        unsafe { ::std::ptr::addr_of!((*ptr).prefix_matches) as usize - ptr as usize },
40410        104usize,
40411        concat!(
40412            "Offset of field: ",
40413            stringify!(_GFileIface),
40414            "::",
40415            stringify!(prefix_matches)
40416        )
40417    );
40418    assert_eq!(
40419        unsafe { ::std::ptr::addr_of!((*ptr).get_relative_path) as usize - ptr as usize },
40420        112usize,
40421        concat!(
40422            "Offset of field: ",
40423            stringify!(_GFileIface),
40424            "::",
40425            stringify!(get_relative_path)
40426        )
40427    );
40428    assert_eq!(
40429        unsafe { ::std::ptr::addr_of!((*ptr).resolve_relative_path) as usize - ptr as usize },
40430        120usize,
40431        concat!(
40432            "Offset of field: ",
40433            stringify!(_GFileIface),
40434            "::",
40435            stringify!(resolve_relative_path)
40436        )
40437    );
40438    assert_eq!(
40439        unsafe { ::std::ptr::addr_of!((*ptr).get_child_for_display_name) as usize - ptr as usize },
40440        128usize,
40441        concat!(
40442            "Offset of field: ",
40443            stringify!(_GFileIface),
40444            "::",
40445            stringify!(get_child_for_display_name)
40446        )
40447    );
40448    assert_eq!(
40449        unsafe { ::std::ptr::addr_of!((*ptr).enumerate_children) as usize - ptr as usize },
40450        136usize,
40451        concat!(
40452            "Offset of field: ",
40453            stringify!(_GFileIface),
40454            "::",
40455            stringify!(enumerate_children)
40456        )
40457    );
40458    assert_eq!(
40459        unsafe { ::std::ptr::addr_of!((*ptr).enumerate_children_async) as usize - ptr as usize },
40460        144usize,
40461        concat!(
40462            "Offset of field: ",
40463            stringify!(_GFileIface),
40464            "::",
40465            stringify!(enumerate_children_async)
40466        )
40467    );
40468    assert_eq!(
40469        unsafe { ::std::ptr::addr_of!((*ptr).enumerate_children_finish) as usize - ptr as usize },
40470        152usize,
40471        concat!(
40472            "Offset of field: ",
40473            stringify!(_GFileIface),
40474            "::",
40475            stringify!(enumerate_children_finish)
40476        )
40477    );
40478    assert_eq!(
40479        unsafe { ::std::ptr::addr_of!((*ptr).query_info) as usize - ptr as usize },
40480        160usize,
40481        concat!(
40482            "Offset of field: ",
40483            stringify!(_GFileIface),
40484            "::",
40485            stringify!(query_info)
40486        )
40487    );
40488    assert_eq!(
40489        unsafe { ::std::ptr::addr_of!((*ptr).query_info_async) as usize - ptr as usize },
40490        168usize,
40491        concat!(
40492            "Offset of field: ",
40493            stringify!(_GFileIface),
40494            "::",
40495            stringify!(query_info_async)
40496        )
40497    );
40498    assert_eq!(
40499        unsafe { ::std::ptr::addr_of!((*ptr).query_info_finish) as usize - ptr as usize },
40500        176usize,
40501        concat!(
40502            "Offset of field: ",
40503            stringify!(_GFileIface),
40504            "::",
40505            stringify!(query_info_finish)
40506        )
40507    );
40508    assert_eq!(
40509        unsafe { ::std::ptr::addr_of!((*ptr).query_filesystem_info) as usize - ptr as usize },
40510        184usize,
40511        concat!(
40512            "Offset of field: ",
40513            stringify!(_GFileIface),
40514            "::",
40515            stringify!(query_filesystem_info)
40516        )
40517    );
40518    assert_eq!(
40519        unsafe { ::std::ptr::addr_of!((*ptr).query_filesystem_info_async) as usize - ptr as usize },
40520        192usize,
40521        concat!(
40522            "Offset of field: ",
40523            stringify!(_GFileIface),
40524            "::",
40525            stringify!(query_filesystem_info_async)
40526        )
40527    );
40528    assert_eq!(
40529        unsafe {
40530            ::std::ptr::addr_of!((*ptr).query_filesystem_info_finish) as usize - ptr as usize
40531        },
40532        200usize,
40533        concat!(
40534            "Offset of field: ",
40535            stringify!(_GFileIface),
40536            "::",
40537            stringify!(query_filesystem_info_finish)
40538        )
40539    );
40540    assert_eq!(
40541        unsafe { ::std::ptr::addr_of!((*ptr).find_enclosing_mount) as usize - ptr as usize },
40542        208usize,
40543        concat!(
40544            "Offset of field: ",
40545            stringify!(_GFileIface),
40546            "::",
40547            stringify!(find_enclosing_mount)
40548        )
40549    );
40550    assert_eq!(
40551        unsafe { ::std::ptr::addr_of!((*ptr).find_enclosing_mount_async) as usize - ptr as usize },
40552        216usize,
40553        concat!(
40554            "Offset of field: ",
40555            stringify!(_GFileIface),
40556            "::",
40557            stringify!(find_enclosing_mount_async)
40558        )
40559    );
40560    assert_eq!(
40561        unsafe { ::std::ptr::addr_of!((*ptr).find_enclosing_mount_finish) as usize - ptr as usize },
40562        224usize,
40563        concat!(
40564            "Offset of field: ",
40565            stringify!(_GFileIface),
40566            "::",
40567            stringify!(find_enclosing_mount_finish)
40568        )
40569    );
40570    assert_eq!(
40571        unsafe { ::std::ptr::addr_of!((*ptr).set_display_name) as usize - ptr as usize },
40572        232usize,
40573        concat!(
40574            "Offset of field: ",
40575            stringify!(_GFileIface),
40576            "::",
40577            stringify!(set_display_name)
40578        )
40579    );
40580    assert_eq!(
40581        unsafe { ::std::ptr::addr_of!((*ptr).set_display_name_async) as usize - ptr as usize },
40582        240usize,
40583        concat!(
40584            "Offset of field: ",
40585            stringify!(_GFileIface),
40586            "::",
40587            stringify!(set_display_name_async)
40588        )
40589    );
40590    assert_eq!(
40591        unsafe { ::std::ptr::addr_of!((*ptr).set_display_name_finish) as usize - ptr as usize },
40592        248usize,
40593        concat!(
40594            "Offset of field: ",
40595            stringify!(_GFileIface),
40596            "::",
40597            stringify!(set_display_name_finish)
40598        )
40599    );
40600    assert_eq!(
40601        unsafe { ::std::ptr::addr_of!((*ptr).query_settable_attributes) as usize - ptr as usize },
40602        256usize,
40603        concat!(
40604            "Offset of field: ",
40605            stringify!(_GFileIface),
40606            "::",
40607            stringify!(query_settable_attributes)
40608        )
40609    );
40610    assert_eq!(
40611        unsafe {
40612            ::std::ptr::addr_of!((*ptr)._query_settable_attributes_async) as usize - ptr as usize
40613        },
40614        264usize,
40615        concat!(
40616            "Offset of field: ",
40617            stringify!(_GFileIface),
40618            "::",
40619            stringify!(_query_settable_attributes_async)
40620        )
40621    );
40622    assert_eq!(
40623        unsafe {
40624            ::std::ptr::addr_of!((*ptr)._query_settable_attributes_finish) as usize - ptr as usize
40625        },
40626        272usize,
40627        concat!(
40628            "Offset of field: ",
40629            stringify!(_GFileIface),
40630            "::",
40631            stringify!(_query_settable_attributes_finish)
40632        )
40633    );
40634    assert_eq!(
40635        unsafe { ::std::ptr::addr_of!((*ptr).query_writable_namespaces) as usize - ptr as usize },
40636        280usize,
40637        concat!(
40638            "Offset of field: ",
40639            stringify!(_GFileIface),
40640            "::",
40641            stringify!(query_writable_namespaces)
40642        )
40643    );
40644    assert_eq!(
40645        unsafe {
40646            ::std::ptr::addr_of!((*ptr)._query_writable_namespaces_async) as usize - ptr as usize
40647        },
40648        288usize,
40649        concat!(
40650            "Offset of field: ",
40651            stringify!(_GFileIface),
40652            "::",
40653            stringify!(_query_writable_namespaces_async)
40654        )
40655    );
40656    assert_eq!(
40657        unsafe {
40658            ::std::ptr::addr_of!((*ptr)._query_writable_namespaces_finish) as usize - ptr as usize
40659        },
40660        296usize,
40661        concat!(
40662            "Offset of field: ",
40663            stringify!(_GFileIface),
40664            "::",
40665            stringify!(_query_writable_namespaces_finish)
40666        )
40667    );
40668    assert_eq!(
40669        unsafe { ::std::ptr::addr_of!((*ptr).set_attribute) as usize - ptr as usize },
40670        304usize,
40671        concat!(
40672            "Offset of field: ",
40673            stringify!(_GFileIface),
40674            "::",
40675            stringify!(set_attribute)
40676        )
40677    );
40678    assert_eq!(
40679        unsafe { ::std::ptr::addr_of!((*ptr).set_attributes_from_info) as usize - ptr as usize },
40680        312usize,
40681        concat!(
40682            "Offset of field: ",
40683            stringify!(_GFileIface),
40684            "::",
40685            stringify!(set_attributes_from_info)
40686        )
40687    );
40688    assert_eq!(
40689        unsafe { ::std::ptr::addr_of!((*ptr).set_attributes_async) as usize - ptr as usize },
40690        320usize,
40691        concat!(
40692            "Offset of field: ",
40693            stringify!(_GFileIface),
40694            "::",
40695            stringify!(set_attributes_async)
40696        )
40697    );
40698    assert_eq!(
40699        unsafe { ::std::ptr::addr_of!((*ptr).set_attributes_finish) as usize - ptr as usize },
40700        328usize,
40701        concat!(
40702            "Offset of field: ",
40703            stringify!(_GFileIface),
40704            "::",
40705            stringify!(set_attributes_finish)
40706        )
40707    );
40708    assert_eq!(
40709        unsafe { ::std::ptr::addr_of!((*ptr).read_fn) as usize - ptr as usize },
40710        336usize,
40711        concat!(
40712            "Offset of field: ",
40713            stringify!(_GFileIface),
40714            "::",
40715            stringify!(read_fn)
40716        )
40717    );
40718    assert_eq!(
40719        unsafe { ::std::ptr::addr_of!((*ptr).read_async) as usize - ptr as usize },
40720        344usize,
40721        concat!(
40722            "Offset of field: ",
40723            stringify!(_GFileIface),
40724            "::",
40725            stringify!(read_async)
40726        )
40727    );
40728    assert_eq!(
40729        unsafe { ::std::ptr::addr_of!((*ptr).read_finish) as usize - ptr as usize },
40730        352usize,
40731        concat!(
40732            "Offset of field: ",
40733            stringify!(_GFileIface),
40734            "::",
40735            stringify!(read_finish)
40736        )
40737    );
40738    assert_eq!(
40739        unsafe { ::std::ptr::addr_of!((*ptr).append_to) as usize - ptr as usize },
40740        360usize,
40741        concat!(
40742            "Offset of field: ",
40743            stringify!(_GFileIface),
40744            "::",
40745            stringify!(append_to)
40746        )
40747    );
40748    assert_eq!(
40749        unsafe { ::std::ptr::addr_of!((*ptr).append_to_async) as usize - ptr as usize },
40750        368usize,
40751        concat!(
40752            "Offset of field: ",
40753            stringify!(_GFileIface),
40754            "::",
40755            stringify!(append_to_async)
40756        )
40757    );
40758    assert_eq!(
40759        unsafe { ::std::ptr::addr_of!((*ptr).append_to_finish) as usize - ptr as usize },
40760        376usize,
40761        concat!(
40762            "Offset of field: ",
40763            stringify!(_GFileIface),
40764            "::",
40765            stringify!(append_to_finish)
40766        )
40767    );
40768    assert_eq!(
40769        unsafe { ::std::ptr::addr_of!((*ptr).create) as usize - ptr as usize },
40770        384usize,
40771        concat!(
40772            "Offset of field: ",
40773            stringify!(_GFileIface),
40774            "::",
40775            stringify!(create)
40776        )
40777    );
40778    assert_eq!(
40779        unsafe { ::std::ptr::addr_of!((*ptr).create_async) as usize - ptr as usize },
40780        392usize,
40781        concat!(
40782            "Offset of field: ",
40783            stringify!(_GFileIface),
40784            "::",
40785            stringify!(create_async)
40786        )
40787    );
40788    assert_eq!(
40789        unsafe { ::std::ptr::addr_of!((*ptr).create_finish) as usize - ptr as usize },
40790        400usize,
40791        concat!(
40792            "Offset of field: ",
40793            stringify!(_GFileIface),
40794            "::",
40795            stringify!(create_finish)
40796        )
40797    );
40798    assert_eq!(
40799        unsafe { ::std::ptr::addr_of!((*ptr).replace) as usize - ptr as usize },
40800        408usize,
40801        concat!(
40802            "Offset of field: ",
40803            stringify!(_GFileIface),
40804            "::",
40805            stringify!(replace)
40806        )
40807    );
40808    assert_eq!(
40809        unsafe { ::std::ptr::addr_of!((*ptr).replace_async) as usize - ptr as usize },
40810        416usize,
40811        concat!(
40812            "Offset of field: ",
40813            stringify!(_GFileIface),
40814            "::",
40815            stringify!(replace_async)
40816        )
40817    );
40818    assert_eq!(
40819        unsafe { ::std::ptr::addr_of!((*ptr).replace_finish) as usize - ptr as usize },
40820        424usize,
40821        concat!(
40822            "Offset of field: ",
40823            stringify!(_GFileIface),
40824            "::",
40825            stringify!(replace_finish)
40826        )
40827    );
40828    assert_eq!(
40829        unsafe { ::std::ptr::addr_of!((*ptr).delete_file) as usize - ptr as usize },
40830        432usize,
40831        concat!(
40832            "Offset of field: ",
40833            stringify!(_GFileIface),
40834            "::",
40835            stringify!(delete_file)
40836        )
40837    );
40838    assert_eq!(
40839        unsafe { ::std::ptr::addr_of!((*ptr).delete_file_async) as usize - ptr as usize },
40840        440usize,
40841        concat!(
40842            "Offset of field: ",
40843            stringify!(_GFileIface),
40844            "::",
40845            stringify!(delete_file_async)
40846        )
40847    );
40848    assert_eq!(
40849        unsafe { ::std::ptr::addr_of!((*ptr).delete_file_finish) as usize - ptr as usize },
40850        448usize,
40851        concat!(
40852            "Offset of field: ",
40853            stringify!(_GFileIface),
40854            "::",
40855            stringify!(delete_file_finish)
40856        )
40857    );
40858    assert_eq!(
40859        unsafe { ::std::ptr::addr_of!((*ptr).trash) as usize - ptr as usize },
40860        456usize,
40861        concat!(
40862            "Offset of field: ",
40863            stringify!(_GFileIface),
40864            "::",
40865            stringify!(trash)
40866        )
40867    );
40868    assert_eq!(
40869        unsafe { ::std::ptr::addr_of!((*ptr).trash_async) as usize - ptr as usize },
40870        464usize,
40871        concat!(
40872            "Offset of field: ",
40873            stringify!(_GFileIface),
40874            "::",
40875            stringify!(trash_async)
40876        )
40877    );
40878    assert_eq!(
40879        unsafe { ::std::ptr::addr_of!((*ptr).trash_finish) as usize - ptr as usize },
40880        472usize,
40881        concat!(
40882            "Offset of field: ",
40883            stringify!(_GFileIface),
40884            "::",
40885            stringify!(trash_finish)
40886        )
40887    );
40888    assert_eq!(
40889        unsafe { ::std::ptr::addr_of!((*ptr).make_directory) as usize - ptr as usize },
40890        480usize,
40891        concat!(
40892            "Offset of field: ",
40893            stringify!(_GFileIface),
40894            "::",
40895            stringify!(make_directory)
40896        )
40897    );
40898    assert_eq!(
40899        unsafe { ::std::ptr::addr_of!((*ptr).make_directory_async) as usize - ptr as usize },
40900        488usize,
40901        concat!(
40902            "Offset of field: ",
40903            stringify!(_GFileIface),
40904            "::",
40905            stringify!(make_directory_async)
40906        )
40907    );
40908    assert_eq!(
40909        unsafe { ::std::ptr::addr_of!((*ptr).make_directory_finish) as usize - ptr as usize },
40910        496usize,
40911        concat!(
40912            "Offset of field: ",
40913            stringify!(_GFileIface),
40914            "::",
40915            stringify!(make_directory_finish)
40916        )
40917    );
40918    assert_eq!(
40919        unsafe { ::std::ptr::addr_of!((*ptr).make_symbolic_link) as usize - ptr as usize },
40920        504usize,
40921        concat!(
40922            "Offset of field: ",
40923            stringify!(_GFileIface),
40924            "::",
40925            stringify!(make_symbolic_link)
40926        )
40927    );
40928    assert_eq!(
40929        unsafe { ::std::ptr::addr_of!((*ptr).make_symbolic_link_async) as usize - ptr as usize },
40930        512usize,
40931        concat!(
40932            "Offset of field: ",
40933            stringify!(_GFileIface),
40934            "::",
40935            stringify!(make_symbolic_link_async)
40936        )
40937    );
40938    assert_eq!(
40939        unsafe { ::std::ptr::addr_of!((*ptr).make_symbolic_link_finish) as usize - ptr as usize },
40940        520usize,
40941        concat!(
40942            "Offset of field: ",
40943            stringify!(_GFileIface),
40944            "::",
40945            stringify!(make_symbolic_link_finish)
40946        )
40947    );
40948    assert_eq!(
40949        unsafe { ::std::ptr::addr_of!((*ptr).copy) as usize - ptr as usize },
40950        528usize,
40951        concat!(
40952            "Offset of field: ",
40953            stringify!(_GFileIface),
40954            "::",
40955            stringify!(copy)
40956        )
40957    );
40958    assert_eq!(
40959        unsafe { ::std::ptr::addr_of!((*ptr).copy_async) as usize - ptr as usize },
40960        536usize,
40961        concat!(
40962            "Offset of field: ",
40963            stringify!(_GFileIface),
40964            "::",
40965            stringify!(copy_async)
40966        )
40967    );
40968    assert_eq!(
40969        unsafe { ::std::ptr::addr_of!((*ptr).copy_finish) as usize - ptr as usize },
40970        544usize,
40971        concat!(
40972            "Offset of field: ",
40973            stringify!(_GFileIface),
40974            "::",
40975            stringify!(copy_finish)
40976        )
40977    );
40978    assert_eq!(
40979        unsafe { ::std::ptr::addr_of!((*ptr).move_) as usize - ptr as usize },
40980        552usize,
40981        concat!(
40982            "Offset of field: ",
40983            stringify!(_GFileIface),
40984            "::",
40985            stringify!(move_)
40986        )
40987    );
40988    assert_eq!(
40989        unsafe { ::std::ptr::addr_of!((*ptr).move_async) as usize - ptr as usize },
40990        560usize,
40991        concat!(
40992            "Offset of field: ",
40993            stringify!(_GFileIface),
40994            "::",
40995            stringify!(move_async)
40996        )
40997    );
40998    assert_eq!(
40999        unsafe { ::std::ptr::addr_of!((*ptr).move_finish) as usize - ptr as usize },
41000        568usize,
41001        concat!(
41002            "Offset of field: ",
41003            stringify!(_GFileIface),
41004            "::",
41005            stringify!(move_finish)
41006        )
41007    );
41008    assert_eq!(
41009        unsafe { ::std::ptr::addr_of!((*ptr).mount_mountable) as usize - ptr as usize },
41010        576usize,
41011        concat!(
41012            "Offset of field: ",
41013            stringify!(_GFileIface),
41014            "::",
41015            stringify!(mount_mountable)
41016        )
41017    );
41018    assert_eq!(
41019        unsafe { ::std::ptr::addr_of!((*ptr).mount_mountable_finish) as usize - ptr as usize },
41020        584usize,
41021        concat!(
41022            "Offset of field: ",
41023            stringify!(_GFileIface),
41024            "::",
41025            stringify!(mount_mountable_finish)
41026        )
41027    );
41028    assert_eq!(
41029        unsafe { ::std::ptr::addr_of!((*ptr).unmount_mountable) as usize - ptr as usize },
41030        592usize,
41031        concat!(
41032            "Offset of field: ",
41033            stringify!(_GFileIface),
41034            "::",
41035            stringify!(unmount_mountable)
41036        )
41037    );
41038    assert_eq!(
41039        unsafe { ::std::ptr::addr_of!((*ptr).unmount_mountable_finish) as usize - ptr as usize },
41040        600usize,
41041        concat!(
41042            "Offset of field: ",
41043            stringify!(_GFileIface),
41044            "::",
41045            stringify!(unmount_mountable_finish)
41046        )
41047    );
41048    assert_eq!(
41049        unsafe { ::std::ptr::addr_of!((*ptr).eject_mountable) as usize - ptr as usize },
41050        608usize,
41051        concat!(
41052            "Offset of field: ",
41053            stringify!(_GFileIface),
41054            "::",
41055            stringify!(eject_mountable)
41056        )
41057    );
41058    assert_eq!(
41059        unsafe { ::std::ptr::addr_of!((*ptr).eject_mountable_finish) as usize - ptr as usize },
41060        616usize,
41061        concat!(
41062            "Offset of field: ",
41063            stringify!(_GFileIface),
41064            "::",
41065            stringify!(eject_mountable_finish)
41066        )
41067    );
41068    assert_eq!(
41069        unsafe { ::std::ptr::addr_of!((*ptr).mount_enclosing_volume) as usize - ptr as usize },
41070        624usize,
41071        concat!(
41072            "Offset of field: ",
41073            stringify!(_GFileIface),
41074            "::",
41075            stringify!(mount_enclosing_volume)
41076        )
41077    );
41078    assert_eq!(
41079        unsafe {
41080            ::std::ptr::addr_of!((*ptr).mount_enclosing_volume_finish) as usize - ptr as usize
41081        },
41082        632usize,
41083        concat!(
41084            "Offset of field: ",
41085            stringify!(_GFileIface),
41086            "::",
41087            stringify!(mount_enclosing_volume_finish)
41088        )
41089    );
41090    assert_eq!(
41091        unsafe { ::std::ptr::addr_of!((*ptr).monitor_dir) as usize - ptr as usize },
41092        640usize,
41093        concat!(
41094            "Offset of field: ",
41095            stringify!(_GFileIface),
41096            "::",
41097            stringify!(monitor_dir)
41098        )
41099    );
41100    assert_eq!(
41101        unsafe { ::std::ptr::addr_of!((*ptr).monitor_file) as usize - ptr as usize },
41102        648usize,
41103        concat!(
41104            "Offset of field: ",
41105            stringify!(_GFileIface),
41106            "::",
41107            stringify!(monitor_file)
41108        )
41109    );
41110    assert_eq!(
41111        unsafe { ::std::ptr::addr_of!((*ptr).open_readwrite) as usize - ptr as usize },
41112        656usize,
41113        concat!(
41114            "Offset of field: ",
41115            stringify!(_GFileIface),
41116            "::",
41117            stringify!(open_readwrite)
41118        )
41119    );
41120    assert_eq!(
41121        unsafe { ::std::ptr::addr_of!((*ptr).open_readwrite_async) as usize - ptr as usize },
41122        664usize,
41123        concat!(
41124            "Offset of field: ",
41125            stringify!(_GFileIface),
41126            "::",
41127            stringify!(open_readwrite_async)
41128        )
41129    );
41130    assert_eq!(
41131        unsafe { ::std::ptr::addr_of!((*ptr).open_readwrite_finish) as usize - ptr as usize },
41132        672usize,
41133        concat!(
41134            "Offset of field: ",
41135            stringify!(_GFileIface),
41136            "::",
41137            stringify!(open_readwrite_finish)
41138        )
41139    );
41140    assert_eq!(
41141        unsafe { ::std::ptr::addr_of!((*ptr).create_readwrite) as usize - ptr as usize },
41142        680usize,
41143        concat!(
41144            "Offset of field: ",
41145            stringify!(_GFileIface),
41146            "::",
41147            stringify!(create_readwrite)
41148        )
41149    );
41150    assert_eq!(
41151        unsafe { ::std::ptr::addr_of!((*ptr).create_readwrite_async) as usize - ptr as usize },
41152        688usize,
41153        concat!(
41154            "Offset of field: ",
41155            stringify!(_GFileIface),
41156            "::",
41157            stringify!(create_readwrite_async)
41158        )
41159    );
41160    assert_eq!(
41161        unsafe { ::std::ptr::addr_of!((*ptr).create_readwrite_finish) as usize - ptr as usize },
41162        696usize,
41163        concat!(
41164            "Offset of field: ",
41165            stringify!(_GFileIface),
41166            "::",
41167            stringify!(create_readwrite_finish)
41168        )
41169    );
41170    assert_eq!(
41171        unsafe { ::std::ptr::addr_of!((*ptr).replace_readwrite) as usize - ptr as usize },
41172        704usize,
41173        concat!(
41174            "Offset of field: ",
41175            stringify!(_GFileIface),
41176            "::",
41177            stringify!(replace_readwrite)
41178        )
41179    );
41180    assert_eq!(
41181        unsafe { ::std::ptr::addr_of!((*ptr).replace_readwrite_async) as usize - ptr as usize },
41182        712usize,
41183        concat!(
41184            "Offset of field: ",
41185            stringify!(_GFileIface),
41186            "::",
41187            stringify!(replace_readwrite_async)
41188        )
41189    );
41190    assert_eq!(
41191        unsafe { ::std::ptr::addr_of!((*ptr).replace_readwrite_finish) as usize - ptr as usize },
41192        720usize,
41193        concat!(
41194            "Offset of field: ",
41195            stringify!(_GFileIface),
41196            "::",
41197            stringify!(replace_readwrite_finish)
41198        )
41199    );
41200    assert_eq!(
41201        unsafe { ::std::ptr::addr_of!((*ptr).start_mountable) as usize - ptr as usize },
41202        728usize,
41203        concat!(
41204            "Offset of field: ",
41205            stringify!(_GFileIface),
41206            "::",
41207            stringify!(start_mountable)
41208        )
41209    );
41210    assert_eq!(
41211        unsafe { ::std::ptr::addr_of!((*ptr).start_mountable_finish) as usize - ptr as usize },
41212        736usize,
41213        concat!(
41214            "Offset of field: ",
41215            stringify!(_GFileIface),
41216            "::",
41217            stringify!(start_mountable_finish)
41218        )
41219    );
41220    assert_eq!(
41221        unsafe { ::std::ptr::addr_of!((*ptr).stop_mountable) as usize - ptr as usize },
41222        744usize,
41223        concat!(
41224            "Offset of field: ",
41225            stringify!(_GFileIface),
41226            "::",
41227            stringify!(stop_mountable)
41228        )
41229    );
41230    assert_eq!(
41231        unsafe { ::std::ptr::addr_of!((*ptr).stop_mountable_finish) as usize - ptr as usize },
41232        752usize,
41233        concat!(
41234            "Offset of field: ",
41235            stringify!(_GFileIface),
41236            "::",
41237            stringify!(stop_mountable_finish)
41238        )
41239    );
41240    assert_eq!(
41241        unsafe { ::std::ptr::addr_of!((*ptr).supports_thread_contexts) as usize - ptr as usize },
41242        760usize,
41243        concat!(
41244            "Offset of field: ",
41245            stringify!(_GFileIface),
41246            "::",
41247            stringify!(supports_thread_contexts)
41248        )
41249    );
41250    assert_eq!(
41251        unsafe {
41252            ::std::ptr::addr_of!((*ptr).unmount_mountable_with_operation) as usize - ptr as usize
41253        },
41254        768usize,
41255        concat!(
41256            "Offset of field: ",
41257            stringify!(_GFileIface),
41258            "::",
41259            stringify!(unmount_mountable_with_operation)
41260        )
41261    );
41262    assert_eq!(
41263        unsafe {
41264            ::std::ptr::addr_of!((*ptr).unmount_mountable_with_operation_finish) as usize
41265                - ptr as usize
41266        },
41267        776usize,
41268        concat!(
41269            "Offset of field: ",
41270            stringify!(_GFileIface),
41271            "::",
41272            stringify!(unmount_mountable_with_operation_finish)
41273        )
41274    );
41275    assert_eq!(
41276        unsafe {
41277            ::std::ptr::addr_of!((*ptr).eject_mountable_with_operation) as usize - ptr as usize
41278        },
41279        784usize,
41280        concat!(
41281            "Offset of field: ",
41282            stringify!(_GFileIface),
41283            "::",
41284            stringify!(eject_mountable_with_operation)
41285        )
41286    );
41287    assert_eq!(
41288        unsafe {
41289            ::std::ptr::addr_of!((*ptr).eject_mountable_with_operation_finish) as usize
41290                - ptr as usize
41291        },
41292        792usize,
41293        concat!(
41294            "Offset of field: ",
41295            stringify!(_GFileIface),
41296            "::",
41297            stringify!(eject_mountable_with_operation_finish)
41298        )
41299    );
41300    assert_eq!(
41301        unsafe { ::std::ptr::addr_of!((*ptr).poll_mountable) as usize - ptr as usize },
41302        800usize,
41303        concat!(
41304            "Offset of field: ",
41305            stringify!(_GFileIface),
41306            "::",
41307            stringify!(poll_mountable)
41308        )
41309    );
41310    assert_eq!(
41311        unsafe { ::std::ptr::addr_of!((*ptr).poll_mountable_finish) as usize - ptr as usize },
41312        808usize,
41313        concat!(
41314            "Offset of field: ",
41315            stringify!(_GFileIface),
41316            "::",
41317            stringify!(poll_mountable_finish)
41318        )
41319    );
41320    assert_eq!(
41321        unsafe { ::std::ptr::addr_of!((*ptr).measure_disk_usage) as usize - ptr as usize },
41322        816usize,
41323        concat!(
41324            "Offset of field: ",
41325            stringify!(_GFileIface),
41326            "::",
41327            stringify!(measure_disk_usage)
41328        )
41329    );
41330    assert_eq!(
41331        unsafe { ::std::ptr::addr_of!((*ptr).measure_disk_usage_async) as usize - ptr as usize },
41332        824usize,
41333        concat!(
41334            "Offset of field: ",
41335            stringify!(_GFileIface),
41336            "::",
41337            stringify!(measure_disk_usage_async)
41338        )
41339    );
41340    assert_eq!(
41341        unsafe { ::std::ptr::addr_of!((*ptr).measure_disk_usage_finish) as usize - ptr as usize },
41342        832usize,
41343        concat!(
41344            "Offset of field: ",
41345            stringify!(_GFileIface),
41346            "::",
41347            stringify!(measure_disk_usage_finish)
41348        )
41349    );
41350}
41351extern "C" {
41352    pub fn g_file_get_type() -> GType;
41353}
41354extern "C" {
41355    pub fn g_file_new_for_path(path: *const ::std::os::raw::c_char) -> *mut GFile;
41356}
41357extern "C" {
41358    pub fn g_file_new_for_uri(uri: *const ::std::os::raw::c_char) -> *mut GFile;
41359}
41360extern "C" {
41361    pub fn g_file_new_for_commandline_arg(arg: *const ::std::os::raw::c_char) -> *mut GFile;
41362}
41363extern "C" {
41364    pub fn g_file_new_for_commandline_arg_and_cwd(
41365        arg: *const gchar,
41366        cwd: *const gchar,
41367    ) -> *mut GFile;
41368}
41369extern "C" {
41370    pub fn g_file_new_tmp(
41371        tmpl: *const ::std::os::raw::c_char,
41372        iostream: *mut *mut GFileIOStream,
41373        error: *mut *mut GError,
41374    ) -> *mut GFile;
41375}
41376extern "C" {
41377    pub fn g_file_new_tmp_async(
41378        tmpl: *const ::std::os::raw::c_char,
41379        io_priority: ::std::os::raw::c_int,
41380        cancellable: *mut GCancellable,
41381        callback: GAsyncReadyCallback,
41382        user_data: gpointer,
41383    );
41384}
41385extern "C" {
41386    pub fn g_file_new_tmp_finish(
41387        result: *mut GAsyncResult,
41388        iostream: *mut *mut GFileIOStream,
41389        error: *mut *mut GError,
41390    ) -> *mut GFile;
41391}
41392extern "C" {
41393    pub fn g_file_new_tmp_dir_async(
41394        tmpl: *const ::std::os::raw::c_char,
41395        io_priority: ::std::os::raw::c_int,
41396        cancellable: *mut GCancellable,
41397        callback: GAsyncReadyCallback,
41398        user_data: gpointer,
41399    );
41400}
41401extern "C" {
41402    pub fn g_file_new_tmp_dir_finish(
41403        result: *mut GAsyncResult,
41404        error: *mut *mut GError,
41405    ) -> *mut GFile;
41406}
41407extern "C" {
41408    pub fn g_file_parse_name(parse_name: *const ::std::os::raw::c_char) -> *mut GFile;
41409}
41410extern "C" {
41411    pub fn g_file_new_build_filename(first_element: *const gchar, ...) -> *mut GFile;
41412}
41413extern "C" {
41414    pub fn g_file_new_build_filenamev(args: *const *const gchar) -> *mut GFile;
41415}
41416extern "C" {
41417    pub fn g_file_dup(file: *mut GFile) -> *mut GFile;
41418}
41419extern "C" {
41420    pub fn g_file_hash(file: gconstpointer) -> guint;
41421}
41422extern "C" {
41423    pub fn g_file_equal(file1: *mut GFile, file2: *mut GFile) -> gboolean;
41424}
41425extern "C" {
41426    pub fn g_file_get_basename(file: *mut GFile) -> *mut ::std::os::raw::c_char;
41427}
41428extern "C" {
41429    pub fn g_file_get_path(file: *mut GFile) -> *mut ::std::os::raw::c_char;
41430}
41431extern "C" {
41432    pub fn g_file_peek_path(file: *mut GFile) -> *const ::std::os::raw::c_char;
41433}
41434extern "C" {
41435    pub fn g_file_get_uri(file: *mut GFile) -> *mut ::std::os::raw::c_char;
41436}
41437extern "C" {
41438    pub fn g_file_get_parse_name(file: *mut GFile) -> *mut ::std::os::raw::c_char;
41439}
41440extern "C" {
41441    pub fn g_file_get_parent(file: *mut GFile) -> *mut GFile;
41442}
41443extern "C" {
41444    pub fn g_file_has_parent(file: *mut GFile, parent: *mut GFile) -> gboolean;
41445}
41446extern "C" {
41447    pub fn g_file_get_child(file: *mut GFile, name: *const ::std::os::raw::c_char) -> *mut GFile;
41448}
41449extern "C" {
41450    pub fn g_file_get_child_for_display_name(
41451        file: *mut GFile,
41452        display_name: *const ::std::os::raw::c_char,
41453        error: *mut *mut GError,
41454    ) -> *mut GFile;
41455}
41456extern "C" {
41457    pub fn g_file_has_prefix(file: *mut GFile, prefix: *mut GFile) -> gboolean;
41458}
41459extern "C" {
41460    pub fn g_file_get_relative_path(
41461        parent: *mut GFile,
41462        descendant: *mut GFile,
41463    ) -> *mut ::std::os::raw::c_char;
41464}
41465extern "C" {
41466    pub fn g_file_resolve_relative_path(
41467        file: *mut GFile,
41468        relative_path: *const ::std::os::raw::c_char,
41469    ) -> *mut GFile;
41470}
41471extern "C" {
41472    pub fn g_file_is_native(file: *mut GFile) -> gboolean;
41473}
41474extern "C" {
41475    pub fn g_file_has_uri_scheme(
41476        file: *mut GFile,
41477        uri_scheme: *const ::std::os::raw::c_char,
41478    ) -> gboolean;
41479}
41480extern "C" {
41481    pub fn g_file_get_uri_scheme(file: *mut GFile) -> *mut ::std::os::raw::c_char;
41482}
41483extern "C" {
41484    pub fn g_file_read(
41485        file: *mut GFile,
41486        cancellable: *mut GCancellable,
41487        error: *mut *mut GError,
41488    ) -> *mut GFileInputStream;
41489}
41490extern "C" {
41491    pub fn g_file_read_async(
41492        file: *mut GFile,
41493        io_priority: ::std::os::raw::c_int,
41494        cancellable: *mut GCancellable,
41495        callback: GAsyncReadyCallback,
41496        user_data: gpointer,
41497    );
41498}
41499extern "C" {
41500    pub fn g_file_read_finish(
41501        file: *mut GFile,
41502        res: *mut GAsyncResult,
41503        error: *mut *mut GError,
41504    ) -> *mut GFileInputStream;
41505}
41506extern "C" {
41507    pub fn g_file_append_to(
41508        file: *mut GFile,
41509        flags: GFileCreateFlags,
41510        cancellable: *mut GCancellable,
41511        error: *mut *mut GError,
41512    ) -> *mut GFileOutputStream;
41513}
41514extern "C" {
41515    pub fn g_file_create(
41516        file: *mut GFile,
41517        flags: GFileCreateFlags,
41518        cancellable: *mut GCancellable,
41519        error: *mut *mut GError,
41520    ) -> *mut GFileOutputStream;
41521}
41522extern "C" {
41523    pub fn g_file_replace(
41524        file: *mut GFile,
41525        etag: *const ::std::os::raw::c_char,
41526        make_backup: gboolean,
41527        flags: GFileCreateFlags,
41528        cancellable: *mut GCancellable,
41529        error: *mut *mut GError,
41530    ) -> *mut GFileOutputStream;
41531}
41532extern "C" {
41533    pub fn g_file_append_to_async(
41534        file: *mut GFile,
41535        flags: GFileCreateFlags,
41536        io_priority: ::std::os::raw::c_int,
41537        cancellable: *mut GCancellable,
41538        callback: GAsyncReadyCallback,
41539        user_data: gpointer,
41540    );
41541}
41542extern "C" {
41543    pub fn g_file_append_to_finish(
41544        file: *mut GFile,
41545        res: *mut GAsyncResult,
41546        error: *mut *mut GError,
41547    ) -> *mut GFileOutputStream;
41548}
41549extern "C" {
41550    pub fn g_file_create_async(
41551        file: *mut GFile,
41552        flags: GFileCreateFlags,
41553        io_priority: ::std::os::raw::c_int,
41554        cancellable: *mut GCancellable,
41555        callback: GAsyncReadyCallback,
41556        user_data: gpointer,
41557    );
41558}
41559extern "C" {
41560    pub fn g_file_create_finish(
41561        file: *mut GFile,
41562        res: *mut GAsyncResult,
41563        error: *mut *mut GError,
41564    ) -> *mut GFileOutputStream;
41565}
41566extern "C" {
41567    pub fn g_file_replace_async(
41568        file: *mut GFile,
41569        etag: *const ::std::os::raw::c_char,
41570        make_backup: gboolean,
41571        flags: GFileCreateFlags,
41572        io_priority: ::std::os::raw::c_int,
41573        cancellable: *mut GCancellable,
41574        callback: GAsyncReadyCallback,
41575        user_data: gpointer,
41576    );
41577}
41578extern "C" {
41579    pub fn g_file_replace_finish(
41580        file: *mut GFile,
41581        res: *mut GAsyncResult,
41582        error: *mut *mut GError,
41583    ) -> *mut GFileOutputStream;
41584}
41585extern "C" {
41586    pub fn g_file_open_readwrite(
41587        file: *mut GFile,
41588        cancellable: *mut GCancellable,
41589        error: *mut *mut GError,
41590    ) -> *mut GFileIOStream;
41591}
41592extern "C" {
41593    pub fn g_file_open_readwrite_async(
41594        file: *mut GFile,
41595        io_priority: ::std::os::raw::c_int,
41596        cancellable: *mut GCancellable,
41597        callback: GAsyncReadyCallback,
41598        user_data: gpointer,
41599    );
41600}
41601extern "C" {
41602    pub fn g_file_open_readwrite_finish(
41603        file: *mut GFile,
41604        res: *mut GAsyncResult,
41605        error: *mut *mut GError,
41606    ) -> *mut GFileIOStream;
41607}
41608extern "C" {
41609    pub fn g_file_create_readwrite(
41610        file: *mut GFile,
41611        flags: GFileCreateFlags,
41612        cancellable: *mut GCancellable,
41613        error: *mut *mut GError,
41614    ) -> *mut GFileIOStream;
41615}
41616extern "C" {
41617    pub fn g_file_create_readwrite_async(
41618        file: *mut GFile,
41619        flags: GFileCreateFlags,
41620        io_priority: ::std::os::raw::c_int,
41621        cancellable: *mut GCancellable,
41622        callback: GAsyncReadyCallback,
41623        user_data: gpointer,
41624    );
41625}
41626extern "C" {
41627    pub fn g_file_create_readwrite_finish(
41628        file: *mut GFile,
41629        res: *mut GAsyncResult,
41630        error: *mut *mut GError,
41631    ) -> *mut GFileIOStream;
41632}
41633extern "C" {
41634    pub fn g_file_replace_readwrite(
41635        file: *mut GFile,
41636        etag: *const ::std::os::raw::c_char,
41637        make_backup: gboolean,
41638        flags: GFileCreateFlags,
41639        cancellable: *mut GCancellable,
41640        error: *mut *mut GError,
41641    ) -> *mut GFileIOStream;
41642}
41643extern "C" {
41644    pub fn g_file_replace_readwrite_async(
41645        file: *mut GFile,
41646        etag: *const ::std::os::raw::c_char,
41647        make_backup: gboolean,
41648        flags: GFileCreateFlags,
41649        io_priority: ::std::os::raw::c_int,
41650        cancellable: *mut GCancellable,
41651        callback: GAsyncReadyCallback,
41652        user_data: gpointer,
41653    );
41654}
41655extern "C" {
41656    pub fn g_file_replace_readwrite_finish(
41657        file: *mut GFile,
41658        res: *mut GAsyncResult,
41659        error: *mut *mut GError,
41660    ) -> *mut GFileIOStream;
41661}
41662extern "C" {
41663    pub fn g_file_query_exists(file: *mut GFile, cancellable: *mut GCancellable) -> gboolean;
41664}
41665extern "C" {
41666    pub fn g_file_query_file_type(
41667        file: *mut GFile,
41668        flags: GFileQueryInfoFlags,
41669        cancellable: *mut GCancellable,
41670    ) -> GFileType;
41671}
41672extern "C" {
41673    pub fn g_file_query_info(
41674        file: *mut GFile,
41675        attributes: *const ::std::os::raw::c_char,
41676        flags: GFileQueryInfoFlags,
41677        cancellable: *mut GCancellable,
41678        error: *mut *mut GError,
41679    ) -> *mut GFileInfo;
41680}
41681extern "C" {
41682    pub fn g_file_query_info_async(
41683        file: *mut GFile,
41684        attributes: *const ::std::os::raw::c_char,
41685        flags: GFileQueryInfoFlags,
41686        io_priority: ::std::os::raw::c_int,
41687        cancellable: *mut GCancellable,
41688        callback: GAsyncReadyCallback,
41689        user_data: gpointer,
41690    );
41691}
41692extern "C" {
41693    pub fn g_file_query_info_finish(
41694        file: *mut GFile,
41695        res: *mut GAsyncResult,
41696        error: *mut *mut GError,
41697    ) -> *mut GFileInfo;
41698}
41699extern "C" {
41700    pub fn g_file_query_filesystem_info(
41701        file: *mut GFile,
41702        attributes: *const ::std::os::raw::c_char,
41703        cancellable: *mut GCancellable,
41704        error: *mut *mut GError,
41705    ) -> *mut GFileInfo;
41706}
41707extern "C" {
41708    pub fn g_file_query_filesystem_info_async(
41709        file: *mut GFile,
41710        attributes: *const ::std::os::raw::c_char,
41711        io_priority: ::std::os::raw::c_int,
41712        cancellable: *mut GCancellable,
41713        callback: GAsyncReadyCallback,
41714        user_data: gpointer,
41715    );
41716}
41717extern "C" {
41718    pub fn g_file_query_filesystem_info_finish(
41719        file: *mut GFile,
41720        res: *mut GAsyncResult,
41721        error: *mut *mut GError,
41722    ) -> *mut GFileInfo;
41723}
41724extern "C" {
41725    pub fn g_file_find_enclosing_mount(
41726        file: *mut GFile,
41727        cancellable: *mut GCancellable,
41728        error: *mut *mut GError,
41729    ) -> *mut GMount;
41730}
41731extern "C" {
41732    pub fn g_file_find_enclosing_mount_async(
41733        file: *mut GFile,
41734        io_priority: ::std::os::raw::c_int,
41735        cancellable: *mut GCancellable,
41736        callback: GAsyncReadyCallback,
41737        user_data: gpointer,
41738    );
41739}
41740extern "C" {
41741    pub fn g_file_find_enclosing_mount_finish(
41742        file: *mut GFile,
41743        res: *mut GAsyncResult,
41744        error: *mut *mut GError,
41745    ) -> *mut GMount;
41746}
41747extern "C" {
41748    pub fn g_file_enumerate_children(
41749        file: *mut GFile,
41750        attributes: *const ::std::os::raw::c_char,
41751        flags: GFileQueryInfoFlags,
41752        cancellable: *mut GCancellable,
41753        error: *mut *mut GError,
41754    ) -> *mut GFileEnumerator;
41755}
41756extern "C" {
41757    pub fn g_file_enumerate_children_async(
41758        file: *mut GFile,
41759        attributes: *const ::std::os::raw::c_char,
41760        flags: GFileQueryInfoFlags,
41761        io_priority: ::std::os::raw::c_int,
41762        cancellable: *mut GCancellable,
41763        callback: GAsyncReadyCallback,
41764        user_data: gpointer,
41765    );
41766}
41767extern "C" {
41768    pub fn g_file_enumerate_children_finish(
41769        file: *mut GFile,
41770        res: *mut GAsyncResult,
41771        error: *mut *mut GError,
41772    ) -> *mut GFileEnumerator;
41773}
41774extern "C" {
41775    pub fn g_file_set_display_name(
41776        file: *mut GFile,
41777        display_name: *const ::std::os::raw::c_char,
41778        cancellable: *mut GCancellable,
41779        error: *mut *mut GError,
41780    ) -> *mut GFile;
41781}
41782extern "C" {
41783    pub fn g_file_set_display_name_async(
41784        file: *mut GFile,
41785        display_name: *const ::std::os::raw::c_char,
41786        io_priority: ::std::os::raw::c_int,
41787        cancellable: *mut GCancellable,
41788        callback: GAsyncReadyCallback,
41789        user_data: gpointer,
41790    );
41791}
41792extern "C" {
41793    pub fn g_file_set_display_name_finish(
41794        file: *mut GFile,
41795        res: *mut GAsyncResult,
41796        error: *mut *mut GError,
41797    ) -> *mut GFile;
41798}
41799extern "C" {
41800    pub fn g_file_delete(
41801        file: *mut GFile,
41802        cancellable: *mut GCancellable,
41803        error: *mut *mut GError,
41804    ) -> gboolean;
41805}
41806extern "C" {
41807    pub fn g_file_delete_async(
41808        file: *mut GFile,
41809        io_priority: ::std::os::raw::c_int,
41810        cancellable: *mut GCancellable,
41811        callback: GAsyncReadyCallback,
41812        user_data: gpointer,
41813    );
41814}
41815extern "C" {
41816    pub fn g_file_delete_finish(
41817        file: *mut GFile,
41818        result: *mut GAsyncResult,
41819        error: *mut *mut GError,
41820    ) -> gboolean;
41821}
41822extern "C" {
41823    pub fn g_file_trash(
41824        file: *mut GFile,
41825        cancellable: *mut GCancellable,
41826        error: *mut *mut GError,
41827    ) -> gboolean;
41828}
41829extern "C" {
41830    pub fn g_file_trash_async(
41831        file: *mut GFile,
41832        io_priority: ::std::os::raw::c_int,
41833        cancellable: *mut GCancellable,
41834        callback: GAsyncReadyCallback,
41835        user_data: gpointer,
41836    );
41837}
41838extern "C" {
41839    pub fn g_file_trash_finish(
41840        file: *mut GFile,
41841        result: *mut GAsyncResult,
41842        error: *mut *mut GError,
41843    ) -> gboolean;
41844}
41845extern "C" {
41846    pub fn g_file_copy(
41847        source: *mut GFile,
41848        destination: *mut GFile,
41849        flags: GFileCopyFlags,
41850        cancellable: *mut GCancellable,
41851        progress_callback: GFileProgressCallback,
41852        progress_callback_data: gpointer,
41853        error: *mut *mut GError,
41854    ) -> gboolean;
41855}
41856extern "C" {
41857    pub fn g_file_copy_async(
41858        source: *mut GFile,
41859        destination: *mut GFile,
41860        flags: GFileCopyFlags,
41861        io_priority: ::std::os::raw::c_int,
41862        cancellable: *mut GCancellable,
41863        progress_callback: GFileProgressCallback,
41864        progress_callback_data: gpointer,
41865        callback: GAsyncReadyCallback,
41866        user_data: gpointer,
41867    );
41868}
41869extern "C" {
41870    pub fn g_file_copy_finish(
41871        file: *mut GFile,
41872        res: *mut GAsyncResult,
41873        error: *mut *mut GError,
41874    ) -> gboolean;
41875}
41876extern "C" {
41877    pub fn g_file_move(
41878        source: *mut GFile,
41879        destination: *mut GFile,
41880        flags: GFileCopyFlags,
41881        cancellable: *mut GCancellable,
41882        progress_callback: GFileProgressCallback,
41883        progress_callback_data: gpointer,
41884        error: *mut *mut GError,
41885    ) -> gboolean;
41886}
41887extern "C" {
41888    pub fn g_file_move_async(
41889        source: *mut GFile,
41890        destination: *mut GFile,
41891        flags: GFileCopyFlags,
41892        io_priority: ::std::os::raw::c_int,
41893        cancellable: *mut GCancellable,
41894        progress_callback: GFileProgressCallback,
41895        progress_callback_data: gpointer,
41896        callback: GAsyncReadyCallback,
41897        user_data: gpointer,
41898    );
41899}
41900extern "C" {
41901    pub fn g_file_move_finish(
41902        file: *mut GFile,
41903        result: *mut GAsyncResult,
41904        error: *mut *mut GError,
41905    ) -> gboolean;
41906}
41907extern "C" {
41908    pub fn g_file_make_directory(
41909        file: *mut GFile,
41910        cancellable: *mut GCancellable,
41911        error: *mut *mut GError,
41912    ) -> gboolean;
41913}
41914extern "C" {
41915    pub fn g_file_make_directory_async(
41916        file: *mut GFile,
41917        io_priority: ::std::os::raw::c_int,
41918        cancellable: *mut GCancellable,
41919        callback: GAsyncReadyCallback,
41920        user_data: gpointer,
41921    );
41922}
41923extern "C" {
41924    pub fn g_file_make_directory_finish(
41925        file: *mut GFile,
41926        result: *mut GAsyncResult,
41927        error: *mut *mut GError,
41928    ) -> gboolean;
41929}
41930extern "C" {
41931    pub fn g_file_make_directory_with_parents(
41932        file: *mut GFile,
41933        cancellable: *mut GCancellable,
41934        error: *mut *mut GError,
41935    ) -> gboolean;
41936}
41937extern "C" {
41938    pub fn g_file_make_symbolic_link(
41939        file: *mut GFile,
41940        symlink_value: *const ::std::os::raw::c_char,
41941        cancellable: *mut GCancellable,
41942        error: *mut *mut GError,
41943    ) -> gboolean;
41944}
41945extern "C" {
41946    pub fn g_file_make_symbolic_link_async(
41947        file: *mut GFile,
41948        symlink_value: *const ::std::os::raw::c_char,
41949        io_priority: ::std::os::raw::c_int,
41950        cancellable: *mut GCancellable,
41951        callback: GAsyncReadyCallback,
41952        user_data: gpointer,
41953    );
41954}
41955extern "C" {
41956    pub fn g_file_make_symbolic_link_finish(
41957        file: *mut GFile,
41958        result: *mut GAsyncResult,
41959        error: *mut *mut GError,
41960    ) -> gboolean;
41961}
41962extern "C" {
41963    pub fn g_file_query_settable_attributes(
41964        file: *mut GFile,
41965        cancellable: *mut GCancellable,
41966        error: *mut *mut GError,
41967    ) -> *mut GFileAttributeInfoList;
41968}
41969extern "C" {
41970    pub fn g_file_query_writable_namespaces(
41971        file: *mut GFile,
41972        cancellable: *mut GCancellable,
41973        error: *mut *mut GError,
41974    ) -> *mut GFileAttributeInfoList;
41975}
41976extern "C" {
41977    pub fn g_file_set_attribute(
41978        file: *mut GFile,
41979        attribute: *const ::std::os::raw::c_char,
41980        type_: GFileAttributeType,
41981        value_p: gpointer,
41982        flags: GFileQueryInfoFlags,
41983        cancellable: *mut GCancellable,
41984        error: *mut *mut GError,
41985    ) -> gboolean;
41986}
41987extern "C" {
41988    pub fn g_file_set_attributes_from_info(
41989        file: *mut GFile,
41990        info: *mut GFileInfo,
41991        flags: GFileQueryInfoFlags,
41992        cancellable: *mut GCancellable,
41993        error: *mut *mut GError,
41994    ) -> gboolean;
41995}
41996extern "C" {
41997    pub fn g_file_set_attributes_async(
41998        file: *mut GFile,
41999        info: *mut GFileInfo,
42000        flags: GFileQueryInfoFlags,
42001        io_priority: ::std::os::raw::c_int,
42002        cancellable: *mut GCancellable,
42003        callback: GAsyncReadyCallback,
42004        user_data: gpointer,
42005    );
42006}
42007extern "C" {
42008    pub fn g_file_set_attributes_finish(
42009        file: *mut GFile,
42010        result: *mut GAsyncResult,
42011        info: *mut *mut GFileInfo,
42012        error: *mut *mut GError,
42013    ) -> gboolean;
42014}
42015extern "C" {
42016    pub fn g_file_set_attribute_string(
42017        file: *mut GFile,
42018        attribute: *const ::std::os::raw::c_char,
42019        value: *const ::std::os::raw::c_char,
42020        flags: GFileQueryInfoFlags,
42021        cancellable: *mut GCancellable,
42022        error: *mut *mut GError,
42023    ) -> gboolean;
42024}
42025extern "C" {
42026    pub fn g_file_set_attribute_byte_string(
42027        file: *mut GFile,
42028        attribute: *const ::std::os::raw::c_char,
42029        value: *const ::std::os::raw::c_char,
42030        flags: GFileQueryInfoFlags,
42031        cancellable: *mut GCancellable,
42032        error: *mut *mut GError,
42033    ) -> gboolean;
42034}
42035extern "C" {
42036    pub fn g_file_set_attribute_uint32(
42037        file: *mut GFile,
42038        attribute: *const ::std::os::raw::c_char,
42039        value: guint32,
42040        flags: GFileQueryInfoFlags,
42041        cancellable: *mut GCancellable,
42042        error: *mut *mut GError,
42043    ) -> gboolean;
42044}
42045extern "C" {
42046    pub fn g_file_set_attribute_int32(
42047        file: *mut GFile,
42048        attribute: *const ::std::os::raw::c_char,
42049        value: gint32,
42050        flags: GFileQueryInfoFlags,
42051        cancellable: *mut GCancellable,
42052        error: *mut *mut GError,
42053    ) -> gboolean;
42054}
42055extern "C" {
42056    pub fn g_file_set_attribute_uint64(
42057        file: *mut GFile,
42058        attribute: *const ::std::os::raw::c_char,
42059        value: guint64,
42060        flags: GFileQueryInfoFlags,
42061        cancellable: *mut GCancellable,
42062        error: *mut *mut GError,
42063    ) -> gboolean;
42064}
42065extern "C" {
42066    pub fn g_file_set_attribute_int64(
42067        file: *mut GFile,
42068        attribute: *const ::std::os::raw::c_char,
42069        value: gint64,
42070        flags: GFileQueryInfoFlags,
42071        cancellable: *mut GCancellable,
42072        error: *mut *mut GError,
42073    ) -> gboolean;
42074}
42075extern "C" {
42076    pub fn g_file_mount_enclosing_volume(
42077        location: *mut GFile,
42078        flags: GMountMountFlags,
42079        mount_operation: *mut GMountOperation,
42080        cancellable: *mut GCancellable,
42081        callback: GAsyncReadyCallback,
42082        user_data: gpointer,
42083    );
42084}
42085extern "C" {
42086    pub fn g_file_mount_enclosing_volume_finish(
42087        location: *mut GFile,
42088        result: *mut GAsyncResult,
42089        error: *mut *mut GError,
42090    ) -> gboolean;
42091}
42092extern "C" {
42093    pub fn g_file_mount_mountable(
42094        file: *mut GFile,
42095        flags: GMountMountFlags,
42096        mount_operation: *mut GMountOperation,
42097        cancellable: *mut GCancellable,
42098        callback: GAsyncReadyCallback,
42099        user_data: gpointer,
42100    );
42101}
42102extern "C" {
42103    pub fn g_file_mount_mountable_finish(
42104        file: *mut GFile,
42105        result: *mut GAsyncResult,
42106        error: *mut *mut GError,
42107    ) -> *mut GFile;
42108}
42109extern "C" {
42110    pub fn g_file_unmount_mountable(
42111        file: *mut GFile,
42112        flags: GMountUnmountFlags,
42113        cancellable: *mut GCancellable,
42114        callback: GAsyncReadyCallback,
42115        user_data: gpointer,
42116    );
42117}
42118extern "C" {
42119    pub fn g_file_unmount_mountable_finish(
42120        file: *mut GFile,
42121        result: *mut GAsyncResult,
42122        error: *mut *mut GError,
42123    ) -> gboolean;
42124}
42125extern "C" {
42126    pub fn g_file_unmount_mountable_with_operation(
42127        file: *mut GFile,
42128        flags: GMountUnmountFlags,
42129        mount_operation: *mut GMountOperation,
42130        cancellable: *mut GCancellable,
42131        callback: GAsyncReadyCallback,
42132        user_data: gpointer,
42133    );
42134}
42135extern "C" {
42136    pub fn g_file_unmount_mountable_with_operation_finish(
42137        file: *mut GFile,
42138        result: *mut GAsyncResult,
42139        error: *mut *mut GError,
42140    ) -> gboolean;
42141}
42142extern "C" {
42143    pub fn g_file_eject_mountable(
42144        file: *mut GFile,
42145        flags: GMountUnmountFlags,
42146        cancellable: *mut GCancellable,
42147        callback: GAsyncReadyCallback,
42148        user_data: gpointer,
42149    );
42150}
42151extern "C" {
42152    pub fn g_file_eject_mountable_finish(
42153        file: *mut GFile,
42154        result: *mut GAsyncResult,
42155        error: *mut *mut GError,
42156    ) -> gboolean;
42157}
42158extern "C" {
42159    pub fn g_file_eject_mountable_with_operation(
42160        file: *mut GFile,
42161        flags: GMountUnmountFlags,
42162        mount_operation: *mut GMountOperation,
42163        cancellable: *mut GCancellable,
42164        callback: GAsyncReadyCallback,
42165        user_data: gpointer,
42166    );
42167}
42168extern "C" {
42169    pub fn g_file_eject_mountable_with_operation_finish(
42170        file: *mut GFile,
42171        result: *mut GAsyncResult,
42172        error: *mut *mut GError,
42173    ) -> gboolean;
42174}
42175extern "C" {
42176    pub fn g_file_build_attribute_list_for_copy(
42177        file: *mut GFile,
42178        flags: GFileCopyFlags,
42179        cancellable: *mut GCancellable,
42180        error: *mut *mut GError,
42181    ) -> *mut ::std::os::raw::c_char;
42182}
42183extern "C" {
42184    pub fn g_file_copy_attributes(
42185        source: *mut GFile,
42186        destination: *mut GFile,
42187        flags: GFileCopyFlags,
42188        cancellable: *mut GCancellable,
42189        error: *mut *mut GError,
42190    ) -> gboolean;
42191}
42192extern "C" {
42193    pub fn g_file_monitor_directory(
42194        file: *mut GFile,
42195        flags: GFileMonitorFlags,
42196        cancellable: *mut GCancellable,
42197        error: *mut *mut GError,
42198    ) -> *mut GFileMonitor;
42199}
42200extern "C" {
42201    pub fn g_file_monitor_file(
42202        file: *mut GFile,
42203        flags: GFileMonitorFlags,
42204        cancellable: *mut GCancellable,
42205        error: *mut *mut GError,
42206    ) -> *mut GFileMonitor;
42207}
42208extern "C" {
42209    pub fn g_file_monitor(
42210        file: *mut GFile,
42211        flags: GFileMonitorFlags,
42212        cancellable: *mut GCancellable,
42213        error: *mut *mut GError,
42214    ) -> *mut GFileMonitor;
42215}
42216extern "C" {
42217    pub fn g_file_measure_disk_usage(
42218        file: *mut GFile,
42219        flags: GFileMeasureFlags,
42220        cancellable: *mut GCancellable,
42221        progress_callback: GFileMeasureProgressCallback,
42222        progress_data: gpointer,
42223        disk_usage: *mut guint64,
42224        num_dirs: *mut guint64,
42225        num_files: *mut guint64,
42226        error: *mut *mut GError,
42227    ) -> gboolean;
42228}
42229extern "C" {
42230    pub fn g_file_measure_disk_usage_async(
42231        file: *mut GFile,
42232        flags: GFileMeasureFlags,
42233        io_priority: gint,
42234        cancellable: *mut GCancellable,
42235        progress_callback: GFileMeasureProgressCallback,
42236        progress_data: gpointer,
42237        callback: GAsyncReadyCallback,
42238        user_data: gpointer,
42239    );
42240}
42241extern "C" {
42242    pub fn g_file_measure_disk_usage_finish(
42243        file: *mut GFile,
42244        result: *mut GAsyncResult,
42245        disk_usage: *mut guint64,
42246        num_dirs: *mut guint64,
42247        num_files: *mut guint64,
42248        error: *mut *mut GError,
42249    ) -> gboolean;
42250}
42251extern "C" {
42252    pub fn g_file_start_mountable(
42253        file: *mut GFile,
42254        flags: GDriveStartFlags,
42255        start_operation: *mut GMountOperation,
42256        cancellable: *mut GCancellable,
42257        callback: GAsyncReadyCallback,
42258        user_data: gpointer,
42259    );
42260}
42261extern "C" {
42262    pub fn g_file_start_mountable_finish(
42263        file: *mut GFile,
42264        result: *mut GAsyncResult,
42265        error: *mut *mut GError,
42266    ) -> gboolean;
42267}
42268extern "C" {
42269    pub fn g_file_stop_mountable(
42270        file: *mut GFile,
42271        flags: GMountUnmountFlags,
42272        mount_operation: *mut GMountOperation,
42273        cancellable: *mut GCancellable,
42274        callback: GAsyncReadyCallback,
42275        user_data: gpointer,
42276    );
42277}
42278extern "C" {
42279    pub fn g_file_stop_mountable_finish(
42280        file: *mut GFile,
42281        result: *mut GAsyncResult,
42282        error: *mut *mut GError,
42283    ) -> gboolean;
42284}
42285extern "C" {
42286    pub fn g_file_poll_mountable(
42287        file: *mut GFile,
42288        cancellable: *mut GCancellable,
42289        callback: GAsyncReadyCallback,
42290        user_data: gpointer,
42291    );
42292}
42293extern "C" {
42294    pub fn g_file_poll_mountable_finish(
42295        file: *mut GFile,
42296        result: *mut GAsyncResult,
42297        error: *mut *mut GError,
42298    ) -> gboolean;
42299}
42300extern "C" {
42301    pub fn g_file_query_default_handler(
42302        file: *mut GFile,
42303        cancellable: *mut GCancellable,
42304        error: *mut *mut GError,
42305    ) -> *mut GAppInfo;
42306}
42307extern "C" {
42308    pub fn g_file_query_default_handler_async(
42309        file: *mut GFile,
42310        io_priority: ::std::os::raw::c_int,
42311        cancellable: *mut GCancellable,
42312        callback: GAsyncReadyCallback,
42313        user_data: gpointer,
42314    );
42315}
42316extern "C" {
42317    pub fn g_file_query_default_handler_finish(
42318        file: *mut GFile,
42319        result: *mut GAsyncResult,
42320        error: *mut *mut GError,
42321    ) -> *mut GAppInfo;
42322}
42323extern "C" {
42324    pub fn g_file_load_contents(
42325        file: *mut GFile,
42326        cancellable: *mut GCancellable,
42327        contents: *mut *mut ::std::os::raw::c_char,
42328        length: *mut gsize,
42329        etag_out: *mut *mut ::std::os::raw::c_char,
42330        error: *mut *mut GError,
42331    ) -> gboolean;
42332}
42333extern "C" {
42334    pub fn g_file_load_contents_async(
42335        file: *mut GFile,
42336        cancellable: *mut GCancellable,
42337        callback: GAsyncReadyCallback,
42338        user_data: gpointer,
42339    );
42340}
42341extern "C" {
42342    pub fn g_file_load_contents_finish(
42343        file: *mut GFile,
42344        res: *mut GAsyncResult,
42345        contents: *mut *mut ::std::os::raw::c_char,
42346        length: *mut gsize,
42347        etag_out: *mut *mut ::std::os::raw::c_char,
42348        error: *mut *mut GError,
42349    ) -> gboolean;
42350}
42351extern "C" {
42352    pub fn g_file_load_partial_contents_async(
42353        file: *mut GFile,
42354        cancellable: *mut GCancellable,
42355        read_more_callback: GFileReadMoreCallback,
42356        callback: GAsyncReadyCallback,
42357        user_data: gpointer,
42358    );
42359}
42360extern "C" {
42361    pub fn g_file_load_partial_contents_finish(
42362        file: *mut GFile,
42363        res: *mut GAsyncResult,
42364        contents: *mut *mut ::std::os::raw::c_char,
42365        length: *mut gsize,
42366        etag_out: *mut *mut ::std::os::raw::c_char,
42367        error: *mut *mut GError,
42368    ) -> gboolean;
42369}
42370extern "C" {
42371    pub fn g_file_replace_contents(
42372        file: *mut GFile,
42373        contents: *const ::std::os::raw::c_char,
42374        length: gsize,
42375        etag: *const ::std::os::raw::c_char,
42376        make_backup: gboolean,
42377        flags: GFileCreateFlags,
42378        new_etag: *mut *mut ::std::os::raw::c_char,
42379        cancellable: *mut GCancellable,
42380        error: *mut *mut GError,
42381    ) -> gboolean;
42382}
42383extern "C" {
42384    pub fn g_file_replace_contents_async(
42385        file: *mut GFile,
42386        contents: *const ::std::os::raw::c_char,
42387        length: gsize,
42388        etag: *const ::std::os::raw::c_char,
42389        make_backup: gboolean,
42390        flags: GFileCreateFlags,
42391        cancellable: *mut GCancellable,
42392        callback: GAsyncReadyCallback,
42393        user_data: gpointer,
42394    );
42395}
42396extern "C" {
42397    pub fn g_file_replace_contents_bytes_async(
42398        file: *mut GFile,
42399        contents: *mut GBytes,
42400        etag: *const ::std::os::raw::c_char,
42401        make_backup: gboolean,
42402        flags: GFileCreateFlags,
42403        cancellable: *mut GCancellable,
42404        callback: GAsyncReadyCallback,
42405        user_data: gpointer,
42406    );
42407}
42408extern "C" {
42409    pub fn g_file_replace_contents_finish(
42410        file: *mut GFile,
42411        res: *mut GAsyncResult,
42412        new_etag: *mut *mut ::std::os::raw::c_char,
42413        error: *mut *mut GError,
42414    ) -> gboolean;
42415}
42416extern "C" {
42417    pub fn g_file_supports_thread_contexts(file: *mut GFile) -> gboolean;
42418}
42419extern "C" {
42420    pub fn g_file_load_bytes(
42421        file: *mut GFile,
42422        cancellable: *mut GCancellable,
42423        etag_out: *mut *mut gchar,
42424        error: *mut *mut GError,
42425    ) -> *mut GBytes;
42426}
42427extern "C" {
42428    pub fn g_file_load_bytes_async(
42429        file: *mut GFile,
42430        cancellable: *mut GCancellable,
42431        callback: GAsyncReadyCallback,
42432        user_data: gpointer,
42433    );
42434}
42435extern "C" {
42436    pub fn g_file_load_bytes_finish(
42437        file: *mut GFile,
42438        result: *mut GAsyncResult,
42439        etag_out: *mut *mut gchar,
42440        error: *mut *mut GError,
42441    ) -> *mut GBytes;
42442}
42443#[repr(C)]
42444#[derive(Debug, Copy, Clone, PartialEq, Eq)]
42445pub struct _GFileAttributeInfo {
42446    pub name: *mut ::std::os::raw::c_char,
42447    pub type_: GFileAttributeType,
42448    pub flags: GFileAttributeInfoFlags,
42449}
42450#[test]
42451fn bindgen_test_layout__GFileAttributeInfo() {
42452    const UNINIT: ::std::mem::MaybeUninit<_GFileAttributeInfo> = ::std::mem::MaybeUninit::uninit();
42453    let ptr = UNINIT.as_ptr();
42454    assert_eq!(
42455        ::std::mem::size_of::<_GFileAttributeInfo>(),
42456        16usize,
42457        concat!("Size of: ", stringify!(_GFileAttributeInfo))
42458    );
42459    assert_eq!(
42460        ::std::mem::align_of::<_GFileAttributeInfo>(),
42461        8usize,
42462        concat!("Alignment of ", stringify!(_GFileAttributeInfo))
42463    );
42464    assert_eq!(
42465        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
42466        0usize,
42467        concat!(
42468            "Offset of field: ",
42469            stringify!(_GFileAttributeInfo),
42470            "::",
42471            stringify!(name)
42472        )
42473    );
42474    assert_eq!(
42475        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
42476        8usize,
42477        concat!(
42478            "Offset of field: ",
42479            stringify!(_GFileAttributeInfo),
42480            "::",
42481            stringify!(type_)
42482        )
42483    );
42484    assert_eq!(
42485        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
42486        12usize,
42487        concat!(
42488            "Offset of field: ",
42489            stringify!(_GFileAttributeInfo),
42490            "::",
42491            stringify!(flags)
42492        )
42493    );
42494}
42495#[repr(C)]
42496#[derive(Debug, Copy, Clone, PartialEq, Eq)]
42497pub struct _GFileAttributeInfoList {
42498    pub infos: *mut GFileAttributeInfo,
42499    pub n_infos: ::std::os::raw::c_int,
42500}
42501#[test]
42502fn bindgen_test_layout__GFileAttributeInfoList() {
42503    const UNINIT: ::std::mem::MaybeUninit<_GFileAttributeInfoList> =
42504        ::std::mem::MaybeUninit::uninit();
42505    let ptr = UNINIT.as_ptr();
42506    assert_eq!(
42507        ::std::mem::size_of::<_GFileAttributeInfoList>(),
42508        16usize,
42509        concat!("Size of: ", stringify!(_GFileAttributeInfoList))
42510    );
42511    assert_eq!(
42512        ::std::mem::align_of::<_GFileAttributeInfoList>(),
42513        8usize,
42514        concat!("Alignment of ", stringify!(_GFileAttributeInfoList))
42515    );
42516    assert_eq!(
42517        unsafe { ::std::ptr::addr_of!((*ptr).infos) as usize - ptr as usize },
42518        0usize,
42519        concat!(
42520            "Offset of field: ",
42521            stringify!(_GFileAttributeInfoList),
42522            "::",
42523            stringify!(infos)
42524        )
42525    );
42526    assert_eq!(
42527        unsafe { ::std::ptr::addr_of!((*ptr).n_infos) as usize - ptr as usize },
42528        8usize,
42529        concat!(
42530            "Offset of field: ",
42531            stringify!(_GFileAttributeInfoList),
42532            "::",
42533            stringify!(n_infos)
42534        )
42535    );
42536}
42537extern "C" {
42538    pub fn g_file_attribute_info_list_get_type() -> GType;
42539}
42540extern "C" {
42541    pub fn g_file_attribute_info_list_new() -> *mut GFileAttributeInfoList;
42542}
42543extern "C" {
42544    pub fn g_file_attribute_info_list_ref(
42545        list: *mut GFileAttributeInfoList,
42546    ) -> *mut GFileAttributeInfoList;
42547}
42548extern "C" {
42549    pub fn g_file_attribute_info_list_unref(list: *mut GFileAttributeInfoList);
42550}
42551extern "C" {
42552    pub fn g_file_attribute_info_list_dup(
42553        list: *mut GFileAttributeInfoList,
42554    ) -> *mut GFileAttributeInfoList;
42555}
42556extern "C" {
42557    pub fn g_file_attribute_info_list_lookup(
42558        list: *mut GFileAttributeInfoList,
42559        name: *const ::std::os::raw::c_char,
42560    ) -> *const GFileAttributeInfo;
42561}
42562extern "C" {
42563    pub fn g_file_attribute_info_list_add(
42564        list: *mut GFileAttributeInfoList,
42565        name: *const ::std::os::raw::c_char,
42566        type_: GFileAttributeType,
42567        flags: GFileAttributeInfoFlags,
42568    );
42569}
42570pub type GFileEnumeratorClass = _GFileEnumeratorClass;
42571#[repr(C)]
42572#[derive(Debug, Copy, Clone)]
42573pub struct _GFileEnumeratorPrivate {
42574    _unused: [u8; 0],
42575}
42576pub type GFileEnumeratorPrivate = _GFileEnumeratorPrivate;
42577#[repr(C)]
42578#[derive(Debug, Copy, Clone, PartialEq, Eq)]
42579pub struct _GFileEnumerator {
42580    pub parent_instance: GObject,
42581    pub priv_: *mut GFileEnumeratorPrivate,
42582}
42583#[test]
42584fn bindgen_test_layout__GFileEnumerator() {
42585    const UNINIT: ::std::mem::MaybeUninit<_GFileEnumerator> = ::std::mem::MaybeUninit::uninit();
42586    let ptr = UNINIT.as_ptr();
42587    assert_eq!(
42588        ::std::mem::size_of::<_GFileEnumerator>(),
42589        32usize,
42590        concat!("Size of: ", stringify!(_GFileEnumerator))
42591    );
42592    assert_eq!(
42593        ::std::mem::align_of::<_GFileEnumerator>(),
42594        8usize,
42595        concat!("Alignment of ", stringify!(_GFileEnumerator))
42596    );
42597    assert_eq!(
42598        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
42599        0usize,
42600        concat!(
42601            "Offset of field: ",
42602            stringify!(_GFileEnumerator),
42603            "::",
42604            stringify!(parent_instance)
42605        )
42606    );
42607    assert_eq!(
42608        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
42609        24usize,
42610        concat!(
42611            "Offset of field: ",
42612            stringify!(_GFileEnumerator),
42613            "::",
42614            stringify!(priv_)
42615        )
42616    );
42617}
42618#[repr(C)]
42619#[derive(Debug, Copy, Clone, PartialEq, Eq)]
42620pub struct _GFileEnumeratorClass {
42621    pub parent_class: GObjectClass,
42622    pub next_file: ::std::option::Option<
42623        unsafe extern "C" fn(
42624            enumerator: *mut GFileEnumerator,
42625            cancellable: *mut GCancellable,
42626            error: *mut *mut GError,
42627        ) -> *mut GFileInfo,
42628    >,
42629    pub close_fn: ::std::option::Option<
42630        unsafe extern "C" fn(
42631            enumerator: *mut GFileEnumerator,
42632            cancellable: *mut GCancellable,
42633            error: *mut *mut GError,
42634        ) -> gboolean,
42635    >,
42636    pub next_files_async: ::std::option::Option<
42637        unsafe extern "C" fn(
42638            enumerator: *mut GFileEnumerator,
42639            num_files: ::std::os::raw::c_int,
42640            io_priority: ::std::os::raw::c_int,
42641            cancellable: *mut GCancellable,
42642            callback: GAsyncReadyCallback,
42643            user_data: gpointer,
42644        ),
42645    >,
42646    pub next_files_finish: ::std::option::Option<
42647        unsafe extern "C" fn(
42648            enumerator: *mut GFileEnumerator,
42649            result: *mut GAsyncResult,
42650            error: *mut *mut GError,
42651        ) -> *mut GList,
42652    >,
42653    pub close_async: ::std::option::Option<
42654        unsafe extern "C" fn(
42655            enumerator: *mut GFileEnumerator,
42656            io_priority: ::std::os::raw::c_int,
42657            cancellable: *mut GCancellable,
42658            callback: GAsyncReadyCallback,
42659            user_data: gpointer,
42660        ),
42661    >,
42662    pub close_finish: ::std::option::Option<
42663        unsafe extern "C" fn(
42664            enumerator: *mut GFileEnumerator,
42665            result: *mut GAsyncResult,
42666            error: *mut *mut GError,
42667        ) -> gboolean,
42668    >,
42669    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
42670    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
42671    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
42672    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
42673    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
42674    pub _g_reserved6: ::std::option::Option<unsafe extern "C" fn()>,
42675    pub _g_reserved7: ::std::option::Option<unsafe extern "C" fn()>,
42676}
42677#[test]
42678fn bindgen_test_layout__GFileEnumeratorClass() {
42679    const UNINIT: ::std::mem::MaybeUninit<_GFileEnumeratorClass> =
42680        ::std::mem::MaybeUninit::uninit();
42681    let ptr = UNINIT.as_ptr();
42682    assert_eq!(
42683        ::std::mem::size_of::<_GFileEnumeratorClass>(),
42684        240usize,
42685        concat!("Size of: ", stringify!(_GFileEnumeratorClass))
42686    );
42687    assert_eq!(
42688        ::std::mem::align_of::<_GFileEnumeratorClass>(),
42689        8usize,
42690        concat!("Alignment of ", stringify!(_GFileEnumeratorClass))
42691    );
42692    assert_eq!(
42693        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
42694        0usize,
42695        concat!(
42696            "Offset of field: ",
42697            stringify!(_GFileEnumeratorClass),
42698            "::",
42699            stringify!(parent_class)
42700        )
42701    );
42702    assert_eq!(
42703        unsafe { ::std::ptr::addr_of!((*ptr).next_file) as usize - ptr as usize },
42704        136usize,
42705        concat!(
42706            "Offset of field: ",
42707            stringify!(_GFileEnumeratorClass),
42708            "::",
42709            stringify!(next_file)
42710        )
42711    );
42712    assert_eq!(
42713        unsafe { ::std::ptr::addr_of!((*ptr).close_fn) as usize - ptr as usize },
42714        144usize,
42715        concat!(
42716            "Offset of field: ",
42717            stringify!(_GFileEnumeratorClass),
42718            "::",
42719            stringify!(close_fn)
42720        )
42721    );
42722    assert_eq!(
42723        unsafe { ::std::ptr::addr_of!((*ptr).next_files_async) as usize - ptr as usize },
42724        152usize,
42725        concat!(
42726            "Offset of field: ",
42727            stringify!(_GFileEnumeratorClass),
42728            "::",
42729            stringify!(next_files_async)
42730        )
42731    );
42732    assert_eq!(
42733        unsafe { ::std::ptr::addr_of!((*ptr).next_files_finish) as usize - ptr as usize },
42734        160usize,
42735        concat!(
42736            "Offset of field: ",
42737            stringify!(_GFileEnumeratorClass),
42738            "::",
42739            stringify!(next_files_finish)
42740        )
42741    );
42742    assert_eq!(
42743        unsafe { ::std::ptr::addr_of!((*ptr).close_async) as usize - ptr as usize },
42744        168usize,
42745        concat!(
42746            "Offset of field: ",
42747            stringify!(_GFileEnumeratorClass),
42748            "::",
42749            stringify!(close_async)
42750        )
42751    );
42752    assert_eq!(
42753        unsafe { ::std::ptr::addr_of!((*ptr).close_finish) as usize - ptr as usize },
42754        176usize,
42755        concat!(
42756            "Offset of field: ",
42757            stringify!(_GFileEnumeratorClass),
42758            "::",
42759            stringify!(close_finish)
42760        )
42761    );
42762    assert_eq!(
42763        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
42764        184usize,
42765        concat!(
42766            "Offset of field: ",
42767            stringify!(_GFileEnumeratorClass),
42768            "::",
42769            stringify!(_g_reserved1)
42770        )
42771    );
42772    assert_eq!(
42773        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
42774        192usize,
42775        concat!(
42776            "Offset of field: ",
42777            stringify!(_GFileEnumeratorClass),
42778            "::",
42779            stringify!(_g_reserved2)
42780        )
42781    );
42782    assert_eq!(
42783        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
42784        200usize,
42785        concat!(
42786            "Offset of field: ",
42787            stringify!(_GFileEnumeratorClass),
42788            "::",
42789            stringify!(_g_reserved3)
42790        )
42791    );
42792    assert_eq!(
42793        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
42794        208usize,
42795        concat!(
42796            "Offset of field: ",
42797            stringify!(_GFileEnumeratorClass),
42798            "::",
42799            stringify!(_g_reserved4)
42800        )
42801    );
42802    assert_eq!(
42803        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
42804        216usize,
42805        concat!(
42806            "Offset of field: ",
42807            stringify!(_GFileEnumeratorClass),
42808            "::",
42809            stringify!(_g_reserved5)
42810        )
42811    );
42812    assert_eq!(
42813        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved6) as usize - ptr as usize },
42814        224usize,
42815        concat!(
42816            "Offset of field: ",
42817            stringify!(_GFileEnumeratorClass),
42818            "::",
42819            stringify!(_g_reserved6)
42820        )
42821    );
42822    assert_eq!(
42823        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved7) as usize - ptr as usize },
42824        232usize,
42825        concat!(
42826            "Offset of field: ",
42827            stringify!(_GFileEnumeratorClass),
42828            "::",
42829            stringify!(_g_reserved7)
42830        )
42831    );
42832}
42833extern "C" {
42834    pub fn g_file_enumerator_get_type() -> GType;
42835}
42836extern "C" {
42837    pub fn g_file_enumerator_next_file(
42838        enumerator: *mut GFileEnumerator,
42839        cancellable: *mut GCancellable,
42840        error: *mut *mut GError,
42841    ) -> *mut GFileInfo;
42842}
42843extern "C" {
42844    pub fn g_file_enumerator_close(
42845        enumerator: *mut GFileEnumerator,
42846        cancellable: *mut GCancellable,
42847        error: *mut *mut GError,
42848    ) -> gboolean;
42849}
42850extern "C" {
42851    pub fn g_file_enumerator_next_files_async(
42852        enumerator: *mut GFileEnumerator,
42853        num_files: ::std::os::raw::c_int,
42854        io_priority: ::std::os::raw::c_int,
42855        cancellable: *mut GCancellable,
42856        callback: GAsyncReadyCallback,
42857        user_data: gpointer,
42858    );
42859}
42860extern "C" {
42861    pub fn g_file_enumerator_next_files_finish(
42862        enumerator: *mut GFileEnumerator,
42863        result: *mut GAsyncResult,
42864        error: *mut *mut GError,
42865    ) -> *mut GList;
42866}
42867extern "C" {
42868    pub fn g_file_enumerator_close_async(
42869        enumerator: *mut GFileEnumerator,
42870        io_priority: ::std::os::raw::c_int,
42871        cancellable: *mut GCancellable,
42872        callback: GAsyncReadyCallback,
42873        user_data: gpointer,
42874    );
42875}
42876extern "C" {
42877    pub fn g_file_enumerator_close_finish(
42878        enumerator: *mut GFileEnumerator,
42879        result: *mut GAsyncResult,
42880        error: *mut *mut GError,
42881    ) -> gboolean;
42882}
42883extern "C" {
42884    pub fn g_file_enumerator_is_closed(enumerator: *mut GFileEnumerator) -> gboolean;
42885}
42886extern "C" {
42887    pub fn g_file_enumerator_has_pending(enumerator: *mut GFileEnumerator) -> gboolean;
42888}
42889extern "C" {
42890    pub fn g_file_enumerator_set_pending(enumerator: *mut GFileEnumerator, pending: gboolean);
42891}
42892extern "C" {
42893    pub fn g_file_enumerator_get_container(enumerator: *mut GFileEnumerator) -> *mut GFile;
42894}
42895extern "C" {
42896    pub fn g_file_enumerator_get_child(
42897        enumerator: *mut GFileEnumerator,
42898        info: *mut GFileInfo,
42899    ) -> *mut GFile;
42900}
42901extern "C" {
42902    pub fn g_file_enumerator_iterate(
42903        direnum: *mut GFileEnumerator,
42904        out_info: *mut *mut GFileInfo,
42905        out_child: *mut *mut GFile,
42906        cancellable: *mut GCancellable,
42907        error: *mut *mut GError,
42908    ) -> gboolean;
42909}
42910#[repr(C)]
42911#[derive(Debug, Copy, Clone)]
42912pub struct _GFileIconClass {
42913    _unused: [u8; 0],
42914}
42915pub type GFileIconClass = _GFileIconClass;
42916extern "C" {
42917    pub fn g_file_icon_get_type() -> GType;
42918}
42919extern "C" {
42920    pub fn g_file_icon_new(file: *mut GFile) -> *mut GIcon;
42921}
42922extern "C" {
42923    pub fn g_file_icon_get_file(icon: *mut GFileIcon) -> *mut GFile;
42924}
42925#[repr(C)]
42926#[derive(Debug, Copy, Clone)]
42927pub struct _GFileInfoClass {
42928    _unused: [u8; 0],
42929}
42930pub type GFileInfoClass = _GFileInfoClass;
42931extern "C" {
42932    pub fn g_file_info_get_type() -> GType;
42933}
42934extern "C" {
42935    pub fn g_file_info_new() -> *mut GFileInfo;
42936}
42937extern "C" {
42938    pub fn g_file_info_dup(other: *mut GFileInfo) -> *mut GFileInfo;
42939}
42940extern "C" {
42941    pub fn g_file_info_copy_into(src_info: *mut GFileInfo, dest_info: *mut GFileInfo);
42942}
42943extern "C" {
42944    pub fn g_file_info_has_attribute(
42945        info: *mut GFileInfo,
42946        attribute: *const ::std::os::raw::c_char,
42947    ) -> gboolean;
42948}
42949extern "C" {
42950    pub fn g_file_info_has_namespace(
42951        info: *mut GFileInfo,
42952        name_space: *const ::std::os::raw::c_char,
42953    ) -> gboolean;
42954}
42955extern "C" {
42956    pub fn g_file_info_list_attributes(
42957        info: *mut GFileInfo,
42958        name_space: *const ::std::os::raw::c_char,
42959    ) -> *mut *mut ::std::os::raw::c_char;
42960}
42961extern "C" {
42962    pub fn g_file_info_get_attribute_data(
42963        info: *mut GFileInfo,
42964        attribute: *const ::std::os::raw::c_char,
42965        type_: *mut GFileAttributeType,
42966        value_pp: *mut gpointer,
42967        status: *mut GFileAttributeStatus,
42968    ) -> gboolean;
42969}
42970extern "C" {
42971    pub fn g_file_info_get_attribute_type(
42972        info: *mut GFileInfo,
42973        attribute: *const ::std::os::raw::c_char,
42974    ) -> GFileAttributeType;
42975}
42976extern "C" {
42977    pub fn g_file_info_remove_attribute(
42978        info: *mut GFileInfo,
42979        attribute: *const ::std::os::raw::c_char,
42980    );
42981}
42982extern "C" {
42983    pub fn g_file_info_get_attribute_status(
42984        info: *mut GFileInfo,
42985        attribute: *const ::std::os::raw::c_char,
42986    ) -> GFileAttributeStatus;
42987}
42988extern "C" {
42989    pub fn g_file_info_set_attribute_status(
42990        info: *mut GFileInfo,
42991        attribute: *const ::std::os::raw::c_char,
42992        status: GFileAttributeStatus,
42993    ) -> gboolean;
42994}
42995extern "C" {
42996    pub fn g_file_info_get_attribute_as_string(
42997        info: *mut GFileInfo,
42998        attribute: *const ::std::os::raw::c_char,
42999    ) -> *mut ::std::os::raw::c_char;
43000}
43001extern "C" {
43002    pub fn g_file_info_get_attribute_string(
43003        info: *mut GFileInfo,
43004        attribute: *const ::std::os::raw::c_char,
43005    ) -> *const ::std::os::raw::c_char;
43006}
43007extern "C" {
43008    pub fn g_file_info_get_attribute_byte_string(
43009        info: *mut GFileInfo,
43010        attribute: *const ::std::os::raw::c_char,
43011    ) -> *const ::std::os::raw::c_char;
43012}
43013extern "C" {
43014    pub fn g_file_info_get_attribute_boolean(
43015        info: *mut GFileInfo,
43016        attribute: *const ::std::os::raw::c_char,
43017    ) -> gboolean;
43018}
43019extern "C" {
43020    pub fn g_file_info_get_attribute_uint32(
43021        info: *mut GFileInfo,
43022        attribute: *const ::std::os::raw::c_char,
43023    ) -> guint32;
43024}
43025extern "C" {
43026    pub fn g_file_info_get_attribute_int32(
43027        info: *mut GFileInfo,
43028        attribute: *const ::std::os::raw::c_char,
43029    ) -> gint32;
43030}
43031extern "C" {
43032    pub fn g_file_info_get_attribute_uint64(
43033        info: *mut GFileInfo,
43034        attribute: *const ::std::os::raw::c_char,
43035    ) -> guint64;
43036}
43037extern "C" {
43038    pub fn g_file_info_get_attribute_int64(
43039        info: *mut GFileInfo,
43040        attribute: *const ::std::os::raw::c_char,
43041    ) -> gint64;
43042}
43043extern "C" {
43044    pub fn g_file_info_get_attribute_object(
43045        info: *mut GFileInfo,
43046        attribute: *const ::std::os::raw::c_char,
43047    ) -> *mut GObject;
43048}
43049extern "C" {
43050    pub fn g_file_info_get_attribute_stringv(
43051        info: *mut GFileInfo,
43052        attribute: *const ::std::os::raw::c_char,
43053    ) -> *mut *mut ::std::os::raw::c_char;
43054}
43055extern "C" {
43056    pub fn g_file_info_get_attribute_file_path(
43057        info: *mut GFileInfo,
43058        attribute: *const ::std::os::raw::c_char,
43059    ) -> *const ::std::os::raw::c_char;
43060}
43061extern "C" {
43062    pub fn g_file_info_set_attribute(
43063        info: *mut GFileInfo,
43064        attribute: *const ::std::os::raw::c_char,
43065        type_: GFileAttributeType,
43066        value_p: gpointer,
43067    );
43068}
43069extern "C" {
43070    pub fn g_file_info_set_attribute_string(
43071        info: *mut GFileInfo,
43072        attribute: *const ::std::os::raw::c_char,
43073        attr_value: *const ::std::os::raw::c_char,
43074    );
43075}
43076extern "C" {
43077    pub fn g_file_info_set_attribute_byte_string(
43078        info: *mut GFileInfo,
43079        attribute: *const ::std::os::raw::c_char,
43080        attr_value: *const ::std::os::raw::c_char,
43081    );
43082}
43083extern "C" {
43084    pub fn g_file_info_set_attribute_boolean(
43085        info: *mut GFileInfo,
43086        attribute: *const ::std::os::raw::c_char,
43087        attr_value: gboolean,
43088    );
43089}
43090extern "C" {
43091    pub fn g_file_info_set_attribute_uint32(
43092        info: *mut GFileInfo,
43093        attribute: *const ::std::os::raw::c_char,
43094        attr_value: guint32,
43095    );
43096}
43097extern "C" {
43098    pub fn g_file_info_set_attribute_int32(
43099        info: *mut GFileInfo,
43100        attribute: *const ::std::os::raw::c_char,
43101        attr_value: gint32,
43102    );
43103}
43104extern "C" {
43105    pub fn g_file_info_set_attribute_uint64(
43106        info: *mut GFileInfo,
43107        attribute: *const ::std::os::raw::c_char,
43108        attr_value: guint64,
43109    );
43110}
43111extern "C" {
43112    pub fn g_file_info_set_attribute_int64(
43113        info: *mut GFileInfo,
43114        attribute: *const ::std::os::raw::c_char,
43115        attr_value: gint64,
43116    );
43117}
43118extern "C" {
43119    pub fn g_file_info_set_attribute_object(
43120        info: *mut GFileInfo,
43121        attribute: *const ::std::os::raw::c_char,
43122        attr_value: *mut GObject,
43123    );
43124}
43125extern "C" {
43126    pub fn g_file_info_set_attribute_stringv(
43127        info: *mut GFileInfo,
43128        attribute: *const ::std::os::raw::c_char,
43129        attr_value: *mut *mut ::std::os::raw::c_char,
43130    );
43131}
43132extern "C" {
43133    pub fn g_file_info_set_attribute_file_path(
43134        info: *mut GFileInfo,
43135        attribute: *const ::std::os::raw::c_char,
43136        attr_value: *const ::std::os::raw::c_char,
43137    );
43138}
43139extern "C" {
43140    pub fn g_file_info_clear_status(info: *mut GFileInfo);
43141}
43142extern "C" {
43143    pub fn g_file_info_get_deletion_date(info: *mut GFileInfo) -> *mut GDateTime;
43144}
43145extern "C" {
43146    pub fn g_file_info_get_file_type(info: *mut GFileInfo) -> GFileType;
43147}
43148extern "C" {
43149    pub fn g_file_info_get_is_hidden(info: *mut GFileInfo) -> gboolean;
43150}
43151extern "C" {
43152    pub fn g_file_info_get_is_backup(info: *mut GFileInfo) -> gboolean;
43153}
43154extern "C" {
43155    pub fn g_file_info_get_is_symlink(info: *mut GFileInfo) -> gboolean;
43156}
43157extern "C" {
43158    pub fn g_file_info_get_name(info: *mut GFileInfo) -> *const ::std::os::raw::c_char;
43159}
43160extern "C" {
43161    pub fn g_file_info_get_display_name(info: *mut GFileInfo) -> *const ::std::os::raw::c_char;
43162}
43163extern "C" {
43164    pub fn g_file_info_get_edit_name(info: *mut GFileInfo) -> *const ::std::os::raw::c_char;
43165}
43166extern "C" {
43167    pub fn g_file_info_get_icon(info: *mut GFileInfo) -> *mut GIcon;
43168}
43169extern "C" {
43170    pub fn g_file_info_get_symbolic_icon(info: *mut GFileInfo) -> *mut GIcon;
43171}
43172extern "C" {
43173    pub fn g_file_info_get_content_type(info: *mut GFileInfo) -> *const ::std::os::raw::c_char;
43174}
43175extern "C" {
43176    pub fn g_file_info_get_size(info: *mut GFileInfo) -> goffset;
43177}
43178extern "C" {
43179    pub fn g_file_info_get_modification_time(info: *mut GFileInfo, result: *mut GTimeVal);
43180}
43181extern "C" {
43182    pub fn g_file_info_get_modification_date_time(info: *mut GFileInfo) -> *mut GDateTime;
43183}
43184extern "C" {
43185    pub fn g_file_info_get_access_date_time(info: *mut GFileInfo) -> *mut GDateTime;
43186}
43187extern "C" {
43188    pub fn g_file_info_get_creation_date_time(info: *mut GFileInfo) -> *mut GDateTime;
43189}
43190extern "C" {
43191    pub fn g_file_info_get_symlink_target(info: *mut GFileInfo) -> *const ::std::os::raw::c_char;
43192}
43193extern "C" {
43194    pub fn g_file_info_get_etag(info: *mut GFileInfo) -> *const ::std::os::raw::c_char;
43195}
43196extern "C" {
43197    pub fn g_file_info_get_sort_order(info: *mut GFileInfo) -> gint32;
43198}
43199extern "C" {
43200    pub fn g_file_info_set_attribute_mask(info: *mut GFileInfo, mask: *mut GFileAttributeMatcher);
43201}
43202extern "C" {
43203    pub fn g_file_info_unset_attribute_mask(info: *mut GFileInfo);
43204}
43205extern "C" {
43206    pub fn g_file_info_set_file_type(info: *mut GFileInfo, type_: GFileType);
43207}
43208extern "C" {
43209    pub fn g_file_info_set_is_hidden(info: *mut GFileInfo, is_hidden: gboolean);
43210}
43211extern "C" {
43212    pub fn g_file_info_set_is_symlink(info: *mut GFileInfo, is_symlink: gboolean);
43213}
43214extern "C" {
43215    pub fn g_file_info_set_name(info: *mut GFileInfo, name: *const ::std::os::raw::c_char);
43216}
43217extern "C" {
43218    pub fn g_file_info_set_display_name(
43219        info: *mut GFileInfo,
43220        display_name: *const ::std::os::raw::c_char,
43221    );
43222}
43223extern "C" {
43224    pub fn g_file_info_set_edit_name(
43225        info: *mut GFileInfo,
43226        edit_name: *const ::std::os::raw::c_char,
43227    );
43228}
43229extern "C" {
43230    pub fn g_file_info_set_icon(info: *mut GFileInfo, icon: *mut GIcon);
43231}
43232extern "C" {
43233    pub fn g_file_info_set_symbolic_icon(info: *mut GFileInfo, icon: *mut GIcon);
43234}
43235extern "C" {
43236    pub fn g_file_info_set_content_type(
43237        info: *mut GFileInfo,
43238        content_type: *const ::std::os::raw::c_char,
43239    );
43240}
43241extern "C" {
43242    pub fn g_file_info_set_size(info: *mut GFileInfo, size: goffset);
43243}
43244extern "C" {
43245    pub fn g_file_info_set_modification_time(info: *mut GFileInfo, mtime: *mut GTimeVal);
43246}
43247extern "C" {
43248    pub fn g_file_info_set_modification_date_time(info: *mut GFileInfo, mtime: *mut GDateTime);
43249}
43250extern "C" {
43251    pub fn g_file_info_set_access_date_time(info: *mut GFileInfo, atime: *mut GDateTime);
43252}
43253extern "C" {
43254    pub fn g_file_info_set_creation_date_time(info: *mut GFileInfo, creation_time: *mut GDateTime);
43255}
43256extern "C" {
43257    pub fn g_file_info_set_symlink_target(
43258        info: *mut GFileInfo,
43259        symlink_target: *const ::std::os::raw::c_char,
43260    );
43261}
43262extern "C" {
43263    pub fn g_file_info_set_sort_order(info: *mut GFileInfo, sort_order: gint32);
43264}
43265extern "C" {
43266    pub fn g_file_attribute_matcher_get_type() -> GType;
43267}
43268extern "C" {
43269    pub fn g_file_attribute_matcher_new(
43270        attributes: *const ::std::os::raw::c_char,
43271    ) -> *mut GFileAttributeMatcher;
43272}
43273extern "C" {
43274    pub fn g_file_attribute_matcher_ref(
43275        matcher: *mut GFileAttributeMatcher,
43276    ) -> *mut GFileAttributeMatcher;
43277}
43278extern "C" {
43279    pub fn g_file_attribute_matcher_unref(matcher: *mut GFileAttributeMatcher);
43280}
43281extern "C" {
43282    pub fn g_file_attribute_matcher_subtract(
43283        matcher: *mut GFileAttributeMatcher,
43284        subtract: *mut GFileAttributeMatcher,
43285    ) -> *mut GFileAttributeMatcher;
43286}
43287extern "C" {
43288    pub fn g_file_attribute_matcher_matches(
43289        matcher: *mut GFileAttributeMatcher,
43290        attribute: *const ::std::os::raw::c_char,
43291    ) -> gboolean;
43292}
43293extern "C" {
43294    pub fn g_file_attribute_matcher_matches_only(
43295        matcher: *mut GFileAttributeMatcher,
43296        attribute: *const ::std::os::raw::c_char,
43297    ) -> gboolean;
43298}
43299extern "C" {
43300    pub fn g_file_attribute_matcher_enumerate_namespace(
43301        matcher: *mut GFileAttributeMatcher,
43302        ns: *const ::std::os::raw::c_char,
43303    ) -> gboolean;
43304}
43305extern "C" {
43306    pub fn g_file_attribute_matcher_enumerate_next(
43307        matcher: *mut GFileAttributeMatcher,
43308    ) -> *const ::std::os::raw::c_char;
43309}
43310extern "C" {
43311    pub fn g_file_attribute_matcher_to_string(
43312        matcher: *mut GFileAttributeMatcher,
43313    ) -> *mut ::std::os::raw::c_char;
43314}
43315pub type GFileInputStreamClass = _GFileInputStreamClass;
43316#[repr(C)]
43317#[derive(Debug, Copy, Clone)]
43318pub struct _GFileInputStreamPrivate {
43319    _unused: [u8; 0],
43320}
43321pub type GFileInputStreamPrivate = _GFileInputStreamPrivate;
43322#[repr(C)]
43323#[derive(Debug, Copy, Clone, PartialEq, Eq)]
43324pub struct _GFileInputStream {
43325    pub parent_instance: GInputStream,
43326    pub priv_: *mut GFileInputStreamPrivate,
43327}
43328#[test]
43329fn bindgen_test_layout__GFileInputStream() {
43330    const UNINIT: ::std::mem::MaybeUninit<_GFileInputStream> = ::std::mem::MaybeUninit::uninit();
43331    let ptr = UNINIT.as_ptr();
43332    assert_eq!(
43333        ::std::mem::size_of::<_GFileInputStream>(),
43334        40usize,
43335        concat!("Size of: ", stringify!(_GFileInputStream))
43336    );
43337    assert_eq!(
43338        ::std::mem::align_of::<_GFileInputStream>(),
43339        8usize,
43340        concat!("Alignment of ", stringify!(_GFileInputStream))
43341    );
43342    assert_eq!(
43343        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
43344        0usize,
43345        concat!(
43346            "Offset of field: ",
43347            stringify!(_GFileInputStream),
43348            "::",
43349            stringify!(parent_instance)
43350        )
43351    );
43352    assert_eq!(
43353        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
43354        32usize,
43355        concat!(
43356            "Offset of field: ",
43357            stringify!(_GFileInputStream),
43358            "::",
43359            stringify!(priv_)
43360        )
43361    );
43362}
43363#[repr(C)]
43364#[derive(Debug, Copy, Clone, PartialEq, Eq)]
43365pub struct _GFileInputStreamClass {
43366    pub parent_class: GInputStreamClass,
43367    pub tell: ::std::option::Option<unsafe extern "C" fn(stream: *mut GFileInputStream) -> goffset>,
43368    pub can_seek:
43369        ::std::option::Option<unsafe extern "C" fn(stream: *mut GFileInputStream) -> gboolean>,
43370    pub seek: ::std::option::Option<
43371        unsafe extern "C" fn(
43372            stream: *mut GFileInputStream,
43373            offset: goffset,
43374            type_: GSeekType,
43375            cancellable: *mut GCancellable,
43376            error: *mut *mut GError,
43377        ) -> gboolean,
43378    >,
43379    pub query_info: ::std::option::Option<
43380        unsafe extern "C" fn(
43381            stream: *mut GFileInputStream,
43382            attributes: *const ::std::os::raw::c_char,
43383            cancellable: *mut GCancellable,
43384            error: *mut *mut GError,
43385        ) -> *mut GFileInfo,
43386    >,
43387    pub query_info_async: ::std::option::Option<
43388        unsafe extern "C" fn(
43389            stream: *mut GFileInputStream,
43390            attributes: *const ::std::os::raw::c_char,
43391            io_priority: ::std::os::raw::c_int,
43392            cancellable: *mut GCancellable,
43393            callback: GAsyncReadyCallback,
43394            user_data: gpointer,
43395        ),
43396    >,
43397    pub query_info_finish: ::std::option::Option<
43398        unsafe extern "C" fn(
43399            stream: *mut GFileInputStream,
43400            result: *mut GAsyncResult,
43401            error: *mut *mut GError,
43402        ) -> *mut GFileInfo,
43403    >,
43404    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
43405    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
43406    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
43407    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
43408    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
43409}
43410#[test]
43411fn bindgen_test_layout__GFileInputStreamClass() {
43412    const UNINIT: ::std::mem::MaybeUninit<_GFileInputStreamClass> =
43413        ::std::mem::MaybeUninit::uninit();
43414    let ptr = UNINIT.as_ptr();
43415    assert_eq!(
43416        ::std::mem::size_of::<_GFileInputStreamClass>(),
43417        336usize,
43418        concat!("Size of: ", stringify!(_GFileInputStreamClass))
43419    );
43420    assert_eq!(
43421        ::std::mem::align_of::<_GFileInputStreamClass>(),
43422        8usize,
43423        concat!("Alignment of ", stringify!(_GFileInputStreamClass))
43424    );
43425    assert_eq!(
43426        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
43427        0usize,
43428        concat!(
43429            "Offset of field: ",
43430            stringify!(_GFileInputStreamClass),
43431            "::",
43432            stringify!(parent_class)
43433        )
43434    );
43435    assert_eq!(
43436        unsafe { ::std::ptr::addr_of!((*ptr).tell) as usize - ptr as usize },
43437        248usize,
43438        concat!(
43439            "Offset of field: ",
43440            stringify!(_GFileInputStreamClass),
43441            "::",
43442            stringify!(tell)
43443        )
43444    );
43445    assert_eq!(
43446        unsafe { ::std::ptr::addr_of!((*ptr).can_seek) as usize - ptr as usize },
43447        256usize,
43448        concat!(
43449            "Offset of field: ",
43450            stringify!(_GFileInputStreamClass),
43451            "::",
43452            stringify!(can_seek)
43453        )
43454    );
43455    assert_eq!(
43456        unsafe { ::std::ptr::addr_of!((*ptr).seek) as usize - ptr as usize },
43457        264usize,
43458        concat!(
43459            "Offset of field: ",
43460            stringify!(_GFileInputStreamClass),
43461            "::",
43462            stringify!(seek)
43463        )
43464    );
43465    assert_eq!(
43466        unsafe { ::std::ptr::addr_of!((*ptr).query_info) as usize - ptr as usize },
43467        272usize,
43468        concat!(
43469            "Offset of field: ",
43470            stringify!(_GFileInputStreamClass),
43471            "::",
43472            stringify!(query_info)
43473        )
43474    );
43475    assert_eq!(
43476        unsafe { ::std::ptr::addr_of!((*ptr).query_info_async) as usize - ptr as usize },
43477        280usize,
43478        concat!(
43479            "Offset of field: ",
43480            stringify!(_GFileInputStreamClass),
43481            "::",
43482            stringify!(query_info_async)
43483        )
43484    );
43485    assert_eq!(
43486        unsafe { ::std::ptr::addr_of!((*ptr).query_info_finish) as usize - ptr as usize },
43487        288usize,
43488        concat!(
43489            "Offset of field: ",
43490            stringify!(_GFileInputStreamClass),
43491            "::",
43492            stringify!(query_info_finish)
43493        )
43494    );
43495    assert_eq!(
43496        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
43497        296usize,
43498        concat!(
43499            "Offset of field: ",
43500            stringify!(_GFileInputStreamClass),
43501            "::",
43502            stringify!(_g_reserved1)
43503        )
43504    );
43505    assert_eq!(
43506        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
43507        304usize,
43508        concat!(
43509            "Offset of field: ",
43510            stringify!(_GFileInputStreamClass),
43511            "::",
43512            stringify!(_g_reserved2)
43513        )
43514    );
43515    assert_eq!(
43516        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
43517        312usize,
43518        concat!(
43519            "Offset of field: ",
43520            stringify!(_GFileInputStreamClass),
43521            "::",
43522            stringify!(_g_reserved3)
43523        )
43524    );
43525    assert_eq!(
43526        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
43527        320usize,
43528        concat!(
43529            "Offset of field: ",
43530            stringify!(_GFileInputStreamClass),
43531            "::",
43532            stringify!(_g_reserved4)
43533        )
43534    );
43535    assert_eq!(
43536        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
43537        328usize,
43538        concat!(
43539            "Offset of field: ",
43540            stringify!(_GFileInputStreamClass),
43541            "::",
43542            stringify!(_g_reserved5)
43543        )
43544    );
43545}
43546extern "C" {
43547    pub fn g_file_input_stream_get_type() -> GType;
43548}
43549extern "C" {
43550    pub fn g_file_input_stream_query_info(
43551        stream: *mut GFileInputStream,
43552        attributes: *const ::std::os::raw::c_char,
43553        cancellable: *mut GCancellable,
43554        error: *mut *mut GError,
43555    ) -> *mut GFileInfo;
43556}
43557extern "C" {
43558    pub fn g_file_input_stream_query_info_async(
43559        stream: *mut GFileInputStream,
43560        attributes: *const ::std::os::raw::c_char,
43561        io_priority: ::std::os::raw::c_int,
43562        cancellable: *mut GCancellable,
43563        callback: GAsyncReadyCallback,
43564        user_data: gpointer,
43565    );
43566}
43567extern "C" {
43568    pub fn g_file_input_stream_query_info_finish(
43569        stream: *mut GFileInputStream,
43570        result: *mut GAsyncResult,
43571        error: *mut *mut GError,
43572    ) -> *mut GFileInfo;
43573}
43574extern "C" {
43575    pub fn g_io_error_quark() -> GQuark;
43576}
43577extern "C" {
43578    pub fn g_io_error_from_errno(err_no: gint) -> GIOErrorEnum;
43579}
43580extern "C" {
43581    pub fn g_io_error_from_file_error(file_error: GFileError) -> GIOErrorEnum;
43582}
43583#[repr(C)]
43584#[derive(Debug, Copy, Clone)]
43585pub struct _GIOStreamPrivate {
43586    _unused: [u8; 0],
43587}
43588pub type GIOStreamPrivate = _GIOStreamPrivate;
43589pub type GIOStreamClass = _GIOStreamClass;
43590#[repr(C)]
43591#[derive(Debug, Copy, Clone, PartialEq, Eq)]
43592pub struct _GIOStream {
43593    pub parent_instance: GObject,
43594    pub priv_: *mut GIOStreamPrivate,
43595}
43596#[test]
43597fn bindgen_test_layout__GIOStream() {
43598    const UNINIT: ::std::mem::MaybeUninit<_GIOStream> = ::std::mem::MaybeUninit::uninit();
43599    let ptr = UNINIT.as_ptr();
43600    assert_eq!(
43601        ::std::mem::size_of::<_GIOStream>(),
43602        32usize,
43603        concat!("Size of: ", stringify!(_GIOStream))
43604    );
43605    assert_eq!(
43606        ::std::mem::align_of::<_GIOStream>(),
43607        8usize,
43608        concat!("Alignment of ", stringify!(_GIOStream))
43609    );
43610    assert_eq!(
43611        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
43612        0usize,
43613        concat!(
43614            "Offset of field: ",
43615            stringify!(_GIOStream),
43616            "::",
43617            stringify!(parent_instance)
43618        )
43619    );
43620    assert_eq!(
43621        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
43622        24usize,
43623        concat!(
43624            "Offset of field: ",
43625            stringify!(_GIOStream),
43626            "::",
43627            stringify!(priv_)
43628        )
43629    );
43630}
43631#[repr(C)]
43632#[derive(Debug, Copy, Clone, PartialEq, Eq)]
43633pub struct _GIOStreamClass {
43634    pub parent_class: GObjectClass,
43635    pub get_input_stream:
43636        ::std::option::Option<unsafe extern "C" fn(stream: *mut GIOStream) -> *mut GInputStream>,
43637    pub get_output_stream:
43638        ::std::option::Option<unsafe extern "C" fn(stream: *mut GIOStream) -> *mut GOutputStream>,
43639    pub close_fn: ::std::option::Option<
43640        unsafe extern "C" fn(
43641            stream: *mut GIOStream,
43642            cancellable: *mut GCancellable,
43643            error: *mut *mut GError,
43644        ) -> gboolean,
43645    >,
43646    pub close_async: ::std::option::Option<
43647        unsafe extern "C" fn(
43648            stream: *mut GIOStream,
43649            io_priority: ::std::os::raw::c_int,
43650            cancellable: *mut GCancellable,
43651            callback: GAsyncReadyCallback,
43652            user_data: gpointer,
43653        ),
43654    >,
43655    pub close_finish: ::std::option::Option<
43656        unsafe extern "C" fn(
43657            stream: *mut GIOStream,
43658            result: *mut GAsyncResult,
43659            error: *mut *mut GError,
43660        ) -> gboolean,
43661    >,
43662    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
43663    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
43664    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
43665    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
43666    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
43667    pub _g_reserved6: ::std::option::Option<unsafe extern "C" fn()>,
43668    pub _g_reserved7: ::std::option::Option<unsafe extern "C" fn()>,
43669    pub _g_reserved8: ::std::option::Option<unsafe extern "C" fn()>,
43670    pub _g_reserved9: ::std::option::Option<unsafe extern "C" fn()>,
43671    pub _g_reserved10: ::std::option::Option<unsafe extern "C" fn()>,
43672}
43673#[test]
43674fn bindgen_test_layout__GIOStreamClass() {
43675    const UNINIT: ::std::mem::MaybeUninit<_GIOStreamClass> = ::std::mem::MaybeUninit::uninit();
43676    let ptr = UNINIT.as_ptr();
43677    assert_eq!(
43678        ::std::mem::size_of::<_GIOStreamClass>(),
43679        256usize,
43680        concat!("Size of: ", stringify!(_GIOStreamClass))
43681    );
43682    assert_eq!(
43683        ::std::mem::align_of::<_GIOStreamClass>(),
43684        8usize,
43685        concat!("Alignment of ", stringify!(_GIOStreamClass))
43686    );
43687    assert_eq!(
43688        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
43689        0usize,
43690        concat!(
43691            "Offset of field: ",
43692            stringify!(_GIOStreamClass),
43693            "::",
43694            stringify!(parent_class)
43695        )
43696    );
43697    assert_eq!(
43698        unsafe { ::std::ptr::addr_of!((*ptr).get_input_stream) as usize - ptr as usize },
43699        136usize,
43700        concat!(
43701            "Offset of field: ",
43702            stringify!(_GIOStreamClass),
43703            "::",
43704            stringify!(get_input_stream)
43705        )
43706    );
43707    assert_eq!(
43708        unsafe { ::std::ptr::addr_of!((*ptr).get_output_stream) as usize - ptr as usize },
43709        144usize,
43710        concat!(
43711            "Offset of field: ",
43712            stringify!(_GIOStreamClass),
43713            "::",
43714            stringify!(get_output_stream)
43715        )
43716    );
43717    assert_eq!(
43718        unsafe { ::std::ptr::addr_of!((*ptr).close_fn) as usize - ptr as usize },
43719        152usize,
43720        concat!(
43721            "Offset of field: ",
43722            stringify!(_GIOStreamClass),
43723            "::",
43724            stringify!(close_fn)
43725        )
43726    );
43727    assert_eq!(
43728        unsafe { ::std::ptr::addr_of!((*ptr).close_async) as usize - ptr as usize },
43729        160usize,
43730        concat!(
43731            "Offset of field: ",
43732            stringify!(_GIOStreamClass),
43733            "::",
43734            stringify!(close_async)
43735        )
43736    );
43737    assert_eq!(
43738        unsafe { ::std::ptr::addr_of!((*ptr).close_finish) as usize - ptr as usize },
43739        168usize,
43740        concat!(
43741            "Offset of field: ",
43742            stringify!(_GIOStreamClass),
43743            "::",
43744            stringify!(close_finish)
43745        )
43746    );
43747    assert_eq!(
43748        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
43749        176usize,
43750        concat!(
43751            "Offset of field: ",
43752            stringify!(_GIOStreamClass),
43753            "::",
43754            stringify!(_g_reserved1)
43755        )
43756    );
43757    assert_eq!(
43758        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
43759        184usize,
43760        concat!(
43761            "Offset of field: ",
43762            stringify!(_GIOStreamClass),
43763            "::",
43764            stringify!(_g_reserved2)
43765        )
43766    );
43767    assert_eq!(
43768        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
43769        192usize,
43770        concat!(
43771            "Offset of field: ",
43772            stringify!(_GIOStreamClass),
43773            "::",
43774            stringify!(_g_reserved3)
43775        )
43776    );
43777    assert_eq!(
43778        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
43779        200usize,
43780        concat!(
43781            "Offset of field: ",
43782            stringify!(_GIOStreamClass),
43783            "::",
43784            stringify!(_g_reserved4)
43785        )
43786    );
43787    assert_eq!(
43788        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
43789        208usize,
43790        concat!(
43791            "Offset of field: ",
43792            stringify!(_GIOStreamClass),
43793            "::",
43794            stringify!(_g_reserved5)
43795        )
43796    );
43797    assert_eq!(
43798        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved6) as usize - ptr as usize },
43799        216usize,
43800        concat!(
43801            "Offset of field: ",
43802            stringify!(_GIOStreamClass),
43803            "::",
43804            stringify!(_g_reserved6)
43805        )
43806    );
43807    assert_eq!(
43808        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved7) as usize - ptr as usize },
43809        224usize,
43810        concat!(
43811            "Offset of field: ",
43812            stringify!(_GIOStreamClass),
43813            "::",
43814            stringify!(_g_reserved7)
43815        )
43816    );
43817    assert_eq!(
43818        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved8) as usize - ptr as usize },
43819        232usize,
43820        concat!(
43821            "Offset of field: ",
43822            stringify!(_GIOStreamClass),
43823            "::",
43824            stringify!(_g_reserved8)
43825        )
43826    );
43827    assert_eq!(
43828        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved9) as usize - ptr as usize },
43829        240usize,
43830        concat!(
43831            "Offset of field: ",
43832            stringify!(_GIOStreamClass),
43833            "::",
43834            stringify!(_g_reserved9)
43835        )
43836    );
43837    assert_eq!(
43838        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved10) as usize - ptr as usize },
43839        248usize,
43840        concat!(
43841            "Offset of field: ",
43842            stringify!(_GIOStreamClass),
43843            "::",
43844            stringify!(_g_reserved10)
43845        )
43846    );
43847}
43848extern "C" {
43849    pub fn g_io_stream_get_type() -> GType;
43850}
43851extern "C" {
43852    pub fn g_io_stream_get_input_stream(stream: *mut GIOStream) -> *mut GInputStream;
43853}
43854extern "C" {
43855    pub fn g_io_stream_get_output_stream(stream: *mut GIOStream) -> *mut GOutputStream;
43856}
43857extern "C" {
43858    pub fn g_io_stream_splice_async(
43859        stream1: *mut GIOStream,
43860        stream2: *mut GIOStream,
43861        flags: GIOStreamSpliceFlags,
43862        io_priority: ::std::os::raw::c_int,
43863        cancellable: *mut GCancellable,
43864        callback: GAsyncReadyCallback,
43865        user_data: gpointer,
43866    );
43867}
43868extern "C" {
43869    pub fn g_io_stream_splice_finish(
43870        result: *mut GAsyncResult,
43871        error: *mut *mut GError,
43872    ) -> gboolean;
43873}
43874extern "C" {
43875    pub fn g_io_stream_close(
43876        stream: *mut GIOStream,
43877        cancellable: *mut GCancellable,
43878        error: *mut *mut GError,
43879    ) -> gboolean;
43880}
43881extern "C" {
43882    pub fn g_io_stream_close_async(
43883        stream: *mut GIOStream,
43884        io_priority: ::std::os::raw::c_int,
43885        cancellable: *mut GCancellable,
43886        callback: GAsyncReadyCallback,
43887        user_data: gpointer,
43888    );
43889}
43890extern "C" {
43891    pub fn g_io_stream_close_finish(
43892        stream: *mut GIOStream,
43893        result: *mut GAsyncResult,
43894        error: *mut *mut GError,
43895    ) -> gboolean;
43896}
43897extern "C" {
43898    pub fn g_io_stream_is_closed(stream: *mut GIOStream) -> gboolean;
43899}
43900extern "C" {
43901    pub fn g_io_stream_has_pending(stream: *mut GIOStream) -> gboolean;
43902}
43903extern "C" {
43904    pub fn g_io_stream_set_pending(stream: *mut GIOStream, error: *mut *mut GError) -> gboolean;
43905}
43906extern "C" {
43907    pub fn g_io_stream_clear_pending(stream: *mut GIOStream);
43908}
43909pub type GFileIOStreamClass = _GFileIOStreamClass;
43910#[repr(C)]
43911#[derive(Debug, Copy, Clone)]
43912pub struct _GFileIOStreamPrivate {
43913    _unused: [u8; 0],
43914}
43915pub type GFileIOStreamPrivate = _GFileIOStreamPrivate;
43916#[repr(C)]
43917#[derive(Debug, Copy, Clone, PartialEq, Eq)]
43918pub struct _GFileIOStream {
43919    pub parent_instance: GIOStream,
43920    pub priv_: *mut GFileIOStreamPrivate,
43921}
43922#[test]
43923fn bindgen_test_layout__GFileIOStream() {
43924    const UNINIT: ::std::mem::MaybeUninit<_GFileIOStream> = ::std::mem::MaybeUninit::uninit();
43925    let ptr = UNINIT.as_ptr();
43926    assert_eq!(
43927        ::std::mem::size_of::<_GFileIOStream>(),
43928        40usize,
43929        concat!("Size of: ", stringify!(_GFileIOStream))
43930    );
43931    assert_eq!(
43932        ::std::mem::align_of::<_GFileIOStream>(),
43933        8usize,
43934        concat!("Alignment of ", stringify!(_GFileIOStream))
43935    );
43936    assert_eq!(
43937        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
43938        0usize,
43939        concat!(
43940            "Offset of field: ",
43941            stringify!(_GFileIOStream),
43942            "::",
43943            stringify!(parent_instance)
43944        )
43945    );
43946    assert_eq!(
43947        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
43948        32usize,
43949        concat!(
43950            "Offset of field: ",
43951            stringify!(_GFileIOStream),
43952            "::",
43953            stringify!(priv_)
43954        )
43955    );
43956}
43957#[repr(C)]
43958#[derive(Debug, Copy, Clone, PartialEq, Eq)]
43959pub struct _GFileIOStreamClass {
43960    pub parent_class: GIOStreamClass,
43961    pub tell: ::std::option::Option<unsafe extern "C" fn(stream: *mut GFileIOStream) -> goffset>,
43962    pub can_seek:
43963        ::std::option::Option<unsafe extern "C" fn(stream: *mut GFileIOStream) -> gboolean>,
43964    pub seek: ::std::option::Option<
43965        unsafe extern "C" fn(
43966            stream: *mut GFileIOStream,
43967            offset: goffset,
43968            type_: GSeekType,
43969            cancellable: *mut GCancellable,
43970            error: *mut *mut GError,
43971        ) -> gboolean,
43972    >,
43973    pub can_truncate:
43974        ::std::option::Option<unsafe extern "C" fn(stream: *mut GFileIOStream) -> gboolean>,
43975    pub truncate_fn: ::std::option::Option<
43976        unsafe extern "C" fn(
43977            stream: *mut GFileIOStream,
43978            size: goffset,
43979            cancellable: *mut GCancellable,
43980            error: *mut *mut GError,
43981        ) -> gboolean,
43982    >,
43983    pub query_info: ::std::option::Option<
43984        unsafe extern "C" fn(
43985            stream: *mut GFileIOStream,
43986            attributes: *const ::std::os::raw::c_char,
43987            cancellable: *mut GCancellable,
43988            error: *mut *mut GError,
43989        ) -> *mut GFileInfo,
43990    >,
43991    pub query_info_async: ::std::option::Option<
43992        unsafe extern "C" fn(
43993            stream: *mut GFileIOStream,
43994            attributes: *const ::std::os::raw::c_char,
43995            io_priority: ::std::os::raw::c_int,
43996            cancellable: *mut GCancellable,
43997            callback: GAsyncReadyCallback,
43998            user_data: gpointer,
43999        ),
44000    >,
44001    pub query_info_finish: ::std::option::Option<
44002        unsafe extern "C" fn(
44003            stream: *mut GFileIOStream,
44004            result: *mut GAsyncResult,
44005            error: *mut *mut GError,
44006        ) -> *mut GFileInfo,
44007    >,
44008    pub get_etag: ::std::option::Option<
44009        unsafe extern "C" fn(stream: *mut GFileIOStream) -> *mut ::std::os::raw::c_char,
44010    >,
44011    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
44012    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
44013    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
44014    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
44015    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
44016}
44017#[test]
44018fn bindgen_test_layout__GFileIOStreamClass() {
44019    const UNINIT: ::std::mem::MaybeUninit<_GFileIOStreamClass> = ::std::mem::MaybeUninit::uninit();
44020    let ptr = UNINIT.as_ptr();
44021    assert_eq!(
44022        ::std::mem::size_of::<_GFileIOStreamClass>(),
44023        368usize,
44024        concat!("Size of: ", stringify!(_GFileIOStreamClass))
44025    );
44026    assert_eq!(
44027        ::std::mem::align_of::<_GFileIOStreamClass>(),
44028        8usize,
44029        concat!("Alignment of ", stringify!(_GFileIOStreamClass))
44030    );
44031    assert_eq!(
44032        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
44033        0usize,
44034        concat!(
44035            "Offset of field: ",
44036            stringify!(_GFileIOStreamClass),
44037            "::",
44038            stringify!(parent_class)
44039        )
44040    );
44041    assert_eq!(
44042        unsafe { ::std::ptr::addr_of!((*ptr).tell) as usize - ptr as usize },
44043        256usize,
44044        concat!(
44045            "Offset of field: ",
44046            stringify!(_GFileIOStreamClass),
44047            "::",
44048            stringify!(tell)
44049        )
44050    );
44051    assert_eq!(
44052        unsafe { ::std::ptr::addr_of!((*ptr).can_seek) as usize - ptr as usize },
44053        264usize,
44054        concat!(
44055            "Offset of field: ",
44056            stringify!(_GFileIOStreamClass),
44057            "::",
44058            stringify!(can_seek)
44059        )
44060    );
44061    assert_eq!(
44062        unsafe { ::std::ptr::addr_of!((*ptr).seek) as usize - ptr as usize },
44063        272usize,
44064        concat!(
44065            "Offset of field: ",
44066            stringify!(_GFileIOStreamClass),
44067            "::",
44068            stringify!(seek)
44069        )
44070    );
44071    assert_eq!(
44072        unsafe { ::std::ptr::addr_of!((*ptr).can_truncate) as usize - ptr as usize },
44073        280usize,
44074        concat!(
44075            "Offset of field: ",
44076            stringify!(_GFileIOStreamClass),
44077            "::",
44078            stringify!(can_truncate)
44079        )
44080    );
44081    assert_eq!(
44082        unsafe { ::std::ptr::addr_of!((*ptr).truncate_fn) as usize - ptr as usize },
44083        288usize,
44084        concat!(
44085            "Offset of field: ",
44086            stringify!(_GFileIOStreamClass),
44087            "::",
44088            stringify!(truncate_fn)
44089        )
44090    );
44091    assert_eq!(
44092        unsafe { ::std::ptr::addr_of!((*ptr).query_info) as usize - ptr as usize },
44093        296usize,
44094        concat!(
44095            "Offset of field: ",
44096            stringify!(_GFileIOStreamClass),
44097            "::",
44098            stringify!(query_info)
44099        )
44100    );
44101    assert_eq!(
44102        unsafe { ::std::ptr::addr_of!((*ptr).query_info_async) as usize - ptr as usize },
44103        304usize,
44104        concat!(
44105            "Offset of field: ",
44106            stringify!(_GFileIOStreamClass),
44107            "::",
44108            stringify!(query_info_async)
44109        )
44110    );
44111    assert_eq!(
44112        unsafe { ::std::ptr::addr_of!((*ptr).query_info_finish) as usize - ptr as usize },
44113        312usize,
44114        concat!(
44115            "Offset of field: ",
44116            stringify!(_GFileIOStreamClass),
44117            "::",
44118            stringify!(query_info_finish)
44119        )
44120    );
44121    assert_eq!(
44122        unsafe { ::std::ptr::addr_of!((*ptr).get_etag) as usize - ptr as usize },
44123        320usize,
44124        concat!(
44125            "Offset of field: ",
44126            stringify!(_GFileIOStreamClass),
44127            "::",
44128            stringify!(get_etag)
44129        )
44130    );
44131    assert_eq!(
44132        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
44133        328usize,
44134        concat!(
44135            "Offset of field: ",
44136            stringify!(_GFileIOStreamClass),
44137            "::",
44138            stringify!(_g_reserved1)
44139        )
44140    );
44141    assert_eq!(
44142        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
44143        336usize,
44144        concat!(
44145            "Offset of field: ",
44146            stringify!(_GFileIOStreamClass),
44147            "::",
44148            stringify!(_g_reserved2)
44149        )
44150    );
44151    assert_eq!(
44152        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
44153        344usize,
44154        concat!(
44155            "Offset of field: ",
44156            stringify!(_GFileIOStreamClass),
44157            "::",
44158            stringify!(_g_reserved3)
44159        )
44160    );
44161    assert_eq!(
44162        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
44163        352usize,
44164        concat!(
44165            "Offset of field: ",
44166            stringify!(_GFileIOStreamClass),
44167            "::",
44168            stringify!(_g_reserved4)
44169        )
44170    );
44171    assert_eq!(
44172        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
44173        360usize,
44174        concat!(
44175            "Offset of field: ",
44176            stringify!(_GFileIOStreamClass),
44177            "::",
44178            stringify!(_g_reserved5)
44179        )
44180    );
44181}
44182extern "C" {
44183    pub fn g_file_io_stream_get_type() -> GType;
44184}
44185extern "C" {
44186    pub fn g_file_io_stream_query_info(
44187        stream: *mut GFileIOStream,
44188        attributes: *const ::std::os::raw::c_char,
44189        cancellable: *mut GCancellable,
44190        error: *mut *mut GError,
44191    ) -> *mut GFileInfo;
44192}
44193extern "C" {
44194    pub fn g_file_io_stream_query_info_async(
44195        stream: *mut GFileIOStream,
44196        attributes: *const ::std::os::raw::c_char,
44197        io_priority: ::std::os::raw::c_int,
44198        cancellable: *mut GCancellable,
44199        callback: GAsyncReadyCallback,
44200        user_data: gpointer,
44201    );
44202}
44203extern "C" {
44204    pub fn g_file_io_stream_query_info_finish(
44205        stream: *mut GFileIOStream,
44206        result: *mut GAsyncResult,
44207        error: *mut *mut GError,
44208    ) -> *mut GFileInfo;
44209}
44210extern "C" {
44211    pub fn g_file_io_stream_get_etag(stream: *mut GFileIOStream) -> *mut ::std::os::raw::c_char;
44212}
44213pub type GFileMonitorClass = _GFileMonitorClass;
44214#[repr(C)]
44215#[derive(Debug, Copy, Clone)]
44216pub struct _GFileMonitorPrivate {
44217    _unused: [u8; 0],
44218}
44219pub type GFileMonitorPrivate = _GFileMonitorPrivate;
44220#[repr(C)]
44221#[derive(Debug, Copy, Clone, PartialEq, Eq)]
44222pub struct _GFileMonitor {
44223    pub parent_instance: GObject,
44224    pub priv_: *mut GFileMonitorPrivate,
44225}
44226#[test]
44227fn bindgen_test_layout__GFileMonitor() {
44228    const UNINIT: ::std::mem::MaybeUninit<_GFileMonitor> = ::std::mem::MaybeUninit::uninit();
44229    let ptr = UNINIT.as_ptr();
44230    assert_eq!(
44231        ::std::mem::size_of::<_GFileMonitor>(),
44232        32usize,
44233        concat!("Size of: ", stringify!(_GFileMonitor))
44234    );
44235    assert_eq!(
44236        ::std::mem::align_of::<_GFileMonitor>(),
44237        8usize,
44238        concat!("Alignment of ", stringify!(_GFileMonitor))
44239    );
44240    assert_eq!(
44241        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
44242        0usize,
44243        concat!(
44244            "Offset of field: ",
44245            stringify!(_GFileMonitor),
44246            "::",
44247            stringify!(parent_instance)
44248        )
44249    );
44250    assert_eq!(
44251        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
44252        24usize,
44253        concat!(
44254            "Offset of field: ",
44255            stringify!(_GFileMonitor),
44256            "::",
44257            stringify!(priv_)
44258        )
44259    );
44260}
44261#[repr(C)]
44262#[derive(Debug, Copy, Clone, PartialEq, Eq)]
44263pub struct _GFileMonitorClass {
44264    pub parent_class: GObjectClass,
44265    pub changed: ::std::option::Option<
44266        unsafe extern "C" fn(
44267            monitor: *mut GFileMonitor,
44268            file: *mut GFile,
44269            other_file: *mut GFile,
44270            event_type: GFileMonitorEvent,
44271        ),
44272    >,
44273    pub cancel: ::std::option::Option<unsafe extern "C" fn(monitor: *mut GFileMonitor) -> gboolean>,
44274    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
44275    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
44276    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
44277    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
44278    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
44279}
44280#[test]
44281fn bindgen_test_layout__GFileMonitorClass() {
44282    const UNINIT: ::std::mem::MaybeUninit<_GFileMonitorClass> = ::std::mem::MaybeUninit::uninit();
44283    let ptr = UNINIT.as_ptr();
44284    assert_eq!(
44285        ::std::mem::size_of::<_GFileMonitorClass>(),
44286        192usize,
44287        concat!("Size of: ", stringify!(_GFileMonitorClass))
44288    );
44289    assert_eq!(
44290        ::std::mem::align_of::<_GFileMonitorClass>(),
44291        8usize,
44292        concat!("Alignment of ", stringify!(_GFileMonitorClass))
44293    );
44294    assert_eq!(
44295        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
44296        0usize,
44297        concat!(
44298            "Offset of field: ",
44299            stringify!(_GFileMonitorClass),
44300            "::",
44301            stringify!(parent_class)
44302        )
44303    );
44304    assert_eq!(
44305        unsafe { ::std::ptr::addr_of!((*ptr).changed) as usize - ptr as usize },
44306        136usize,
44307        concat!(
44308            "Offset of field: ",
44309            stringify!(_GFileMonitorClass),
44310            "::",
44311            stringify!(changed)
44312        )
44313    );
44314    assert_eq!(
44315        unsafe { ::std::ptr::addr_of!((*ptr).cancel) as usize - ptr as usize },
44316        144usize,
44317        concat!(
44318            "Offset of field: ",
44319            stringify!(_GFileMonitorClass),
44320            "::",
44321            stringify!(cancel)
44322        )
44323    );
44324    assert_eq!(
44325        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
44326        152usize,
44327        concat!(
44328            "Offset of field: ",
44329            stringify!(_GFileMonitorClass),
44330            "::",
44331            stringify!(_g_reserved1)
44332        )
44333    );
44334    assert_eq!(
44335        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
44336        160usize,
44337        concat!(
44338            "Offset of field: ",
44339            stringify!(_GFileMonitorClass),
44340            "::",
44341            stringify!(_g_reserved2)
44342        )
44343    );
44344    assert_eq!(
44345        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
44346        168usize,
44347        concat!(
44348            "Offset of field: ",
44349            stringify!(_GFileMonitorClass),
44350            "::",
44351            stringify!(_g_reserved3)
44352        )
44353    );
44354    assert_eq!(
44355        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
44356        176usize,
44357        concat!(
44358            "Offset of field: ",
44359            stringify!(_GFileMonitorClass),
44360            "::",
44361            stringify!(_g_reserved4)
44362        )
44363    );
44364    assert_eq!(
44365        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
44366        184usize,
44367        concat!(
44368            "Offset of field: ",
44369            stringify!(_GFileMonitorClass),
44370            "::",
44371            stringify!(_g_reserved5)
44372        )
44373    );
44374}
44375extern "C" {
44376    pub fn g_file_monitor_get_type() -> GType;
44377}
44378extern "C" {
44379    pub fn g_file_monitor_cancel(monitor: *mut GFileMonitor) -> gboolean;
44380}
44381extern "C" {
44382    pub fn g_file_monitor_is_cancelled(monitor: *mut GFileMonitor) -> gboolean;
44383}
44384extern "C" {
44385    pub fn g_file_monitor_set_rate_limit(monitor: *mut GFileMonitor, limit_msecs: gint);
44386}
44387extern "C" {
44388    pub fn g_file_monitor_emit_event(
44389        monitor: *mut GFileMonitor,
44390        child: *mut GFile,
44391        other_file: *mut GFile,
44392        event_type: GFileMonitorEvent,
44393    );
44394}
44395pub type GFilenameCompleterClass = _GFilenameCompleterClass;
44396#[repr(C)]
44397#[derive(Debug, Copy, Clone, PartialEq, Eq)]
44398pub struct _GFilenameCompleterClass {
44399    pub parent_class: GObjectClass,
44400    pub got_completion_data:
44401        ::std::option::Option<unsafe extern "C" fn(filename_completer: *mut GFilenameCompleter)>,
44402    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
44403    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
44404    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
44405}
44406#[test]
44407fn bindgen_test_layout__GFilenameCompleterClass() {
44408    const UNINIT: ::std::mem::MaybeUninit<_GFilenameCompleterClass> =
44409        ::std::mem::MaybeUninit::uninit();
44410    let ptr = UNINIT.as_ptr();
44411    assert_eq!(
44412        ::std::mem::size_of::<_GFilenameCompleterClass>(),
44413        168usize,
44414        concat!("Size of: ", stringify!(_GFilenameCompleterClass))
44415    );
44416    assert_eq!(
44417        ::std::mem::align_of::<_GFilenameCompleterClass>(),
44418        8usize,
44419        concat!("Alignment of ", stringify!(_GFilenameCompleterClass))
44420    );
44421    assert_eq!(
44422        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
44423        0usize,
44424        concat!(
44425            "Offset of field: ",
44426            stringify!(_GFilenameCompleterClass),
44427            "::",
44428            stringify!(parent_class)
44429        )
44430    );
44431    assert_eq!(
44432        unsafe { ::std::ptr::addr_of!((*ptr).got_completion_data) as usize - ptr as usize },
44433        136usize,
44434        concat!(
44435            "Offset of field: ",
44436            stringify!(_GFilenameCompleterClass),
44437            "::",
44438            stringify!(got_completion_data)
44439        )
44440    );
44441    assert_eq!(
44442        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
44443        144usize,
44444        concat!(
44445            "Offset of field: ",
44446            stringify!(_GFilenameCompleterClass),
44447            "::",
44448            stringify!(_g_reserved1)
44449        )
44450    );
44451    assert_eq!(
44452        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
44453        152usize,
44454        concat!(
44455            "Offset of field: ",
44456            stringify!(_GFilenameCompleterClass),
44457            "::",
44458            stringify!(_g_reserved2)
44459        )
44460    );
44461    assert_eq!(
44462        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
44463        160usize,
44464        concat!(
44465            "Offset of field: ",
44466            stringify!(_GFilenameCompleterClass),
44467            "::",
44468            stringify!(_g_reserved3)
44469        )
44470    );
44471}
44472extern "C" {
44473    pub fn g_filename_completer_get_type() -> GType;
44474}
44475extern "C" {
44476    pub fn g_filename_completer_new() -> *mut GFilenameCompleter;
44477}
44478extern "C" {
44479    pub fn g_filename_completer_get_completion_suffix(
44480        completer: *mut GFilenameCompleter,
44481        initial_text: *const ::std::os::raw::c_char,
44482    ) -> *mut ::std::os::raw::c_char;
44483}
44484extern "C" {
44485    pub fn g_filename_completer_get_completions(
44486        completer: *mut GFilenameCompleter,
44487        initial_text: *const ::std::os::raw::c_char,
44488    ) -> *mut *mut ::std::os::raw::c_char;
44489}
44490extern "C" {
44491    pub fn g_filename_completer_set_dirs_only(
44492        completer: *mut GFilenameCompleter,
44493        dirs_only: gboolean,
44494    );
44495}
44496pub type GFileOutputStreamClass = _GFileOutputStreamClass;
44497#[repr(C)]
44498#[derive(Debug, Copy, Clone)]
44499pub struct _GFileOutputStreamPrivate {
44500    _unused: [u8; 0],
44501}
44502pub type GFileOutputStreamPrivate = _GFileOutputStreamPrivate;
44503#[repr(C)]
44504#[derive(Debug, Copy, Clone, PartialEq, Eq)]
44505pub struct _GFileOutputStream {
44506    pub parent_instance: GOutputStream,
44507    pub priv_: *mut GFileOutputStreamPrivate,
44508}
44509#[test]
44510fn bindgen_test_layout__GFileOutputStream() {
44511    const UNINIT: ::std::mem::MaybeUninit<_GFileOutputStream> = ::std::mem::MaybeUninit::uninit();
44512    let ptr = UNINIT.as_ptr();
44513    assert_eq!(
44514        ::std::mem::size_of::<_GFileOutputStream>(),
44515        40usize,
44516        concat!("Size of: ", stringify!(_GFileOutputStream))
44517    );
44518    assert_eq!(
44519        ::std::mem::align_of::<_GFileOutputStream>(),
44520        8usize,
44521        concat!("Alignment of ", stringify!(_GFileOutputStream))
44522    );
44523    assert_eq!(
44524        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
44525        0usize,
44526        concat!(
44527            "Offset of field: ",
44528            stringify!(_GFileOutputStream),
44529            "::",
44530            stringify!(parent_instance)
44531        )
44532    );
44533    assert_eq!(
44534        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
44535        32usize,
44536        concat!(
44537            "Offset of field: ",
44538            stringify!(_GFileOutputStream),
44539            "::",
44540            stringify!(priv_)
44541        )
44542    );
44543}
44544#[repr(C)]
44545#[derive(Debug, Copy, Clone, PartialEq, Eq)]
44546pub struct _GFileOutputStreamClass {
44547    pub parent_class: GOutputStreamClass,
44548    pub tell:
44549        ::std::option::Option<unsafe extern "C" fn(stream: *mut GFileOutputStream) -> goffset>,
44550    pub can_seek:
44551        ::std::option::Option<unsafe extern "C" fn(stream: *mut GFileOutputStream) -> gboolean>,
44552    pub seek: ::std::option::Option<
44553        unsafe extern "C" fn(
44554            stream: *mut GFileOutputStream,
44555            offset: goffset,
44556            type_: GSeekType,
44557            cancellable: *mut GCancellable,
44558            error: *mut *mut GError,
44559        ) -> gboolean,
44560    >,
44561    pub can_truncate:
44562        ::std::option::Option<unsafe extern "C" fn(stream: *mut GFileOutputStream) -> gboolean>,
44563    pub truncate_fn: ::std::option::Option<
44564        unsafe extern "C" fn(
44565            stream: *mut GFileOutputStream,
44566            size: goffset,
44567            cancellable: *mut GCancellable,
44568            error: *mut *mut GError,
44569        ) -> gboolean,
44570    >,
44571    pub query_info: ::std::option::Option<
44572        unsafe extern "C" fn(
44573            stream: *mut GFileOutputStream,
44574            attributes: *const ::std::os::raw::c_char,
44575            cancellable: *mut GCancellable,
44576            error: *mut *mut GError,
44577        ) -> *mut GFileInfo,
44578    >,
44579    pub query_info_async: ::std::option::Option<
44580        unsafe extern "C" fn(
44581            stream: *mut GFileOutputStream,
44582            attributes: *const ::std::os::raw::c_char,
44583            io_priority: ::std::os::raw::c_int,
44584            cancellable: *mut GCancellable,
44585            callback: GAsyncReadyCallback,
44586            user_data: gpointer,
44587        ),
44588    >,
44589    pub query_info_finish: ::std::option::Option<
44590        unsafe extern "C" fn(
44591            stream: *mut GFileOutputStream,
44592            result: *mut GAsyncResult,
44593            error: *mut *mut GError,
44594        ) -> *mut GFileInfo,
44595    >,
44596    pub get_etag: ::std::option::Option<
44597        unsafe extern "C" fn(stream: *mut GFileOutputStream) -> *mut ::std::os::raw::c_char,
44598    >,
44599    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
44600    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
44601    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
44602    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
44603    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
44604}
44605#[test]
44606fn bindgen_test_layout__GFileOutputStreamClass() {
44607    const UNINIT: ::std::mem::MaybeUninit<_GFileOutputStreamClass> =
44608        ::std::mem::MaybeUninit::uninit();
44609    let ptr = UNINIT.as_ptr();
44610    assert_eq!(
44611        ::std::mem::size_of::<_GFileOutputStreamClass>(),
44612        408usize,
44613        concat!("Size of: ", stringify!(_GFileOutputStreamClass))
44614    );
44615    assert_eq!(
44616        ::std::mem::align_of::<_GFileOutputStreamClass>(),
44617        8usize,
44618        concat!("Alignment of ", stringify!(_GFileOutputStreamClass))
44619    );
44620    assert_eq!(
44621        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
44622        0usize,
44623        concat!(
44624            "Offset of field: ",
44625            stringify!(_GFileOutputStreamClass),
44626            "::",
44627            stringify!(parent_class)
44628        )
44629    );
44630    assert_eq!(
44631        unsafe { ::std::ptr::addr_of!((*ptr).tell) as usize - ptr as usize },
44632        296usize,
44633        concat!(
44634            "Offset of field: ",
44635            stringify!(_GFileOutputStreamClass),
44636            "::",
44637            stringify!(tell)
44638        )
44639    );
44640    assert_eq!(
44641        unsafe { ::std::ptr::addr_of!((*ptr).can_seek) as usize - ptr as usize },
44642        304usize,
44643        concat!(
44644            "Offset of field: ",
44645            stringify!(_GFileOutputStreamClass),
44646            "::",
44647            stringify!(can_seek)
44648        )
44649    );
44650    assert_eq!(
44651        unsafe { ::std::ptr::addr_of!((*ptr).seek) as usize - ptr as usize },
44652        312usize,
44653        concat!(
44654            "Offset of field: ",
44655            stringify!(_GFileOutputStreamClass),
44656            "::",
44657            stringify!(seek)
44658        )
44659    );
44660    assert_eq!(
44661        unsafe { ::std::ptr::addr_of!((*ptr).can_truncate) as usize - ptr as usize },
44662        320usize,
44663        concat!(
44664            "Offset of field: ",
44665            stringify!(_GFileOutputStreamClass),
44666            "::",
44667            stringify!(can_truncate)
44668        )
44669    );
44670    assert_eq!(
44671        unsafe { ::std::ptr::addr_of!((*ptr).truncate_fn) as usize - ptr as usize },
44672        328usize,
44673        concat!(
44674            "Offset of field: ",
44675            stringify!(_GFileOutputStreamClass),
44676            "::",
44677            stringify!(truncate_fn)
44678        )
44679    );
44680    assert_eq!(
44681        unsafe { ::std::ptr::addr_of!((*ptr).query_info) as usize - ptr as usize },
44682        336usize,
44683        concat!(
44684            "Offset of field: ",
44685            stringify!(_GFileOutputStreamClass),
44686            "::",
44687            stringify!(query_info)
44688        )
44689    );
44690    assert_eq!(
44691        unsafe { ::std::ptr::addr_of!((*ptr).query_info_async) as usize - ptr as usize },
44692        344usize,
44693        concat!(
44694            "Offset of field: ",
44695            stringify!(_GFileOutputStreamClass),
44696            "::",
44697            stringify!(query_info_async)
44698        )
44699    );
44700    assert_eq!(
44701        unsafe { ::std::ptr::addr_of!((*ptr).query_info_finish) as usize - ptr as usize },
44702        352usize,
44703        concat!(
44704            "Offset of field: ",
44705            stringify!(_GFileOutputStreamClass),
44706            "::",
44707            stringify!(query_info_finish)
44708        )
44709    );
44710    assert_eq!(
44711        unsafe { ::std::ptr::addr_of!((*ptr).get_etag) as usize - ptr as usize },
44712        360usize,
44713        concat!(
44714            "Offset of field: ",
44715            stringify!(_GFileOutputStreamClass),
44716            "::",
44717            stringify!(get_etag)
44718        )
44719    );
44720    assert_eq!(
44721        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
44722        368usize,
44723        concat!(
44724            "Offset of field: ",
44725            stringify!(_GFileOutputStreamClass),
44726            "::",
44727            stringify!(_g_reserved1)
44728        )
44729    );
44730    assert_eq!(
44731        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
44732        376usize,
44733        concat!(
44734            "Offset of field: ",
44735            stringify!(_GFileOutputStreamClass),
44736            "::",
44737            stringify!(_g_reserved2)
44738        )
44739    );
44740    assert_eq!(
44741        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
44742        384usize,
44743        concat!(
44744            "Offset of field: ",
44745            stringify!(_GFileOutputStreamClass),
44746            "::",
44747            stringify!(_g_reserved3)
44748        )
44749    );
44750    assert_eq!(
44751        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
44752        392usize,
44753        concat!(
44754            "Offset of field: ",
44755            stringify!(_GFileOutputStreamClass),
44756            "::",
44757            stringify!(_g_reserved4)
44758        )
44759    );
44760    assert_eq!(
44761        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
44762        400usize,
44763        concat!(
44764            "Offset of field: ",
44765            stringify!(_GFileOutputStreamClass),
44766            "::",
44767            stringify!(_g_reserved5)
44768        )
44769    );
44770}
44771extern "C" {
44772    pub fn g_file_output_stream_get_type() -> GType;
44773}
44774extern "C" {
44775    pub fn g_file_output_stream_query_info(
44776        stream: *mut GFileOutputStream,
44777        attributes: *const ::std::os::raw::c_char,
44778        cancellable: *mut GCancellable,
44779        error: *mut *mut GError,
44780    ) -> *mut GFileInfo;
44781}
44782extern "C" {
44783    pub fn g_file_output_stream_query_info_async(
44784        stream: *mut GFileOutputStream,
44785        attributes: *const ::std::os::raw::c_char,
44786        io_priority: ::std::os::raw::c_int,
44787        cancellable: *mut GCancellable,
44788        callback: GAsyncReadyCallback,
44789        user_data: gpointer,
44790    );
44791}
44792extern "C" {
44793    pub fn g_file_output_stream_query_info_finish(
44794        stream: *mut GFileOutputStream,
44795        result: *mut GAsyncResult,
44796        error: *mut *mut GError,
44797    ) -> *mut GFileInfo;
44798}
44799extern "C" {
44800    pub fn g_file_output_stream_get_etag(
44801        stream: *mut GFileOutputStream,
44802    ) -> *mut ::std::os::raw::c_char;
44803}
44804pub type GInetAddressClass = _GInetAddressClass;
44805#[repr(C)]
44806#[derive(Debug, Copy, Clone)]
44807pub struct _GInetAddressPrivate {
44808    _unused: [u8; 0],
44809}
44810pub type GInetAddressPrivate = _GInetAddressPrivate;
44811#[repr(C)]
44812#[derive(Debug, Copy, Clone, PartialEq, Eq)]
44813pub struct _GInetAddress {
44814    pub parent_instance: GObject,
44815    pub priv_: *mut GInetAddressPrivate,
44816}
44817#[test]
44818fn bindgen_test_layout__GInetAddress() {
44819    const UNINIT: ::std::mem::MaybeUninit<_GInetAddress> = ::std::mem::MaybeUninit::uninit();
44820    let ptr = UNINIT.as_ptr();
44821    assert_eq!(
44822        ::std::mem::size_of::<_GInetAddress>(),
44823        32usize,
44824        concat!("Size of: ", stringify!(_GInetAddress))
44825    );
44826    assert_eq!(
44827        ::std::mem::align_of::<_GInetAddress>(),
44828        8usize,
44829        concat!("Alignment of ", stringify!(_GInetAddress))
44830    );
44831    assert_eq!(
44832        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
44833        0usize,
44834        concat!(
44835            "Offset of field: ",
44836            stringify!(_GInetAddress),
44837            "::",
44838            stringify!(parent_instance)
44839        )
44840    );
44841    assert_eq!(
44842        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
44843        24usize,
44844        concat!(
44845            "Offset of field: ",
44846            stringify!(_GInetAddress),
44847            "::",
44848            stringify!(priv_)
44849        )
44850    );
44851}
44852#[repr(C)]
44853#[derive(Debug, Copy, Clone, PartialEq, Eq)]
44854pub struct _GInetAddressClass {
44855    pub parent_class: GObjectClass,
44856    pub to_string:
44857        ::std::option::Option<unsafe extern "C" fn(address: *mut GInetAddress) -> *mut gchar>,
44858    pub to_bytes:
44859        ::std::option::Option<unsafe extern "C" fn(address: *mut GInetAddress) -> *const guint8>,
44860}
44861#[test]
44862fn bindgen_test_layout__GInetAddressClass() {
44863    const UNINIT: ::std::mem::MaybeUninit<_GInetAddressClass> = ::std::mem::MaybeUninit::uninit();
44864    let ptr = UNINIT.as_ptr();
44865    assert_eq!(
44866        ::std::mem::size_of::<_GInetAddressClass>(),
44867        152usize,
44868        concat!("Size of: ", stringify!(_GInetAddressClass))
44869    );
44870    assert_eq!(
44871        ::std::mem::align_of::<_GInetAddressClass>(),
44872        8usize,
44873        concat!("Alignment of ", stringify!(_GInetAddressClass))
44874    );
44875    assert_eq!(
44876        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
44877        0usize,
44878        concat!(
44879            "Offset of field: ",
44880            stringify!(_GInetAddressClass),
44881            "::",
44882            stringify!(parent_class)
44883        )
44884    );
44885    assert_eq!(
44886        unsafe { ::std::ptr::addr_of!((*ptr).to_string) as usize - ptr as usize },
44887        136usize,
44888        concat!(
44889            "Offset of field: ",
44890            stringify!(_GInetAddressClass),
44891            "::",
44892            stringify!(to_string)
44893        )
44894    );
44895    assert_eq!(
44896        unsafe { ::std::ptr::addr_of!((*ptr).to_bytes) as usize - ptr as usize },
44897        144usize,
44898        concat!(
44899            "Offset of field: ",
44900            stringify!(_GInetAddressClass),
44901            "::",
44902            stringify!(to_bytes)
44903        )
44904    );
44905}
44906extern "C" {
44907    pub fn g_inet_address_get_type() -> GType;
44908}
44909extern "C" {
44910    pub fn g_inet_address_new_from_string(string: *const gchar) -> *mut GInetAddress;
44911}
44912extern "C" {
44913    pub fn g_inet_address_new_from_bytes(
44914        bytes: *const guint8,
44915        family: GSocketFamily,
44916    ) -> *mut GInetAddress;
44917}
44918extern "C" {
44919    pub fn g_inet_address_new_loopback(family: GSocketFamily) -> *mut GInetAddress;
44920}
44921extern "C" {
44922    pub fn g_inet_address_new_any(family: GSocketFamily) -> *mut GInetAddress;
44923}
44924extern "C" {
44925    pub fn g_inet_address_equal(
44926        address: *mut GInetAddress,
44927        other_address: *mut GInetAddress,
44928    ) -> gboolean;
44929}
44930extern "C" {
44931    pub fn g_inet_address_to_string(address: *mut GInetAddress) -> *mut gchar;
44932}
44933extern "C" {
44934    pub fn g_inet_address_to_bytes(address: *mut GInetAddress) -> *const guint8;
44935}
44936extern "C" {
44937    pub fn g_inet_address_get_native_size(address: *mut GInetAddress) -> gsize;
44938}
44939extern "C" {
44940    pub fn g_inet_address_get_family(address: *mut GInetAddress) -> GSocketFamily;
44941}
44942extern "C" {
44943    pub fn g_inet_address_get_is_any(address: *mut GInetAddress) -> gboolean;
44944}
44945extern "C" {
44946    pub fn g_inet_address_get_is_loopback(address: *mut GInetAddress) -> gboolean;
44947}
44948extern "C" {
44949    pub fn g_inet_address_get_is_link_local(address: *mut GInetAddress) -> gboolean;
44950}
44951extern "C" {
44952    pub fn g_inet_address_get_is_site_local(address: *mut GInetAddress) -> gboolean;
44953}
44954extern "C" {
44955    pub fn g_inet_address_get_is_multicast(address: *mut GInetAddress) -> gboolean;
44956}
44957extern "C" {
44958    pub fn g_inet_address_get_is_mc_global(address: *mut GInetAddress) -> gboolean;
44959}
44960extern "C" {
44961    pub fn g_inet_address_get_is_mc_link_local(address: *mut GInetAddress) -> gboolean;
44962}
44963extern "C" {
44964    pub fn g_inet_address_get_is_mc_node_local(address: *mut GInetAddress) -> gboolean;
44965}
44966extern "C" {
44967    pub fn g_inet_address_get_is_mc_org_local(address: *mut GInetAddress) -> gboolean;
44968}
44969extern "C" {
44970    pub fn g_inet_address_get_is_mc_site_local(address: *mut GInetAddress) -> gboolean;
44971}
44972pub type GInetAddressMaskClass = _GInetAddressMaskClass;
44973#[repr(C)]
44974#[derive(Debug, Copy, Clone)]
44975pub struct _GInetAddressMaskPrivate {
44976    _unused: [u8; 0],
44977}
44978pub type GInetAddressMaskPrivate = _GInetAddressMaskPrivate;
44979#[repr(C)]
44980#[derive(Debug, Copy, Clone, PartialEq, Eq)]
44981pub struct _GInetAddressMask {
44982    pub parent_instance: GObject,
44983    pub priv_: *mut GInetAddressMaskPrivate,
44984}
44985#[test]
44986fn bindgen_test_layout__GInetAddressMask() {
44987    const UNINIT: ::std::mem::MaybeUninit<_GInetAddressMask> = ::std::mem::MaybeUninit::uninit();
44988    let ptr = UNINIT.as_ptr();
44989    assert_eq!(
44990        ::std::mem::size_of::<_GInetAddressMask>(),
44991        32usize,
44992        concat!("Size of: ", stringify!(_GInetAddressMask))
44993    );
44994    assert_eq!(
44995        ::std::mem::align_of::<_GInetAddressMask>(),
44996        8usize,
44997        concat!("Alignment of ", stringify!(_GInetAddressMask))
44998    );
44999    assert_eq!(
45000        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
45001        0usize,
45002        concat!(
45003            "Offset of field: ",
45004            stringify!(_GInetAddressMask),
45005            "::",
45006            stringify!(parent_instance)
45007        )
45008    );
45009    assert_eq!(
45010        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
45011        24usize,
45012        concat!(
45013            "Offset of field: ",
45014            stringify!(_GInetAddressMask),
45015            "::",
45016            stringify!(priv_)
45017        )
45018    );
45019}
45020#[repr(C)]
45021#[derive(Debug, Copy, Clone, PartialEq, Eq)]
45022pub struct _GInetAddressMaskClass {
45023    pub parent_class: GObjectClass,
45024}
45025#[test]
45026fn bindgen_test_layout__GInetAddressMaskClass() {
45027    const UNINIT: ::std::mem::MaybeUninit<_GInetAddressMaskClass> =
45028        ::std::mem::MaybeUninit::uninit();
45029    let ptr = UNINIT.as_ptr();
45030    assert_eq!(
45031        ::std::mem::size_of::<_GInetAddressMaskClass>(),
45032        136usize,
45033        concat!("Size of: ", stringify!(_GInetAddressMaskClass))
45034    );
45035    assert_eq!(
45036        ::std::mem::align_of::<_GInetAddressMaskClass>(),
45037        8usize,
45038        concat!("Alignment of ", stringify!(_GInetAddressMaskClass))
45039    );
45040    assert_eq!(
45041        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
45042        0usize,
45043        concat!(
45044            "Offset of field: ",
45045            stringify!(_GInetAddressMaskClass),
45046            "::",
45047            stringify!(parent_class)
45048        )
45049    );
45050}
45051extern "C" {
45052    pub fn g_inet_address_mask_get_type() -> GType;
45053}
45054extern "C" {
45055    pub fn g_inet_address_mask_new(
45056        addr: *mut GInetAddress,
45057        length: guint,
45058        error: *mut *mut GError,
45059    ) -> *mut GInetAddressMask;
45060}
45061extern "C" {
45062    pub fn g_inet_address_mask_new_from_string(
45063        mask_string: *const gchar,
45064        error: *mut *mut GError,
45065    ) -> *mut GInetAddressMask;
45066}
45067extern "C" {
45068    pub fn g_inet_address_mask_to_string(mask: *mut GInetAddressMask) -> *mut gchar;
45069}
45070extern "C" {
45071    pub fn g_inet_address_mask_get_family(mask: *mut GInetAddressMask) -> GSocketFamily;
45072}
45073extern "C" {
45074    pub fn g_inet_address_mask_get_address(mask: *mut GInetAddressMask) -> *mut GInetAddress;
45075}
45076extern "C" {
45077    pub fn g_inet_address_mask_get_length(mask: *mut GInetAddressMask) -> guint;
45078}
45079extern "C" {
45080    pub fn g_inet_address_mask_matches(
45081        mask: *mut GInetAddressMask,
45082        address: *mut GInetAddress,
45083    ) -> gboolean;
45084}
45085extern "C" {
45086    pub fn g_inet_address_mask_equal(
45087        mask: *mut GInetAddressMask,
45088        mask2: *mut GInetAddressMask,
45089    ) -> gboolean;
45090}
45091pub type GSocketAddressClass = _GSocketAddressClass;
45092#[repr(C)]
45093#[derive(Debug, Copy, Clone, PartialEq, Eq)]
45094pub struct _GSocketAddress {
45095    pub parent_instance: GObject,
45096}
45097#[test]
45098fn bindgen_test_layout__GSocketAddress() {
45099    const UNINIT: ::std::mem::MaybeUninit<_GSocketAddress> = ::std::mem::MaybeUninit::uninit();
45100    let ptr = UNINIT.as_ptr();
45101    assert_eq!(
45102        ::std::mem::size_of::<_GSocketAddress>(),
45103        24usize,
45104        concat!("Size of: ", stringify!(_GSocketAddress))
45105    );
45106    assert_eq!(
45107        ::std::mem::align_of::<_GSocketAddress>(),
45108        8usize,
45109        concat!("Alignment of ", stringify!(_GSocketAddress))
45110    );
45111    assert_eq!(
45112        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
45113        0usize,
45114        concat!(
45115            "Offset of field: ",
45116            stringify!(_GSocketAddress),
45117            "::",
45118            stringify!(parent_instance)
45119        )
45120    );
45121}
45122#[repr(C)]
45123#[derive(Debug, Copy, Clone, PartialEq, Eq)]
45124pub struct _GSocketAddressClass {
45125    pub parent_class: GObjectClass,
45126    pub get_family:
45127        ::std::option::Option<unsafe extern "C" fn(address: *mut GSocketAddress) -> GSocketFamily>,
45128    pub get_native_size:
45129        ::std::option::Option<unsafe extern "C" fn(address: *mut GSocketAddress) -> gssize>,
45130    pub to_native: ::std::option::Option<
45131        unsafe extern "C" fn(
45132            address: *mut GSocketAddress,
45133            dest: gpointer,
45134            destlen: gsize,
45135            error: *mut *mut GError,
45136        ) -> gboolean,
45137    >,
45138}
45139#[test]
45140fn bindgen_test_layout__GSocketAddressClass() {
45141    const UNINIT: ::std::mem::MaybeUninit<_GSocketAddressClass> = ::std::mem::MaybeUninit::uninit();
45142    let ptr = UNINIT.as_ptr();
45143    assert_eq!(
45144        ::std::mem::size_of::<_GSocketAddressClass>(),
45145        160usize,
45146        concat!("Size of: ", stringify!(_GSocketAddressClass))
45147    );
45148    assert_eq!(
45149        ::std::mem::align_of::<_GSocketAddressClass>(),
45150        8usize,
45151        concat!("Alignment of ", stringify!(_GSocketAddressClass))
45152    );
45153    assert_eq!(
45154        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
45155        0usize,
45156        concat!(
45157            "Offset of field: ",
45158            stringify!(_GSocketAddressClass),
45159            "::",
45160            stringify!(parent_class)
45161        )
45162    );
45163    assert_eq!(
45164        unsafe { ::std::ptr::addr_of!((*ptr).get_family) as usize - ptr as usize },
45165        136usize,
45166        concat!(
45167            "Offset of field: ",
45168            stringify!(_GSocketAddressClass),
45169            "::",
45170            stringify!(get_family)
45171        )
45172    );
45173    assert_eq!(
45174        unsafe { ::std::ptr::addr_of!((*ptr).get_native_size) as usize - ptr as usize },
45175        144usize,
45176        concat!(
45177            "Offset of field: ",
45178            stringify!(_GSocketAddressClass),
45179            "::",
45180            stringify!(get_native_size)
45181        )
45182    );
45183    assert_eq!(
45184        unsafe { ::std::ptr::addr_of!((*ptr).to_native) as usize - ptr as usize },
45185        152usize,
45186        concat!(
45187            "Offset of field: ",
45188            stringify!(_GSocketAddressClass),
45189            "::",
45190            stringify!(to_native)
45191        )
45192    );
45193}
45194extern "C" {
45195    pub fn g_socket_address_get_type() -> GType;
45196}
45197extern "C" {
45198    pub fn g_socket_address_get_family(address: *mut GSocketAddress) -> GSocketFamily;
45199}
45200extern "C" {
45201    pub fn g_socket_address_new_from_native(native: gpointer, len: gsize) -> *mut GSocketAddress;
45202}
45203extern "C" {
45204    pub fn g_socket_address_to_native(
45205        address: *mut GSocketAddress,
45206        dest: gpointer,
45207        destlen: gsize,
45208        error: *mut *mut GError,
45209    ) -> gboolean;
45210}
45211extern "C" {
45212    pub fn g_socket_address_get_native_size(address: *mut GSocketAddress) -> gssize;
45213}
45214pub type GInetSocketAddressClass = _GInetSocketAddressClass;
45215#[repr(C)]
45216#[derive(Debug, Copy, Clone)]
45217pub struct _GInetSocketAddressPrivate {
45218    _unused: [u8; 0],
45219}
45220pub type GInetSocketAddressPrivate = _GInetSocketAddressPrivate;
45221#[repr(C)]
45222#[derive(Debug, Copy, Clone, PartialEq, Eq)]
45223pub struct _GInetSocketAddress {
45224    pub parent_instance: GSocketAddress,
45225    pub priv_: *mut GInetSocketAddressPrivate,
45226}
45227#[test]
45228fn bindgen_test_layout__GInetSocketAddress() {
45229    const UNINIT: ::std::mem::MaybeUninit<_GInetSocketAddress> = ::std::mem::MaybeUninit::uninit();
45230    let ptr = UNINIT.as_ptr();
45231    assert_eq!(
45232        ::std::mem::size_of::<_GInetSocketAddress>(),
45233        32usize,
45234        concat!("Size of: ", stringify!(_GInetSocketAddress))
45235    );
45236    assert_eq!(
45237        ::std::mem::align_of::<_GInetSocketAddress>(),
45238        8usize,
45239        concat!("Alignment of ", stringify!(_GInetSocketAddress))
45240    );
45241    assert_eq!(
45242        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
45243        0usize,
45244        concat!(
45245            "Offset of field: ",
45246            stringify!(_GInetSocketAddress),
45247            "::",
45248            stringify!(parent_instance)
45249        )
45250    );
45251    assert_eq!(
45252        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
45253        24usize,
45254        concat!(
45255            "Offset of field: ",
45256            stringify!(_GInetSocketAddress),
45257            "::",
45258            stringify!(priv_)
45259        )
45260    );
45261}
45262#[repr(C)]
45263#[derive(Debug, Copy, Clone, PartialEq, Eq)]
45264pub struct _GInetSocketAddressClass {
45265    pub parent_class: GSocketAddressClass,
45266}
45267#[test]
45268fn bindgen_test_layout__GInetSocketAddressClass() {
45269    const UNINIT: ::std::mem::MaybeUninit<_GInetSocketAddressClass> =
45270        ::std::mem::MaybeUninit::uninit();
45271    let ptr = UNINIT.as_ptr();
45272    assert_eq!(
45273        ::std::mem::size_of::<_GInetSocketAddressClass>(),
45274        160usize,
45275        concat!("Size of: ", stringify!(_GInetSocketAddressClass))
45276    );
45277    assert_eq!(
45278        ::std::mem::align_of::<_GInetSocketAddressClass>(),
45279        8usize,
45280        concat!("Alignment of ", stringify!(_GInetSocketAddressClass))
45281    );
45282    assert_eq!(
45283        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
45284        0usize,
45285        concat!(
45286            "Offset of field: ",
45287            stringify!(_GInetSocketAddressClass),
45288            "::",
45289            stringify!(parent_class)
45290        )
45291    );
45292}
45293extern "C" {
45294    pub fn g_inet_socket_address_get_type() -> GType;
45295}
45296extern "C" {
45297    pub fn g_inet_socket_address_new(
45298        address: *mut GInetAddress,
45299        port: guint16,
45300    ) -> *mut GSocketAddress;
45301}
45302extern "C" {
45303    pub fn g_inet_socket_address_new_from_string(
45304        address: *const ::std::os::raw::c_char,
45305        port: guint,
45306    ) -> *mut GSocketAddress;
45307}
45308extern "C" {
45309    pub fn g_inet_socket_address_get_address(address: *mut GInetSocketAddress)
45310        -> *mut GInetAddress;
45311}
45312extern "C" {
45313    pub fn g_inet_socket_address_get_port(address: *mut GInetSocketAddress) -> guint16;
45314}
45315extern "C" {
45316    pub fn g_inet_socket_address_get_flowinfo(address: *mut GInetSocketAddress) -> guint32;
45317}
45318extern "C" {
45319    pub fn g_inet_socket_address_get_scope_id(address: *mut GInetSocketAddress) -> guint32;
45320}
45321extern "C" {
45322    pub fn g_app_info_create_flags_get_type() -> GType;
45323}
45324extern "C" {
45325    pub fn g_converter_flags_get_type() -> GType;
45326}
45327extern "C" {
45328    pub fn g_converter_result_get_type() -> GType;
45329}
45330extern "C" {
45331    pub fn g_data_stream_byte_order_get_type() -> GType;
45332}
45333extern "C" {
45334    pub fn g_data_stream_newline_type_get_type() -> GType;
45335}
45336extern "C" {
45337    pub fn g_file_attribute_type_get_type() -> GType;
45338}
45339extern "C" {
45340    pub fn g_file_attribute_info_flags_get_type() -> GType;
45341}
45342extern "C" {
45343    pub fn g_file_attribute_status_get_type() -> GType;
45344}
45345extern "C" {
45346    pub fn g_file_query_info_flags_get_type() -> GType;
45347}
45348extern "C" {
45349    pub fn g_file_create_flags_get_type() -> GType;
45350}
45351extern "C" {
45352    pub fn g_file_measure_flags_get_type() -> GType;
45353}
45354extern "C" {
45355    pub fn g_mount_mount_flags_get_type() -> GType;
45356}
45357extern "C" {
45358    pub fn g_mount_unmount_flags_get_type() -> GType;
45359}
45360extern "C" {
45361    pub fn g_drive_start_flags_get_type() -> GType;
45362}
45363extern "C" {
45364    pub fn g_drive_start_stop_type_get_type() -> GType;
45365}
45366extern "C" {
45367    pub fn g_file_copy_flags_get_type() -> GType;
45368}
45369extern "C" {
45370    pub fn g_file_monitor_flags_get_type() -> GType;
45371}
45372extern "C" {
45373    pub fn g_file_type_get_type() -> GType;
45374}
45375extern "C" {
45376    pub fn g_filesystem_preview_type_get_type() -> GType;
45377}
45378extern "C" {
45379    pub fn g_file_monitor_event_get_type() -> GType;
45380}
45381extern "C" {
45382    pub fn g_io_error_enum_get_type() -> GType;
45383}
45384extern "C" {
45385    pub fn g_ask_password_flags_get_type() -> GType;
45386}
45387extern "C" {
45388    pub fn g_password_save_get_type() -> GType;
45389}
45390extern "C" {
45391    pub fn g_mount_operation_result_get_type() -> GType;
45392}
45393extern "C" {
45394    pub fn g_output_stream_splice_flags_get_type() -> GType;
45395}
45396extern "C" {
45397    pub fn g_io_stream_splice_flags_get_type() -> GType;
45398}
45399extern "C" {
45400    pub fn g_emblem_origin_get_type() -> GType;
45401}
45402extern "C" {
45403    pub fn g_resolver_error_get_type() -> GType;
45404}
45405extern "C" {
45406    pub fn g_resolver_record_type_get_type() -> GType;
45407}
45408extern "C" {
45409    pub fn g_resource_error_get_type() -> GType;
45410}
45411extern "C" {
45412    pub fn g_resource_flags_get_type() -> GType;
45413}
45414extern "C" {
45415    pub fn g_resource_lookup_flags_get_type() -> GType;
45416}
45417extern "C" {
45418    pub fn g_socket_family_get_type() -> GType;
45419}
45420extern "C" {
45421    pub fn g_socket_type_get_type() -> GType;
45422}
45423extern "C" {
45424    pub fn g_socket_msg_flags_get_type() -> GType;
45425}
45426extern "C" {
45427    pub fn g_socket_protocol_get_type() -> GType;
45428}
45429extern "C" {
45430    pub fn g_zlib_compressor_format_get_type() -> GType;
45431}
45432extern "C" {
45433    pub fn g_unix_socket_address_type_get_type() -> GType;
45434}
45435extern "C" {
45436    pub fn g_bus_type_get_type() -> GType;
45437}
45438extern "C" {
45439    pub fn g_bus_name_owner_flags_get_type() -> GType;
45440}
45441extern "C" {
45442    pub fn g_bus_name_watcher_flags_get_type() -> GType;
45443}
45444extern "C" {
45445    pub fn g_dbus_proxy_flags_get_type() -> GType;
45446}
45447extern "C" {
45448    pub fn g_dbus_error_get_type() -> GType;
45449}
45450extern "C" {
45451    pub fn g_dbus_connection_flags_get_type() -> GType;
45452}
45453extern "C" {
45454    pub fn g_dbus_capability_flags_get_type() -> GType;
45455}
45456extern "C" {
45457    pub fn g_dbus_call_flags_get_type() -> GType;
45458}
45459extern "C" {
45460    pub fn g_dbus_message_type_get_type() -> GType;
45461}
45462extern "C" {
45463    pub fn g_dbus_message_flags_get_type() -> GType;
45464}
45465extern "C" {
45466    pub fn g_dbus_message_header_field_get_type() -> GType;
45467}
45468extern "C" {
45469    pub fn g_dbus_property_info_flags_get_type() -> GType;
45470}
45471extern "C" {
45472    pub fn g_dbus_subtree_flags_get_type() -> GType;
45473}
45474extern "C" {
45475    pub fn g_dbus_server_flags_get_type() -> GType;
45476}
45477extern "C" {
45478    pub fn g_dbus_signal_flags_get_type() -> GType;
45479}
45480extern "C" {
45481    pub fn g_dbus_send_message_flags_get_type() -> GType;
45482}
45483extern "C" {
45484    pub fn g_credentials_type_get_type() -> GType;
45485}
45486extern "C" {
45487    pub fn g_dbus_message_byte_order_get_type() -> GType;
45488}
45489extern "C" {
45490    pub fn g_application_flags_get_type() -> GType;
45491}
45492extern "C" {
45493    pub fn g_tls_error_get_type() -> GType;
45494}
45495extern "C" {
45496    pub fn g_tls_certificate_flags_get_type() -> GType;
45497}
45498extern "C" {
45499    pub fn g_tls_authentication_mode_get_type() -> GType;
45500}
45501extern "C" {
45502    pub fn g_tls_channel_binding_type_get_type() -> GType;
45503}
45504extern "C" {
45505    pub fn g_tls_channel_binding_error_get_type() -> GType;
45506}
45507extern "C" {
45508    pub fn g_tls_rehandshake_mode_get_type() -> GType;
45509}
45510extern "C" {
45511    pub fn g_tls_password_flags_get_type() -> GType;
45512}
45513extern "C" {
45514    pub fn g_tls_interaction_result_get_type() -> GType;
45515}
45516extern "C" {
45517    pub fn g_dbus_interface_skeleton_flags_get_type() -> GType;
45518}
45519extern "C" {
45520    pub fn g_dbus_object_manager_client_flags_get_type() -> GType;
45521}
45522extern "C" {
45523    pub fn g_tls_database_verify_flags_get_type() -> GType;
45524}
45525extern "C" {
45526    pub fn g_tls_database_lookup_flags_get_type() -> GType;
45527}
45528extern "C" {
45529    pub fn g_tls_certificate_request_flags_get_type() -> GType;
45530}
45531extern "C" {
45532    pub fn g_tls_protocol_version_get_type() -> GType;
45533}
45534extern "C" {
45535    pub fn g_io_module_scope_flags_get_type() -> GType;
45536}
45537extern "C" {
45538    pub fn g_socket_client_event_get_type() -> GType;
45539}
45540extern "C" {
45541    pub fn g_socket_listener_event_get_type() -> GType;
45542}
45543extern "C" {
45544    pub fn g_test_dbus_flags_get_type() -> GType;
45545}
45546extern "C" {
45547    pub fn g_subprocess_flags_get_type() -> GType;
45548}
45549extern "C" {
45550    pub fn g_notification_priority_get_type() -> GType;
45551}
45552extern "C" {
45553    pub fn g_network_connectivity_get_type() -> GType;
45554}
45555extern "C" {
45556    pub fn g_pollable_return_get_type() -> GType;
45557}
45558extern "C" {
45559    pub fn g_memory_monitor_warning_level_get_type() -> GType;
45560}
45561extern "C" {
45562    pub fn g_resolver_name_lookup_flags_get_type() -> GType;
45563}
45564extern "C" {
45565    pub fn g_settings_bind_flags_get_type() -> GType;
45566}
45567#[repr(C)]
45568#[derive(Debug, Copy, Clone)]
45569pub struct _GIOModuleScope {
45570    _unused: [u8; 0],
45571}
45572pub type GIOModuleScope = _GIOModuleScope;
45573extern "C" {
45574    pub fn g_io_module_scope_new(flags: GIOModuleScopeFlags) -> *mut GIOModuleScope;
45575}
45576extern "C" {
45577    pub fn g_io_module_scope_free(scope: *mut GIOModuleScope);
45578}
45579extern "C" {
45580    pub fn g_io_module_scope_block(scope: *mut GIOModuleScope, basename: *const gchar);
45581}
45582#[repr(C)]
45583#[derive(Debug, Copy, Clone)]
45584pub struct _GIOModuleClass {
45585    _unused: [u8; 0],
45586}
45587pub type GIOModuleClass = _GIOModuleClass;
45588extern "C" {
45589    pub fn g_io_module_get_type() -> GType;
45590}
45591extern "C" {
45592    pub fn g_io_module_new(filename: *const gchar) -> *mut GIOModule;
45593}
45594extern "C" {
45595    pub fn g_io_modules_scan_all_in_directory(dirname: *const ::std::os::raw::c_char);
45596}
45597extern "C" {
45598    pub fn g_io_modules_load_all_in_directory(dirname: *const gchar) -> *mut GList;
45599}
45600extern "C" {
45601    pub fn g_io_modules_scan_all_in_directory_with_scope(
45602        dirname: *const gchar,
45603        scope: *mut GIOModuleScope,
45604    );
45605}
45606extern "C" {
45607    pub fn g_io_modules_load_all_in_directory_with_scope(
45608        dirname: *const gchar,
45609        scope: *mut GIOModuleScope,
45610    ) -> *mut GList;
45611}
45612extern "C" {
45613    pub fn g_io_extension_point_register(
45614        name: *const ::std::os::raw::c_char,
45615    ) -> *mut GIOExtensionPoint;
45616}
45617extern "C" {
45618    pub fn g_io_extension_point_lookup(
45619        name: *const ::std::os::raw::c_char,
45620    ) -> *mut GIOExtensionPoint;
45621}
45622extern "C" {
45623    pub fn g_io_extension_point_set_required_type(
45624        extension_point: *mut GIOExtensionPoint,
45625        type_: GType,
45626    );
45627}
45628extern "C" {
45629    pub fn g_io_extension_point_get_required_type(extension_point: *mut GIOExtensionPoint)
45630        -> GType;
45631}
45632extern "C" {
45633    pub fn g_io_extension_point_get_extensions(
45634        extension_point: *mut GIOExtensionPoint,
45635    ) -> *mut GList;
45636}
45637extern "C" {
45638    pub fn g_io_extension_point_get_extension_by_name(
45639        extension_point: *mut GIOExtensionPoint,
45640        name: *const ::std::os::raw::c_char,
45641    ) -> *mut GIOExtension;
45642}
45643extern "C" {
45644    pub fn g_io_extension_point_implement(
45645        extension_point_name: *const ::std::os::raw::c_char,
45646        type_: GType,
45647        extension_name: *const ::std::os::raw::c_char,
45648        priority: gint,
45649    ) -> *mut GIOExtension;
45650}
45651extern "C" {
45652    pub fn g_io_extension_get_type(extension: *mut GIOExtension) -> GType;
45653}
45654extern "C" {
45655    pub fn g_io_extension_get_name(extension: *mut GIOExtension) -> *const ::std::os::raw::c_char;
45656}
45657extern "C" {
45658    pub fn g_io_extension_get_priority(extension: *mut GIOExtension) -> gint;
45659}
45660extern "C" {
45661    pub fn g_io_extension_ref_class(extension: *mut GIOExtension) -> *mut GTypeClass;
45662}
45663extern "C" {
45664    pub fn g_io_module_load(module: *mut GIOModule);
45665}
45666extern "C" {
45667    pub fn g_io_module_unload(module: *mut GIOModule);
45668}
45669extern "C" {
45670    pub fn g_io_module_query() -> *mut *mut ::std::os::raw::c_char;
45671}
45672extern "C" {
45673    pub fn g_io_scheduler_push_job(
45674        job_func: GIOSchedulerJobFunc,
45675        user_data: gpointer,
45676        notify: GDestroyNotify,
45677        io_priority: gint,
45678        cancellable: *mut GCancellable,
45679    );
45680}
45681extern "C" {
45682    pub fn g_io_scheduler_cancel_all_jobs();
45683}
45684extern "C" {
45685    pub fn g_io_scheduler_job_send_to_mainloop(
45686        job: *mut GIOSchedulerJob,
45687        func: GSourceFunc,
45688        user_data: gpointer,
45689        notify: GDestroyNotify,
45690    ) -> gboolean;
45691}
45692extern "C" {
45693    pub fn g_io_scheduler_job_send_to_mainloop_async(
45694        job: *mut GIOSchedulerJob,
45695        func: GSourceFunc,
45696        user_data: gpointer,
45697        notify: GDestroyNotify,
45698    );
45699}
45700extern "C" {
45701    pub fn g_list_model_get_type() -> GType;
45702}
45703#[repr(C)]
45704#[derive(Debug, Copy, Clone)]
45705pub struct _GListModel {
45706    _unused: [u8; 0],
45707}
45708pub type GListModel = _GListModel;
45709pub type GListModelInterface = _GListModelInterface;
45710pub type GListModel_autoptr = *mut GListModel;
45711pub type GListModel_listautoptr = *mut GList;
45712pub type GListModel_slistautoptr = *mut GSList;
45713pub type GListModel_queueautoptr = *mut GQueue;
45714#[repr(C)]
45715#[derive(Debug, Copy, Clone, PartialEq, Eq)]
45716pub struct _GListModelInterface {
45717    pub g_iface: GTypeInterface,
45718    pub get_item_type: ::std::option::Option<unsafe extern "C" fn(list: *mut GListModel) -> GType>,
45719    pub get_n_items: ::std::option::Option<unsafe extern "C" fn(list: *mut GListModel) -> guint>,
45720    pub get_item: ::std::option::Option<
45721        unsafe extern "C" fn(list: *mut GListModel, position: guint) -> gpointer,
45722    >,
45723}
45724#[test]
45725fn bindgen_test_layout__GListModelInterface() {
45726    const UNINIT: ::std::mem::MaybeUninit<_GListModelInterface> = ::std::mem::MaybeUninit::uninit();
45727    let ptr = UNINIT.as_ptr();
45728    assert_eq!(
45729        ::std::mem::size_of::<_GListModelInterface>(),
45730        40usize,
45731        concat!("Size of: ", stringify!(_GListModelInterface))
45732    );
45733    assert_eq!(
45734        ::std::mem::align_of::<_GListModelInterface>(),
45735        8usize,
45736        concat!("Alignment of ", stringify!(_GListModelInterface))
45737    );
45738    assert_eq!(
45739        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
45740        0usize,
45741        concat!(
45742            "Offset of field: ",
45743            stringify!(_GListModelInterface),
45744            "::",
45745            stringify!(g_iface)
45746        )
45747    );
45748    assert_eq!(
45749        unsafe { ::std::ptr::addr_of!((*ptr).get_item_type) as usize - ptr as usize },
45750        16usize,
45751        concat!(
45752            "Offset of field: ",
45753            stringify!(_GListModelInterface),
45754            "::",
45755            stringify!(get_item_type)
45756        )
45757    );
45758    assert_eq!(
45759        unsafe { ::std::ptr::addr_of!((*ptr).get_n_items) as usize - ptr as usize },
45760        24usize,
45761        concat!(
45762            "Offset of field: ",
45763            stringify!(_GListModelInterface),
45764            "::",
45765            stringify!(get_n_items)
45766        )
45767    );
45768    assert_eq!(
45769        unsafe { ::std::ptr::addr_of!((*ptr).get_item) as usize - ptr as usize },
45770        32usize,
45771        concat!(
45772            "Offset of field: ",
45773            stringify!(_GListModelInterface),
45774            "::",
45775            stringify!(get_item)
45776        )
45777    );
45778}
45779extern "C" {
45780    pub fn g_list_model_get_item_type(list: *mut GListModel) -> GType;
45781}
45782extern "C" {
45783    pub fn g_list_model_get_n_items(list: *mut GListModel) -> guint;
45784}
45785extern "C" {
45786    pub fn g_list_model_get_item(list: *mut GListModel, position: guint) -> gpointer;
45787}
45788extern "C" {
45789    pub fn g_list_model_get_object(list: *mut GListModel, position: guint) -> *mut GObject;
45790}
45791extern "C" {
45792    pub fn g_list_model_items_changed(
45793        list: *mut GListModel,
45794        position: guint,
45795        removed: guint,
45796        added: guint,
45797    );
45798}
45799extern "C" {
45800    pub fn g_list_store_get_type() -> GType;
45801}
45802#[repr(C)]
45803#[derive(Debug, Copy, Clone)]
45804pub struct _GListStore {
45805    _unused: [u8; 0],
45806}
45807pub type GListStore = _GListStore;
45808#[repr(C)]
45809#[derive(Debug, Copy, Clone, PartialEq, Eq)]
45810pub struct GListStoreClass {
45811    pub parent_class: GObjectClass,
45812}
45813#[test]
45814fn bindgen_test_layout_GListStoreClass() {
45815    const UNINIT: ::std::mem::MaybeUninit<GListStoreClass> = ::std::mem::MaybeUninit::uninit();
45816    let ptr = UNINIT.as_ptr();
45817    assert_eq!(
45818        ::std::mem::size_of::<GListStoreClass>(),
45819        136usize,
45820        concat!("Size of: ", stringify!(GListStoreClass))
45821    );
45822    assert_eq!(
45823        ::std::mem::align_of::<GListStoreClass>(),
45824        8usize,
45825        concat!("Alignment of ", stringify!(GListStoreClass))
45826    );
45827    assert_eq!(
45828        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
45829        0usize,
45830        concat!(
45831            "Offset of field: ",
45832            stringify!(GListStoreClass),
45833            "::",
45834            stringify!(parent_class)
45835        )
45836    );
45837}
45838pub type GListStore_autoptr = *mut GListStore;
45839pub type GListStore_listautoptr = *mut GList;
45840pub type GListStore_slistautoptr = *mut GSList;
45841pub type GListStore_queueautoptr = *mut GQueue;
45842pub type GListStoreClass_autoptr = *mut GListStoreClass;
45843pub type GListStoreClass_listautoptr = *mut GList;
45844pub type GListStoreClass_slistautoptr = *mut GSList;
45845pub type GListStoreClass_queueautoptr = *mut GQueue;
45846extern "C" {
45847    pub fn g_list_store_new(item_type: GType) -> *mut GListStore;
45848}
45849extern "C" {
45850    pub fn g_list_store_insert(store: *mut GListStore, position: guint, item: gpointer);
45851}
45852extern "C" {
45853    pub fn g_list_store_insert_sorted(
45854        store: *mut GListStore,
45855        item: gpointer,
45856        compare_func: GCompareDataFunc,
45857        user_data: gpointer,
45858    ) -> guint;
45859}
45860extern "C" {
45861    pub fn g_list_store_sort(
45862        store: *mut GListStore,
45863        compare_func: GCompareDataFunc,
45864        user_data: gpointer,
45865    );
45866}
45867extern "C" {
45868    pub fn g_list_store_append(store: *mut GListStore, item: gpointer);
45869}
45870extern "C" {
45871    pub fn g_list_store_remove(store: *mut GListStore, position: guint);
45872}
45873extern "C" {
45874    pub fn g_list_store_remove_all(store: *mut GListStore);
45875}
45876extern "C" {
45877    pub fn g_list_store_splice(
45878        store: *mut GListStore,
45879        position: guint,
45880        n_removals: guint,
45881        additions: *mut gpointer,
45882        n_additions: guint,
45883    );
45884}
45885extern "C" {
45886    pub fn g_list_store_find(
45887        store: *mut GListStore,
45888        item: gpointer,
45889        position: *mut guint,
45890    ) -> gboolean;
45891}
45892extern "C" {
45893    pub fn g_list_store_find_with_equal_func(
45894        store: *mut GListStore,
45895        item: gpointer,
45896        equal_func: GEqualFunc,
45897        position: *mut guint,
45898    ) -> gboolean;
45899}
45900extern "C" {
45901    pub fn g_list_store_find_with_equal_func_full(
45902        store: *mut GListStore,
45903        item: gpointer,
45904        equal_func: GEqualFuncFull,
45905        user_data: gpointer,
45906        position: *mut guint,
45907    ) -> gboolean;
45908}
45909pub type GLoadableIconIface = _GLoadableIconIface;
45910#[repr(C)]
45911#[derive(Debug, Copy, Clone, PartialEq, Eq)]
45912pub struct _GLoadableIconIface {
45913    pub g_iface: GTypeInterface,
45914    pub load: ::std::option::Option<
45915        unsafe extern "C" fn(
45916            icon: *mut GLoadableIcon,
45917            size: ::std::os::raw::c_int,
45918            type_: *mut *mut ::std::os::raw::c_char,
45919            cancellable: *mut GCancellable,
45920            error: *mut *mut GError,
45921        ) -> *mut GInputStream,
45922    >,
45923    pub load_async: ::std::option::Option<
45924        unsafe extern "C" fn(
45925            icon: *mut GLoadableIcon,
45926            size: ::std::os::raw::c_int,
45927            cancellable: *mut GCancellable,
45928            callback: GAsyncReadyCallback,
45929            user_data: gpointer,
45930        ),
45931    >,
45932    pub load_finish: ::std::option::Option<
45933        unsafe extern "C" fn(
45934            icon: *mut GLoadableIcon,
45935            res: *mut GAsyncResult,
45936            type_: *mut *mut ::std::os::raw::c_char,
45937            error: *mut *mut GError,
45938        ) -> *mut GInputStream,
45939    >,
45940}
45941#[test]
45942fn bindgen_test_layout__GLoadableIconIface() {
45943    const UNINIT: ::std::mem::MaybeUninit<_GLoadableIconIface> = ::std::mem::MaybeUninit::uninit();
45944    let ptr = UNINIT.as_ptr();
45945    assert_eq!(
45946        ::std::mem::size_of::<_GLoadableIconIface>(),
45947        40usize,
45948        concat!("Size of: ", stringify!(_GLoadableIconIface))
45949    );
45950    assert_eq!(
45951        ::std::mem::align_of::<_GLoadableIconIface>(),
45952        8usize,
45953        concat!("Alignment of ", stringify!(_GLoadableIconIface))
45954    );
45955    assert_eq!(
45956        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
45957        0usize,
45958        concat!(
45959            "Offset of field: ",
45960            stringify!(_GLoadableIconIface),
45961            "::",
45962            stringify!(g_iface)
45963        )
45964    );
45965    assert_eq!(
45966        unsafe { ::std::ptr::addr_of!((*ptr).load) as usize - ptr as usize },
45967        16usize,
45968        concat!(
45969            "Offset of field: ",
45970            stringify!(_GLoadableIconIface),
45971            "::",
45972            stringify!(load)
45973        )
45974    );
45975    assert_eq!(
45976        unsafe { ::std::ptr::addr_of!((*ptr).load_async) as usize - ptr as usize },
45977        24usize,
45978        concat!(
45979            "Offset of field: ",
45980            stringify!(_GLoadableIconIface),
45981            "::",
45982            stringify!(load_async)
45983        )
45984    );
45985    assert_eq!(
45986        unsafe { ::std::ptr::addr_of!((*ptr).load_finish) as usize - ptr as usize },
45987        32usize,
45988        concat!(
45989            "Offset of field: ",
45990            stringify!(_GLoadableIconIface),
45991            "::",
45992            stringify!(load_finish)
45993        )
45994    );
45995}
45996extern "C" {
45997    pub fn g_loadable_icon_get_type() -> GType;
45998}
45999extern "C" {
46000    pub fn g_loadable_icon_load(
46001        icon: *mut GLoadableIcon,
46002        size: ::std::os::raw::c_int,
46003        type_: *mut *mut ::std::os::raw::c_char,
46004        cancellable: *mut GCancellable,
46005        error: *mut *mut GError,
46006    ) -> *mut GInputStream;
46007}
46008extern "C" {
46009    pub fn g_loadable_icon_load_async(
46010        icon: *mut GLoadableIcon,
46011        size: ::std::os::raw::c_int,
46012        cancellable: *mut GCancellable,
46013        callback: GAsyncReadyCallback,
46014        user_data: gpointer,
46015    );
46016}
46017extern "C" {
46018    pub fn g_loadable_icon_load_finish(
46019        icon: *mut GLoadableIcon,
46020        res: *mut GAsyncResult,
46021        type_: *mut *mut ::std::os::raw::c_char,
46022        error: *mut *mut GError,
46023    ) -> *mut GInputStream;
46024}
46025pub type GMemoryInputStreamClass = _GMemoryInputStreamClass;
46026#[repr(C)]
46027#[derive(Debug, Copy, Clone)]
46028pub struct _GMemoryInputStreamPrivate {
46029    _unused: [u8; 0],
46030}
46031pub type GMemoryInputStreamPrivate = _GMemoryInputStreamPrivate;
46032#[repr(C)]
46033#[derive(Debug, Copy, Clone, PartialEq, Eq)]
46034pub struct _GMemoryInputStream {
46035    pub parent_instance: GInputStream,
46036    pub priv_: *mut GMemoryInputStreamPrivate,
46037}
46038#[test]
46039fn bindgen_test_layout__GMemoryInputStream() {
46040    const UNINIT: ::std::mem::MaybeUninit<_GMemoryInputStream> = ::std::mem::MaybeUninit::uninit();
46041    let ptr = UNINIT.as_ptr();
46042    assert_eq!(
46043        ::std::mem::size_of::<_GMemoryInputStream>(),
46044        40usize,
46045        concat!("Size of: ", stringify!(_GMemoryInputStream))
46046    );
46047    assert_eq!(
46048        ::std::mem::align_of::<_GMemoryInputStream>(),
46049        8usize,
46050        concat!("Alignment of ", stringify!(_GMemoryInputStream))
46051    );
46052    assert_eq!(
46053        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
46054        0usize,
46055        concat!(
46056            "Offset of field: ",
46057            stringify!(_GMemoryInputStream),
46058            "::",
46059            stringify!(parent_instance)
46060        )
46061    );
46062    assert_eq!(
46063        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
46064        32usize,
46065        concat!(
46066            "Offset of field: ",
46067            stringify!(_GMemoryInputStream),
46068            "::",
46069            stringify!(priv_)
46070        )
46071    );
46072}
46073#[repr(C)]
46074#[derive(Debug, Copy, Clone, PartialEq, Eq)]
46075pub struct _GMemoryInputStreamClass {
46076    pub parent_class: GInputStreamClass,
46077    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
46078    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
46079    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
46080    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
46081    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
46082}
46083#[test]
46084fn bindgen_test_layout__GMemoryInputStreamClass() {
46085    const UNINIT: ::std::mem::MaybeUninit<_GMemoryInputStreamClass> =
46086        ::std::mem::MaybeUninit::uninit();
46087    let ptr = UNINIT.as_ptr();
46088    assert_eq!(
46089        ::std::mem::size_of::<_GMemoryInputStreamClass>(),
46090        288usize,
46091        concat!("Size of: ", stringify!(_GMemoryInputStreamClass))
46092    );
46093    assert_eq!(
46094        ::std::mem::align_of::<_GMemoryInputStreamClass>(),
46095        8usize,
46096        concat!("Alignment of ", stringify!(_GMemoryInputStreamClass))
46097    );
46098    assert_eq!(
46099        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
46100        0usize,
46101        concat!(
46102            "Offset of field: ",
46103            stringify!(_GMemoryInputStreamClass),
46104            "::",
46105            stringify!(parent_class)
46106        )
46107    );
46108    assert_eq!(
46109        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
46110        248usize,
46111        concat!(
46112            "Offset of field: ",
46113            stringify!(_GMemoryInputStreamClass),
46114            "::",
46115            stringify!(_g_reserved1)
46116        )
46117    );
46118    assert_eq!(
46119        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
46120        256usize,
46121        concat!(
46122            "Offset of field: ",
46123            stringify!(_GMemoryInputStreamClass),
46124            "::",
46125            stringify!(_g_reserved2)
46126        )
46127    );
46128    assert_eq!(
46129        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
46130        264usize,
46131        concat!(
46132            "Offset of field: ",
46133            stringify!(_GMemoryInputStreamClass),
46134            "::",
46135            stringify!(_g_reserved3)
46136        )
46137    );
46138    assert_eq!(
46139        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
46140        272usize,
46141        concat!(
46142            "Offset of field: ",
46143            stringify!(_GMemoryInputStreamClass),
46144            "::",
46145            stringify!(_g_reserved4)
46146        )
46147    );
46148    assert_eq!(
46149        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
46150        280usize,
46151        concat!(
46152            "Offset of field: ",
46153            stringify!(_GMemoryInputStreamClass),
46154            "::",
46155            stringify!(_g_reserved5)
46156        )
46157    );
46158}
46159extern "C" {
46160    pub fn g_memory_input_stream_get_type() -> GType;
46161}
46162extern "C" {
46163    pub fn g_memory_input_stream_new() -> *mut GInputStream;
46164}
46165extern "C" {
46166    pub fn g_memory_input_stream_new_from_data(
46167        data: *const ::std::os::raw::c_void,
46168        len: gssize,
46169        destroy: GDestroyNotify,
46170    ) -> *mut GInputStream;
46171}
46172extern "C" {
46173    pub fn g_memory_input_stream_new_from_bytes(bytes: *mut GBytes) -> *mut GInputStream;
46174}
46175extern "C" {
46176    pub fn g_memory_input_stream_add_data(
46177        stream: *mut GMemoryInputStream,
46178        data: *const ::std::os::raw::c_void,
46179        len: gssize,
46180        destroy: GDestroyNotify,
46181    );
46182}
46183extern "C" {
46184    pub fn g_memory_input_stream_add_bytes(stream: *mut GMemoryInputStream, bytes: *mut GBytes);
46185}
46186extern "C" {
46187    pub fn g_memory_monitor_get_type() -> GType;
46188}
46189#[repr(C)]
46190#[derive(Debug, Copy, Clone)]
46191pub struct _GMemoryMonitor {
46192    _unused: [u8; 0],
46193}
46194pub type GMemoryMonitor = _GMemoryMonitor;
46195pub type GMemoryMonitorInterface = _GMemoryMonitorInterface;
46196pub type GMemoryMonitor_autoptr = *mut GMemoryMonitor;
46197pub type GMemoryMonitor_listautoptr = *mut GList;
46198pub type GMemoryMonitor_slistautoptr = *mut GSList;
46199pub type GMemoryMonitor_queueautoptr = *mut GQueue;
46200#[repr(C)]
46201#[derive(Debug, Copy, Clone, PartialEq, Eq)]
46202pub struct _GMemoryMonitorInterface {
46203    pub g_iface: GTypeInterface,
46204    pub low_memory_warning: ::std::option::Option<
46205        unsafe extern "C" fn(monitor: *mut GMemoryMonitor, level: GMemoryMonitorWarningLevel),
46206    >,
46207}
46208#[test]
46209fn bindgen_test_layout__GMemoryMonitorInterface() {
46210    const UNINIT: ::std::mem::MaybeUninit<_GMemoryMonitorInterface> =
46211        ::std::mem::MaybeUninit::uninit();
46212    let ptr = UNINIT.as_ptr();
46213    assert_eq!(
46214        ::std::mem::size_of::<_GMemoryMonitorInterface>(),
46215        24usize,
46216        concat!("Size of: ", stringify!(_GMemoryMonitorInterface))
46217    );
46218    assert_eq!(
46219        ::std::mem::align_of::<_GMemoryMonitorInterface>(),
46220        8usize,
46221        concat!("Alignment of ", stringify!(_GMemoryMonitorInterface))
46222    );
46223    assert_eq!(
46224        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
46225        0usize,
46226        concat!(
46227            "Offset of field: ",
46228            stringify!(_GMemoryMonitorInterface),
46229            "::",
46230            stringify!(g_iface)
46231        )
46232    );
46233    assert_eq!(
46234        unsafe { ::std::ptr::addr_of!((*ptr).low_memory_warning) as usize - ptr as usize },
46235        16usize,
46236        concat!(
46237            "Offset of field: ",
46238            stringify!(_GMemoryMonitorInterface),
46239            "::",
46240            stringify!(low_memory_warning)
46241        )
46242    );
46243}
46244extern "C" {
46245    pub fn g_memory_monitor_dup_default() -> *mut GMemoryMonitor;
46246}
46247pub type GMemoryOutputStreamClass = _GMemoryOutputStreamClass;
46248#[repr(C)]
46249#[derive(Debug, Copy, Clone)]
46250pub struct _GMemoryOutputStreamPrivate {
46251    _unused: [u8; 0],
46252}
46253pub type GMemoryOutputStreamPrivate = _GMemoryOutputStreamPrivate;
46254#[repr(C)]
46255#[derive(Debug, Copy, Clone, PartialEq, Eq)]
46256pub struct _GMemoryOutputStream {
46257    pub parent_instance: GOutputStream,
46258    pub priv_: *mut GMemoryOutputStreamPrivate,
46259}
46260#[test]
46261fn bindgen_test_layout__GMemoryOutputStream() {
46262    const UNINIT: ::std::mem::MaybeUninit<_GMemoryOutputStream> = ::std::mem::MaybeUninit::uninit();
46263    let ptr = UNINIT.as_ptr();
46264    assert_eq!(
46265        ::std::mem::size_of::<_GMemoryOutputStream>(),
46266        40usize,
46267        concat!("Size of: ", stringify!(_GMemoryOutputStream))
46268    );
46269    assert_eq!(
46270        ::std::mem::align_of::<_GMemoryOutputStream>(),
46271        8usize,
46272        concat!("Alignment of ", stringify!(_GMemoryOutputStream))
46273    );
46274    assert_eq!(
46275        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
46276        0usize,
46277        concat!(
46278            "Offset of field: ",
46279            stringify!(_GMemoryOutputStream),
46280            "::",
46281            stringify!(parent_instance)
46282        )
46283    );
46284    assert_eq!(
46285        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
46286        32usize,
46287        concat!(
46288            "Offset of field: ",
46289            stringify!(_GMemoryOutputStream),
46290            "::",
46291            stringify!(priv_)
46292        )
46293    );
46294}
46295#[repr(C)]
46296#[derive(Debug, Copy, Clone, PartialEq, Eq)]
46297pub struct _GMemoryOutputStreamClass {
46298    pub parent_class: GOutputStreamClass,
46299    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
46300    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
46301    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
46302    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
46303    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
46304}
46305#[test]
46306fn bindgen_test_layout__GMemoryOutputStreamClass() {
46307    const UNINIT: ::std::mem::MaybeUninit<_GMemoryOutputStreamClass> =
46308        ::std::mem::MaybeUninit::uninit();
46309    let ptr = UNINIT.as_ptr();
46310    assert_eq!(
46311        ::std::mem::size_of::<_GMemoryOutputStreamClass>(),
46312        336usize,
46313        concat!("Size of: ", stringify!(_GMemoryOutputStreamClass))
46314    );
46315    assert_eq!(
46316        ::std::mem::align_of::<_GMemoryOutputStreamClass>(),
46317        8usize,
46318        concat!("Alignment of ", stringify!(_GMemoryOutputStreamClass))
46319    );
46320    assert_eq!(
46321        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
46322        0usize,
46323        concat!(
46324            "Offset of field: ",
46325            stringify!(_GMemoryOutputStreamClass),
46326            "::",
46327            stringify!(parent_class)
46328        )
46329    );
46330    assert_eq!(
46331        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
46332        296usize,
46333        concat!(
46334            "Offset of field: ",
46335            stringify!(_GMemoryOutputStreamClass),
46336            "::",
46337            stringify!(_g_reserved1)
46338        )
46339    );
46340    assert_eq!(
46341        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
46342        304usize,
46343        concat!(
46344            "Offset of field: ",
46345            stringify!(_GMemoryOutputStreamClass),
46346            "::",
46347            stringify!(_g_reserved2)
46348        )
46349    );
46350    assert_eq!(
46351        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
46352        312usize,
46353        concat!(
46354            "Offset of field: ",
46355            stringify!(_GMemoryOutputStreamClass),
46356            "::",
46357            stringify!(_g_reserved3)
46358        )
46359    );
46360    assert_eq!(
46361        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
46362        320usize,
46363        concat!(
46364            "Offset of field: ",
46365            stringify!(_GMemoryOutputStreamClass),
46366            "::",
46367            stringify!(_g_reserved4)
46368        )
46369    );
46370    assert_eq!(
46371        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
46372        328usize,
46373        concat!(
46374            "Offset of field: ",
46375            stringify!(_GMemoryOutputStreamClass),
46376            "::",
46377            stringify!(_g_reserved5)
46378        )
46379    );
46380}
46381pub type GReallocFunc =
46382    ::std::option::Option<unsafe extern "C" fn(data: gpointer, size: gsize) -> gpointer>;
46383extern "C" {
46384    pub fn g_memory_output_stream_get_type() -> GType;
46385}
46386extern "C" {
46387    pub fn g_memory_output_stream_new(
46388        data: gpointer,
46389        size: gsize,
46390        realloc_function: GReallocFunc,
46391        destroy_function: GDestroyNotify,
46392    ) -> *mut GOutputStream;
46393}
46394extern "C" {
46395    pub fn g_memory_output_stream_new_resizable() -> *mut GOutputStream;
46396}
46397extern "C" {
46398    pub fn g_memory_output_stream_get_data(ostream: *mut GMemoryOutputStream) -> gpointer;
46399}
46400extern "C" {
46401    pub fn g_memory_output_stream_get_size(ostream: *mut GMemoryOutputStream) -> gsize;
46402}
46403extern "C" {
46404    pub fn g_memory_output_stream_get_data_size(ostream: *mut GMemoryOutputStream) -> gsize;
46405}
46406extern "C" {
46407    pub fn g_memory_output_stream_steal_data(ostream: *mut GMemoryOutputStream) -> gpointer;
46408}
46409extern "C" {
46410    pub fn g_memory_output_stream_steal_as_bytes(ostream: *mut GMemoryOutputStream) -> *mut GBytes;
46411}
46412#[repr(C)]
46413#[derive(Debug, Copy, Clone)]
46414pub struct _GMenuModelPrivate {
46415    _unused: [u8; 0],
46416}
46417pub type GMenuModelPrivate = _GMenuModelPrivate;
46418pub type GMenuModelClass = _GMenuModelClass;
46419#[repr(C)]
46420#[derive(Debug, Copy, Clone)]
46421pub struct _GMenuAttributeIterPrivate {
46422    _unused: [u8; 0],
46423}
46424pub type GMenuAttributeIterPrivate = _GMenuAttributeIterPrivate;
46425pub type GMenuAttributeIterClass = _GMenuAttributeIterClass;
46426pub type GMenuAttributeIter = _GMenuAttributeIter;
46427#[repr(C)]
46428#[derive(Debug, Copy, Clone)]
46429pub struct _GMenuLinkIterPrivate {
46430    _unused: [u8; 0],
46431}
46432pub type GMenuLinkIterPrivate = _GMenuLinkIterPrivate;
46433pub type GMenuLinkIterClass = _GMenuLinkIterClass;
46434pub type GMenuLinkIter = _GMenuLinkIter;
46435#[repr(C)]
46436#[derive(Debug, Copy, Clone, PartialEq, Eq)]
46437pub struct _GMenuModel {
46438    pub parent_instance: GObject,
46439    pub priv_: *mut GMenuModelPrivate,
46440}
46441#[test]
46442fn bindgen_test_layout__GMenuModel() {
46443    const UNINIT: ::std::mem::MaybeUninit<_GMenuModel> = ::std::mem::MaybeUninit::uninit();
46444    let ptr = UNINIT.as_ptr();
46445    assert_eq!(
46446        ::std::mem::size_of::<_GMenuModel>(),
46447        32usize,
46448        concat!("Size of: ", stringify!(_GMenuModel))
46449    );
46450    assert_eq!(
46451        ::std::mem::align_of::<_GMenuModel>(),
46452        8usize,
46453        concat!("Alignment of ", stringify!(_GMenuModel))
46454    );
46455    assert_eq!(
46456        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
46457        0usize,
46458        concat!(
46459            "Offset of field: ",
46460            stringify!(_GMenuModel),
46461            "::",
46462            stringify!(parent_instance)
46463        )
46464    );
46465    assert_eq!(
46466        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
46467        24usize,
46468        concat!(
46469            "Offset of field: ",
46470            stringify!(_GMenuModel),
46471            "::",
46472            stringify!(priv_)
46473        )
46474    );
46475}
46476#[repr(C)]
46477#[derive(Debug, Copy, Clone, PartialEq, Eq)]
46478pub struct _GMenuModelClass {
46479    pub parent_class: GObjectClass,
46480    pub is_mutable: ::std::option::Option<unsafe extern "C" fn(model: *mut GMenuModel) -> gboolean>,
46481    pub get_n_items: ::std::option::Option<unsafe extern "C" fn(model: *mut GMenuModel) -> gint>,
46482    pub get_item_attributes: ::std::option::Option<
46483        unsafe extern "C" fn(
46484            model: *mut GMenuModel,
46485            item_index: gint,
46486            attributes: *mut *mut GHashTable,
46487        ),
46488    >,
46489    pub iterate_item_attributes: ::std::option::Option<
46490        unsafe extern "C" fn(model: *mut GMenuModel, item_index: gint) -> *mut GMenuAttributeIter,
46491    >,
46492    pub get_item_attribute_value: ::std::option::Option<
46493        unsafe extern "C" fn(
46494            model: *mut GMenuModel,
46495            item_index: gint,
46496            attribute: *const gchar,
46497            expected_type: *const GVariantType,
46498        ) -> *mut GVariant,
46499    >,
46500    pub get_item_links: ::std::option::Option<
46501        unsafe extern "C" fn(model: *mut GMenuModel, item_index: gint, links: *mut *mut GHashTable),
46502    >,
46503    pub iterate_item_links: ::std::option::Option<
46504        unsafe extern "C" fn(model: *mut GMenuModel, item_index: gint) -> *mut GMenuLinkIter,
46505    >,
46506    pub get_item_link: ::std::option::Option<
46507        unsafe extern "C" fn(
46508            model: *mut GMenuModel,
46509            item_index: gint,
46510            link: *const gchar,
46511        ) -> *mut GMenuModel,
46512    >,
46513}
46514#[test]
46515fn bindgen_test_layout__GMenuModelClass() {
46516    const UNINIT: ::std::mem::MaybeUninit<_GMenuModelClass> = ::std::mem::MaybeUninit::uninit();
46517    let ptr = UNINIT.as_ptr();
46518    assert_eq!(
46519        ::std::mem::size_of::<_GMenuModelClass>(),
46520        200usize,
46521        concat!("Size of: ", stringify!(_GMenuModelClass))
46522    );
46523    assert_eq!(
46524        ::std::mem::align_of::<_GMenuModelClass>(),
46525        8usize,
46526        concat!("Alignment of ", stringify!(_GMenuModelClass))
46527    );
46528    assert_eq!(
46529        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
46530        0usize,
46531        concat!(
46532            "Offset of field: ",
46533            stringify!(_GMenuModelClass),
46534            "::",
46535            stringify!(parent_class)
46536        )
46537    );
46538    assert_eq!(
46539        unsafe { ::std::ptr::addr_of!((*ptr).is_mutable) as usize - ptr as usize },
46540        136usize,
46541        concat!(
46542            "Offset of field: ",
46543            stringify!(_GMenuModelClass),
46544            "::",
46545            stringify!(is_mutable)
46546        )
46547    );
46548    assert_eq!(
46549        unsafe { ::std::ptr::addr_of!((*ptr).get_n_items) as usize - ptr as usize },
46550        144usize,
46551        concat!(
46552            "Offset of field: ",
46553            stringify!(_GMenuModelClass),
46554            "::",
46555            stringify!(get_n_items)
46556        )
46557    );
46558    assert_eq!(
46559        unsafe { ::std::ptr::addr_of!((*ptr).get_item_attributes) as usize - ptr as usize },
46560        152usize,
46561        concat!(
46562            "Offset of field: ",
46563            stringify!(_GMenuModelClass),
46564            "::",
46565            stringify!(get_item_attributes)
46566        )
46567    );
46568    assert_eq!(
46569        unsafe { ::std::ptr::addr_of!((*ptr).iterate_item_attributes) as usize - ptr as usize },
46570        160usize,
46571        concat!(
46572            "Offset of field: ",
46573            stringify!(_GMenuModelClass),
46574            "::",
46575            stringify!(iterate_item_attributes)
46576        )
46577    );
46578    assert_eq!(
46579        unsafe { ::std::ptr::addr_of!((*ptr).get_item_attribute_value) as usize - ptr as usize },
46580        168usize,
46581        concat!(
46582            "Offset of field: ",
46583            stringify!(_GMenuModelClass),
46584            "::",
46585            stringify!(get_item_attribute_value)
46586        )
46587    );
46588    assert_eq!(
46589        unsafe { ::std::ptr::addr_of!((*ptr).get_item_links) as usize - ptr as usize },
46590        176usize,
46591        concat!(
46592            "Offset of field: ",
46593            stringify!(_GMenuModelClass),
46594            "::",
46595            stringify!(get_item_links)
46596        )
46597    );
46598    assert_eq!(
46599        unsafe { ::std::ptr::addr_of!((*ptr).iterate_item_links) as usize - ptr as usize },
46600        184usize,
46601        concat!(
46602            "Offset of field: ",
46603            stringify!(_GMenuModelClass),
46604            "::",
46605            stringify!(iterate_item_links)
46606        )
46607    );
46608    assert_eq!(
46609        unsafe { ::std::ptr::addr_of!((*ptr).get_item_link) as usize - ptr as usize },
46610        192usize,
46611        concat!(
46612            "Offset of field: ",
46613            stringify!(_GMenuModelClass),
46614            "::",
46615            stringify!(get_item_link)
46616        )
46617    );
46618}
46619extern "C" {
46620    pub fn g_menu_model_get_type() -> GType;
46621}
46622extern "C" {
46623    pub fn g_menu_model_is_mutable(model: *mut GMenuModel) -> gboolean;
46624}
46625extern "C" {
46626    pub fn g_menu_model_get_n_items(model: *mut GMenuModel) -> gint;
46627}
46628extern "C" {
46629    pub fn g_menu_model_iterate_item_attributes(
46630        model: *mut GMenuModel,
46631        item_index: gint,
46632    ) -> *mut GMenuAttributeIter;
46633}
46634extern "C" {
46635    pub fn g_menu_model_get_item_attribute_value(
46636        model: *mut GMenuModel,
46637        item_index: gint,
46638        attribute: *const gchar,
46639        expected_type: *const GVariantType,
46640    ) -> *mut GVariant;
46641}
46642extern "C" {
46643    pub fn g_menu_model_get_item_attribute(
46644        model: *mut GMenuModel,
46645        item_index: gint,
46646        attribute: *const gchar,
46647        format_string: *const gchar,
46648        ...
46649    ) -> gboolean;
46650}
46651extern "C" {
46652    pub fn g_menu_model_iterate_item_links(
46653        model: *mut GMenuModel,
46654        item_index: gint,
46655    ) -> *mut GMenuLinkIter;
46656}
46657extern "C" {
46658    pub fn g_menu_model_get_item_link(
46659        model: *mut GMenuModel,
46660        item_index: gint,
46661        link: *const gchar,
46662    ) -> *mut GMenuModel;
46663}
46664extern "C" {
46665    pub fn g_menu_model_items_changed(
46666        model: *mut GMenuModel,
46667        position: gint,
46668        removed: gint,
46669        added: gint,
46670    );
46671}
46672#[repr(C)]
46673#[derive(Debug, Copy, Clone, PartialEq, Eq)]
46674pub struct _GMenuAttributeIter {
46675    pub parent_instance: GObject,
46676    pub priv_: *mut GMenuAttributeIterPrivate,
46677}
46678#[test]
46679fn bindgen_test_layout__GMenuAttributeIter() {
46680    const UNINIT: ::std::mem::MaybeUninit<_GMenuAttributeIter> = ::std::mem::MaybeUninit::uninit();
46681    let ptr = UNINIT.as_ptr();
46682    assert_eq!(
46683        ::std::mem::size_of::<_GMenuAttributeIter>(),
46684        32usize,
46685        concat!("Size of: ", stringify!(_GMenuAttributeIter))
46686    );
46687    assert_eq!(
46688        ::std::mem::align_of::<_GMenuAttributeIter>(),
46689        8usize,
46690        concat!("Alignment of ", stringify!(_GMenuAttributeIter))
46691    );
46692    assert_eq!(
46693        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
46694        0usize,
46695        concat!(
46696            "Offset of field: ",
46697            stringify!(_GMenuAttributeIter),
46698            "::",
46699            stringify!(parent_instance)
46700        )
46701    );
46702    assert_eq!(
46703        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
46704        24usize,
46705        concat!(
46706            "Offset of field: ",
46707            stringify!(_GMenuAttributeIter),
46708            "::",
46709            stringify!(priv_)
46710        )
46711    );
46712}
46713#[repr(C)]
46714#[derive(Debug, Copy, Clone, PartialEq, Eq)]
46715pub struct _GMenuAttributeIterClass {
46716    pub parent_class: GObjectClass,
46717    pub get_next: ::std::option::Option<
46718        unsafe extern "C" fn(
46719            iter: *mut GMenuAttributeIter,
46720            out_name: *mut *const gchar,
46721            value: *mut *mut GVariant,
46722        ) -> gboolean,
46723    >,
46724}
46725#[test]
46726fn bindgen_test_layout__GMenuAttributeIterClass() {
46727    const UNINIT: ::std::mem::MaybeUninit<_GMenuAttributeIterClass> =
46728        ::std::mem::MaybeUninit::uninit();
46729    let ptr = UNINIT.as_ptr();
46730    assert_eq!(
46731        ::std::mem::size_of::<_GMenuAttributeIterClass>(),
46732        144usize,
46733        concat!("Size of: ", stringify!(_GMenuAttributeIterClass))
46734    );
46735    assert_eq!(
46736        ::std::mem::align_of::<_GMenuAttributeIterClass>(),
46737        8usize,
46738        concat!("Alignment of ", stringify!(_GMenuAttributeIterClass))
46739    );
46740    assert_eq!(
46741        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
46742        0usize,
46743        concat!(
46744            "Offset of field: ",
46745            stringify!(_GMenuAttributeIterClass),
46746            "::",
46747            stringify!(parent_class)
46748        )
46749    );
46750    assert_eq!(
46751        unsafe { ::std::ptr::addr_of!((*ptr).get_next) as usize - ptr as usize },
46752        136usize,
46753        concat!(
46754            "Offset of field: ",
46755            stringify!(_GMenuAttributeIterClass),
46756            "::",
46757            stringify!(get_next)
46758        )
46759    );
46760}
46761extern "C" {
46762    pub fn g_menu_attribute_iter_get_type() -> GType;
46763}
46764extern "C" {
46765    pub fn g_menu_attribute_iter_get_next(
46766        iter: *mut GMenuAttributeIter,
46767        out_name: *mut *const gchar,
46768        value: *mut *mut GVariant,
46769    ) -> gboolean;
46770}
46771extern "C" {
46772    pub fn g_menu_attribute_iter_next(iter: *mut GMenuAttributeIter) -> gboolean;
46773}
46774extern "C" {
46775    pub fn g_menu_attribute_iter_get_name(iter: *mut GMenuAttributeIter) -> *const gchar;
46776}
46777extern "C" {
46778    pub fn g_menu_attribute_iter_get_value(iter: *mut GMenuAttributeIter) -> *mut GVariant;
46779}
46780#[repr(C)]
46781#[derive(Debug, Copy, Clone, PartialEq, Eq)]
46782pub struct _GMenuLinkIter {
46783    pub parent_instance: GObject,
46784    pub priv_: *mut GMenuLinkIterPrivate,
46785}
46786#[test]
46787fn bindgen_test_layout__GMenuLinkIter() {
46788    const UNINIT: ::std::mem::MaybeUninit<_GMenuLinkIter> = ::std::mem::MaybeUninit::uninit();
46789    let ptr = UNINIT.as_ptr();
46790    assert_eq!(
46791        ::std::mem::size_of::<_GMenuLinkIter>(),
46792        32usize,
46793        concat!("Size of: ", stringify!(_GMenuLinkIter))
46794    );
46795    assert_eq!(
46796        ::std::mem::align_of::<_GMenuLinkIter>(),
46797        8usize,
46798        concat!("Alignment of ", stringify!(_GMenuLinkIter))
46799    );
46800    assert_eq!(
46801        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
46802        0usize,
46803        concat!(
46804            "Offset of field: ",
46805            stringify!(_GMenuLinkIter),
46806            "::",
46807            stringify!(parent_instance)
46808        )
46809    );
46810    assert_eq!(
46811        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
46812        24usize,
46813        concat!(
46814            "Offset of field: ",
46815            stringify!(_GMenuLinkIter),
46816            "::",
46817            stringify!(priv_)
46818        )
46819    );
46820}
46821#[repr(C)]
46822#[derive(Debug, Copy, Clone, PartialEq, Eq)]
46823pub struct _GMenuLinkIterClass {
46824    pub parent_class: GObjectClass,
46825    pub get_next: ::std::option::Option<
46826        unsafe extern "C" fn(
46827            iter: *mut GMenuLinkIter,
46828            out_link: *mut *const gchar,
46829            value: *mut *mut GMenuModel,
46830        ) -> gboolean,
46831    >,
46832}
46833#[test]
46834fn bindgen_test_layout__GMenuLinkIterClass() {
46835    const UNINIT: ::std::mem::MaybeUninit<_GMenuLinkIterClass> = ::std::mem::MaybeUninit::uninit();
46836    let ptr = UNINIT.as_ptr();
46837    assert_eq!(
46838        ::std::mem::size_of::<_GMenuLinkIterClass>(),
46839        144usize,
46840        concat!("Size of: ", stringify!(_GMenuLinkIterClass))
46841    );
46842    assert_eq!(
46843        ::std::mem::align_of::<_GMenuLinkIterClass>(),
46844        8usize,
46845        concat!("Alignment of ", stringify!(_GMenuLinkIterClass))
46846    );
46847    assert_eq!(
46848        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
46849        0usize,
46850        concat!(
46851            "Offset of field: ",
46852            stringify!(_GMenuLinkIterClass),
46853            "::",
46854            stringify!(parent_class)
46855        )
46856    );
46857    assert_eq!(
46858        unsafe { ::std::ptr::addr_of!((*ptr).get_next) as usize - ptr as usize },
46859        136usize,
46860        concat!(
46861            "Offset of field: ",
46862            stringify!(_GMenuLinkIterClass),
46863            "::",
46864            stringify!(get_next)
46865        )
46866    );
46867}
46868extern "C" {
46869    pub fn g_menu_link_iter_get_type() -> GType;
46870}
46871extern "C" {
46872    pub fn g_menu_link_iter_get_next(
46873        iter: *mut GMenuLinkIter,
46874        out_link: *mut *const gchar,
46875        value: *mut *mut GMenuModel,
46876    ) -> gboolean;
46877}
46878extern "C" {
46879    pub fn g_menu_link_iter_next(iter: *mut GMenuLinkIter) -> gboolean;
46880}
46881extern "C" {
46882    pub fn g_menu_link_iter_get_name(iter: *mut GMenuLinkIter) -> *const gchar;
46883}
46884extern "C" {
46885    pub fn g_menu_link_iter_get_value(iter: *mut GMenuLinkIter) -> *mut GMenuModel;
46886}
46887#[repr(C)]
46888#[derive(Debug, Copy, Clone)]
46889pub struct _GMenuItem {
46890    _unused: [u8; 0],
46891}
46892pub type GMenuItem = _GMenuItem;
46893#[repr(C)]
46894#[derive(Debug, Copy, Clone)]
46895pub struct _GMenu {
46896    _unused: [u8; 0],
46897}
46898pub type GMenu = _GMenu;
46899extern "C" {
46900    pub fn g_menu_get_type() -> GType;
46901}
46902extern "C" {
46903    pub fn g_menu_new() -> *mut GMenu;
46904}
46905extern "C" {
46906    pub fn g_menu_freeze(menu: *mut GMenu);
46907}
46908extern "C" {
46909    pub fn g_menu_insert_item(menu: *mut GMenu, position: gint, item: *mut GMenuItem);
46910}
46911extern "C" {
46912    pub fn g_menu_prepend_item(menu: *mut GMenu, item: *mut GMenuItem);
46913}
46914extern "C" {
46915    pub fn g_menu_append_item(menu: *mut GMenu, item: *mut GMenuItem);
46916}
46917extern "C" {
46918    pub fn g_menu_remove(menu: *mut GMenu, position: gint);
46919}
46920extern "C" {
46921    pub fn g_menu_remove_all(menu: *mut GMenu);
46922}
46923extern "C" {
46924    pub fn g_menu_insert(
46925        menu: *mut GMenu,
46926        position: gint,
46927        label: *const gchar,
46928        detailed_action: *const gchar,
46929    );
46930}
46931extern "C" {
46932    pub fn g_menu_prepend(menu: *mut GMenu, label: *const gchar, detailed_action: *const gchar);
46933}
46934extern "C" {
46935    pub fn g_menu_append(menu: *mut GMenu, label: *const gchar, detailed_action: *const gchar);
46936}
46937extern "C" {
46938    pub fn g_menu_insert_section(
46939        menu: *mut GMenu,
46940        position: gint,
46941        label: *const gchar,
46942        section: *mut GMenuModel,
46943    );
46944}
46945extern "C" {
46946    pub fn g_menu_prepend_section(menu: *mut GMenu, label: *const gchar, section: *mut GMenuModel);
46947}
46948extern "C" {
46949    pub fn g_menu_append_section(menu: *mut GMenu, label: *const gchar, section: *mut GMenuModel);
46950}
46951extern "C" {
46952    pub fn g_menu_insert_submenu(
46953        menu: *mut GMenu,
46954        position: gint,
46955        label: *const gchar,
46956        submenu: *mut GMenuModel,
46957    );
46958}
46959extern "C" {
46960    pub fn g_menu_prepend_submenu(menu: *mut GMenu, label: *const gchar, submenu: *mut GMenuModel);
46961}
46962extern "C" {
46963    pub fn g_menu_append_submenu(menu: *mut GMenu, label: *const gchar, submenu: *mut GMenuModel);
46964}
46965extern "C" {
46966    pub fn g_menu_item_get_type() -> GType;
46967}
46968extern "C" {
46969    pub fn g_menu_item_new(label: *const gchar, detailed_action: *const gchar) -> *mut GMenuItem;
46970}
46971extern "C" {
46972    pub fn g_menu_item_new_from_model(model: *mut GMenuModel, item_index: gint) -> *mut GMenuItem;
46973}
46974extern "C" {
46975    pub fn g_menu_item_new_submenu(label: *const gchar, submenu: *mut GMenuModel)
46976        -> *mut GMenuItem;
46977}
46978extern "C" {
46979    pub fn g_menu_item_new_section(label: *const gchar, section: *mut GMenuModel)
46980        -> *mut GMenuItem;
46981}
46982extern "C" {
46983    pub fn g_menu_item_get_attribute_value(
46984        menu_item: *mut GMenuItem,
46985        attribute: *const gchar,
46986        expected_type: *const GVariantType,
46987    ) -> *mut GVariant;
46988}
46989extern "C" {
46990    pub fn g_menu_item_get_attribute(
46991        menu_item: *mut GMenuItem,
46992        attribute: *const gchar,
46993        format_string: *const gchar,
46994        ...
46995    ) -> gboolean;
46996}
46997extern "C" {
46998    pub fn g_menu_item_get_link(menu_item: *mut GMenuItem, link: *const gchar) -> *mut GMenuModel;
46999}
47000extern "C" {
47001    pub fn g_menu_item_set_attribute_value(
47002        menu_item: *mut GMenuItem,
47003        attribute: *const gchar,
47004        value: *mut GVariant,
47005    );
47006}
47007extern "C" {
47008    pub fn g_menu_item_set_attribute(
47009        menu_item: *mut GMenuItem,
47010        attribute: *const gchar,
47011        format_string: *const gchar,
47012        ...
47013    );
47014}
47015extern "C" {
47016    pub fn g_menu_item_set_link(
47017        menu_item: *mut GMenuItem,
47018        link: *const gchar,
47019        model: *mut GMenuModel,
47020    );
47021}
47022extern "C" {
47023    pub fn g_menu_item_set_label(menu_item: *mut GMenuItem, label: *const gchar);
47024}
47025extern "C" {
47026    pub fn g_menu_item_set_submenu(menu_item: *mut GMenuItem, submenu: *mut GMenuModel);
47027}
47028extern "C" {
47029    pub fn g_menu_item_set_section(menu_item: *mut GMenuItem, section: *mut GMenuModel);
47030}
47031extern "C" {
47032    pub fn g_menu_item_set_action_and_target_value(
47033        menu_item: *mut GMenuItem,
47034        action: *const gchar,
47035        target_value: *mut GVariant,
47036    );
47037}
47038extern "C" {
47039    pub fn g_menu_item_set_action_and_target(
47040        menu_item: *mut GMenuItem,
47041        action: *const gchar,
47042        format_string: *const gchar,
47043        ...
47044    );
47045}
47046extern "C" {
47047    pub fn g_menu_item_set_detailed_action(
47048        menu_item: *mut GMenuItem,
47049        detailed_action: *const gchar,
47050    );
47051}
47052extern "C" {
47053    pub fn g_menu_item_set_icon(menu_item: *mut GMenuItem, icon: *mut GIcon);
47054}
47055extern "C" {
47056    pub fn g_dbus_connection_export_menu_model(
47057        connection: *mut GDBusConnection,
47058        object_path: *const gchar,
47059        menu: *mut GMenuModel,
47060        error: *mut *mut GError,
47061    ) -> guint;
47062}
47063extern "C" {
47064    pub fn g_dbus_connection_unexport_menu_model(
47065        connection: *mut GDBusConnection,
47066        export_id: guint,
47067    );
47068}
47069pub type GMountIface = _GMountIface;
47070#[repr(C)]
47071#[derive(Debug, Copy, Clone, PartialEq, Eq)]
47072pub struct _GMountIface {
47073    pub g_iface: GTypeInterface,
47074    pub changed: ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount)>,
47075    pub unmounted: ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount)>,
47076    pub get_root: ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount) -> *mut GFile>,
47077    pub get_name: ::std::option::Option<
47078        unsafe extern "C" fn(mount: *mut GMount) -> *mut ::std::os::raw::c_char,
47079    >,
47080    pub get_icon: ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount) -> *mut GIcon>,
47081    pub get_uuid: ::std::option::Option<
47082        unsafe extern "C" fn(mount: *mut GMount) -> *mut ::std::os::raw::c_char,
47083    >,
47084    pub get_volume: ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount) -> *mut GVolume>,
47085    pub get_drive: ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount) -> *mut GDrive>,
47086    pub can_unmount: ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount) -> gboolean>,
47087    pub can_eject: ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount) -> gboolean>,
47088    pub unmount: ::std::option::Option<
47089        unsafe extern "C" fn(
47090            mount: *mut GMount,
47091            flags: GMountUnmountFlags,
47092            cancellable: *mut GCancellable,
47093            callback: GAsyncReadyCallback,
47094            user_data: gpointer,
47095        ),
47096    >,
47097    pub unmount_finish: ::std::option::Option<
47098        unsafe extern "C" fn(
47099            mount: *mut GMount,
47100            result: *mut GAsyncResult,
47101            error: *mut *mut GError,
47102        ) -> gboolean,
47103    >,
47104    pub eject: ::std::option::Option<
47105        unsafe extern "C" fn(
47106            mount: *mut GMount,
47107            flags: GMountUnmountFlags,
47108            cancellable: *mut GCancellable,
47109            callback: GAsyncReadyCallback,
47110            user_data: gpointer,
47111        ),
47112    >,
47113    pub eject_finish: ::std::option::Option<
47114        unsafe extern "C" fn(
47115            mount: *mut GMount,
47116            result: *mut GAsyncResult,
47117            error: *mut *mut GError,
47118        ) -> gboolean,
47119    >,
47120    pub remount: ::std::option::Option<
47121        unsafe extern "C" fn(
47122            mount: *mut GMount,
47123            flags: GMountMountFlags,
47124            mount_operation: *mut GMountOperation,
47125            cancellable: *mut GCancellable,
47126            callback: GAsyncReadyCallback,
47127            user_data: gpointer,
47128        ),
47129    >,
47130    pub remount_finish: ::std::option::Option<
47131        unsafe extern "C" fn(
47132            mount: *mut GMount,
47133            result: *mut GAsyncResult,
47134            error: *mut *mut GError,
47135        ) -> gboolean,
47136    >,
47137    pub guess_content_type: ::std::option::Option<
47138        unsafe extern "C" fn(
47139            mount: *mut GMount,
47140            force_rescan: gboolean,
47141            cancellable: *mut GCancellable,
47142            callback: GAsyncReadyCallback,
47143            user_data: gpointer,
47144        ),
47145    >,
47146    pub guess_content_type_finish: ::std::option::Option<
47147        unsafe extern "C" fn(
47148            mount: *mut GMount,
47149            result: *mut GAsyncResult,
47150            error: *mut *mut GError,
47151        ) -> *mut *mut gchar,
47152    >,
47153    pub guess_content_type_sync: ::std::option::Option<
47154        unsafe extern "C" fn(
47155            mount: *mut GMount,
47156            force_rescan: gboolean,
47157            cancellable: *mut GCancellable,
47158            error: *mut *mut GError,
47159        ) -> *mut *mut gchar,
47160    >,
47161    pub pre_unmount: ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount)>,
47162    pub unmount_with_operation: ::std::option::Option<
47163        unsafe extern "C" fn(
47164            mount: *mut GMount,
47165            flags: GMountUnmountFlags,
47166            mount_operation: *mut GMountOperation,
47167            cancellable: *mut GCancellable,
47168            callback: GAsyncReadyCallback,
47169            user_data: gpointer,
47170        ),
47171    >,
47172    pub unmount_with_operation_finish: ::std::option::Option<
47173        unsafe extern "C" fn(
47174            mount: *mut GMount,
47175            result: *mut GAsyncResult,
47176            error: *mut *mut GError,
47177        ) -> gboolean,
47178    >,
47179    pub eject_with_operation: ::std::option::Option<
47180        unsafe extern "C" fn(
47181            mount: *mut GMount,
47182            flags: GMountUnmountFlags,
47183            mount_operation: *mut GMountOperation,
47184            cancellable: *mut GCancellable,
47185            callback: GAsyncReadyCallback,
47186            user_data: gpointer,
47187        ),
47188    >,
47189    pub eject_with_operation_finish: ::std::option::Option<
47190        unsafe extern "C" fn(
47191            mount: *mut GMount,
47192            result: *mut GAsyncResult,
47193            error: *mut *mut GError,
47194        ) -> gboolean,
47195    >,
47196    pub get_default_location:
47197        ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount) -> *mut GFile>,
47198    pub get_sort_key:
47199        ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount) -> *const gchar>,
47200    pub get_symbolic_icon:
47201        ::std::option::Option<unsafe extern "C" fn(mount: *mut GMount) -> *mut GIcon>,
47202}
47203#[test]
47204fn bindgen_test_layout__GMountIface() {
47205    const UNINIT: ::std::mem::MaybeUninit<_GMountIface> = ::std::mem::MaybeUninit::uninit();
47206    let ptr = UNINIT.as_ptr();
47207    assert_eq!(
47208        ::std::mem::size_of::<_GMountIface>(),
47209        232usize,
47210        concat!("Size of: ", stringify!(_GMountIface))
47211    );
47212    assert_eq!(
47213        ::std::mem::align_of::<_GMountIface>(),
47214        8usize,
47215        concat!("Alignment of ", stringify!(_GMountIface))
47216    );
47217    assert_eq!(
47218        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
47219        0usize,
47220        concat!(
47221            "Offset of field: ",
47222            stringify!(_GMountIface),
47223            "::",
47224            stringify!(g_iface)
47225        )
47226    );
47227    assert_eq!(
47228        unsafe { ::std::ptr::addr_of!((*ptr).changed) as usize - ptr as usize },
47229        16usize,
47230        concat!(
47231            "Offset of field: ",
47232            stringify!(_GMountIface),
47233            "::",
47234            stringify!(changed)
47235        )
47236    );
47237    assert_eq!(
47238        unsafe { ::std::ptr::addr_of!((*ptr).unmounted) as usize - ptr as usize },
47239        24usize,
47240        concat!(
47241            "Offset of field: ",
47242            stringify!(_GMountIface),
47243            "::",
47244            stringify!(unmounted)
47245        )
47246    );
47247    assert_eq!(
47248        unsafe { ::std::ptr::addr_of!((*ptr).get_root) as usize - ptr as usize },
47249        32usize,
47250        concat!(
47251            "Offset of field: ",
47252            stringify!(_GMountIface),
47253            "::",
47254            stringify!(get_root)
47255        )
47256    );
47257    assert_eq!(
47258        unsafe { ::std::ptr::addr_of!((*ptr).get_name) as usize - ptr as usize },
47259        40usize,
47260        concat!(
47261            "Offset of field: ",
47262            stringify!(_GMountIface),
47263            "::",
47264            stringify!(get_name)
47265        )
47266    );
47267    assert_eq!(
47268        unsafe { ::std::ptr::addr_of!((*ptr).get_icon) as usize - ptr as usize },
47269        48usize,
47270        concat!(
47271            "Offset of field: ",
47272            stringify!(_GMountIface),
47273            "::",
47274            stringify!(get_icon)
47275        )
47276    );
47277    assert_eq!(
47278        unsafe { ::std::ptr::addr_of!((*ptr).get_uuid) as usize - ptr as usize },
47279        56usize,
47280        concat!(
47281            "Offset of field: ",
47282            stringify!(_GMountIface),
47283            "::",
47284            stringify!(get_uuid)
47285        )
47286    );
47287    assert_eq!(
47288        unsafe { ::std::ptr::addr_of!((*ptr).get_volume) as usize - ptr as usize },
47289        64usize,
47290        concat!(
47291            "Offset of field: ",
47292            stringify!(_GMountIface),
47293            "::",
47294            stringify!(get_volume)
47295        )
47296    );
47297    assert_eq!(
47298        unsafe { ::std::ptr::addr_of!((*ptr).get_drive) as usize - ptr as usize },
47299        72usize,
47300        concat!(
47301            "Offset of field: ",
47302            stringify!(_GMountIface),
47303            "::",
47304            stringify!(get_drive)
47305        )
47306    );
47307    assert_eq!(
47308        unsafe { ::std::ptr::addr_of!((*ptr).can_unmount) as usize - ptr as usize },
47309        80usize,
47310        concat!(
47311            "Offset of field: ",
47312            stringify!(_GMountIface),
47313            "::",
47314            stringify!(can_unmount)
47315        )
47316    );
47317    assert_eq!(
47318        unsafe { ::std::ptr::addr_of!((*ptr).can_eject) as usize - ptr as usize },
47319        88usize,
47320        concat!(
47321            "Offset of field: ",
47322            stringify!(_GMountIface),
47323            "::",
47324            stringify!(can_eject)
47325        )
47326    );
47327    assert_eq!(
47328        unsafe { ::std::ptr::addr_of!((*ptr).unmount) as usize - ptr as usize },
47329        96usize,
47330        concat!(
47331            "Offset of field: ",
47332            stringify!(_GMountIface),
47333            "::",
47334            stringify!(unmount)
47335        )
47336    );
47337    assert_eq!(
47338        unsafe { ::std::ptr::addr_of!((*ptr).unmount_finish) as usize - ptr as usize },
47339        104usize,
47340        concat!(
47341            "Offset of field: ",
47342            stringify!(_GMountIface),
47343            "::",
47344            stringify!(unmount_finish)
47345        )
47346    );
47347    assert_eq!(
47348        unsafe { ::std::ptr::addr_of!((*ptr).eject) as usize - ptr as usize },
47349        112usize,
47350        concat!(
47351            "Offset of field: ",
47352            stringify!(_GMountIface),
47353            "::",
47354            stringify!(eject)
47355        )
47356    );
47357    assert_eq!(
47358        unsafe { ::std::ptr::addr_of!((*ptr).eject_finish) as usize - ptr as usize },
47359        120usize,
47360        concat!(
47361            "Offset of field: ",
47362            stringify!(_GMountIface),
47363            "::",
47364            stringify!(eject_finish)
47365        )
47366    );
47367    assert_eq!(
47368        unsafe { ::std::ptr::addr_of!((*ptr).remount) as usize - ptr as usize },
47369        128usize,
47370        concat!(
47371            "Offset of field: ",
47372            stringify!(_GMountIface),
47373            "::",
47374            stringify!(remount)
47375        )
47376    );
47377    assert_eq!(
47378        unsafe { ::std::ptr::addr_of!((*ptr).remount_finish) as usize - ptr as usize },
47379        136usize,
47380        concat!(
47381            "Offset of field: ",
47382            stringify!(_GMountIface),
47383            "::",
47384            stringify!(remount_finish)
47385        )
47386    );
47387    assert_eq!(
47388        unsafe { ::std::ptr::addr_of!((*ptr).guess_content_type) as usize - ptr as usize },
47389        144usize,
47390        concat!(
47391            "Offset of field: ",
47392            stringify!(_GMountIface),
47393            "::",
47394            stringify!(guess_content_type)
47395        )
47396    );
47397    assert_eq!(
47398        unsafe { ::std::ptr::addr_of!((*ptr).guess_content_type_finish) as usize - ptr as usize },
47399        152usize,
47400        concat!(
47401            "Offset of field: ",
47402            stringify!(_GMountIface),
47403            "::",
47404            stringify!(guess_content_type_finish)
47405        )
47406    );
47407    assert_eq!(
47408        unsafe { ::std::ptr::addr_of!((*ptr).guess_content_type_sync) as usize - ptr as usize },
47409        160usize,
47410        concat!(
47411            "Offset of field: ",
47412            stringify!(_GMountIface),
47413            "::",
47414            stringify!(guess_content_type_sync)
47415        )
47416    );
47417    assert_eq!(
47418        unsafe { ::std::ptr::addr_of!((*ptr).pre_unmount) as usize - ptr as usize },
47419        168usize,
47420        concat!(
47421            "Offset of field: ",
47422            stringify!(_GMountIface),
47423            "::",
47424            stringify!(pre_unmount)
47425        )
47426    );
47427    assert_eq!(
47428        unsafe { ::std::ptr::addr_of!((*ptr).unmount_with_operation) as usize - ptr as usize },
47429        176usize,
47430        concat!(
47431            "Offset of field: ",
47432            stringify!(_GMountIface),
47433            "::",
47434            stringify!(unmount_with_operation)
47435        )
47436    );
47437    assert_eq!(
47438        unsafe {
47439            ::std::ptr::addr_of!((*ptr).unmount_with_operation_finish) as usize - ptr as usize
47440        },
47441        184usize,
47442        concat!(
47443            "Offset of field: ",
47444            stringify!(_GMountIface),
47445            "::",
47446            stringify!(unmount_with_operation_finish)
47447        )
47448    );
47449    assert_eq!(
47450        unsafe { ::std::ptr::addr_of!((*ptr).eject_with_operation) as usize - ptr as usize },
47451        192usize,
47452        concat!(
47453            "Offset of field: ",
47454            stringify!(_GMountIface),
47455            "::",
47456            stringify!(eject_with_operation)
47457        )
47458    );
47459    assert_eq!(
47460        unsafe { ::std::ptr::addr_of!((*ptr).eject_with_operation_finish) as usize - ptr as usize },
47461        200usize,
47462        concat!(
47463            "Offset of field: ",
47464            stringify!(_GMountIface),
47465            "::",
47466            stringify!(eject_with_operation_finish)
47467        )
47468    );
47469    assert_eq!(
47470        unsafe { ::std::ptr::addr_of!((*ptr).get_default_location) as usize - ptr as usize },
47471        208usize,
47472        concat!(
47473            "Offset of field: ",
47474            stringify!(_GMountIface),
47475            "::",
47476            stringify!(get_default_location)
47477        )
47478    );
47479    assert_eq!(
47480        unsafe { ::std::ptr::addr_of!((*ptr).get_sort_key) as usize - ptr as usize },
47481        216usize,
47482        concat!(
47483            "Offset of field: ",
47484            stringify!(_GMountIface),
47485            "::",
47486            stringify!(get_sort_key)
47487        )
47488    );
47489    assert_eq!(
47490        unsafe { ::std::ptr::addr_of!((*ptr).get_symbolic_icon) as usize - ptr as usize },
47491        224usize,
47492        concat!(
47493            "Offset of field: ",
47494            stringify!(_GMountIface),
47495            "::",
47496            stringify!(get_symbolic_icon)
47497        )
47498    );
47499}
47500extern "C" {
47501    pub fn g_mount_get_type() -> GType;
47502}
47503extern "C" {
47504    pub fn g_mount_get_root(mount: *mut GMount) -> *mut GFile;
47505}
47506extern "C" {
47507    pub fn g_mount_get_default_location(mount: *mut GMount) -> *mut GFile;
47508}
47509extern "C" {
47510    pub fn g_mount_get_name(mount: *mut GMount) -> *mut ::std::os::raw::c_char;
47511}
47512extern "C" {
47513    pub fn g_mount_get_icon(mount: *mut GMount) -> *mut GIcon;
47514}
47515extern "C" {
47516    pub fn g_mount_get_symbolic_icon(mount: *mut GMount) -> *mut GIcon;
47517}
47518extern "C" {
47519    pub fn g_mount_get_uuid(mount: *mut GMount) -> *mut ::std::os::raw::c_char;
47520}
47521extern "C" {
47522    pub fn g_mount_get_volume(mount: *mut GMount) -> *mut GVolume;
47523}
47524extern "C" {
47525    pub fn g_mount_get_drive(mount: *mut GMount) -> *mut GDrive;
47526}
47527extern "C" {
47528    pub fn g_mount_can_unmount(mount: *mut GMount) -> gboolean;
47529}
47530extern "C" {
47531    pub fn g_mount_can_eject(mount: *mut GMount) -> gboolean;
47532}
47533extern "C" {
47534    pub fn g_mount_unmount(
47535        mount: *mut GMount,
47536        flags: GMountUnmountFlags,
47537        cancellable: *mut GCancellable,
47538        callback: GAsyncReadyCallback,
47539        user_data: gpointer,
47540    );
47541}
47542extern "C" {
47543    pub fn g_mount_unmount_finish(
47544        mount: *mut GMount,
47545        result: *mut GAsyncResult,
47546        error: *mut *mut GError,
47547    ) -> gboolean;
47548}
47549extern "C" {
47550    pub fn g_mount_eject(
47551        mount: *mut GMount,
47552        flags: GMountUnmountFlags,
47553        cancellable: *mut GCancellable,
47554        callback: GAsyncReadyCallback,
47555        user_data: gpointer,
47556    );
47557}
47558extern "C" {
47559    pub fn g_mount_eject_finish(
47560        mount: *mut GMount,
47561        result: *mut GAsyncResult,
47562        error: *mut *mut GError,
47563    ) -> gboolean;
47564}
47565extern "C" {
47566    pub fn g_mount_remount(
47567        mount: *mut GMount,
47568        flags: GMountMountFlags,
47569        mount_operation: *mut GMountOperation,
47570        cancellable: *mut GCancellable,
47571        callback: GAsyncReadyCallback,
47572        user_data: gpointer,
47573    );
47574}
47575extern "C" {
47576    pub fn g_mount_remount_finish(
47577        mount: *mut GMount,
47578        result: *mut GAsyncResult,
47579        error: *mut *mut GError,
47580    ) -> gboolean;
47581}
47582extern "C" {
47583    pub fn g_mount_guess_content_type(
47584        mount: *mut GMount,
47585        force_rescan: gboolean,
47586        cancellable: *mut GCancellable,
47587        callback: GAsyncReadyCallback,
47588        user_data: gpointer,
47589    );
47590}
47591extern "C" {
47592    pub fn g_mount_guess_content_type_finish(
47593        mount: *mut GMount,
47594        result: *mut GAsyncResult,
47595        error: *mut *mut GError,
47596    ) -> *mut *mut gchar;
47597}
47598extern "C" {
47599    pub fn g_mount_guess_content_type_sync(
47600        mount: *mut GMount,
47601        force_rescan: gboolean,
47602        cancellable: *mut GCancellable,
47603        error: *mut *mut GError,
47604    ) -> *mut *mut gchar;
47605}
47606extern "C" {
47607    pub fn g_mount_is_shadowed(mount: *mut GMount) -> gboolean;
47608}
47609extern "C" {
47610    pub fn g_mount_shadow(mount: *mut GMount);
47611}
47612extern "C" {
47613    pub fn g_mount_unshadow(mount: *mut GMount);
47614}
47615extern "C" {
47616    pub fn g_mount_unmount_with_operation(
47617        mount: *mut GMount,
47618        flags: GMountUnmountFlags,
47619        mount_operation: *mut GMountOperation,
47620        cancellable: *mut GCancellable,
47621        callback: GAsyncReadyCallback,
47622        user_data: gpointer,
47623    );
47624}
47625extern "C" {
47626    pub fn g_mount_unmount_with_operation_finish(
47627        mount: *mut GMount,
47628        result: *mut GAsyncResult,
47629        error: *mut *mut GError,
47630    ) -> gboolean;
47631}
47632extern "C" {
47633    pub fn g_mount_eject_with_operation(
47634        mount: *mut GMount,
47635        flags: GMountUnmountFlags,
47636        mount_operation: *mut GMountOperation,
47637        cancellable: *mut GCancellable,
47638        callback: GAsyncReadyCallback,
47639        user_data: gpointer,
47640    );
47641}
47642extern "C" {
47643    pub fn g_mount_eject_with_operation_finish(
47644        mount: *mut GMount,
47645        result: *mut GAsyncResult,
47646        error: *mut *mut GError,
47647    ) -> gboolean;
47648}
47649extern "C" {
47650    pub fn g_mount_get_sort_key(mount: *mut GMount) -> *const gchar;
47651}
47652pub type GMountOperationClass = _GMountOperationClass;
47653#[repr(C)]
47654#[derive(Debug, Copy, Clone)]
47655pub struct _GMountOperationPrivate {
47656    _unused: [u8; 0],
47657}
47658pub type GMountOperationPrivate = _GMountOperationPrivate;
47659#[repr(C)]
47660#[derive(Debug, Copy, Clone, PartialEq, Eq)]
47661pub struct _GMountOperation {
47662    pub parent_instance: GObject,
47663    pub priv_: *mut GMountOperationPrivate,
47664}
47665#[test]
47666fn bindgen_test_layout__GMountOperation() {
47667    const UNINIT: ::std::mem::MaybeUninit<_GMountOperation> = ::std::mem::MaybeUninit::uninit();
47668    let ptr = UNINIT.as_ptr();
47669    assert_eq!(
47670        ::std::mem::size_of::<_GMountOperation>(),
47671        32usize,
47672        concat!("Size of: ", stringify!(_GMountOperation))
47673    );
47674    assert_eq!(
47675        ::std::mem::align_of::<_GMountOperation>(),
47676        8usize,
47677        concat!("Alignment of ", stringify!(_GMountOperation))
47678    );
47679    assert_eq!(
47680        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
47681        0usize,
47682        concat!(
47683            "Offset of field: ",
47684            stringify!(_GMountOperation),
47685            "::",
47686            stringify!(parent_instance)
47687        )
47688    );
47689    assert_eq!(
47690        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
47691        24usize,
47692        concat!(
47693            "Offset of field: ",
47694            stringify!(_GMountOperation),
47695            "::",
47696            stringify!(priv_)
47697        )
47698    );
47699}
47700#[repr(C)]
47701#[derive(Debug, Copy, Clone, PartialEq, Eq)]
47702pub struct _GMountOperationClass {
47703    pub parent_class: GObjectClass,
47704    pub ask_password: ::std::option::Option<
47705        unsafe extern "C" fn(
47706            op: *mut GMountOperation,
47707            message: *const ::std::os::raw::c_char,
47708            default_user: *const ::std::os::raw::c_char,
47709            default_domain: *const ::std::os::raw::c_char,
47710            flags: GAskPasswordFlags,
47711        ),
47712    >,
47713    pub ask_question: ::std::option::Option<
47714        unsafe extern "C" fn(
47715            op: *mut GMountOperation,
47716            message: *const ::std::os::raw::c_char,
47717            choices: *mut *const ::std::os::raw::c_char,
47718        ),
47719    >,
47720    pub reply: ::std::option::Option<
47721        unsafe extern "C" fn(op: *mut GMountOperation, result: GMountOperationResult),
47722    >,
47723    pub aborted: ::std::option::Option<unsafe extern "C" fn(op: *mut GMountOperation)>,
47724    pub show_processes: ::std::option::Option<
47725        unsafe extern "C" fn(
47726            op: *mut GMountOperation,
47727            message: *const gchar,
47728            processes: *mut GArray,
47729            choices: *mut *const gchar,
47730        ),
47731    >,
47732    pub show_unmount_progress: ::std::option::Option<
47733        unsafe extern "C" fn(
47734            op: *mut GMountOperation,
47735            message: *const gchar,
47736            time_left: gint64,
47737            bytes_left: gint64,
47738        ),
47739    >,
47740    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
47741    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
47742    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
47743    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
47744    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
47745    pub _g_reserved6: ::std::option::Option<unsafe extern "C" fn()>,
47746    pub _g_reserved7: ::std::option::Option<unsafe extern "C" fn()>,
47747    pub _g_reserved8: ::std::option::Option<unsafe extern "C" fn()>,
47748    pub _g_reserved9: ::std::option::Option<unsafe extern "C" fn()>,
47749}
47750#[test]
47751fn bindgen_test_layout__GMountOperationClass() {
47752    const UNINIT: ::std::mem::MaybeUninit<_GMountOperationClass> =
47753        ::std::mem::MaybeUninit::uninit();
47754    let ptr = UNINIT.as_ptr();
47755    assert_eq!(
47756        ::std::mem::size_of::<_GMountOperationClass>(),
47757        256usize,
47758        concat!("Size of: ", stringify!(_GMountOperationClass))
47759    );
47760    assert_eq!(
47761        ::std::mem::align_of::<_GMountOperationClass>(),
47762        8usize,
47763        concat!("Alignment of ", stringify!(_GMountOperationClass))
47764    );
47765    assert_eq!(
47766        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
47767        0usize,
47768        concat!(
47769            "Offset of field: ",
47770            stringify!(_GMountOperationClass),
47771            "::",
47772            stringify!(parent_class)
47773        )
47774    );
47775    assert_eq!(
47776        unsafe { ::std::ptr::addr_of!((*ptr).ask_password) as usize - ptr as usize },
47777        136usize,
47778        concat!(
47779            "Offset of field: ",
47780            stringify!(_GMountOperationClass),
47781            "::",
47782            stringify!(ask_password)
47783        )
47784    );
47785    assert_eq!(
47786        unsafe { ::std::ptr::addr_of!((*ptr).ask_question) as usize - ptr as usize },
47787        144usize,
47788        concat!(
47789            "Offset of field: ",
47790            stringify!(_GMountOperationClass),
47791            "::",
47792            stringify!(ask_question)
47793        )
47794    );
47795    assert_eq!(
47796        unsafe { ::std::ptr::addr_of!((*ptr).reply) as usize - ptr as usize },
47797        152usize,
47798        concat!(
47799            "Offset of field: ",
47800            stringify!(_GMountOperationClass),
47801            "::",
47802            stringify!(reply)
47803        )
47804    );
47805    assert_eq!(
47806        unsafe { ::std::ptr::addr_of!((*ptr).aborted) as usize - ptr as usize },
47807        160usize,
47808        concat!(
47809            "Offset of field: ",
47810            stringify!(_GMountOperationClass),
47811            "::",
47812            stringify!(aborted)
47813        )
47814    );
47815    assert_eq!(
47816        unsafe { ::std::ptr::addr_of!((*ptr).show_processes) as usize - ptr as usize },
47817        168usize,
47818        concat!(
47819            "Offset of field: ",
47820            stringify!(_GMountOperationClass),
47821            "::",
47822            stringify!(show_processes)
47823        )
47824    );
47825    assert_eq!(
47826        unsafe { ::std::ptr::addr_of!((*ptr).show_unmount_progress) as usize - ptr as usize },
47827        176usize,
47828        concat!(
47829            "Offset of field: ",
47830            stringify!(_GMountOperationClass),
47831            "::",
47832            stringify!(show_unmount_progress)
47833        )
47834    );
47835    assert_eq!(
47836        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
47837        184usize,
47838        concat!(
47839            "Offset of field: ",
47840            stringify!(_GMountOperationClass),
47841            "::",
47842            stringify!(_g_reserved1)
47843        )
47844    );
47845    assert_eq!(
47846        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
47847        192usize,
47848        concat!(
47849            "Offset of field: ",
47850            stringify!(_GMountOperationClass),
47851            "::",
47852            stringify!(_g_reserved2)
47853        )
47854    );
47855    assert_eq!(
47856        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
47857        200usize,
47858        concat!(
47859            "Offset of field: ",
47860            stringify!(_GMountOperationClass),
47861            "::",
47862            stringify!(_g_reserved3)
47863        )
47864    );
47865    assert_eq!(
47866        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
47867        208usize,
47868        concat!(
47869            "Offset of field: ",
47870            stringify!(_GMountOperationClass),
47871            "::",
47872            stringify!(_g_reserved4)
47873        )
47874    );
47875    assert_eq!(
47876        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
47877        216usize,
47878        concat!(
47879            "Offset of field: ",
47880            stringify!(_GMountOperationClass),
47881            "::",
47882            stringify!(_g_reserved5)
47883        )
47884    );
47885    assert_eq!(
47886        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved6) as usize - ptr as usize },
47887        224usize,
47888        concat!(
47889            "Offset of field: ",
47890            stringify!(_GMountOperationClass),
47891            "::",
47892            stringify!(_g_reserved6)
47893        )
47894    );
47895    assert_eq!(
47896        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved7) as usize - ptr as usize },
47897        232usize,
47898        concat!(
47899            "Offset of field: ",
47900            stringify!(_GMountOperationClass),
47901            "::",
47902            stringify!(_g_reserved7)
47903        )
47904    );
47905    assert_eq!(
47906        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved8) as usize - ptr as usize },
47907        240usize,
47908        concat!(
47909            "Offset of field: ",
47910            stringify!(_GMountOperationClass),
47911            "::",
47912            stringify!(_g_reserved8)
47913        )
47914    );
47915    assert_eq!(
47916        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved9) as usize - ptr as usize },
47917        248usize,
47918        concat!(
47919            "Offset of field: ",
47920            stringify!(_GMountOperationClass),
47921            "::",
47922            stringify!(_g_reserved9)
47923        )
47924    );
47925}
47926extern "C" {
47927    pub fn g_mount_operation_get_type() -> GType;
47928}
47929extern "C" {
47930    pub fn g_mount_operation_new() -> *mut GMountOperation;
47931}
47932extern "C" {
47933    pub fn g_mount_operation_get_username(
47934        op: *mut GMountOperation,
47935    ) -> *const ::std::os::raw::c_char;
47936}
47937extern "C" {
47938    pub fn g_mount_operation_set_username(
47939        op: *mut GMountOperation,
47940        username: *const ::std::os::raw::c_char,
47941    );
47942}
47943extern "C" {
47944    pub fn g_mount_operation_get_password(
47945        op: *mut GMountOperation,
47946    ) -> *const ::std::os::raw::c_char;
47947}
47948extern "C" {
47949    pub fn g_mount_operation_set_password(
47950        op: *mut GMountOperation,
47951        password: *const ::std::os::raw::c_char,
47952    );
47953}
47954extern "C" {
47955    pub fn g_mount_operation_get_anonymous(op: *mut GMountOperation) -> gboolean;
47956}
47957extern "C" {
47958    pub fn g_mount_operation_set_anonymous(op: *mut GMountOperation, anonymous: gboolean);
47959}
47960extern "C" {
47961    pub fn g_mount_operation_get_domain(op: *mut GMountOperation) -> *const ::std::os::raw::c_char;
47962}
47963extern "C" {
47964    pub fn g_mount_operation_set_domain(
47965        op: *mut GMountOperation,
47966        domain: *const ::std::os::raw::c_char,
47967    );
47968}
47969extern "C" {
47970    pub fn g_mount_operation_get_password_save(op: *mut GMountOperation) -> GPasswordSave;
47971}
47972extern "C" {
47973    pub fn g_mount_operation_set_password_save(op: *mut GMountOperation, save: GPasswordSave);
47974}
47975extern "C" {
47976    pub fn g_mount_operation_get_choice(op: *mut GMountOperation) -> ::std::os::raw::c_int;
47977}
47978extern "C" {
47979    pub fn g_mount_operation_set_choice(op: *mut GMountOperation, choice: ::std::os::raw::c_int);
47980}
47981extern "C" {
47982    pub fn g_mount_operation_reply(op: *mut GMountOperation, result: GMountOperationResult);
47983}
47984extern "C" {
47985    pub fn g_mount_operation_get_is_tcrypt_hidden_volume(op: *mut GMountOperation) -> gboolean;
47986}
47987extern "C" {
47988    pub fn g_mount_operation_set_is_tcrypt_hidden_volume(
47989        op: *mut GMountOperation,
47990        hidden_volume: gboolean,
47991    );
47992}
47993extern "C" {
47994    pub fn g_mount_operation_get_is_tcrypt_system_volume(op: *mut GMountOperation) -> gboolean;
47995}
47996extern "C" {
47997    pub fn g_mount_operation_set_is_tcrypt_system_volume(
47998        op: *mut GMountOperation,
47999        system_volume: gboolean,
48000    );
48001}
48002extern "C" {
48003    pub fn g_mount_operation_get_pim(op: *mut GMountOperation) -> guint;
48004}
48005extern "C" {
48006    pub fn g_mount_operation_set_pim(op: *mut GMountOperation, pim: guint);
48007}
48008pub type GNativeSocketAddressClass = _GNativeSocketAddressClass;
48009#[repr(C)]
48010#[derive(Debug, Copy, Clone)]
48011pub struct _GNativeSocketAddressPrivate {
48012    _unused: [u8; 0],
48013}
48014pub type GNativeSocketAddressPrivate = _GNativeSocketAddressPrivate;
48015#[repr(C)]
48016#[derive(Debug, Copy, Clone, PartialEq, Eq)]
48017pub struct _GNativeSocketAddress {
48018    pub parent_instance: GSocketAddress,
48019    pub priv_: *mut GNativeSocketAddressPrivate,
48020}
48021#[test]
48022fn bindgen_test_layout__GNativeSocketAddress() {
48023    const UNINIT: ::std::mem::MaybeUninit<_GNativeSocketAddress> =
48024        ::std::mem::MaybeUninit::uninit();
48025    let ptr = UNINIT.as_ptr();
48026    assert_eq!(
48027        ::std::mem::size_of::<_GNativeSocketAddress>(),
48028        32usize,
48029        concat!("Size of: ", stringify!(_GNativeSocketAddress))
48030    );
48031    assert_eq!(
48032        ::std::mem::align_of::<_GNativeSocketAddress>(),
48033        8usize,
48034        concat!("Alignment of ", stringify!(_GNativeSocketAddress))
48035    );
48036    assert_eq!(
48037        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
48038        0usize,
48039        concat!(
48040            "Offset of field: ",
48041            stringify!(_GNativeSocketAddress),
48042            "::",
48043            stringify!(parent_instance)
48044        )
48045    );
48046    assert_eq!(
48047        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
48048        24usize,
48049        concat!(
48050            "Offset of field: ",
48051            stringify!(_GNativeSocketAddress),
48052            "::",
48053            stringify!(priv_)
48054        )
48055    );
48056}
48057#[repr(C)]
48058#[derive(Debug, Copy, Clone, PartialEq, Eq)]
48059pub struct _GNativeSocketAddressClass {
48060    pub parent_class: GSocketAddressClass,
48061}
48062#[test]
48063fn bindgen_test_layout__GNativeSocketAddressClass() {
48064    const UNINIT: ::std::mem::MaybeUninit<_GNativeSocketAddressClass> =
48065        ::std::mem::MaybeUninit::uninit();
48066    let ptr = UNINIT.as_ptr();
48067    assert_eq!(
48068        ::std::mem::size_of::<_GNativeSocketAddressClass>(),
48069        160usize,
48070        concat!("Size of: ", stringify!(_GNativeSocketAddressClass))
48071    );
48072    assert_eq!(
48073        ::std::mem::align_of::<_GNativeSocketAddressClass>(),
48074        8usize,
48075        concat!("Alignment of ", stringify!(_GNativeSocketAddressClass))
48076    );
48077    assert_eq!(
48078        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
48079        0usize,
48080        concat!(
48081            "Offset of field: ",
48082            stringify!(_GNativeSocketAddressClass),
48083            "::",
48084            stringify!(parent_class)
48085        )
48086    );
48087}
48088extern "C" {
48089    pub fn g_native_socket_address_get_type() -> GType;
48090}
48091extern "C" {
48092    pub fn g_native_socket_address_new(native: gpointer, len: gsize) -> *mut GSocketAddress;
48093}
48094pub type GVolumeMonitorClass = _GVolumeMonitorClass;
48095#[repr(C)]
48096#[derive(Debug, Copy, Clone, PartialEq, Eq)]
48097pub struct _GVolumeMonitor {
48098    pub parent_instance: GObject,
48099    pub priv_: gpointer,
48100}
48101#[test]
48102fn bindgen_test_layout__GVolumeMonitor() {
48103    const UNINIT: ::std::mem::MaybeUninit<_GVolumeMonitor> = ::std::mem::MaybeUninit::uninit();
48104    let ptr = UNINIT.as_ptr();
48105    assert_eq!(
48106        ::std::mem::size_of::<_GVolumeMonitor>(),
48107        32usize,
48108        concat!("Size of: ", stringify!(_GVolumeMonitor))
48109    );
48110    assert_eq!(
48111        ::std::mem::align_of::<_GVolumeMonitor>(),
48112        8usize,
48113        concat!("Alignment of ", stringify!(_GVolumeMonitor))
48114    );
48115    assert_eq!(
48116        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
48117        0usize,
48118        concat!(
48119            "Offset of field: ",
48120            stringify!(_GVolumeMonitor),
48121            "::",
48122            stringify!(parent_instance)
48123        )
48124    );
48125    assert_eq!(
48126        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
48127        24usize,
48128        concat!(
48129            "Offset of field: ",
48130            stringify!(_GVolumeMonitor),
48131            "::",
48132            stringify!(priv_)
48133        )
48134    );
48135}
48136#[repr(C)]
48137#[derive(Debug, Copy, Clone, PartialEq, Eq)]
48138pub struct _GVolumeMonitorClass {
48139    pub parent_class: GObjectClass,
48140    pub volume_added: ::std::option::Option<
48141        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, volume: *mut GVolume),
48142    >,
48143    pub volume_removed: ::std::option::Option<
48144        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, volume: *mut GVolume),
48145    >,
48146    pub volume_changed: ::std::option::Option<
48147        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, volume: *mut GVolume),
48148    >,
48149    pub mount_added: ::std::option::Option<
48150        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, mount: *mut GMount),
48151    >,
48152    pub mount_removed: ::std::option::Option<
48153        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, mount: *mut GMount),
48154    >,
48155    pub mount_pre_unmount: ::std::option::Option<
48156        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, mount: *mut GMount),
48157    >,
48158    pub mount_changed: ::std::option::Option<
48159        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, mount: *mut GMount),
48160    >,
48161    pub drive_connected: ::std::option::Option<
48162        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, drive: *mut GDrive),
48163    >,
48164    pub drive_disconnected: ::std::option::Option<
48165        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, drive: *mut GDrive),
48166    >,
48167    pub drive_changed: ::std::option::Option<
48168        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, drive: *mut GDrive),
48169    >,
48170    pub is_supported: ::std::option::Option<unsafe extern "C" fn() -> gboolean>,
48171    pub get_connected_drives: ::std::option::Option<
48172        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor) -> *mut GList,
48173    >,
48174    pub get_volumes: ::std::option::Option<
48175        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor) -> *mut GList,
48176    >,
48177    pub get_mounts: ::std::option::Option<
48178        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor) -> *mut GList,
48179    >,
48180    pub get_volume_for_uuid: ::std::option::Option<
48181        unsafe extern "C" fn(
48182            volume_monitor: *mut GVolumeMonitor,
48183            uuid: *const ::std::os::raw::c_char,
48184        ) -> *mut GVolume,
48185    >,
48186    pub get_mount_for_uuid: ::std::option::Option<
48187        unsafe extern "C" fn(
48188            volume_monitor: *mut GVolumeMonitor,
48189            uuid: *const ::std::os::raw::c_char,
48190        ) -> *mut GMount,
48191    >,
48192    pub adopt_orphan_mount: ::std::option::Option<
48193        unsafe extern "C" fn(
48194            mount: *mut GMount,
48195            volume_monitor: *mut GVolumeMonitor,
48196        ) -> *mut GVolume,
48197    >,
48198    pub drive_eject_button: ::std::option::Option<
48199        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, drive: *mut GDrive),
48200    >,
48201    pub drive_stop_button: ::std::option::Option<
48202        unsafe extern "C" fn(volume_monitor: *mut GVolumeMonitor, drive: *mut GDrive),
48203    >,
48204    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
48205    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
48206    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
48207    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
48208    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
48209    pub _g_reserved6: ::std::option::Option<unsafe extern "C" fn()>,
48210}
48211#[test]
48212fn bindgen_test_layout__GVolumeMonitorClass() {
48213    const UNINIT: ::std::mem::MaybeUninit<_GVolumeMonitorClass> = ::std::mem::MaybeUninit::uninit();
48214    let ptr = UNINIT.as_ptr();
48215    assert_eq!(
48216        ::std::mem::size_of::<_GVolumeMonitorClass>(),
48217        336usize,
48218        concat!("Size of: ", stringify!(_GVolumeMonitorClass))
48219    );
48220    assert_eq!(
48221        ::std::mem::align_of::<_GVolumeMonitorClass>(),
48222        8usize,
48223        concat!("Alignment of ", stringify!(_GVolumeMonitorClass))
48224    );
48225    assert_eq!(
48226        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
48227        0usize,
48228        concat!(
48229            "Offset of field: ",
48230            stringify!(_GVolumeMonitorClass),
48231            "::",
48232            stringify!(parent_class)
48233        )
48234    );
48235    assert_eq!(
48236        unsafe { ::std::ptr::addr_of!((*ptr).volume_added) as usize - ptr as usize },
48237        136usize,
48238        concat!(
48239            "Offset of field: ",
48240            stringify!(_GVolumeMonitorClass),
48241            "::",
48242            stringify!(volume_added)
48243        )
48244    );
48245    assert_eq!(
48246        unsafe { ::std::ptr::addr_of!((*ptr).volume_removed) as usize - ptr as usize },
48247        144usize,
48248        concat!(
48249            "Offset of field: ",
48250            stringify!(_GVolumeMonitorClass),
48251            "::",
48252            stringify!(volume_removed)
48253        )
48254    );
48255    assert_eq!(
48256        unsafe { ::std::ptr::addr_of!((*ptr).volume_changed) as usize - ptr as usize },
48257        152usize,
48258        concat!(
48259            "Offset of field: ",
48260            stringify!(_GVolumeMonitorClass),
48261            "::",
48262            stringify!(volume_changed)
48263        )
48264    );
48265    assert_eq!(
48266        unsafe { ::std::ptr::addr_of!((*ptr).mount_added) as usize - ptr as usize },
48267        160usize,
48268        concat!(
48269            "Offset of field: ",
48270            stringify!(_GVolumeMonitorClass),
48271            "::",
48272            stringify!(mount_added)
48273        )
48274    );
48275    assert_eq!(
48276        unsafe { ::std::ptr::addr_of!((*ptr).mount_removed) as usize - ptr as usize },
48277        168usize,
48278        concat!(
48279            "Offset of field: ",
48280            stringify!(_GVolumeMonitorClass),
48281            "::",
48282            stringify!(mount_removed)
48283        )
48284    );
48285    assert_eq!(
48286        unsafe { ::std::ptr::addr_of!((*ptr).mount_pre_unmount) as usize - ptr as usize },
48287        176usize,
48288        concat!(
48289            "Offset of field: ",
48290            stringify!(_GVolumeMonitorClass),
48291            "::",
48292            stringify!(mount_pre_unmount)
48293        )
48294    );
48295    assert_eq!(
48296        unsafe { ::std::ptr::addr_of!((*ptr).mount_changed) as usize - ptr as usize },
48297        184usize,
48298        concat!(
48299            "Offset of field: ",
48300            stringify!(_GVolumeMonitorClass),
48301            "::",
48302            stringify!(mount_changed)
48303        )
48304    );
48305    assert_eq!(
48306        unsafe { ::std::ptr::addr_of!((*ptr).drive_connected) as usize - ptr as usize },
48307        192usize,
48308        concat!(
48309            "Offset of field: ",
48310            stringify!(_GVolumeMonitorClass),
48311            "::",
48312            stringify!(drive_connected)
48313        )
48314    );
48315    assert_eq!(
48316        unsafe { ::std::ptr::addr_of!((*ptr).drive_disconnected) as usize - ptr as usize },
48317        200usize,
48318        concat!(
48319            "Offset of field: ",
48320            stringify!(_GVolumeMonitorClass),
48321            "::",
48322            stringify!(drive_disconnected)
48323        )
48324    );
48325    assert_eq!(
48326        unsafe { ::std::ptr::addr_of!((*ptr).drive_changed) as usize - ptr as usize },
48327        208usize,
48328        concat!(
48329            "Offset of field: ",
48330            stringify!(_GVolumeMonitorClass),
48331            "::",
48332            stringify!(drive_changed)
48333        )
48334    );
48335    assert_eq!(
48336        unsafe { ::std::ptr::addr_of!((*ptr).is_supported) as usize - ptr as usize },
48337        216usize,
48338        concat!(
48339            "Offset of field: ",
48340            stringify!(_GVolumeMonitorClass),
48341            "::",
48342            stringify!(is_supported)
48343        )
48344    );
48345    assert_eq!(
48346        unsafe { ::std::ptr::addr_of!((*ptr).get_connected_drives) as usize - ptr as usize },
48347        224usize,
48348        concat!(
48349            "Offset of field: ",
48350            stringify!(_GVolumeMonitorClass),
48351            "::",
48352            stringify!(get_connected_drives)
48353        )
48354    );
48355    assert_eq!(
48356        unsafe { ::std::ptr::addr_of!((*ptr).get_volumes) as usize - ptr as usize },
48357        232usize,
48358        concat!(
48359            "Offset of field: ",
48360            stringify!(_GVolumeMonitorClass),
48361            "::",
48362            stringify!(get_volumes)
48363        )
48364    );
48365    assert_eq!(
48366        unsafe { ::std::ptr::addr_of!((*ptr).get_mounts) as usize - ptr as usize },
48367        240usize,
48368        concat!(
48369            "Offset of field: ",
48370            stringify!(_GVolumeMonitorClass),
48371            "::",
48372            stringify!(get_mounts)
48373        )
48374    );
48375    assert_eq!(
48376        unsafe { ::std::ptr::addr_of!((*ptr).get_volume_for_uuid) as usize - ptr as usize },
48377        248usize,
48378        concat!(
48379            "Offset of field: ",
48380            stringify!(_GVolumeMonitorClass),
48381            "::",
48382            stringify!(get_volume_for_uuid)
48383        )
48384    );
48385    assert_eq!(
48386        unsafe { ::std::ptr::addr_of!((*ptr).get_mount_for_uuid) as usize - ptr as usize },
48387        256usize,
48388        concat!(
48389            "Offset of field: ",
48390            stringify!(_GVolumeMonitorClass),
48391            "::",
48392            stringify!(get_mount_for_uuid)
48393        )
48394    );
48395    assert_eq!(
48396        unsafe { ::std::ptr::addr_of!((*ptr).adopt_orphan_mount) as usize - ptr as usize },
48397        264usize,
48398        concat!(
48399            "Offset of field: ",
48400            stringify!(_GVolumeMonitorClass),
48401            "::",
48402            stringify!(adopt_orphan_mount)
48403        )
48404    );
48405    assert_eq!(
48406        unsafe { ::std::ptr::addr_of!((*ptr).drive_eject_button) as usize - ptr as usize },
48407        272usize,
48408        concat!(
48409            "Offset of field: ",
48410            stringify!(_GVolumeMonitorClass),
48411            "::",
48412            stringify!(drive_eject_button)
48413        )
48414    );
48415    assert_eq!(
48416        unsafe { ::std::ptr::addr_of!((*ptr).drive_stop_button) as usize - ptr as usize },
48417        280usize,
48418        concat!(
48419            "Offset of field: ",
48420            stringify!(_GVolumeMonitorClass),
48421            "::",
48422            stringify!(drive_stop_button)
48423        )
48424    );
48425    assert_eq!(
48426        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
48427        288usize,
48428        concat!(
48429            "Offset of field: ",
48430            stringify!(_GVolumeMonitorClass),
48431            "::",
48432            stringify!(_g_reserved1)
48433        )
48434    );
48435    assert_eq!(
48436        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
48437        296usize,
48438        concat!(
48439            "Offset of field: ",
48440            stringify!(_GVolumeMonitorClass),
48441            "::",
48442            stringify!(_g_reserved2)
48443        )
48444    );
48445    assert_eq!(
48446        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
48447        304usize,
48448        concat!(
48449            "Offset of field: ",
48450            stringify!(_GVolumeMonitorClass),
48451            "::",
48452            stringify!(_g_reserved3)
48453        )
48454    );
48455    assert_eq!(
48456        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
48457        312usize,
48458        concat!(
48459            "Offset of field: ",
48460            stringify!(_GVolumeMonitorClass),
48461            "::",
48462            stringify!(_g_reserved4)
48463        )
48464    );
48465    assert_eq!(
48466        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
48467        320usize,
48468        concat!(
48469            "Offset of field: ",
48470            stringify!(_GVolumeMonitorClass),
48471            "::",
48472            stringify!(_g_reserved5)
48473        )
48474    );
48475    assert_eq!(
48476        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved6) as usize - ptr as usize },
48477        328usize,
48478        concat!(
48479            "Offset of field: ",
48480            stringify!(_GVolumeMonitorClass),
48481            "::",
48482            stringify!(_g_reserved6)
48483        )
48484    );
48485}
48486extern "C" {
48487    pub fn g_volume_monitor_get_type() -> GType;
48488}
48489extern "C" {
48490    pub fn g_volume_monitor_get() -> *mut GVolumeMonitor;
48491}
48492extern "C" {
48493    pub fn g_volume_monitor_get_connected_drives(volume_monitor: *mut GVolumeMonitor)
48494        -> *mut GList;
48495}
48496extern "C" {
48497    pub fn g_volume_monitor_get_volumes(volume_monitor: *mut GVolumeMonitor) -> *mut GList;
48498}
48499extern "C" {
48500    pub fn g_volume_monitor_get_mounts(volume_monitor: *mut GVolumeMonitor) -> *mut GList;
48501}
48502extern "C" {
48503    pub fn g_volume_monitor_get_volume_for_uuid(
48504        volume_monitor: *mut GVolumeMonitor,
48505        uuid: *const ::std::os::raw::c_char,
48506    ) -> *mut GVolume;
48507}
48508extern "C" {
48509    pub fn g_volume_monitor_get_mount_for_uuid(
48510        volume_monitor: *mut GVolumeMonitor,
48511        uuid: *const ::std::os::raw::c_char,
48512    ) -> *mut GMount;
48513}
48514extern "C" {
48515    pub fn g_volume_monitor_adopt_orphan_mount(mount: *mut GMount) -> *mut GVolume;
48516}
48517pub type GNativeVolumeMonitor = _GNativeVolumeMonitor;
48518pub type GNativeVolumeMonitorClass = _GNativeVolumeMonitorClass;
48519#[repr(C)]
48520#[derive(Debug, Copy, Clone, PartialEq, Eq)]
48521pub struct _GNativeVolumeMonitor {
48522    pub parent_instance: GVolumeMonitor,
48523}
48524#[test]
48525fn bindgen_test_layout__GNativeVolumeMonitor() {
48526    const UNINIT: ::std::mem::MaybeUninit<_GNativeVolumeMonitor> =
48527        ::std::mem::MaybeUninit::uninit();
48528    let ptr = UNINIT.as_ptr();
48529    assert_eq!(
48530        ::std::mem::size_of::<_GNativeVolumeMonitor>(),
48531        32usize,
48532        concat!("Size of: ", stringify!(_GNativeVolumeMonitor))
48533    );
48534    assert_eq!(
48535        ::std::mem::align_of::<_GNativeVolumeMonitor>(),
48536        8usize,
48537        concat!("Alignment of ", stringify!(_GNativeVolumeMonitor))
48538    );
48539    assert_eq!(
48540        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
48541        0usize,
48542        concat!(
48543            "Offset of field: ",
48544            stringify!(_GNativeVolumeMonitor),
48545            "::",
48546            stringify!(parent_instance)
48547        )
48548    );
48549}
48550#[repr(C)]
48551#[derive(Debug, Copy, Clone, PartialEq, Eq)]
48552pub struct _GNativeVolumeMonitorClass {
48553    pub parent_class: GVolumeMonitorClass,
48554    pub get_mount_for_mount_path: ::std::option::Option<
48555        unsafe extern "C" fn(
48556            mount_path: *const ::std::os::raw::c_char,
48557            cancellable: *mut GCancellable,
48558        ) -> *mut GMount,
48559    >,
48560}
48561#[test]
48562fn bindgen_test_layout__GNativeVolumeMonitorClass() {
48563    const UNINIT: ::std::mem::MaybeUninit<_GNativeVolumeMonitorClass> =
48564        ::std::mem::MaybeUninit::uninit();
48565    let ptr = UNINIT.as_ptr();
48566    assert_eq!(
48567        ::std::mem::size_of::<_GNativeVolumeMonitorClass>(),
48568        344usize,
48569        concat!("Size of: ", stringify!(_GNativeVolumeMonitorClass))
48570    );
48571    assert_eq!(
48572        ::std::mem::align_of::<_GNativeVolumeMonitorClass>(),
48573        8usize,
48574        concat!("Alignment of ", stringify!(_GNativeVolumeMonitorClass))
48575    );
48576    assert_eq!(
48577        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
48578        0usize,
48579        concat!(
48580            "Offset of field: ",
48581            stringify!(_GNativeVolumeMonitorClass),
48582            "::",
48583            stringify!(parent_class)
48584        )
48585    );
48586    assert_eq!(
48587        unsafe { ::std::ptr::addr_of!((*ptr).get_mount_for_mount_path) as usize - ptr as usize },
48588        336usize,
48589        concat!(
48590            "Offset of field: ",
48591            stringify!(_GNativeVolumeMonitorClass),
48592            "::",
48593            stringify!(get_mount_for_mount_path)
48594        )
48595    );
48596}
48597extern "C" {
48598    pub fn g_native_volume_monitor_get_type() -> GType;
48599}
48600pub type GNetworkAddressClass = _GNetworkAddressClass;
48601#[repr(C)]
48602#[derive(Debug, Copy, Clone)]
48603pub struct _GNetworkAddressPrivate {
48604    _unused: [u8; 0],
48605}
48606pub type GNetworkAddressPrivate = _GNetworkAddressPrivate;
48607#[repr(C)]
48608#[derive(Debug, Copy, Clone, PartialEq, Eq)]
48609pub struct _GNetworkAddress {
48610    pub parent_instance: GObject,
48611    pub priv_: *mut GNetworkAddressPrivate,
48612}
48613#[test]
48614fn bindgen_test_layout__GNetworkAddress() {
48615    const UNINIT: ::std::mem::MaybeUninit<_GNetworkAddress> = ::std::mem::MaybeUninit::uninit();
48616    let ptr = UNINIT.as_ptr();
48617    assert_eq!(
48618        ::std::mem::size_of::<_GNetworkAddress>(),
48619        32usize,
48620        concat!("Size of: ", stringify!(_GNetworkAddress))
48621    );
48622    assert_eq!(
48623        ::std::mem::align_of::<_GNetworkAddress>(),
48624        8usize,
48625        concat!("Alignment of ", stringify!(_GNetworkAddress))
48626    );
48627    assert_eq!(
48628        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
48629        0usize,
48630        concat!(
48631            "Offset of field: ",
48632            stringify!(_GNetworkAddress),
48633            "::",
48634            stringify!(parent_instance)
48635        )
48636    );
48637    assert_eq!(
48638        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
48639        24usize,
48640        concat!(
48641            "Offset of field: ",
48642            stringify!(_GNetworkAddress),
48643            "::",
48644            stringify!(priv_)
48645        )
48646    );
48647}
48648#[repr(C)]
48649#[derive(Debug, Copy, Clone, PartialEq, Eq)]
48650pub struct _GNetworkAddressClass {
48651    pub parent_class: GObjectClass,
48652}
48653#[test]
48654fn bindgen_test_layout__GNetworkAddressClass() {
48655    const UNINIT: ::std::mem::MaybeUninit<_GNetworkAddressClass> =
48656        ::std::mem::MaybeUninit::uninit();
48657    let ptr = UNINIT.as_ptr();
48658    assert_eq!(
48659        ::std::mem::size_of::<_GNetworkAddressClass>(),
48660        136usize,
48661        concat!("Size of: ", stringify!(_GNetworkAddressClass))
48662    );
48663    assert_eq!(
48664        ::std::mem::align_of::<_GNetworkAddressClass>(),
48665        8usize,
48666        concat!("Alignment of ", stringify!(_GNetworkAddressClass))
48667    );
48668    assert_eq!(
48669        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
48670        0usize,
48671        concat!(
48672            "Offset of field: ",
48673            stringify!(_GNetworkAddressClass),
48674            "::",
48675            stringify!(parent_class)
48676        )
48677    );
48678}
48679extern "C" {
48680    pub fn g_network_address_get_type() -> GType;
48681}
48682extern "C" {
48683    pub fn g_network_address_new(hostname: *const gchar, port: guint16) -> *mut GSocketConnectable;
48684}
48685extern "C" {
48686    pub fn g_network_address_new_loopback(port: guint16) -> *mut GSocketConnectable;
48687}
48688extern "C" {
48689    pub fn g_network_address_parse(
48690        host_and_port: *const gchar,
48691        default_port: guint16,
48692        error: *mut *mut GError,
48693    ) -> *mut GSocketConnectable;
48694}
48695extern "C" {
48696    pub fn g_network_address_parse_uri(
48697        uri: *const gchar,
48698        default_port: guint16,
48699        error: *mut *mut GError,
48700    ) -> *mut GSocketConnectable;
48701}
48702extern "C" {
48703    pub fn g_network_address_get_hostname(addr: *mut GNetworkAddress) -> *const gchar;
48704}
48705extern "C" {
48706    pub fn g_network_address_get_port(addr: *mut GNetworkAddress) -> guint16;
48707}
48708extern "C" {
48709    pub fn g_network_address_get_scheme(addr: *mut GNetworkAddress) -> *const gchar;
48710}
48711pub type GNetworkMonitorInterface = _GNetworkMonitorInterface;
48712#[repr(C)]
48713#[derive(Debug, Copy, Clone, PartialEq, Eq)]
48714pub struct _GNetworkMonitorInterface {
48715    pub g_iface: GTypeInterface,
48716    pub network_changed: ::std::option::Option<
48717        unsafe extern "C" fn(monitor: *mut GNetworkMonitor, network_available: gboolean),
48718    >,
48719    pub can_reach: ::std::option::Option<
48720        unsafe extern "C" fn(
48721            monitor: *mut GNetworkMonitor,
48722            connectable: *mut GSocketConnectable,
48723            cancellable: *mut GCancellable,
48724            error: *mut *mut GError,
48725        ) -> gboolean,
48726    >,
48727    pub can_reach_async: ::std::option::Option<
48728        unsafe extern "C" fn(
48729            monitor: *mut GNetworkMonitor,
48730            connectable: *mut GSocketConnectable,
48731            cancellable: *mut GCancellable,
48732            callback: GAsyncReadyCallback,
48733            user_data: gpointer,
48734        ),
48735    >,
48736    pub can_reach_finish: ::std::option::Option<
48737        unsafe extern "C" fn(
48738            monitor: *mut GNetworkMonitor,
48739            result: *mut GAsyncResult,
48740            error: *mut *mut GError,
48741        ) -> gboolean,
48742    >,
48743}
48744#[test]
48745fn bindgen_test_layout__GNetworkMonitorInterface() {
48746    const UNINIT: ::std::mem::MaybeUninit<_GNetworkMonitorInterface> =
48747        ::std::mem::MaybeUninit::uninit();
48748    let ptr = UNINIT.as_ptr();
48749    assert_eq!(
48750        ::std::mem::size_of::<_GNetworkMonitorInterface>(),
48751        48usize,
48752        concat!("Size of: ", stringify!(_GNetworkMonitorInterface))
48753    );
48754    assert_eq!(
48755        ::std::mem::align_of::<_GNetworkMonitorInterface>(),
48756        8usize,
48757        concat!("Alignment of ", stringify!(_GNetworkMonitorInterface))
48758    );
48759    assert_eq!(
48760        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
48761        0usize,
48762        concat!(
48763            "Offset of field: ",
48764            stringify!(_GNetworkMonitorInterface),
48765            "::",
48766            stringify!(g_iface)
48767        )
48768    );
48769    assert_eq!(
48770        unsafe { ::std::ptr::addr_of!((*ptr).network_changed) as usize - ptr as usize },
48771        16usize,
48772        concat!(
48773            "Offset of field: ",
48774            stringify!(_GNetworkMonitorInterface),
48775            "::",
48776            stringify!(network_changed)
48777        )
48778    );
48779    assert_eq!(
48780        unsafe { ::std::ptr::addr_of!((*ptr).can_reach) as usize - ptr as usize },
48781        24usize,
48782        concat!(
48783            "Offset of field: ",
48784            stringify!(_GNetworkMonitorInterface),
48785            "::",
48786            stringify!(can_reach)
48787        )
48788    );
48789    assert_eq!(
48790        unsafe { ::std::ptr::addr_of!((*ptr).can_reach_async) as usize - ptr as usize },
48791        32usize,
48792        concat!(
48793            "Offset of field: ",
48794            stringify!(_GNetworkMonitorInterface),
48795            "::",
48796            stringify!(can_reach_async)
48797        )
48798    );
48799    assert_eq!(
48800        unsafe { ::std::ptr::addr_of!((*ptr).can_reach_finish) as usize - ptr as usize },
48801        40usize,
48802        concat!(
48803            "Offset of field: ",
48804            stringify!(_GNetworkMonitorInterface),
48805            "::",
48806            stringify!(can_reach_finish)
48807        )
48808    );
48809}
48810extern "C" {
48811    pub fn g_network_monitor_get_type() -> GType;
48812}
48813extern "C" {
48814    pub fn g_network_monitor_get_default() -> *mut GNetworkMonitor;
48815}
48816extern "C" {
48817    pub fn g_network_monitor_get_network_available(monitor: *mut GNetworkMonitor) -> gboolean;
48818}
48819extern "C" {
48820    pub fn g_network_monitor_get_network_metered(monitor: *mut GNetworkMonitor) -> gboolean;
48821}
48822extern "C" {
48823    pub fn g_network_monitor_get_connectivity(
48824        monitor: *mut GNetworkMonitor,
48825    ) -> GNetworkConnectivity;
48826}
48827extern "C" {
48828    pub fn g_network_monitor_can_reach(
48829        monitor: *mut GNetworkMonitor,
48830        connectable: *mut GSocketConnectable,
48831        cancellable: *mut GCancellable,
48832        error: *mut *mut GError,
48833    ) -> gboolean;
48834}
48835extern "C" {
48836    pub fn g_network_monitor_can_reach_async(
48837        monitor: *mut GNetworkMonitor,
48838        connectable: *mut GSocketConnectable,
48839        cancellable: *mut GCancellable,
48840        callback: GAsyncReadyCallback,
48841        user_data: gpointer,
48842    );
48843}
48844extern "C" {
48845    pub fn g_network_monitor_can_reach_finish(
48846        monitor: *mut GNetworkMonitor,
48847        result: *mut GAsyncResult,
48848        error: *mut *mut GError,
48849    ) -> gboolean;
48850}
48851pub type GNetworkServiceClass = _GNetworkServiceClass;
48852#[repr(C)]
48853#[derive(Debug, Copy, Clone)]
48854pub struct _GNetworkServicePrivate {
48855    _unused: [u8; 0],
48856}
48857pub type GNetworkServicePrivate = _GNetworkServicePrivate;
48858#[repr(C)]
48859#[derive(Debug, Copy, Clone, PartialEq, Eq)]
48860pub struct _GNetworkService {
48861    pub parent_instance: GObject,
48862    pub priv_: *mut GNetworkServicePrivate,
48863}
48864#[test]
48865fn bindgen_test_layout__GNetworkService() {
48866    const UNINIT: ::std::mem::MaybeUninit<_GNetworkService> = ::std::mem::MaybeUninit::uninit();
48867    let ptr = UNINIT.as_ptr();
48868    assert_eq!(
48869        ::std::mem::size_of::<_GNetworkService>(),
48870        32usize,
48871        concat!("Size of: ", stringify!(_GNetworkService))
48872    );
48873    assert_eq!(
48874        ::std::mem::align_of::<_GNetworkService>(),
48875        8usize,
48876        concat!("Alignment of ", stringify!(_GNetworkService))
48877    );
48878    assert_eq!(
48879        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
48880        0usize,
48881        concat!(
48882            "Offset of field: ",
48883            stringify!(_GNetworkService),
48884            "::",
48885            stringify!(parent_instance)
48886        )
48887    );
48888    assert_eq!(
48889        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
48890        24usize,
48891        concat!(
48892            "Offset of field: ",
48893            stringify!(_GNetworkService),
48894            "::",
48895            stringify!(priv_)
48896        )
48897    );
48898}
48899#[repr(C)]
48900#[derive(Debug, Copy, Clone, PartialEq, Eq)]
48901pub struct _GNetworkServiceClass {
48902    pub parent_class: GObjectClass,
48903}
48904#[test]
48905fn bindgen_test_layout__GNetworkServiceClass() {
48906    const UNINIT: ::std::mem::MaybeUninit<_GNetworkServiceClass> =
48907        ::std::mem::MaybeUninit::uninit();
48908    let ptr = UNINIT.as_ptr();
48909    assert_eq!(
48910        ::std::mem::size_of::<_GNetworkServiceClass>(),
48911        136usize,
48912        concat!("Size of: ", stringify!(_GNetworkServiceClass))
48913    );
48914    assert_eq!(
48915        ::std::mem::align_of::<_GNetworkServiceClass>(),
48916        8usize,
48917        concat!("Alignment of ", stringify!(_GNetworkServiceClass))
48918    );
48919    assert_eq!(
48920        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
48921        0usize,
48922        concat!(
48923            "Offset of field: ",
48924            stringify!(_GNetworkServiceClass),
48925            "::",
48926            stringify!(parent_class)
48927        )
48928    );
48929}
48930extern "C" {
48931    pub fn g_network_service_get_type() -> GType;
48932}
48933extern "C" {
48934    pub fn g_network_service_new(
48935        service: *const gchar,
48936        protocol: *const gchar,
48937        domain: *const gchar,
48938    ) -> *mut GSocketConnectable;
48939}
48940extern "C" {
48941    pub fn g_network_service_get_service(srv: *mut GNetworkService) -> *const gchar;
48942}
48943extern "C" {
48944    pub fn g_network_service_get_protocol(srv: *mut GNetworkService) -> *const gchar;
48945}
48946extern "C" {
48947    pub fn g_network_service_get_domain(srv: *mut GNetworkService) -> *const gchar;
48948}
48949extern "C" {
48950    pub fn g_network_service_get_scheme(srv: *mut GNetworkService) -> *const gchar;
48951}
48952extern "C" {
48953    pub fn g_network_service_set_scheme(srv: *mut GNetworkService, scheme: *const gchar);
48954}
48955extern "C" {
48956    pub fn g_notification_get_type() -> GType;
48957}
48958extern "C" {
48959    pub fn g_notification_new(title: *const gchar) -> *mut GNotification;
48960}
48961extern "C" {
48962    pub fn g_notification_set_title(notification: *mut GNotification, title: *const gchar);
48963}
48964extern "C" {
48965    pub fn g_notification_set_body(notification: *mut GNotification, body: *const gchar);
48966}
48967extern "C" {
48968    pub fn g_notification_set_icon(notification: *mut GNotification, icon: *mut GIcon);
48969}
48970extern "C" {
48971    pub fn g_notification_set_urgent(notification: *mut GNotification, urgent: gboolean);
48972}
48973extern "C" {
48974    pub fn g_notification_set_priority(
48975        notification: *mut GNotification,
48976        priority: GNotificationPriority,
48977    );
48978}
48979extern "C" {
48980    pub fn g_notification_set_category(notification: *mut GNotification, category: *const gchar);
48981}
48982extern "C" {
48983    pub fn g_notification_add_button(
48984        notification: *mut GNotification,
48985        label: *const gchar,
48986        detailed_action: *const gchar,
48987    );
48988}
48989extern "C" {
48990    pub fn g_notification_add_button_with_target(
48991        notification: *mut GNotification,
48992        label: *const gchar,
48993        action: *const gchar,
48994        target_format: *const gchar,
48995        ...
48996    );
48997}
48998extern "C" {
48999    pub fn g_notification_add_button_with_target_value(
49000        notification: *mut GNotification,
49001        label: *const gchar,
49002        action: *const gchar,
49003        target: *mut GVariant,
49004    );
49005}
49006extern "C" {
49007    pub fn g_notification_set_default_action(
49008        notification: *mut GNotification,
49009        detailed_action: *const gchar,
49010    );
49011}
49012extern "C" {
49013    pub fn g_notification_set_default_action_and_target(
49014        notification: *mut GNotification,
49015        action: *const gchar,
49016        target_format: *const gchar,
49017        ...
49018    );
49019}
49020extern "C" {
49021    pub fn g_notification_set_default_action_and_target_value(
49022        notification: *mut GNotification,
49023        action: *const gchar,
49024        target: *mut GVariant,
49025    );
49026}
49027#[repr(C)]
49028#[derive(Debug, Copy, Clone)]
49029pub struct _GPermissionPrivate {
49030    _unused: [u8; 0],
49031}
49032pub type GPermissionPrivate = _GPermissionPrivate;
49033pub type GPermissionClass = _GPermissionClass;
49034#[repr(C)]
49035#[derive(Debug, Copy, Clone, PartialEq, Eq)]
49036pub struct _GPermission {
49037    pub parent_instance: GObject,
49038    pub priv_: *mut GPermissionPrivate,
49039}
49040#[test]
49041fn bindgen_test_layout__GPermission() {
49042    const UNINIT: ::std::mem::MaybeUninit<_GPermission> = ::std::mem::MaybeUninit::uninit();
49043    let ptr = UNINIT.as_ptr();
49044    assert_eq!(
49045        ::std::mem::size_of::<_GPermission>(),
49046        32usize,
49047        concat!("Size of: ", stringify!(_GPermission))
49048    );
49049    assert_eq!(
49050        ::std::mem::align_of::<_GPermission>(),
49051        8usize,
49052        concat!("Alignment of ", stringify!(_GPermission))
49053    );
49054    assert_eq!(
49055        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
49056        0usize,
49057        concat!(
49058            "Offset of field: ",
49059            stringify!(_GPermission),
49060            "::",
49061            stringify!(parent_instance)
49062        )
49063    );
49064    assert_eq!(
49065        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
49066        24usize,
49067        concat!(
49068            "Offset of field: ",
49069            stringify!(_GPermission),
49070            "::",
49071            stringify!(priv_)
49072        )
49073    );
49074}
49075#[repr(C)]
49076#[derive(Debug, Copy, Clone, PartialEq, Eq)]
49077pub struct _GPermissionClass {
49078    pub parent_class: GObjectClass,
49079    pub acquire: ::std::option::Option<
49080        unsafe extern "C" fn(
49081            permission: *mut GPermission,
49082            cancellable: *mut GCancellable,
49083            error: *mut *mut GError,
49084        ) -> gboolean,
49085    >,
49086    pub acquire_async: ::std::option::Option<
49087        unsafe extern "C" fn(
49088            permission: *mut GPermission,
49089            cancellable: *mut GCancellable,
49090            callback: GAsyncReadyCallback,
49091            user_data: gpointer,
49092        ),
49093    >,
49094    pub acquire_finish: ::std::option::Option<
49095        unsafe extern "C" fn(
49096            permission: *mut GPermission,
49097            result: *mut GAsyncResult,
49098            error: *mut *mut GError,
49099        ) -> gboolean,
49100    >,
49101    pub release: ::std::option::Option<
49102        unsafe extern "C" fn(
49103            permission: *mut GPermission,
49104            cancellable: *mut GCancellable,
49105            error: *mut *mut GError,
49106        ) -> gboolean,
49107    >,
49108    pub release_async: ::std::option::Option<
49109        unsafe extern "C" fn(
49110            permission: *mut GPermission,
49111            cancellable: *mut GCancellable,
49112            callback: GAsyncReadyCallback,
49113            user_data: gpointer,
49114        ),
49115    >,
49116    pub release_finish: ::std::option::Option<
49117        unsafe extern "C" fn(
49118            permission: *mut GPermission,
49119            result: *mut GAsyncResult,
49120            error: *mut *mut GError,
49121        ) -> gboolean,
49122    >,
49123    pub reserved: [gpointer; 16usize],
49124}
49125#[test]
49126fn bindgen_test_layout__GPermissionClass() {
49127    const UNINIT: ::std::mem::MaybeUninit<_GPermissionClass> = ::std::mem::MaybeUninit::uninit();
49128    let ptr = UNINIT.as_ptr();
49129    assert_eq!(
49130        ::std::mem::size_of::<_GPermissionClass>(),
49131        312usize,
49132        concat!("Size of: ", stringify!(_GPermissionClass))
49133    );
49134    assert_eq!(
49135        ::std::mem::align_of::<_GPermissionClass>(),
49136        8usize,
49137        concat!("Alignment of ", stringify!(_GPermissionClass))
49138    );
49139    assert_eq!(
49140        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
49141        0usize,
49142        concat!(
49143            "Offset of field: ",
49144            stringify!(_GPermissionClass),
49145            "::",
49146            stringify!(parent_class)
49147        )
49148    );
49149    assert_eq!(
49150        unsafe { ::std::ptr::addr_of!((*ptr).acquire) as usize - ptr as usize },
49151        136usize,
49152        concat!(
49153            "Offset of field: ",
49154            stringify!(_GPermissionClass),
49155            "::",
49156            stringify!(acquire)
49157        )
49158    );
49159    assert_eq!(
49160        unsafe { ::std::ptr::addr_of!((*ptr).acquire_async) as usize - ptr as usize },
49161        144usize,
49162        concat!(
49163            "Offset of field: ",
49164            stringify!(_GPermissionClass),
49165            "::",
49166            stringify!(acquire_async)
49167        )
49168    );
49169    assert_eq!(
49170        unsafe { ::std::ptr::addr_of!((*ptr).acquire_finish) as usize - ptr as usize },
49171        152usize,
49172        concat!(
49173            "Offset of field: ",
49174            stringify!(_GPermissionClass),
49175            "::",
49176            stringify!(acquire_finish)
49177        )
49178    );
49179    assert_eq!(
49180        unsafe { ::std::ptr::addr_of!((*ptr).release) as usize - ptr as usize },
49181        160usize,
49182        concat!(
49183            "Offset of field: ",
49184            stringify!(_GPermissionClass),
49185            "::",
49186            stringify!(release)
49187        )
49188    );
49189    assert_eq!(
49190        unsafe { ::std::ptr::addr_of!((*ptr).release_async) as usize - ptr as usize },
49191        168usize,
49192        concat!(
49193            "Offset of field: ",
49194            stringify!(_GPermissionClass),
49195            "::",
49196            stringify!(release_async)
49197        )
49198    );
49199    assert_eq!(
49200        unsafe { ::std::ptr::addr_of!((*ptr).release_finish) as usize - ptr as usize },
49201        176usize,
49202        concat!(
49203            "Offset of field: ",
49204            stringify!(_GPermissionClass),
49205            "::",
49206            stringify!(release_finish)
49207        )
49208    );
49209    assert_eq!(
49210        unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
49211        184usize,
49212        concat!(
49213            "Offset of field: ",
49214            stringify!(_GPermissionClass),
49215            "::",
49216            stringify!(reserved)
49217        )
49218    );
49219}
49220extern "C" {
49221    pub fn g_permission_get_type() -> GType;
49222}
49223extern "C" {
49224    pub fn g_permission_acquire(
49225        permission: *mut GPermission,
49226        cancellable: *mut GCancellable,
49227        error: *mut *mut GError,
49228    ) -> gboolean;
49229}
49230extern "C" {
49231    pub fn g_permission_acquire_async(
49232        permission: *mut GPermission,
49233        cancellable: *mut GCancellable,
49234        callback: GAsyncReadyCallback,
49235        user_data: gpointer,
49236    );
49237}
49238extern "C" {
49239    pub fn g_permission_acquire_finish(
49240        permission: *mut GPermission,
49241        result: *mut GAsyncResult,
49242        error: *mut *mut GError,
49243    ) -> gboolean;
49244}
49245extern "C" {
49246    pub fn g_permission_release(
49247        permission: *mut GPermission,
49248        cancellable: *mut GCancellable,
49249        error: *mut *mut GError,
49250    ) -> gboolean;
49251}
49252extern "C" {
49253    pub fn g_permission_release_async(
49254        permission: *mut GPermission,
49255        cancellable: *mut GCancellable,
49256        callback: GAsyncReadyCallback,
49257        user_data: gpointer,
49258    );
49259}
49260extern "C" {
49261    pub fn g_permission_release_finish(
49262        permission: *mut GPermission,
49263        result: *mut GAsyncResult,
49264        error: *mut *mut GError,
49265    ) -> gboolean;
49266}
49267extern "C" {
49268    pub fn g_permission_get_allowed(permission: *mut GPermission) -> gboolean;
49269}
49270extern "C" {
49271    pub fn g_permission_get_can_acquire(permission: *mut GPermission) -> gboolean;
49272}
49273extern "C" {
49274    pub fn g_permission_get_can_release(permission: *mut GPermission) -> gboolean;
49275}
49276extern "C" {
49277    pub fn g_permission_impl_update(
49278        permission: *mut GPermission,
49279        allowed: gboolean,
49280        can_acquire: gboolean,
49281        can_release: gboolean,
49282    );
49283}
49284pub type GPollableInputStreamInterface = _GPollableInputStreamInterface;
49285#[repr(C)]
49286#[derive(Debug, Copy, Clone, PartialEq, Eq)]
49287pub struct _GPollableInputStreamInterface {
49288    pub g_iface: GTypeInterface,
49289    pub can_poll:
49290        ::std::option::Option<unsafe extern "C" fn(stream: *mut GPollableInputStream) -> gboolean>,
49291    pub is_readable:
49292        ::std::option::Option<unsafe extern "C" fn(stream: *mut GPollableInputStream) -> gboolean>,
49293    pub create_source: ::std::option::Option<
49294        unsafe extern "C" fn(
49295            stream: *mut GPollableInputStream,
49296            cancellable: *mut GCancellable,
49297        ) -> *mut GSource,
49298    >,
49299    pub read_nonblocking: ::std::option::Option<
49300        unsafe extern "C" fn(
49301            stream: *mut GPollableInputStream,
49302            buffer: *mut ::std::os::raw::c_void,
49303            count: gsize,
49304            error: *mut *mut GError,
49305        ) -> gssize,
49306    >,
49307}
49308#[test]
49309fn bindgen_test_layout__GPollableInputStreamInterface() {
49310    const UNINIT: ::std::mem::MaybeUninit<_GPollableInputStreamInterface> =
49311        ::std::mem::MaybeUninit::uninit();
49312    let ptr = UNINIT.as_ptr();
49313    assert_eq!(
49314        ::std::mem::size_of::<_GPollableInputStreamInterface>(),
49315        48usize,
49316        concat!("Size of: ", stringify!(_GPollableInputStreamInterface))
49317    );
49318    assert_eq!(
49319        ::std::mem::align_of::<_GPollableInputStreamInterface>(),
49320        8usize,
49321        concat!("Alignment of ", stringify!(_GPollableInputStreamInterface))
49322    );
49323    assert_eq!(
49324        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
49325        0usize,
49326        concat!(
49327            "Offset of field: ",
49328            stringify!(_GPollableInputStreamInterface),
49329            "::",
49330            stringify!(g_iface)
49331        )
49332    );
49333    assert_eq!(
49334        unsafe { ::std::ptr::addr_of!((*ptr).can_poll) as usize - ptr as usize },
49335        16usize,
49336        concat!(
49337            "Offset of field: ",
49338            stringify!(_GPollableInputStreamInterface),
49339            "::",
49340            stringify!(can_poll)
49341        )
49342    );
49343    assert_eq!(
49344        unsafe { ::std::ptr::addr_of!((*ptr).is_readable) as usize - ptr as usize },
49345        24usize,
49346        concat!(
49347            "Offset of field: ",
49348            stringify!(_GPollableInputStreamInterface),
49349            "::",
49350            stringify!(is_readable)
49351        )
49352    );
49353    assert_eq!(
49354        unsafe { ::std::ptr::addr_of!((*ptr).create_source) as usize - ptr as usize },
49355        32usize,
49356        concat!(
49357            "Offset of field: ",
49358            stringify!(_GPollableInputStreamInterface),
49359            "::",
49360            stringify!(create_source)
49361        )
49362    );
49363    assert_eq!(
49364        unsafe { ::std::ptr::addr_of!((*ptr).read_nonblocking) as usize - ptr as usize },
49365        40usize,
49366        concat!(
49367            "Offset of field: ",
49368            stringify!(_GPollableInputStreamInterface),
49369            "::",
49370            stringify!(read_nonblocking)
49371        )
49372    );
49373}
49374extern "C" {
49375    pub fn g_pollable_input_stream_get_type() -> GType;
49376}
49377extern "C" {
49378    pub fn g_pollable_input_stream_can_poll(stream: *mut GPollableInputStream) -> gboolean;
49379}
49380extern "C" {
49381    pub fn g_pollable_input_stream_is_readable(stream: *mut GPollableInputStream) -> gboolean;
49382}
49383extern "C" {
49384    pub fn g_pollable_input_stream_create_source(
49385        stream: *mut GPollableInputStream,
49386        cancellable: *mut GCancellable,
49387    ) -> *mut GSource;
49388}
49389extern "C" {
49390    pub fn g_pollable_input_stream_read_nonblocking(
49391        stream: *mut GPollableInputStream,
49392        buffer: *mut ::std::os::raw::c_void,
49393        count: gsize,
49394        cancellable: *mut GCancellable,
49395        error: *mut *mut GError,
49396    ) -> gssize;
49397}
49398pub type GPollableOutputStreamInterface = _GPollableOutputStreamInterface;
49399#[repr(C)]
49400#[derive(Debug, Copy, Clone, PartialEq, Eq)]
49401pub struct _GPollableOutputStreamInterface {
49402    pub g_iface: GTypeInterface,
49403    pub can_poll:
49404        ::std::option::Option<unsafe extern "C" fn(stream: *mut GPollableOutputStream) -> gboolean>,
49405    pub is_writable:
49406        ::std::option::Option<unsafe extern "C" fn(stream: *mut GPollableOutputStream) -> gboolean>,
49407    pub create_source: ::std::option::Option<
49408        unsafe extern "C" fn(
49409            stream: *mut GPollableOutputStream,
49410            cancellable: *mut GCancellable,
49411        ) -> *mut GSource,
49412    >,
49413    pub write_nonblocking: ::std::option::Option<
49414        unsafe extern "C" fn(
49415            stream: *mut GPollableOutputStream,
49416            buffer: *const ::std::os::raw::c_void,
49417            count: gsize,
49418            error: *mut *mut GError,
49419        ) -> gssize,
49420    >,
49421    pub writev_nonblocking: ::std::option::Option<
49422        unsafe extern "C" fn(
49423            stream: *mut GPollableOutputStream,
49424            vectors: *const GOutputVector,
49425            n_vectors: gsize,
49426            bytes_written: *mut gsize,
49427            error: *mut *mut GError,
49428        ) -> GPollableReturn,
49429    >,
49430}
49431#[test]
49432fn bindgen_test_layout__GPollableOutputStreamInterface() {
49433    const UNINIT: ::std::mem::MaybeUninit<_GPollableOutputStreamInterface> =
49434        ::std::mem::MaybeUninit::uninit();
49435    let ptr = UNINIT.as_ptr();
49436    assert_eq!(
49437        ::std::mem::size_of::<_GPollableOutputStreamInterface>(),
49438        56usize,
49439        concat!("Size of: ", stringify!(_GPollableOutputStreamInterface))
49440    );
49441    assert_eq!(
49442        ::std::mem::align_of::<_GPollableOutputStreamInterface>(),
49443        8usize,
49444        concat!("Alignment of ", stringify!(_GPollableOutputStreamInterface))
49445    );
49446    assert_eq!(
49447        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
49448        0usize,
49449        concat!(
49450            "Offset of field: ",
49451            stringify!(_GPollableOutputStreamInterface),
49452            "::",
49453            stringify!(g_iface)
49454        )
49455    );
49456    assert_eq!(
49457        unsafe { ::std::ptr::addr_of!((*ptr).can_poll) as usize - ptr as usize },
49458        16usize,
49459        concat!(
49460            "Offset of field: ",
49461            stringify!(_GPollableOutputStreamInterface),
49462            "::",
49463            stringify!(can_poll)
49464        )
49465    );
49466    assert_eq!(
49467        unsafe { ::std::ptr::addr_of!((*ptr).is_writable) as usize - ptr as usize },
49468        24usize,
49469        concat!(
49470            "Offset of field: ",
49471            stringify!(_GPollableOutputStreamInterface),
49472            "::",
49473            stringify!(is_writable)
49474        )
49475    );
49476    assert_eq!(
49477        unsafe { ::std::ptr::addr_of!((*ptr).create_source) as usize - ptr as usize },
49478        32usize,
49479        concat!(
49480            "Offset of field: ",
49481            stringify!(_GPollableOutputStreamInterface),
49482            "::",
49483            stringify!(create_source)
49484        )
49485    );
49486    assert_eq!(
49487        unsafe { ::std::ptr::addr_of!((*ptr).write_nonblocking) as usize - ptr as usize },
49488        40usize,
49489        concat!(
49490            "Offset of field: ",
49491            stringify!(_GPollableOutputStreamInterface),
49492            "::",
49493            stringify!(write_nonblocking)
49494        )
49495    );
49496    assert_eq!(
49497        unsafe { ::std::ptr::addr_of!((*ptr).writev_nonblocking) as usize - ptr as usize },
49498        48usize,
49499        concat!(
49500            "Offset of field: ",
49501            stringify!(_GPollableOutputStreamInterface),
49502            "::",
49503            stringify!(writev_nonblocking)
49504        )
49505    );
49506}
49507extern "C" {
49508    pub fn g_pollable_output_stream_get_type() -> GType;
49509}
49510extern "C" {
49511    pub fn g_pollable_output_stream_can_poll(stream: *mut GPollableOutputStream) -> gboolean;
49512}
49513extern "C" {
49514    pub fn g_pollable_output_stream_is_writable(stream: *mut GPollableOutputStream) -> gboolean;
49515}
49516extern "C" {
49517    pub fn g_pollable_output_stream_create_source(
49518        stream: *mut GPollableOutputStream,
49519        cancellable: *mut GCancellable,
49520    ) -> *mut GSource;
49521}
49522extern "C" {
49523    pub fn g_pollable_output_stream_write_nonblocking(
49524        stream: *mut GPollableOutputStream,
49525        buffer: *const ::std::os::raw::c_void,
49526        count: gsize,
49527        cancellable: *mut GCancellable,
49528        error: *mut *mut GError,
49529    ) -> gssize;
49530}
49531extern "C" {
49532    pub fn g_pollable_output_stream_writev_nonblocking(
49533        stream: *mut GPollableOutputStream,
49534        vectors: *const GOutputVector,
49535        n_vectors: gsize,
49536        bytes_written: *mut gsize,
49537        cancellable: *mut GCancellable,
49538        error: *mut *mut GError,
49539    ) -> GPollableReturn;
49540}
49541extern "C" {
49542    pub fn g_pollable_source_new(pollable_stream: *mut GObject) -> *mut GSource;
49543}
49544extern "C" {
49545    pub fn g_pollable_source_new_full(
49546        pollable_stream: gpointer,
49547        child_source: *mut GSource,
49548        cancellable: *mut GCancellable,
49549    ) -> *mut GSource;
49550}
49551extern "C" {
49552    pub fn g_pollable_stream_read(
49553        stream: *mut GInputStream,
49554        buffer: *mut ::std::os::raw::c_void,
49555        count: gsize,
49556        blocking: gboolean,
49557        cancellable: *mut GCancellable,
49558        error: *mut *mut GError,
49559    ) -> gssize;
49560}
49561extern "C" {
49562    pub fn g_pollable_stream_write(
49563        stream: *mut GOutputStream,
49564        buffer: *const ::std::os::raw::c_void,
49565        count: gsize,
49566        blocking: gboolean,
49567        cancellable: *mut GCancellable,
49568        error: *mut *mut GError,
49569    ) -> gssize;
49570}
49571extern "C" {
49572    pub fn g_pollable_stream_write_all(
49573        stream: *mut GOutputStream,
49574        buffer: *const ::std::os::raw::c_void,
49575        count: gsize,
49576        blocking: gboolean,
49577        bytes_written: *mut gsize,
49578        cancellable: *mut GCancellable,
49579        error: *mut *mut GError,
49580    ) -> gboolean;
49581}
49582extern "C" {
49583    pub fn g_power_profile_monitor_get_type() -> GType;
49584}
49585#[repr(C)]
49586#[derive(Debug, Copy, Clone)]
49587pub struct _GPowerProfileMonitor {
49588    _unused: [u8; 0],
49589}
49590pub type GPowerProfileMonitor = _GPowerProfileMonitor;
49591pub type GPowerProfileMonitorInterface = _GPowerProfileMonitorInterface;
49592pub type GPowerProfileMonitor_autoptr = *mut GPowerProfileMonitor;
49593pub type GPowerProfileMonitor_listautoptr = *mut GList;
49594pub type GPowerProfileMonitor_slistautoptr = *mut GSList;
49595pub type GPowerProfileMonitor_queueautoptr = *mut GQueue;
49596#[repr(C)]
49597#[derive(Debug, Copy, Clone, PartialEq, Eq)]
49598pub struct _GPowerProfileMonitorInterface {
49599    pub g_iface: GTypeInterface,
49600}
49601#[test]
49602fn bindgen_test_layout__GPowerProfileMonitorInterface() {
49603    const UNINIT: ::std::mem::MaybeUninit<_GPowerProfileMonitorInterface> =
49604        ::std::mem::MaybeUninit::uninit();
49605    let ptr = UNINIT.as_ptr();
49606    assert_eq!(
49607        ::std::mem::size_of::<_GPowerProfileMonitorInterface>(),
49608        16usize,
49609        concat!("Size of: ", stringify!(_GPowerProfileMonitorInterface))
49610    );
49611    assert_eq!(
49612        ::std::mem::align_of::<_GPowerProfileMonitorInterface>(),
49613        8usize,
49614        concat!("Alignment of ", stringify!(_GPowerProfileMonitorInterface))
49615    );
49616    assert_eq!(
49617        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
49618        0usize,
49619        concat!(
49620            "Offset of field: ",
49621            stringify!(_GPowerProfileMonitorInterface),
49622            "::",
49623            stringify!(g_iface)
49624        )
49625    );
49626}
49627extern "C" {
49628    pub fn g_power_profile_monitor_dup_default() -> *mut GPowerProfileMonitor;
49629}
49630extern "C" {
49631    pub fn g_power_profile_monitor_get_power_saver_enabled(
49632        monitor: *mut GPowerProfileMonitor,
49633    ) -> gboolean;
49634}
49635extern "C" {
49636    pub fn g_property_action_get_type() -> GType;
49637}
49638extern "C" {
49639    pub fn g_property_action_new(
49640        name: *const gchar,
49641        object: gpointer,
49642        property_name: *const gchar,
49643    ) -> *mut GPropertyAction;
49644}
49645pub type GProxyInterface = _GProxyInterface;
49646#[repr(C)]
49647#[derive(Debug, Copy, Clone, PartialEq, Eq)]
49648pub struct _GProxyInterface {
49649    pub g_iface: GTypeInterface,
49650    pub connect: ::std::option::Option<
49651        unsafe extern "C" fn(
49652            proxy: *mut GProxy,
49653            connection: *mut GIOStream,
49654            proxy_address: *mut GProxyAddress,
49655            cancellable: *mut GCancellable,
49656            error: *mut *mut GError,
49657        ) -> *mut GIOStream,
49658    >,
49659    pub connect_async: ::std::option::Option<
49660        unsafe extern "C" fn(
49661            proxy: *mut GProxy,
49662            connection: *mut GIOStream,
49663            proxy_address: *mut GProxyAddress,
49664            cancellable: *mut GCancellable,
49665            callback: GAsyncReadyCallback,
49666            user_data: gpointer,
49667        ),
49668    >,
49669    pub connect_finish: ::std::option::Option<
49670        unsafe extern "C" fn(
49671            proxy: *mut GProxy,
49672            result: *mut GAsyncResult,
49673            error: *mut *mut GError,
49674        ) -> *mut GIOStream,
49675    >,
49676    pub supports_hostname:
49677        ::std::option::Option<unsafe extern "C" fn(proxy: *mut GProxy) -> gboolean>,
49678}
49679#[test]
49680fn bindgen_test_layout__GProxyInterface() {
49681    const UNINIT: ::std::mem::MaybeUninit<_GProxyInterface> = ::std::mem::MaybeUninit::uninit();
49682    let ptr = UNINIT.as_ptr();
49683    assert_eq!(
49684        ::std::mem::size_of::<_GProxyInterface>(),
49685        48usize,
49686        concat!("Size of: ", stringify!(_GProxyInterface))
49687    );
49688    assert_eq!(
49689        ::std::mem::align_of::<_GProxyInterface>(),
49690        8usize,
49691        concat!("Alignment of ", stringify!(_GProxyInterface))
49692    );
49693    assert_eq!(
49694        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
49695        0usize,
49696        concat!(
49697            "Offset of field: ",
49698            stringify!(_GProxyInterface),
49699            "::",
49700            stringify!(g_iface)
49701        )
49702    );
49703    assert_eq!(
49704        unsafe { ::std::ptr::addr_of!((*ptr).connect) as usize - ptr as usize },
49705        16usize,
49706        concat!(
49707            "Offset of field: ",
49708            stringify!(_GProxyInterface),
49709            "::",
49710            stringify!(connect)
49711        )
49712    );
49713    assert_eq!(
49714        unsafe { ::std::ptr::addr_of!((*ptr).connect_async) as usize - ptr as usize },
49715        24usize,
49716        concat!(
49717            "Offset of field: ",
49718            stringify!(_GProxyInterface),
49719            "::",
49720            stringify!(connect_async)
49721        )
49722    );
49723    assert_eq!(
49724        unsafe { ::std::ptr::addr_of!((*ptr).connect_finish) as usize - ptr as usize },
49725        32usize,
49726        concat!(
49727            "Offset of field: ",
49728            stringify!(_GProxyInterface),
49729            "::",
49730            stringify!(connect_finish)
49731        )
49732    );
49733    assert_eq!(
49734        unsafe { ::std::ptr::addr_of!((*ptr).supports_hostname) as usize - ptr as usize },
49735        40usize,
49736        concat!(
49737            "Offset of field: ",
49738            stringify!(_GProxyInterface),
49739            "::",
49740            stringify!(supports_hostname)
49741        )
49742    );
49743}
49744extern "C" {
49745    pub fn g_proxy_get_type() -> GType;
49746}
49747extern "C" {
49748    pub fn g_proxy_get_default_for_protocol(protocol: *const gchar) -> *mut GProxy;
49749}
49750extern "C" {
49751    pub fn g_proxy_connect(
49752        proxy: *mut GProxy,
49753        connection: *mut GIOStream,
49754        proxy_address: *mut GProxyAddress,
49755        cancellable: *mut GCancellable,
49756        error: *mut *mut GError,
49757    ) -> *mut GIOStream;
49758}
49759extern "C" {
49760    pub fn g_proxy_connect_async(
49761        proxy: *mut GProxy,
49762        connection: *mut GIOStream,
49763        proxy_address: *mut GProxyAddress,
49764        cancellable: *mut GCancellable,
49765        callback: GAsyncReadyCallback,
49766        user_data: gpointer,
49767    );
49768}
49769extern "C" {
49770    pub fn g_proxy_connect_finish(
49771        proxy: *mut GProxy,
49772        result: *mut GAsyncResult,
49773        error: *mut *mut GError,
49774    ) -> *mut GIOStream;
49775}
49776extern "C" {
49777    pub fn g_proxy_supports_hostname(proxy: *mut GProxy) -> gboolean;
49778}
49779pub type GProxyAddressClass = _GProxyAddressClass;
49780#[repr(C)]
49781#[derive(Debug, Copy, Clone)]
49782pub struct _GProxyAddressPrivate {
49783    _unused: [u8; 0],
49784}
49785pub type GProxyAddressPrivate = _GProxyAddressPrivate;
49786#[repr(C)]
49787#[derive(Debug, Copy, Clone, PartialEq, Eq)]
49788pub struct _GProxyAddress {
49789    pub parent_instance: GInetSocketAddress,
49790    pub priv_: *mut GProxyAddressPrivate,
49791}
49792#[test]
49793fn bindgen_test_layout__GProxyAddress() {
49794    const UNINIT: ::std::mem::MaybeUninit<_GProxyAddress> = ::std::mem::MaybeUninit::uninit();
49795    let ptr = UNINIT.as_ptr();
49796    assert_eq!(
49797        ::std::mem::size_of::<_GProxyAddress>(),
49798        40usize,
49799        concat!("Size of: ", stringify!(_GProxyAddress))
49800    );
49801    assert_eq!(
49802        ::std::mem::align_of::<_GProxyAddress>(),
49803        8usize,
49804        concat!("Alignment of ", stringify!(_GProxyAddress))
49805    );
49806    assert_eq!(
49807        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
49808        0usize,
49809        concat!(
49810            "Offset of field: ",
49811            stringify!(_GProxyAddress),
49812            "::",
49813            stringify!(parent_instance)
49814        )
49815    );
49816    assert_eq!(
49817        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
49818        32usize,
49819        concat!(
49820            "Offset of field: ",
49821            stringify!(_GProxyAddress),
49822            "::",
49823            stringify!(priv_)
49824        )
49825    );
49826}
49827#[repr(C)]
49828#[derive(Debug, Copy, Clone, PartialEq, Eq)]
49829pub struct _GProxyAddressClass {
49830    pub parent_class: GInetSocketAddressClass,
49831}
49832#[test]
49833fn bindgen_test_layout__GProxyAddressClass() {
49834    const UNINIT: ::std::mem::MaybeUninit<_GProxyAddressClass> = ::std::mem::MaybeUninit::uninit();
49835    let ptr = UNINIT.as_ptr();
49836    assert_eq!(
49837        ::std::mem::size_of::<_GProxyAddressClass>(),
49838        160usize,
49839        concat!("Size of: ", stringify!(_GProxyAddressClass))
49840    );
49841    assert_eq!(
49842        ::std::mem::align_of::<_GProxyAddressClass>(),
49843        8usize,
49844        concat!("Alignment of ", stringify!(_GProxyAddressClass))
49845    );
49846    assert_eq!(
49847        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
49848        0usize,
49849        concat!(
49850            "Offset of field: ",
49851            stringify!(_GProxyAddressClass),
49852            "::",
49853            stringify!(parent_class)
49854        )
49855    );
49856}
49857extern "C" {
49858    pub fn g_proxy_address_get_type() -> GType;
49859}
49860extern "C" {
49861    pub fn g_proxy_address_new(
49862        inetaddr: *mut GInetAddress,
49863        port: guint16,
49864        protocol: *const gchar,
49865        dest_hostname: *const gchar,
49866        dest_port: guint16,
49867        username: *const gchar,
49868        password: *const gchar,
49869    ) -> *mut GSocketAddress;
49870}
49871extern "C" {
49872    pub fn g_proxy_address_get_protocol(proxy: *mut GProxyAddress) -> *const gchar;
49873}
49874extern "C" {
49875    pub fn g_proxy_address_get_destination_protocol(proxy: *mut GProxyAddress) -> *const gchar;
49876}
49877extern "C" {
49878    pub fn g_proxy_address_get_destination_hostname(proxy: *mut GProxyAddress) -> *const gchar;
49879}
49880extern "C" {
49881    pub fn g_proxy_address_get_destination_port(proxy: *mut GProxyAddress) -> guint16;
49882}
49883extern "C" {
49884    pub fn g_proxy_address_get_username(proxy: *mut GProxyAddress) -> *const gchar;
49885}
49886extern "C" {
49887    pub fn g_proxy_address_get_password(proxy: *mut GProxyAddress) -> *const gchar;
49888}
49889extern "C" {
49890    pub fn g_proxy_address_get_uri(proxy: *mut GProxyAddress) -> *const gchar;
49891}
49892pub type GSocketAddressEnumeratorClass = _GSocketAddressEnumeratorClass;
49893#[repr(C)]
49894#[derive(Debug, Copy, Clone, PartialEq, Eq)]
49895pub struct _GSocketAddressEnumerator {
49896    pub parent_instance: GObject,
49897}
49898#[test]
49899fn bindgen_test_layout__GSocketAddressEnumerator() {
49900    const UNINIT: ::std::mem::MaybeUninit<_GSocketAddressEnumerator> =
49901        ::std::mem::MaybeUninit::uninit();
49902    let ptr = UNINIT.as_ptr();
49903    assert_eq!(
49904        ::std::mem::size_of::<_GSocketAddressEnumerator>(),
49905        24usize,
49906        concat!("Size of: ", stringify!(_GSocketAddressEnumerator))
49907    );
49908    assert_eq!(
49909        ::std::mem::align_of::<_GSocketAddressEnumerator>(),
49910        8usize,
49911        concat!("Alignment of ", stringify!(_GSocketAddressEnumerator))
49912    );
49913    assert_eq!(
49914        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
49915        0usize,
49916        concat!(
49917            "Offset of field: ",
49918            stringify!(_GSocketAddressEnumerator),
49919            "::",
49920            stringify!(parent_instance)
49921        )
49922    );
49923}
49924#[repr(C)]
49925#[derive(Debug, Copy, Clone, PartialEq, Eq)]
49926pub struct _GSocketAddressEnumeratorClass {
49927    pub parent_class: GObjectClass,
49928    pub next: ::std::option::Option<
49929        unsafe extern "C" fn(
49930            enumerator: *mut GSocketAddressEnumerator,
49931            cancellable: *mut GCancellable,
49932            error: *mut *mut GError,
49933        ) -> *mut GSocketAddress,
49934    >,
49935    pub next_async: ::std::option::Option<
49936        unsafe extern "C" fn(
49937            enumerator: *mut GSocketAddressEnumerator,
49938            cancellable: *mut GCancellable,
49939            callback: GAsyncReadyCallback,
49940            user_data: gpointer,
49941        ),
49942    >,
49943    pub next_finish: ::std::option::Option<
49944        unsafe extern "C" fn(
49945            enumerator: *mut GSocketAddressEnumerator,
49946            result: *mut GAsyncResult,
49947            error: *mut *mut GError,
49948        ) -> *mut GSocketAddress,
49949    >,
49950}
49951#[test]
49952fn bindgen_test_layout__GSocketAddressEnumeratorClass() {
49953    const UNINIT: ::std::mem::MaybeUninit<_GSocketAddressEnumeratorClass> =
49954        ::std::mem::MaybeUninit::uninit();
49955    let ptr = UNINIT.as_ptr();
49956    assert_eq!(
49957        ::std::mem::size_of::<_GSocketAddressEnumeratorClass>(),
49958        160usize,
49959        concat!("Size of: ", stringify!(_GSocketAddressEnumeratorClass))
49960    );
49961    assert_eq!(
49962        ::std::mem::align_of::<_GSocketAddressEnumeratorClass>(),
49963        8usize,
49964        concat!("Alignment of ", stringify!(_GSocketAddressEnumeratorClass))
49965    );
49966    assert_eq!(
49967        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
49968        0usize,
49969        concat!(
49970            "Offset of field: ",
49971            stringify!(_GSocketAddressEnumeratorClass),
49972            "::",
49973            stringify!(parent_class)
49974        )
49975    );
49976    assert_eq!(
49977        unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
49978        136usize,
49979        concat!(
49980            "Offset of field: ",
49981            stringify!(_GSocketAddressEnumeratorClass),
49982            "::",
49983            stringify!(next)
49984        )
49985    );
49986    assert_eq!(
49987        unsafe { ::std::ptr::addr_of!((*ptr).next_async) as usize - ptr as usize },
49988        144usize,
49989        concat!(
49990            "Offset of field: ",
49991            stringify!(_GSocketAddressEnumeratorClass),
49992            "::",
49993            stringify!(next_async)
49994        )
49995    );
49996    assert_eq!(
49997        unsafe { ::std::ptr::addr_of!((*ptr).next_finish) as usize - ptr as usize },
49998        152usize,
49999        concat!(
50000            "Offset of field: ",
50001            stringify!(_GSocketAddressEnumeratorClass),
50002            "::",
50003            stringify!(next_finish)
50004        )
50005    );
50006}
50007extern "C" {
50008    pub fn g_socket_address_enumerator_get_type() -> GType;
50009}
50010extern "C" {
50011    pub fn g_socket_address_enumerator_next(
50012        enumerator: *mut GSocketAddressEnumerator,
50013        cancellable: *mut GCancellable,
50014        error: *mut *mut GError,
50015    ) -> *mut GSocketAddress;
50016}
50017extern "C" {
50018    pub fn g_socket_address_enumerator_next_async(
50019        enumerator: *mut GSocketAddressEnumerator,
50020        cancellable: *mut GCancellable,
50021        callback: GAsyncReadyCallback,
50022        user_data: gpointer,
50023    );
50024}
50025extern "C" {
50026    pub fn g_socket_address_enumerator_next_finish(
50027        enumerator: *mut GSocketAddressEnumerator,
50028        result: *mut GAsyncResult,
50029        error: *mut *mut GError,
50030    ) -> *mut GSocketAddress;
50031}
50032pub type GProxyAddressEnumeratorClass = _GProxyAddressEnumeratorClass;
50033#[repr(C)]
50034#[derive(Debug, Copy, Clone)]
50035pub struct _GProxyAddressEnumeratorPrivate {
50036    _unused: [u8; 0],
50037}
50038pub type GProxyAddressEnumeratorPrivate = _GProxyAddressEnumeratorPrivate;
50039#[repr(C)]
50040#[derive(Debug, Copy, Clone, PartialEq, Eq)]
50041pub struct _GProxyAddressEnumerator {
50042    pub parent_instance: GSocketAddressEnumerator,
50043    pub priv_: *mut GProxyAddressEnumeratorPrivate,
50044}
50045#[test]
50046fn bindgen_test_layout__GProxyAddressEnumerator() {
50047    const UNINIT: ::std::mem::MaybeUninit<_GProxyAddressEnumerator> =
50048        ::std::mem::MaybeUninit::uninit();
50049    let ptr = UNINIT.as_ptr();
50050    assert_eq!(
50051        ::std::mem::size_of::<_GProxyAddressEnumerator>(),
50052        32usize,
50053        concat!("Size of: ", stringify!(_GProxyAddressEnumerator))
50054    );
50055    assert_eq!(
50056        ::std::mem::align_of::<_GProxyAddressEnumerator>(),
50057        8usize,
50058        concat!("Alignment of ", stringify!(_GProxyAddressEnumerator))
50059    );
50060    assert_eq!(
50061        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
50062        0usize,
50063        concat!(
50064            "Offset of field: ",
50065            stringify!(_GProxyAddressEnumerator),
50066            "::",
50067            stringify!(parent_instance)
50068        )
50069    );
50070    assert_eq!(
50071        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
50072        24usize,
50073        concat!(
50074            "Offset of field: ",
50075            stringify!(_GProxyAddressEnumerator),
50076            "::",
50077            stringify!(priv_)
50078        )
50079    );
50080}
50081#[repr(C)]
50082#[derive(Debug, Copy, Clone, PartialEq, Eq)]
50083pub struct _GProxyAddressEnumeratorClass {
50084    pub parent_class: GSocketAddressEnumeratorClass,
50085    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
50086    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
50087    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
50088    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
50089    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
50090    pub _g_reserved6: ::std::option::Option<unsafe extern "C" fn()>,
50091    pub _g_reserved7: ::std::option::Option<unsafe extern "C" fn()>,
50092}
50093#[test]
50094fn bindgen_test_layout__GProxyAddressEnumeratorClass() {
50095    const UNINIT: ::std::mem::MaybeUninit<_GProxyAddressEnumeratorClass> =
50096        ::std::mem::MaybeUninit::uninit();
50097    let ptr = UNINIT.as_ptr();
50098    assert_eq!(
50099        ::std::mem::size_of::<_GProxyAddressEnumeratorClass>(),
50100        216usize,
50101        concat!("Size of: ", stringify!(_GProxyAddressEnumeratorClass))
50102    );
50103    assert_eq!(
50104        ::std::mem::align_of::<_GProxyAddressEnumeratorClass>(),
50105        8usize,
50106        concat!("Alignment of ", stringify!(_GProxyAddressEnumeratorClass))
50107    );
50108    assert_eq!(
50109        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
50110        0usize,
50111        concat!(
50112            "Offset of field: ",
50113            stringify!(_GProxyAddressEnumeratorClass),
50114            "::",
50115            stringify!(parent_class)
50116        )
50117    );
50118    assert_eq!(
50119        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
50120        160usize,
50121        concat!(
50122            "Offset of field: ",
50123            stringify!(_GProxyAddressEnumeratorClass),
50124            "::",
50125            stringify!(_g_reserved1)
50126        )
50127    );
50128    assert_eq!(
50129        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
50130        168usize,
50131        concat!(
50132            "Offset of field: ",
50133            stringify!(_GProxyAddressEnumeratorClass),
50134            "::",
50135            stringify!(_g_reserved2)
50136        )
50137    );
50138    assert_eq!(
50139        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
50140        176usize,
50141        concat!(
50142            "Offset of field: ",
50143            stringify!(_GProxyAddressEnumeratorClass),
50144            "::",
50145            stringify!(_g_reserved3)
50146        )
50147    );
50148    assert_eq!(
50149        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
50150        184usize,
50151        concat!(
50152            "Offset of field: ",
50153            stringify!(_GProxyAddressEnumeratorClass),
50154            "::",
50155            stringify!(_g_reserved4)
50156        )
50157    );
50158    assert_eq!(
50159        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
50160        192usize,
50161        concat!(
50162            "Offset of field: ",
50163            stringify!(_GProxyAddressEnumeratorClass),
50164            "::",
50165            stringify!(_g_reserved5)
50166        )
50167    );
50168    assert_eq!(
50169        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved6) as usize - ptr as usize },
50170        200usize,
50171        concat!(
50172            "Offset of field: ",
50173            stringify!(_GProxyAddressEnumeratorClass),
50174            "::",
50175            stringify!(_g_reserved6)
50176        )
50177    );
50178    assert_eq!(
50179        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved7) as usize - ptr as usize },
50180        208usize,
50181        concat!(
50182            "Offset of field: ",
50183            stringify!(_GProxyAddressEnumeratorClass),
50184            "::",
50185            stringify!(_g_reserved7)
50186        )
50187    );
50188}
50189extern "C" {
50190    pub fn g_proxy_address_enumerator_get_type() -> GType;
50191}
50192pub type GProxyResolverInterface = _GProxyResolverInterface;
50193#[repr(C)]
50194#[derive(Debug, Copy, Clone, PartialEq, Eq)]
50195pub struct _GProxyResolverInterface {
50196    pub g_iface: GTypeInterface,
50197    pub is_supported:
50198        ::std::option::Option<unsafe extern "C" fn(resolver: *mut GProxyResolver) -> gboolean>,
50199    pub lookup: ::std::option::Option<
50200        unsafe extern "C" fn(
50201            resolver: *mut GProxyResolver,
50202            uri: *const gchar,
50203            cancellable: *mut GCancellable,
50204            error: *mut *mut GError,
50205        ) -> *mut *mut gchar,
50206    >,
50207    pub lookup_async: ::std::option::Option<
50208        unsafe extern "C" fn(
50209            resolver: *mut GProxyResolver,
50210            uri: *const gchar,
50211            cancellable: *mut GCancellable,
50212            callback: GAsyncReadyCallback,
50213            user_data: gpointer,
50214        ),
50215    >,
50216    pub lookup_finish: ::std::option::Option<
50217        unsafe extern "C" fn(
50218            resolver: *mut GProxyResolver,
50219            result: *mut GAsyncResult,
50220            error: *mut *mut GError,
50221        ) -> *mut *mut gchar,
50222    >,
50223}
50224#[test]
50225fn bindgen_test_layout__GProxyResolverInterface() {
50226    const UNINIT: ::std::mem::MaybeUninit<_GProxyResolverInterface> =
50227        ::std::mem::MaybeUninit::uninit();
50228    let ptr = UNINIT.as_ptr();
50229    assert_eq!(
50230        ::std::mem::size_of::<_GProxyResolverInterface>(),
50231        48usize,
50232        concat!("Size of: ", stringify!(_GProxyResolverInterface))
50233    );
50234    assert_eq!(
50235        ::std::mem::align_of::<_GProxyResolverInterface>(),
50236        8usize,
50237        concat!("Alignment of ", stringify!(_GProxyResolverInterface))
50238    );
50239    assert_eq!(
50240        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
50241        0usize,
50242        concat!(
50243            "Offset of field: ",
50244            stringify!(_GProxyResolverInterface),
50245            "::",
50246            stringify!(g_iface)
50247        )
50248    );
50249    assert_eq!(
50250        unsafe { ::std::ptr::addr_of!((*ptr).is_supported) as usize - ptr as usize },
50251        16usize,
50252        concat!(
50253            "Offset of field: ",
50254            stringify!(_GProxyResolverInterface),
50255            "::",
50256            stringify!(is_supported)
50257        )
50258    );
50259    assert_eq!(
50260        unsafe { ::std::ptr::addr_of!((*ptr).lookup) as usize - ptr as usize },
50261        24usize,
50262        concat!(
50263            "Offset of field: ",
50264            stringify!(_GProxyResolverInterface),
50265            "::",
50266            stringify!(lookup)
50267        )
50268    );
50269    assert_eq!(
50270        unsafe { ::std::ptr::addr_of!((*ptr).lookup_async) as usize - ptr as usize },
50271        32usize,
50272        concat!(
50273            "Offset of field: ",
50274            stringify!(_GProxyResolverInterface),
50275            "::",
50276            stringify!(lookup_async)
50277        )
50278    );
50279    assert_eq!(
50280        unsafe { ::std::ptr::addr_of!((*ptr).lookup_finish) as usize - ptr as usize },
50281        40usize,
50282        concat!(
50283            "Offset of field: ",
50284            stringify!(_GProxyResolverInterface),
50285            "::",
50286            stringify!(lookup_finish)
50287        )
50288    );
50289}
50290extern "C" {
50291    pub fn g_proxy_resolver_get_type() -> GType;
50292}
50293extern "C" {
50294    pub fn g_proxy_resolver_get_default() -> *mut GProxyResolver;
50295}
50296extern "C" {
50297    pub fn g_proxy_resolver_is_supported(resolver: *mut GProxyResolver) -> gboolean;
50298}
50299extern "C" {
50300    pub fn g_proxy_resolver_lookup(
50301        resolver: *mut GProxyResolver,
50302        uri: *const gchar,
50303        cancellable: *mut GCancellable,
50304        error: *mut *mut GError,
50305    ) -> *mut *mut gchar;
50306}
50307extern "C" {
50308    pub fn g_proxy_resolver_lookup_async(
50309        resolver: *mut GProxyResolver,
50310        uri: *const gchar,
50311        cancellable: *mut GCancellable,
50312        callback: GAsyncReadyCallback,
50313        user_data: gpointer,
50314    );
50315}
50316extern "C" {
50317    pub fn g_proxy_resolver_lookup_finish(
50318        resolver: *mut GProxyResolver,
50319        result: *mut GAsyncResult,
50320        error: *mut *mut GError,
50321    ) -> *mut *mut gchar;
50322}
50323pub type GRemoteActionGroupInterface = _GRemoteActionGroupInterface;
50324#[repr(C)]
50325#[derive(Debug, Copy, Clone, PartialEq, Eq)]
50326pub struct _GRemoteActionGroupInterface {
50327    pub g_iface: GTypeInterface,
50328    pub activate_action_full: ::std::option::Option<
50329        unsafe extern "C" fn(
50330            remote: *mut GRemoteActionGroup,
50331            action_name: *const gchar,
50332            parameter: *mut GVariant,
50333            platform_data: *mut GVariant,
50334        ),
50335    >,
50336    pub change_action_state_full: ::std::option::Option<
50337        unsafe extern "C" fn(
50338            remote: *mut GRemoteActionGroup,
50339            action_name: *const gchar,
50340            value: *mut GVariant,
50341            platform_data: *mut GVariant,
50342        ),
50343    >,
50344}
50345#[test]
50346fn bindgen_test_layout__GRemoteActionGroupInterface() {
50347    const UNINIT: ::std::mem::MaybeUninit<_GRemoteActionGroupInterface> =
50348        ::std::mem::MaybeUninit::uninit();
50349    let ptr = UNINIT.as_ptr();
50350    assert_eq!(
50351        ::std::mem::size_of::<_GRemoteActionGroupInterface>(),
50352        32usize,
50353        concat!("Size of: ", stringify!(_GRemoteActionGroupInterface))
50354    );
50355    assert_eq!(
50356        ::std::mem::align_of::<_GRemoteActionGroupInterface>(),
50357        8usize,
50358        concat!("Alignment of ", stringify!(_GRemoteActionGroupInterface))
50359    );
50360    assert_eq!(
50361        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
50362        0usize,
50363        concat!(
50364            "Offset of field: ",
50365            stringify!(_GRemoteActionGroupInterface),
50366            "::",
50367            stringify!(g_iface)
50368        )
50369    );
50370    assert_eq!(
50371        unsafe { ::std::ptr::addr_of!((*ptr).activate_action_full) as usize - ptr as usize },
50372        16usize,
50373        concat!(
50374            "Offset of field: ",
50375            stringify!(_GRemoteActionGroupInterface),
50376            "::",
50377            stringify!(activate_action_full)
50378        )
50379    );
50380    assert_eq!(
50381        unsafe { ::std::ptr::addr_of!((*ptr).change_action_state_full) as usize - ptr as usize },
50382        24usize,
50383        concat!(
50384            "Offset of field: ",
50385            stringify!(_GRemoteActionGroupInterface),
50386            "::",
50387            stringify!(change_action_state_full)
50388        )
50389    );
50390}
50391extern "C" {
50392    pub fn g_remote_action_group_get_type() -> GType;
50393}
50394extern "C" {
50395    pub fn g_remote_action_group_activate_action_full(
50396        remote: *mut GRemoteActionGroup,
50397        action_name: *const gchar,
50398        parameter: *mut GVariant,
50399        platform_data: *mut GVariant,
50400    );
50401}
50402extern "C" {
50403    pub fn g_remote_action_group_change_action_state_full(
50404        remote: *mut GRemoteActionGroup,
50405        action_name: *const gchar,
50406        value: *mut GVariant,
50407        platform_data: *mut GVariant,
50408    );
50409}
50410#[repr(C)]
50411#[derive(Debug, Copy, Clone)]
50412pub struct _GResolverPrivate {
50413    _unused: [u8; 0],
50414}
50415pub type GResolverPrivate = _GResolverPrivate;
50416pub type GResolverClass = _GResolverClass;
50417#[repr(C)]
50418#[derive(Debug, Copy, Clone, PartialEq, Eq)]
50419pub struct _GResolver {
50420    pub parent_instance: GObject,
50421    pub priv_: *mut GResolverPrivate,
50422}
50423#[test]
50424fn bindgen_test_layout__GResolver() {
50425    const UNINIT: ::std::mem::MaybeUninit<_GResolver> = ::std::mem::MaybeUninit::uninit();
50426    let ptr = UNINIT.as_ptr();
50427    assert_eq!(
50428        ::std::mem::size_of::<_GResolver>(),
50429        32usize,
50430        concat!("Size of: ", stringify!(_GResolver))
50431    );
50432    assert_eq!(
50433        ::std::mem::align_of::<_GResolver>(),
50434        8usize,
50435        concat!("Alignment of ", stringify!(_GResolver))
50436    );
50437    assert_eq!(
50438        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
50439        0usize,
50440        concat!(
50441            "Offset of field: ",
50442            stringify!(_GResolver),
50443            "::",
50444            stringify!(parent_instance)
50445        )
50446    );
50447    assert_eq!(
50448        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
50449        24usize,
50450        concat!(
50451            "Offset of field: ",
50452            stringify!(_GResolver),
50453            "::",
50454            stringify!(priv_)
50455        )
50456    );
50457}
50458pub const GResolverNameLookupFlags_G_RESOLVER_NAME_LOOKUP_FLAGS_DEFAULT: GResolverNameLookupFlags =
50459    0;
50460pub const GResolverNameLookupFlags_G_RESOLVER_NAME_LOOKUP_FLAGS_IPV4_ONLY:
50461    GResolverNameLookupFlags = 1;
50462pub const GResolverNameLookupFlags_G_RESOLVER_NAME_LOOKUP_FLAGS_IPV6_ONLY:
50463    GResolverNameLookupFlags = 2;
50464pub type GResolverNameLookupFlags = ::std::os::raw::c_uint;
50465#[repr(C)]
50466#[derive(Debug, Copy, Clone, PartialEq, Eq)]
50467pub struct _GResolverClass {
50468    pub parent_class: GObjectClass,
50469    pub reload: ::std::option::Option<unsafe extern "C" fn(resolver: *mut GResolver)>,
50470    pub lookup_by_name: ::std::option::Option<
50471        unsafe extern "C" fn(
50472            resolver: *mut GResolver,
50473            hostname: *const gchar,
50474            cancellable: *mut GCancellable,
50475            error: *mut *mut GError,
50476        ) -> *mut GList,
50477    >,
50478    pub lookup_by_name_async: ::std::option::Option<
50479        unsafe extern "C" fn(
50480            resolver: *mut GResolver,
50481            hostname: *const gchar,
50482            cancellable: *mut GCancellable,
50483            callback: GAsyncReadyCallback,
50484            user_data: gpointer,
50485        ),
50486    >,
50487    pub lookup_by_name_finish: ::std::option::Option<
50488        unsafe extern "C" fn(
50489            resolver: *mut GResolver,
50490            result: *mut GAsyncResult,
50491            error: *mut *mut GError,
50492        ) -> *mut GList,
50493    >,
50494    pub lookup_by_address: ::std::option::Option<
50495        unsafe extern "C" fn(
50496            resolver: *mut GResolver,
50497            address: *mut GInetAddress,
50498            cancellable: *mut GCancellable,
50499            error: *mut *mut GError,
50500        ) -> *mut gchar,
50501    >,
50502    pub lookup_by_address_async: ::std::option::Option<
50503        unsafe extern "C" fn(
50504            resolver: *mut GResolver,
50505            address: *mut GInetAddress,
50506            cancellable: *mut GCancellable,
50507            callback: GAsyncReadyCallback,
50508            user_data: gpointer,
50509        ),
50510    >,
50511    pub lookup_by_address_finish: ::std::option::Option<
50512        unsafe extern "C" fn(
50513            resolver: *mut GResolver,
50514            result: *mut GAsyncResult,
50515            error: *mut *mut GError,
50516        ) -> *mut gchar,
50517    >,
50518    pub lookup_service: ::std::option::Option<
50519        unsafe extern "C" fn(
50520            resolver: *mut GResolver,
50521            rrname: *const gchar,
50522            cancellable: *mut GCancellable,
50523            error: *mut *mut GError,
50524        ) -> *mut GList,
50525    >,
50526    pub lookup_service_async: ::std::option::Option<
50527        unsafe extern "C" fn(
50528            resolver: *mut GResolver,
50529            rrname: *const gchar,
50530            cancellable: *mut GCancellable,
50531            callback: GAsyncReadyCallback,
50532            user_data: gpointer,
50533        ),
50534    >,
50535    pub lookup_service_finish: ::std::option::Option<
50536        unsafe extern "C" fn(
50537            resolver: *mut GResolver,
50538            result: *mut GAsyncResult,
50539            error: *mut *mut GError,
50540        ) -> *mut GList,
50541    >,
50542    pub lookup_records: ::std::option::Option<
50543        unsafe extern "C" fn(
50544            resolver: *mut GResolver,
50545            rrname: *const gchar,
50546            record_type: GResolverRecordType,
50547            cancellable: *mut GCancellable,
50548            error: *mut *mut GError,
50549        ) -> *mut GList,
50550    >,
50551    pub lookup_records_async: ::std::option::Option<
50552        unsafe extern "C" fn(
50553            resolver: *mut GResolver,
50554            rrname: *const gchar,
50555            record_type: GResolverRecordType,
50556            cancellable: *mut GCancellable,
50557            callback: GAsyncReadyCallback,
50558            user_data: gpointer,
50559        ),
50560    >,
50561    pub lookup_records_finish: ::std::option::Option<
50562        unsafe extern "C" fn(
50563            resolver: *mut GResolver,
50564            result: *mut GAsyncResult,
50565            error: *mut *mut GError,
50566        ) -> *mut GList,
50567    >,
50568    pub lookup_by_name_with_flags_async: ::std::option::Option<
50569        unsafe extern "C" fn(
50570            resolver: *mut GResolver,
50571            hostname: *const gchar,
50572            flags: GResolverNameLookupFlags,
50573            cancellable: *mut GCancellable,
50574            callback: GAsyncReadyCallback,
50575            user_data: gpointer,
50576        ),
50577    >,
50578    pub lookup_by_name_with_flags_finish: ::std::option::Option<
50579        unsafe extern "C" fn(
50580            resolver: *mut GResolver,
50581            result: *mut GAsyncResult,
50582            error: *mut *mut GError,
50583        ) -> *mut GList,
50584    >,
50585    pub lookup_by_name_with_flags: ::std::option::Option<
50586        unsafe extern "C" fn(
50587            resolver: *mut GResolver,
50588            hostname: *const gchar,
50589            flags: GResolverNameLookupFlags,
50590            cancellable: *mut GCancellable,
50591            error: *mut *mut GError,
50592        ) -> *mut GList,
50593    >,
50594}
50595#[test]
50596fn bindgen_test_layout__GResolverClass() {
50597    const UNINIT: ::std::mem::MaybeUninit<_GResolverClass> = ::std::mem::MaybeUninit::uninit();
50598    let ptr = UNINIT.as_ptr();
50599    assert_eq!(
50600        ::std::mem::size_of::<_GResolverClass>(),
50601        264usize,
50602        concat!("Size of: ", stringify!(_GResolverClass))
50603    );
50604    assert_eq!(
50605        ::std::mem::align_of::<_GResolverClass>(),
50606        8usize,
50607        concat!("Alignment of ", stringify!(_GResolverClass))
50608    );
50609    assert_eq!(
50610        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
50611        0usize,
50612        concat!(
50613            "Offset of field: ",
50614            stringify!(_GResolverClass),
50615            "::",
50616            stringify!(parent_class)
50617        )
50618    );
50619    assert_eq!(
50620        unsafe { ::std::ptr::addr_of!((*ptr).reload) as usize - ptr as usize },
50621        136usize,
50622        concat!(
50623            "Offset of field: ",
50624            stringify!(_GResolverClass),
50625            "::",
50626            stringify!(reload)
50627        )
50628    );
50629    assert_eq!(
50630        unsafe { ::std::ptr::addr_of!((*ptr).lookup_by_name) as usize - ptr as usize },
50631        144usize,
50632        concat!(
50633            "Offset of field: ",
50634            stringify!(_GResolverClass),
50635            "::",
50636            stringify!(lookup_by_name)
50637        )
50638    );
50639    assert_eq!(
50640        unsafe { ::std::ptr::addr_of!((*ptr).lookup_by_name_async) as usize - ptr as usize },
50641        152usize,
50642        concat!(
50643            "Offset of field: ",
50644            stringify!(_GResolverClass),
50645            "::",
50646            stringify!(lookup_by_name_async)
50647        )
50648    );
50649    assert_eq!(
50650        unsafe { ::std::ptr::addr_of!((*ptr).lookup_by_name_finish) as usize - ptr as usize },
50651        160usize,
50652        concat!(
50653            "Offset of field: ",
50654            stringify!(_GResolverClass),
50655            "::",
50656            stringify!(lookup_by_name_finish)
50657        )
50658    );
50659    assert_eq!(
50660        unsafe { ::std::ptr::addr_of!((*ptr).lookup_by_address) as usize - ptr as usize },
50661        168usize,
50662        concat!(
50663            "Offset of field: ",
50664            stringify!(_GResolverClass),
50665            "::",
50666            stringify!(lookup_by_address)
50667        )
50668    );
50669    assert_eq!(
50670        unsafe { ::std::ptr::addr_of!((*ptr).lookup_by_address_async) as usize - ptr as usize },
50671        176usize,
50672        concat!(
50673            "Offset of field: ",
50674            stringify!(_GResolverClass),
50675            "::",
50676            stringify!(lookup_by_address_async)
50677        )
50678    );
50679    assert_eq!(
50680        unsafe { ::std::ptr::addr_of!((*ptr).lookup_by_address_finish) as usize - ptr as usize },
50681        184usize,
50682        concat!(
50683            "Offset of field: ",
50684            stringify!(_GResolverClass),
50685            "::",
50686            stringify!(lookup_by_address_finish)
50687        )
50688    );
50689    assert_eq!(
50690        unsafe { ::std::ptr::addr_of!((*ptr).lookup_service) as usize - ptr as usize },
50691        192usize,
50692        concat!(
50693            "Offset of field: ",
50694            stringify!(_GResolverClass),
50695            "::",
50696            stringify!(lookup_service)
50697        )
50698    );
50699    assert_eq!(
50700        unsafe { ::std::ptr::addr_of!((*ptr).lookup_service_async) as usize - ptr as usize },
50701        200usize,
50702        concat!(
50703            "Offset of field: ",
50704            stringify!(_GResolverClass),
50705            "::",
50706            stringify!(lookup_service_async)
50707        )
50708    );
50709    assert_eq!(
50710        unsafe { ::std::ptr::addr_of!((*ptr).lookup_service_finish) as usize - ptr as usize },
50711        208usize,
50712        concat!(
50713            "Offset of field: ",
50714            stringify!(_GResolverClass),
50715            "::",
50716            stringify!(lookup_service_finish)
50717        )
50718    );
50719    assert_eq!(
50720        unsafe { ::std::ptr::addr_of!((*ptr).lookup_records) as usize - ptr as usize },
50721        216usize,
50722        concat!(
50723            "Offset of field: ",
50724            stringify!(_GResolverClass),
50725            "::",
50726            stringify!(lookup_records)
50727        )
50728    );
50729    assert_eq!(
50730        unsafe { ::std::ptr::addr_of!((*ptr).lookup_records_async) as usize - ptr as usize },
50731        224usize,
50732        concat!(
50733            "Offset of field: ",
50734            stringify!(_GResolverClass),
50735            "::",
50736            stringify!(lookup_records_async)
50737        )
50738    );
50739    assert_eq!(
50740        unsafe { ::std::ptr::addr_of!((*ptr).lookup_records_finish) as usize - ptr as usize },
50741        232usize,
50742        concat!(
50743            "Offset of field: ",
50744            stringify!(_GResolverClass),
50745            "::",
50746            stringify!(lookup_records_finish)
50747        )
50748    );
50749    assert_eq!(
50750        unsafe {
50751            ::std::ptr::addr_of!((*ptr).lookup_by_name_with_flags_async) as usize - ptr as usize
50752        },
50753        240usize,
50754        concat!(
50755            "Offset of field: ",
50756            stringify!(_GResolverClass),
50757            "::",
50758            stringify!(lookup_by_name_with_flags_async)
50759        )
50760    );
50761    assert_eq!(
50762        unsafe {
50763            ::std::ptr::addr_of!((*ptr).lookup_by_name_with_flags_finish) as usize - ptr as usize
50764        },
50765        248usize,
50766        concat!(
50767            "Offset of field: ",
50768            stringify!(_GResolverClass),
50769            "::",
50770            stringify!(lookup_by_name_with_flags_finish)
50771        )
50772    );
50773    assert_eq!(
50774        unsafe { ::std::ptr::addr_of!((*ptr).lookup_by_name_with_flags) as usize - ptr as usize },
50775        256usize,
50776        concat!(
50777            "Offset of field: ",
50778            stringify!(_GResolverClass),
50779            "::",
50780            stringify!(lookup_by_name_with_flags)
50781        )
50782    );
50783}
50784extern "C" {
50785    pub fn g_resolver_get_type() -> GType;
50786}
50787extern "C" {
50788    pub fn g_resolver_get_default() -> *mut GResolver;
50789}
50790extern "C" {
50791    pub fn g_resolver_set_default(resolver: *mut GResolver);
50792}
50793extern "C" {
50794    pub fn g_resolver_lookup_by_name(
50795        resolver: *mut GResolver,
50796        hostname: *const gchar,
50797        cancellable: *mut GCancellable,
50798        error: *mut *mut GError,
50799    ) -> *mut GList;
50800}
50801extern "C" {
50802    pub fn g_resolver_lookup_by_name_async(
50803        resolver: *mut GResolver,
50804        hostname: *const gchar,
50805        cancellable: *mut GCancellable,
50806        callback: GAsyncReadyCallback,
50807        user_data: gpointer,
50808    );
50809}
50810extern "C" {
50811    pub fn g_resolver_lookup_by_name_finish(
50812        resolver: *mut GResolver,
50813        result: *mut GAsyncResult,
50814        error: *mut *mut GError,
50815    ) -> *mut GList;
50816}
50817extern "C" {
50818    pub fn g_resolver_lookup_by_name_with_flags_async(
50819        resolver: *mut GResolver,
50820        hostname: *const gchar,
50821        flags: GResolverNameLookupFlags,
50822        cancellable: *mut GCancellable,
50823        callback: GAsyncReadyCallback,
50824        user_data: gpointer,
50825    );
50826}
50827extern "C" {
50828    pub fn g_resolver_lookup_by_name_with_flags_finish(
50829        resolver: *mut GResolver,
50830        result: *mut GAsyncResult,
50831        error: *mut *mut GError,
50832    ) -> *mut GList;
50833}
50834extern "C" {
50835    pub fn g_resolver_lookup_by_name_with_flags(
50836        resolver: *mut GResolver,
50837        hostname: *const gchar,
50838        flags: GResolverNameLookupFlags,
50839        cancellable: *mut GCancellable,
50840        error: *mut *mut GError,
50841    ) -> *mut GList;
50842}
50843extern "C" {
50844    pub fn g_resolver_free_addresses(addresses: *mut GList);
50845}
50846extern "C" {
50847    pub fn g_resolver_lookup_by_address(
50848        resolver: *mut GResolver,
50849        address: *mut GInetAddress,
50850        cancellable: *mut GCancellable,
50851        error: *mut *mut GError,
50852    ) -> *mut gchar;
50853}
50854extern "C" {
50855    pub fn g_resolver_lookup_by_address_async(
50856        resolver: *mut GResolver,
50857        address: *mut GInetAddress,
50858        cancellable: *mut GCancellable,
50859        callback: GAsyncReadyCallback,
50860        user_data: gpointer,
50861    );
50862}
50863extern "C" {
50864    pub fn g_resolver_lookup_by_address_finish(
50865        resolver: *mut GResolver,
50866        result: *mut GAsyncResult,
50867        error: *mut *mut GError,
50868    ) -> *mut gchar;
50869}
50870extern "C" {
50871    pub fn g_resolver_lookup_service(
50872        resolver: *mut GResolver,
50873        service: *const gchar,
50874        protocol: *const gchar,
50875        domain: *const gchar,
50876        cancellable: *mut GCancellable,
50877        error: *mut *mut GError,
50878    ) -> *mut GList;
50879}
50880extern "C" {
50881    pub fn g_resolver_lookup_service_async(
50882        resolver: *mut GResolver,
50883        service: *const gchar,
50884        protocol: *const gchar,
50885        domain: *const gchar,
50886        cancellable: *mut GCancellable,
50887        callback: GAsyncReadyCallback,
50888        user_data: gpointer,
50889    );
50890}
50891extern "C" {
50892    pub fn g_resolver_lookup_service_finish(
50893        resolver: *mut GResolver,
50894        result: *mut GAsyncResult,
50895        error: *mut *mut GError,
50896    ) -> *mut GList;
50897}
50898extern "C" {
50899    pub fn g_resolver_lookup_records(
50900        resolver: *mut GResolver,
50901        rrname: *const gchar,
50902        record_type: GResolverRecordType,
50903        cancellable: *mut GCancellable,
50904        error: *mut *mut GError,
50905    ) -> *mut GList;
50906}
50907extern "C" {
50908    pub fn g_resolver_lookup_records_async(
50909        resolver: *mut GResolver,
50910        rrname: *const gchar,
50911        record_type: GResolverRecordType,
50912        cancellable: *mut GCancellable,
50913        callback: GAsyncReadyCallback,
50914        user_data: gpointer,
50915    );
50916}
50917extern "C" {
50918    pub fn g_resolver_lookup_records_finish(
50919        resolver: *mut GResolver,
50920        result: *mut GAsyncResult,
50921        error: *mut *mut GError,
50922    ) -> *mut GList;
50923}
50924extern "C" {
50925    pub fn g_resolver_free_targets(targets: *mut GList);
50926}
50927extern "C" {
50928    pub fn g_resolver_get_timeout(resolver: *mut GResolver) -> ::std::os::raw::c_uint;
50929}
50930extern "C" {
50931    pub fn g_resolver_set_timeout(resolver: *mut GResolver, timeout_ms: ::std::os::raw::c_uint);
50932}
50933extern "C" {
50934    pub fn g_resolver_error_quark() -> GQuark;
50935}
50936extern "C" {
50937    pub fn g_resource_error_quark() -> GQuark;
50938}
50939pub type GStaticResource = _GStaticResource;
50940#[repr(C)]
50941#[derive(Debug, Copy, Clone, PartialEq, Eq)]
50942pub struct _GStaticResource {
50943    pub data: *const guint8,
50944    pub data_len: gsize,
50945    pub resource: *mut GResource,
50946    pub next: *mut GStaticResource,
50947    pub padding: gpointer,
50948}
50949#[test]
50950fn bindgen_test_layout__GStaticResource() {
50951    const UNINIT: ::std::mem::MaybeUninit<_GStaticResource> = ::std::mem::MaybeUninit::uninit();
50952    let ptr = UNINIT.as_ptr();
50953    assert_eq!(
50954        ::std::mem::size_of::<_GStaticResource>(),
50955        40usize,
50956        concat!("Size of: ", stringify!(_GStaticResource))
50957    );
50958    assert_eq!(
50959        ::std::mem::align_of::<_GStaticResource>(),
50960        8usize,
50961        concat!("Alignment of ", stringify!(_GStaticResource))
50962    );
50963    assert_eq!(
50964        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
50965        0usize,
50966        concat!(
50967            "Offset of field: ",
50968            stringify!(_GStaticResource),
50969            "::",
50970            stringify!(data)
50971        )
50972    );
50973    assert_eq!(
50974        unsafe { ::std::ptr::addr_of!((*ptr).data_len) as usize - ptr as usize },
50975        8usize,
50976        concat!(
50977            "Offset of field: ",
50978            stringify!(_GStaticResource),
50979            "::",
50980            stringify!(data_len)
50981        )
50982    );
50983    assert_eq!(
50984        unsafe { ::std::ptr::addr_of!((*ptr).resource) as usize - ptr as usize },
50985        16usize,
50986        concat!(
50987            "Offset of field: ",
50988            stringify!(_GStaticResource),
50989            "::",
50990            stringify!(resource)
50991        )
50992    );
50993    assert_eq!(
50994        unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
50995        24usize,
50996        concat!(
50997            "Offset of field: ",
50998            stringify!(_GStaticResource),
50999            "::",
51000            stringify!(next)
51001        )
51002    );
51003    assert_eq!(
51004        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
51005        32usize,
51006        concat!(
51007            "Offset of field: ",
51008            stringify!(_GStaticResource),
51009            "::",
51010            stringify!(padding)
51011        )
51012    );
51013}
51014extern "C" {
51015    pub fn g_resource_get_type() -> GType;
51016}
51017extern "C" {
51018    pub fn g_resource_new_from_data(data: *mut GBytes, error: *mut *mut GError) -> *mut GResource;
51019}
51020extern "C" {
51021    pub fn g_resource_ref(resource: *mut GResource) -> *mut GResource;
51022}
51023extern "C" {
51024    pub fn g_resource_unref(resource: *mut GResource);
51025}
51026extern "C" {
51027    pub fn g_resource_load(filename: *const gchar, error: *mut *mut GError) -> *mut GResource;
51028}
51029extern "C" {
51030    pub fn g_resource_open_stream(
51031        resource: *mut GResource,
51032        path: *const ::std::os::raw::c_char,
51033        lookup_flags: GResourceLookupFlags,
51034        error: *mut *mut GError,
51035    ) -> *mut GInputStream;
51036}
51037extern "C" {
51038    pub fn g_resource_lookup_data(
51039        resource: *mut GResource,
51040        path: *const ::std::os::raw::c_char,
51041        lookup_flags: GResourceLookupFlags,
51042        error: *mut *mut GError,
51043    ) -> *mut GBytes;
51044}
51045extern "C" {
51046    pub fn g_resource_enumerate_children(
51047        resource: *mut GResource,
51048        path: *const ::std::os::raw::c_char,
51049        lookup_flags: GResourceLookupFlags,
51050        error: *mut *mut GError,
51051    ) -> *mut *mut ::std::os::raw::c_char;
51052}
51053extern "C" {
51054    pub fn g_resource_get_info(
51055        resource: *mut GResource,
51056        path: *const ::std::os::raw::c_char,
51057        lookup_flags: GResourceLookupFlags,
51058        size: *mut gsize,
51059        flags: *mut guint32,
51060        error: *mut *mut GError,
51061    ) -> gboolean;
51062}
51063extern "C" {
51064    pub fn g_resources_register(resource: *mut GResource);
51065}
51066extern "C" {
51067    pub fn g_resources_unregister(resource: *mut GResource);
51068}
51069extern "C" {
51070    pub fn g_resources_open_stream(
51071        path: *const ::std::os::raw::c_char,
51072        lookup_flags: GResourceLookupFlags,
51073        error: *mut *mut GError,
51074    ) -> *mut GInputStream;
51075}
51076extern "C" {
51077    pub fn g_resources_lookup_data(
51078        path: *const ::std::os::raw::c_char,
51079        lookup_flags: GResourceLookupFlags,
51080        error: *mut *mut GError,
51081    ) -> *mut GBytes;
51082}
51083extern "C" {
51084    pub fn g_resources_enumerate_children(
51085        path: *const ::std::os::raw::c_char,
51086        lookup_flags: GResourceLookupFlags,
51087        error: *mut *mut GError,
51088    ) -> *mut *mut ::std::os::raw::c_char;
51089}
51090extern "C" {
51091    pub fn g_resources_get_info(
51092        path: *const ::std::os::raw::c_char,
51093        lookup_flags: GResourceLookupFlags,
51094        size: *mut gsize,
51095        flags: *mut guint32,
51096        error: *mut *mut GError,
51097    ) -> gboolean;
51098}
51099extern "C" {
51100    pub fn g_static_resource_init(static_resource: *mut GStaticResource);
51101}
51102extern "C" {
51103    pub fn g_static_resource_fini(static_resource: *mut GStaticResource);
51104}
51105extern "C" {
51106    pub fn g_static_resource_get_resource(static_resource: *mut GStaticResource) -> *mut GResource;
51107}
51108pub type GSeekableIface = _GSeekableIface;
51109#[repr(C)]
51110#[derive(Debug, Copy, Clone, PartialEq, Eq)]
51111pub struct _GSeekableIface {
51112    pub g_iface: GTypeInterface,
51113    pub tell: ::std::option::Option<unsafe extern "C" fn(seekable: *mut GSeekable) -> goffset>,
51114    pub can_seek: ::std::option::Option<unsafe extern "C" fn(seekable: *mut GSeekable) -> gboolean>,
51115    pub seek: ::std::option::Option<
51116        unsafe extern "C" fn(
51117            seekable: *mut GSeekable,
51118            offset: goffset,
51119            type_: GSeekType,
51120            cancellable: *mut GCancellable,
51121            error: *mut *mut GError,
51122        ) -> gboolean,
51123    >,
51124    pub can_truncate:
51125        ::std::option::Option<unsafe extern "C" fn(seekable: *mut GSeekable) -> gboolean>,
51126    pub truncate_fn: ::std::option::Option<
51127        unsafe extern "C" fn(
51128            seekable: *mut GSeekable,
51129            offset: goffset,
51130            cancellable: *mut GCancellable,
51131            error: *mut *mut GError,
51132        ) -> gboolean,
51133    >,
51134}
51135#[test]
51136fn bindgen_test_layout__GSeekableIface() {
51137    const UNINIT: ::std::mem::MaybeUninit<_GSeekableIface> = ::std::mem::MaybeUninit::uninit();
51138    let ptr = UNINIT.as_ptr();
51139    assert_eq!(
51140        ::std::mem::size_of::<_GSeekableIface>(),
51141        56usize,
51142        concat!("Size of: ", stringify!(_GSeekableIface))
51143    );
51144    assert_eq!(
51145        ::std::mem::align_of::<_GSeekableIface>(),
51146        8usize,
51147        concat!("Alignment of ", stringify!(_GSeekableIface))
51148    );
51149    assert_eq!(
51150        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
51151        0usize,
51152        concat!(
51153            "Offset of field: ",
51154            stringify!(_GSeekableIface),
51155            "::",
51156            stringify!(g_iface)
51157        )
51158    );
51159    assert_eq!(
51160        unsafe { ::std::ptr::addr_of!((*ptr).tell) as usize - ptr as usize },
51161        16usize,
51162        concat!(
51163            "Offset of field: ",
51164            stringify!(_GSeekableIface),
51165            "::",
51166            stringify!(tell)
51167        )
51168    );
51169    assert_eq!(
51170        unsafe { ::std::ptr::addr_of!((*ptr).can_seek) as usize - ptr as usize },
51171        24usize,
51172        concat!(
51173            "Offset of field: ",
51174            stringify!(_GSeekableIface),
51175            "::",
51176            stringify!(can_seek)
51177        )
51178    );
51179    assert_eq!(
51180        unsafe { ::std::ptr::addr_of!((*ptr).seek) as usize - ptr as usize },
51181        32usize,
51182        concat!(
51183            "Offset of field: ",
51184            stringify!(_GSeekableIface),
51185            "::",
51186            stringify!(seek)
51187        )
51188    );
51189    assert_eq!(
51190        unsafe { ::std::ptr::addr_of!((*ptr).can_truncate) as usize - ptr as usize },
51191        40usize,
51192        concat!(
51193            "Offset of field: ",
51194            stringify!(_GSeekableIface),
51195            "::",
51196            stringify!(can_truncate)
51197        )
51198    );
51199    assert_eq!(
51200        unsafe { ::std::ptr::addr_of!((*ptr).truncate_fn) as usize - ptr as usize },
51201        48usize,
51202        concat!(
51203            "Offset of field: ",
51204            stringify!(_GSeekableIface),
51205            "::",
51206            stringify!(truncate_fn)
51207        )
51208    );
51209}
51210extern "C" {
51211    pub fn g_seekable_get_type() -> GType;
51212}
51213extern "C" {
51214    pub fn g_seekable_tell(seekable: *mut GSeekable) -> goffset;
51215}
51216extern "C" {
51217    pub fn g_seekable_can_seek(seekable: *mut GSeekable) -> gboolean;
51218}
51219extern "C" {
51220    pub fn g_seekable_seek(
51221        seekable: *mut GSeekable,
51222        offset: goffset,
51223        type_: GSeekType,
51224        cancellable: *mut GCancellable,
51225        error: *mut *mut GError,
51226    ) -> gboolean;
51227}
51228extern "C" {
51229    pub fn g_seekable_can_truncate(seekable: *mut GSeekable) -> gboolean;
51230}
51231extern "C" {
51232    pub fn g_seekable_truncate(
51233        seekable: *mut GSeekable,
51234        offset: goffset,
51235        cancellable: *mut GCancellable,
51236        error: *mut *mut GError,
51237    ) -> gboolean;
51238}
51239#[repr(C)]
51240#[derive(Debug, Copy, Clone)]
51241pub struct _GSettingsSchemaSource {
51242    _unused: [u8; 0],
51243}
51244pub type GSettingsSchemaSource = _GSettingsSchemaSource;
51245#[repr(C)]
51246#[derive(Debug, Copy, Clone)]
51247pub struct _GSettingsSchema {
51248    _unused: [u8; 0],
51249}
51250pub type GSettingsSchema = _GSettingsSchema;
51251#[repr(C)]
51252#[derive(Debug, Copy, Clone)]
51253pub struct _GSettingsSchemaKey {
51254    _unused: [u8; 0],
51255}
51256pub type GSettingsSchemaKey = _GSettingsSchemaKey;
51257extern "C" {
51258    pub fn g_settings_schema_source_get_type() -> GType;
51259}
51260extern "C" {
51261    pub fn g_settings_schema_source_get_default() -> *mut GSettingsSchemaSource;
51262}
51263extern "C" {
51264    pub fn g_settings_schema_source_ref(
51265        source: *mut GSettingsSchemaSource,
51266    ) -> *mut GSettingsSchemaSource;
51267}
51268extern "C" {
51269    pub fn g_settings_schema_source_unref(source: *mut GSettingsSchemaSource);
51270}
51271extern "C" {
51272    pub fn g_settings_schema_source_new_from_directory(
51273        directory: *const gchar,
51274        parent: *mut GSettingsSchemaSource,
51275        trusted: gboolean,
51276        error: *mut *mut GError,
51277    ) -> *mut GSettingsSchemaSource;
51278}
51279extern "C" {
51280    pub fn g_settings_schema_source_lookup(
51281        source: *mut GSettingsSchemaSource,
51282        schema_id: *const gchar,
51283        recursive: gboolean,
51284    ) -> *mut GSettingsSchema;
51285}
51286extern "C" {
51287    pub fn g_settings_schema_source_list_schemas(
51288        source: *mut GSettingsSchemaSource,
51289        recursive: gboolean,
51290        non_relocatable: *mut *mut *mut gchar,
51291        relocatable: *mut *mut *mut gchar,
51292    );
51293}
51294extern "C" {
51295    pub fn g_settings_schema_get_type() -> GType;
51296}
51297extern "C" {
51298    pub fn g_settings_schema_ref(schema: *mut GSettingsSchema) -> *mut GSettingsSchema;
51299}
51300extern "C" {
51301    pub fn g_settings_schema_unref(schema: *mut GSettingsSchema);
51302}
51303extern "C" {
51304    pub fn g_settings_schema_get_id(schema: *mut GSettingsSchema) -> *const gchar;
51305}
51306extern "C" {
51307    pub fn g_settings_schema_get_path(schema: *mut GSettingsSchema) -> *const gchar;
51308}
51309extern "C" {
51310    pub fn g_settings_schema_get_key(
51311        schema: *mut GSettingsSchema,
51312        name: *const gchar,
51313    ) -> *mut GSettingsSchemaKey;
51314}
51315extern "C" {
51316    pub fn g_settings_schema_has_key(schema: *mut GSettingsSchema, name: *const gchar) -> gboolean;
51317}
51318extern "C" {
51319    pub fn g_settings_schema_list_keys(schema: *mut GSettingsSchema) -> *mut *mut gchar;
51320}
51321extern "C" {
51322    pub fn g_settings_schema_list_children(schema: *mut GSettingsSchema) -> *mut *mut gchar;
51323}
51324extern "C" {
51325    pub fn g_settings_schema_key_get_type() -> GType;
51326}
51327extern "C" {
51328    pub fn g_settings_schema_key_ref(key: *mut GSettingsSchemaKey) -> *mut GSettingsSchemaKey;
51329}
51330extern "C" {
51331    pub fn g_settings_schema_key_unref(key: *mut GSettingsSchemaKey);
51332}
51333extern "C" {
51334    pub fn g_settings_schema_key_get_value_type(
51335        key: *mut GSettingsSchemaKey,
51336    ) -> *const GVariantType;
51337}
51338extern "C" {
51339    pub fn g_settings_schema_key_get_default_value(key: *mut GSettingsSchemaKey) -> *mut GVariant;
51340}
51341extern "C" {
51342    pub fn g_settings_schema_key_get_range(key: *mut GSettingsSchemaKey) -> *mut GVariant;
51343}
51344extern "C" {
51345    pub fn g_settings_schema_key_range_check(
51346        key: *mut GSettingsSchemaKey,
51347        value: *mut GVariant,
51348    ) -> gboolean;
51349}
51350extern "C" {
51351    pub fn g_settings_schema_key_get_name(key: *mut GSettingsSchemaKey) -> *const gchar;
51352}
51353extern "C" {
51354    pub fn g_settings_schema_key_get_summary(key: *mut GSettingsSchemaKey) -> *const gchar;
51355}
51356extern "C" {
51357    pub fn g_settings_schema_key_get_description(key: *mut GSettingsSchemaKey) -> *const gchar;
51358}
51359#[repr(C)]
51360#[derive(Debug, Copy, Clone)]
51361pub struct _GSettingsPrivate {
51362    _unused: [u8; 0],
51363}
51364pub type GSettingsPrivate = _GSettingsPrivate;
51365pub type GSettingsClass = _GSettingsClass;
51366#[repr(C)]
51367#[derive(Debug, Copy, Clone, PartialEq, Eq)]
51368pub struct _GSettingsClass {
51369    pub parent_class: GObjectClass,
51370    pub writable_changed:
51371        ::std::option::Option<unsafe extern "C" fn(settings: *mut GSettings, key: *const gchar)>,
51372    pub changed:
51373        ::std::option::Option<unsafe extern "C" fn(settings: *mut GSettings, key: *const gchar)>,
51374    pub writable_change_event: ::std::option::Option<
51375        unsafe extern "C" fn(settings: *mut GSettings, key: GQuark) -> gboolean,
51376    >,
51377    pub change_event: ::std::option::Option<
51378        unsafe extern "C" fn(
51379            settings: *mut GSettings,
51380            keys: *const GQuark,
51381            n_keys: gint,
51382        ) -> gboolean,
51383    >,
51384    pub padding: [gpointer; 20usize],
51385}
51386#[test]
51387fn bindgen_test_layout__GSettingsClass() {
51388    const UNINIT: ::std::mem::MaybeUninit<_GSettingsClass> = ::std::mem::MaybeUninit::uninit();
51389    let ptr = UNINIT.as_ptr();
51390    assert_eq!(
51391        ::std::mem::size_of::<_GSettingsClass>(),
51392        328usize,
51393        concat!("Size of: ", stringify!(_GSettingsClass))
51394    );
51395    assert_eq!(
51396        ::std::mem::align_of::<_GSettingsClass>(),
51397        8usize,
51398        concat!("Alignment of ", stringify!(_GSettingsClass))
51399    );
51400    assert_eq!(
51401        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
51402        0usize,
51403        concat!(
51404            "Offset of field: ",
51405            stringify!(_GSettingsClass),
51406            "::",
51407            stringify!(parent_class)
51408        )
51409    );
51410    assert_eq!(
51411        unsafe { ::std::ptr::addr_of!((*ptr).writable_changed) as usize - ptr as usize },
51412        136usize,
51413        concat!(
51414            "Offset of field: ",
51415            stringify!(_GSettingsClass),
51416            "::",
51417            stringify!(writable_changed)
51418        )
51419    );
51420    assert_eq!(
51421        unsafe { ::std::ptr::addr_of!((*ptr).changed) as usize - ptr as usize },
51422        144usize,
51423        concat!(
51424            "Offset of field: ",
51425            stringify!(_GSettingsClass),
51426            "::",
51427            stringify!(changed)
51428        )
51429    );
51430    assert_eq!(
51431        unsafe { ::std::ptr::addr_of!((*ptr).writable_change_event) as usize - ptr as usize },
51432        152usize,
51433        concat!(
51434            "Offset of field: ",
51435            stringify!(_GSettingsClass),
51436            "::",
51437            stringify!(writable_change_event)
51438        )
51439    );
51440    assert_eq!(
51441        unsafe { ::std::ptr::addr_of!((*ptr).change_event) as usize - ptr as usize },
51442        160usize,
51443        concat!(
51444            "Offset of field: ",
51445            stringify!(_GSettingsClass),
51446            "::",
51447            stringify!(change_event)
51448        )
51449    );
51450    assert_eq!(
51451        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
51452        168usize,
51453        concat!(
51454            "Offset of field: ",
51455            stringify!(_GSettingsClass),
51456            "::",
51457            stringify!(padding)
51458        )
51459    );
51460}
51461#[repr(C)]
51462#[derive(Debug, Copy, Clone, PartialEq, Eq)]
51463pub struct _GSettings {
51464    pub parent_instance: GObject,
51465    pub priv_: *mut GSettingsPrivate,
51466}
51467#[test]
51468fn bindgen_test_layout__GSettings() {
51469    const UNINIT: ::std::mem::MaybeUninit<_GSettings> = ::std::mem::MaybeUninit::uninit();
51470    let ptr = UNINIT.as_ptr();
51471    assert_eq!(
51472        ::std::mem::size_of::<_GSettings>(),
51473        32usize,
51474        concat!("Size of: ", stringify!(_GSettings))
51475    );
51476    assert_eq!(
51477        ::std::mem::align_of::<_GSettings>(),
51478        8usize,
51479        concat!("Alignment of ", stringify!(_GSettings))
51480    );
51481    assert_eq!(
51482        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
51483        0usize,
51484        concat!(
51485            "Offset of field: ",
51486            stringify!(_GSettings),
51487            "::",
51488            stringify!(parent_instance)
51489        )
51490    );
51491    assert_eq!(
51492        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
51493        24usize,
51494        concat!(
51495            "Offset of field: ",
51496            stringify!(_GSettings),
51497            "::",
51498            stringify!(priv_)
51499        )
51500    );
51501}
51502extern "C" {
51503    pub fn g_settings_get_type() -> GType;
51504}
51505extern "C" {
51506    pub fn g_settings_list_schemas() -> *const *const gchar;
51507}
51508extern "C" {
51509    pub fn g_settings_list_relocatable_schemas() -> *const *const gchar;
51510}
51511extern "C" {
51512    pub fn g_settings_new(schema_id: *const gchar) -> *mut GSettings;
51513}
51514extern "C" {
51515    pub fn g_settings_new_with_path(schema_id: *const gchar, path: *const gchar) -> *mut GSettings;
51516}
51517extern "C" {
51518    pub fn g_settings_new_with_backend(
51519        schema_id: *const gchar,
51520        backend: *mut GSettingsBackend,
51521    ) -> *mut GSettings;
51522}
51523extern "C" {
51524    pub fn g_settings_new_with_backend_and_path(
51525        schema_id: *const gchar,
51526        backend: *mut GSettingsBackend,
51527        path: *const gchar,
51528    ) -> *mut GSettings;
51529}
51530extern "C" {
51531    pub fn g_settings_new_full(
51532        schema: *mut GSettingsSchema,
51533        backend: *mut GSettingsBackend,
51534        path: *const gchar,
51535    ) -> *mut GSettings;
51536}
51537extern "C" {
51538    pub fn g_settings_list_children(settings: *mut GSettings) -> *mut *mut gchar;
51539}
51540extern "C" {
51541    pub fn g_settings_list_keys(settings: *mut GSettings) -> *mut *mut gchar;
51542}
51543extern "C" {
51544    pub fn g_settings_get_range(settings: *mut GSettings, key: *const gchar) -> *mut GVariant;
51545}
51546extern "C" {
51547    pub fn g_settings_range_check(
51548        settings: *mut GSettings,
51549        key: *const gchar,
51550        value: *mut GVariant,
51551    ) -> gboolean;
51552}
51553extern "C" {
51554    pub fn g_settings_set_value(
51555        settings: *mut GSettings,
51556        key: *const gchar,
51557        value: *mut GVariant,
51558    ) -> gboolean;
51559}
51560extern "C" {
51561    pub fn g_settings_get_value(settings: *mut GSettings, key: *const gchar) -> *mut GVariant;
51562}
51563extern "C" {
51564    pub fn g_settings_get_user_value(settings: *mut GSettings, key: *const gchar) -> *mut GVariant;
51565}
51566extern "C" {
51567    pub fn g_settings_get_default_value(
51568        settings: *mut GSettings,
51569        key: *const gchar,
51570    ) -> *mut GVariant;
51571}
51572extern "C" {
51573    pub fn g_settings_set(
51574        settings: *mut GSettings,
51575        key: *const gchar,
51576        format: *const gchar,
51577        ...
51578    ) -> gboolean;
51579}
51580extern "C" {
51581    pub fn g_settings_get(settings: *mut GSettings, key: *const gchar, format: *const gchar, ...);
51582}
51583extern "C" {
51584    pub fn g_settings_reset(settings: *mut GSettings, key: *const gchar);
51585}
51586extern "C" {
51587    pub fn g_settings_get_int(settings: *mut GSettings, key: *const gchar) -> gint;
51588}
51589extern "C" {
51590    pub fn g_settings_set_int(settings: *mut GSettings, key: *const gchar, value: gint)
51591        -> gboolean;
51592}
51593extern "C" {
51594    pub fn g_settings_get_int64(settings: *mut GSettings, key: *const gchar) -> gint64;
51595}
51596extern "C" {
51597    pub fn g_settings_set_int64(
51598        settings: *mut GSettings,
51599        key: *const gchar,
51600        value: gint64,
51601    ) -> gboolean;
51602}
51603extern "C" {
51604    pub fn g_settings_get_uint(settings: *mut GSettings, key: *const gchar) -> guint;
51605}
51606extern "C" {
51607    pub fn g_settings_set_uint(
51608        settings: *mut GSettings,
51609        key: *const gchar,
51610        value: guint,
51611    ) -> gboolean;
51612}
51613extern "C" {
51614    pub fn g_settings_get_uint64(settings: *mut GSettings, key: *const gchar) -> guint64;
51615}
51616extern "C" {
51617    pub fn g_settings_set_uint64(
51618        settings: *mut GSettings,
51619        key: *const gchar,
51620        value: guint64,
51621    ) -> gboolean;
51622}
51623extern "C" {
51624    pub fn g_settings_get_string(settings: *mut GSettings, key: *const gchar) -> *mut gchar;
51625}
51626extern "C" {
51627    pub fn g_settings_set_string(
51628        settings: *mut GSettings,
51629        key: *const gchar,
51630        value: *const gchar,
51631    ) -> gboolean;
51632}
51633extern "C" {
51634    pub fn g_settings_get_boolean(settings: *mut GSettings, key: *const gchar) -> gboolean;
51635}
51636extern "C" {
51637    pub fn g_settings_set_boolean(
51638        settings: *mut GSettings,
51639        key: *const gchar,
51640        value: gboolean,
51641    ) -> gboolean;
51642}
51643extern "C" {
51644    pub fn g_settings_get_double(settings: *mut GSettings, key: *const gchar) -> gdouble;
51645}
51646extern "C" {
51647    pub fn g_settings_set_double(
51648        settings: *mut GSettings,
51649        key: *const gchar,
51650        value: gdouble,
51651    ) -> gboolean;
51652}
51653extern "C" {
51654    pub fn g_settings_get_strv(settings: *mut GSettings, key: *const gchar) -> *mut *mut gchar;
51655}
51656extern "C" {
51657    pub fn g_settings_set_strv(
51658        settings: *mut GSettings,
51659        key: *const gchar,
51660        value: *const *const gchar,
51661    ) -> gboolean;
51662}
51663extern "C" {
51664    pub fn g_settings_get_enum(settings: *mut GSettings, key: *const gchar) -> gint;
51665}
51666extern "C" {
51667    pub fn g_settings_set_enum(
51668        settings: *mut GSettings,
51669        key: *const gchar,
51670        value: gint,
51671    ) -> gboolean;
51672}
51673extern "C" {
51674    pub fn g_settings_get_flags(settings: *mut GSettings, key: *const gchar) -> guint;
51675}
51676extern "C" {
51677    pub fn g_settings_set_flags(
51678        settings: *mut GSettings,
51679        key: *const gchar,
51680        value: guint,
51681    ) -> gboolean;
51682}
51683extern "C" {
51684    pub fn g_settings_get_child(settings: *mut GSettings, name: *const gchar) -> *mut GSettings;
51685}
51686extern "C" {
51687    pub fn g_settings_is_writable(settings: *mut GSettings, name: *const gchar) -> gboolean;
51688}
51689extern "C" {
51690    pub fn g_settings_delay(settings: *mut GSettings);
51691}
51692extern "C" {
51693    pub fn g_settings_apply(settings: *mut GSettings);
51694}
51695extern "C" {
51696    pub fn g_settings_revert(settings: *mut GSettings);
51697}
51698extern "C" {
51699    pub fn g_settings_get_has_unapplied(settings: *mut GSettings) -> gboolean;
51700}
51701extern "C" {
51702    pub fn g_settings_sync();
51703}
51704pub type GSettingsBindSetMapping = ::std::option::Option<
51705    unsafe extern "C" fn(
51706        value: *const GValue,
51707        expected_type: *const GVariantType,
51708        user_data: gpointer,
51709    ) -> *mut GVariant,
51710>;
51711pub type GSettingsBindGetMapping = ::std::option::Option<
51712    unsafe extern "C" fn(
51713        value: *mut GValue,
51714        variant: *mut GVariant,
51715        user_data: gpointer,
51716    ) -> gboolean,
51717>;
51718pub type GSettingsGetMapping = ::std::option::Option<
51719    unsafe extern "C" fn(
51720        value: *mut GVariant,
51721        result: *mut gpointer,
51722        user_data: gpointer,
51723    ) -> gboolean,
51724>;
51725pub const GSettingsBindFlags_G_SETTINGS_BIND_DEFAULT: GSettingsBindFlags = 0;
51726pub const GSettingsBindFlags_G_SETTINGS_BIND_GET: GSettingsBindFlags = 1;
51727pub const GSettingsBindFlags_G_SETTINGS_BIND_SET: GSettingsBindFlags = 2;
51728pub const GSettingsBindFlags_G_SETTINGS_BIND_NO_SENSITIVITY: GSettingsBindFlags = 4;
51729pub const GSettingsBindFlags_G_SETTINGS_BIND_GET_NO_CHANGES: GSettingsBindFlags = 8;
51730pub const GSettingsBindFlags_G_SETTINGS_BIND_INVERT_BOOLEAN: GSettingsBindFlags = 16;
51731pub type GSettingsBindFlags = ::std::os::raw::c_uint;
51732extern "C" {
51733    pub fn g_settings_bind(
51734        settings: *mut GSettings,
51735        key: *const gchar,
51736        object: gpointer,
51737        property: *const gchar,
51738        flags: GSettingsBindFlags,
51739    );
51740}
51741extern "C" {
51742    pub fn g_settings_bind_with_mapping(
51743        settings: *mut GSettings,
51744        key: *const gchar,
51745        object: gpointer,
51746        property: *const gchar,
51747        flags: GSettingsBindFlags,
51748        get_mapping: GSettingsBindGetMapping,
51749        set_mapping: GSettingsBindSetMapping,
51750        user_data: gpointer,
51751        destroy: GDestroyNotify,
51752    );
51753}
51754extern "C" {
51755    pub fn g_settings_bind_writable(
51756        settings: *mut GSettings,
51757        key: *const gchar,
51758        object: gpointer,
51759        property: *const gchar,
51760        inverted: gboolean,
51761    );
51762}
51763extern "C" {
51764    pub fn g_settings_unbind(object: gpointer, property: *const gchar);
51765}
51766extern "C" {
51767    pub fn g_settings_create_action(settings: *mut GSettings, key: *const gchar) -> *mut GAction;
51768}
51769extern "C" {
51770    pub fn g_settings_get_mapped(
51771        settings: *mut GSettings,
51772        key: *const gchar,
51773        mapping: GSettingsGetMapping,
51774        user_data: gpointer,
51775    ) -> gpointer;
51776}
51777extern "C" {
51778    pub fn g_simple_action_get_type() -> GType;
51779}
51780extern "C" {
51781    pub fn g_simple_action_new(
51782        name: *const gchar,
51783        parameter_type: *const GVariantType,
51784    ) -> *mut GSimpleAction;
51785}
51786extern "C" {
51787    pub fn g_simple_action_new_stateful(
51788        name: *const gchar,
51789        parameter_type: *const GVariantType,
51790        state: *mut GVariant,
51791    ) -> *mut GSimpleAction;
51792}
51793extern "C" {
51794    pub fn g_simple_action_set_enabled(simple: *mut GSimpleAction, enabled: gboolean);
51795}
51796extern "C" {
51797    pub fn g_simple_action_set_state(simple: *mut GSimpleAction, value: *mut GVariant);
51798}
51799extern "C" {
51800    pub fn g_simple_action_set_state_hint(simple: *mut GSimpleAction, state_hint: *mut GVariant);
51801}
51802#[repr(C)]
51803#[derive(Debug, Copy, Clone)]
51804pub struct _GSimpleActionGroupPrivate {
51805    _unused: [u8; 0],
51806}
51807pub type GSimpleActionGroupPrivate = _GSimpleActionGroupPrivate;
51808pub type GSimpleActionGroupClass = _GSimpleActionGroupClass;
51809#[repr(C)]
51810#[derive(Debug, Copy, Clone, PartialEq, Eq)]
51811pub struct _GSimpleActionGroup {
51812    pub parent_instance: GObject,
51813    pub priv_: *mut GSimpleActionGroupPrivate,
51814}
51815#[test]
51816fn bindgen_test_layout__GSimpleActionGroup() {
51817    const UNINIT: ::std::mem::MaybeUninit<_GSimpleActionGroup> = ::std::mem::MaybeUninit::uninit();
51818    let ptr = UNINIT.as_ptr();
51819    assert_eq!(
51820        ::std::mem::size_of::<_GSimpleActionGroup>(),
51821        32usize,
51822        concat!("Size of: ", stringify!(_GSimpleActionGroup))
51823    );
51824    assert_eq!(
51825        ::std::mem::align_of::<_GSimpleActionGroup>(),
51826        8usize,
51827        concat!("Alignment of ", stringify!(_GSimpleActionGroup))
51828    );
51829    assert_eq!(
51830        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
51831        0usize,
51832        concat!(
51833            "Offset of field: ",
51834            stringify!(_GSimpleActionGroup),
51835            "::",
51836            stringify!(parent_instance)
51837        )
51838    );
51839    assert_eq!(
51840        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
51841        24usize,
51842        concat!(
51843            "Offset of field: ",
51844            stringify!(_GSimpleActionGroup),
51845            "::",
51846            stringify!(priv_)
51847        )
51848    );
51849}
51850#[repr(C)]
51851#[derive(Debug, Copy, Clone, PartialEq, Eq)]
51852pub struct _GSimpleActionGroupClass {
51853    pub parent_class: GObjectClass,
51854    pub padding: [gpointer; 12usize],
51855}
51856#[test]
51857fn bindgen_test_layout__GSimpleActionGroupClass() {
51858    const UNINIT: ::std::mem::MaybeUninit<_GSimpleActionGroupClass> =
51859        ::std::mem::MaybeUninit::uninit();
51860    let ptr = UNINIT.as_ptr();
51861    assert_eq!(
51862        ::std::mem::size_of::<_GSimpleActionGroupClass>(),
51863        232usize,
51864        concat!("Size of: ", stringify!(_GSimpleActionGroupClass))
51865    );
51866    assert_eq!(
51867        ::std::mem::align_of::<_GSimpleActionGroupClass>(),
51868        8usize,
51869        concat!("Alignment of ", stringify!(_GSimpleActionGroupClass))
51870    );
51871    assert_eq!(
51872        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
51873        0usize,
51874        concat!(
51875            "Offset of field: ",
51876            stringify!(_GSimpleActionGroupClass),
51877            "::",
51878            stringify!(parent_class)
51879        )
51880    );
51881    assert_eq!(
51882        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
51883        136usize,
51884        concat!(
51885            "Offset of field: ",
51886            stringify!(_GSimpleActionGroupClass),
51887            "::",
51888            stringify!(padding)
51889        )
51890    );
51891}
51892extern "C" {
51893    pub fn g_simple_action_group_get_type() -> GType;
51894}
51895extern "C" {
51896    pub fn g_simple_action_group_new() -> *mut GSimpleActionGroup;
51897}
51898extern "C" {
51899    pub fn g_simple_action_group_lookup(
51900        simple: *mut GSimpleActionGroup,
51901        action_name: *const gchar,
51902    ) -> *mut GAction;
51903}
51904extern "C" {
51905    pub fn g_simple_action_group_insert(simple: *mut GSimpleActionGroup, action: *mut GAction);
51906}
51907extern "C" {
51908    pub fn g_simple_action_group_remove(simple: *mut GSimpleActionGroup, action_name: *const gchar);
51909}
51910extern "C" {
51911    pub fn g_simple_action_group_add_entries(
51912        simple: *mut GSimpleActionGroup,
51913        entries: *const GActionEntry,
51914        n_entries: gint,
51915        user_data: gpointer,
51916    );
51917}
51918#[repr(C)]
51919#[derive(Debug, Copy, Clone)]
51920pub struct _GSimpleAsyncResultClass {
51921    _unused: [u8; 0],
51922}
51923pub type GSimpleAsyncResultClass = _GSimpleAsyncResultClass;
51924extern "C" {
51925    pub fn g_simple_async_result_get_type() -> GType;
51926}
51927extern "C" {
51928    pub fn g_simple_async_result_new(
51929        source_object: *mut GObject,
51930        callback: GAsyncReadyCallback,
51931        user_data: gpointer,
51932        source_tag: gpointer,
51933    ) -> *mut GSimpleAsyncResult;
51934}
51935extern "C" {
51936    pub fn g_simple_async_result_new_error(
51937        source_object: *mut GObject,
51938        callback: GAsyncReadyCallback,
51939        user_data: gpointer,
51940        domain: GQuark,
51941        code: gint,
51942        format: *const ::std::os::raw::c_char,
51943        ...
51944    ) -> *mut GSimpleAsyncResult;
51945}
51946extern "C" {
51947    pub fn g_simple_async_result_new_from_error(
51948        source_object: *mut GObject,
51949        callback: GAsyncReadyCallback,
51950        user_data: gpointer,
51951        error: *const GError,
51952    ) -> *mut GSimpleAsyncResult;
51953}
51954extern "C" {
51955    pub fn g_simple_async_result_new_take_error(
51956        source_object: *mut GObject,
51957        callback: GAsyncReadyCallback,
51958        user_data: gpointer,
51959        error: *mut GError,
51960    ) -> *mut GSimpleAsyncResult;
51961}
51962extern "C" {
51963    pub fn g_simple_async_result_set_op_res_gpointer(
51964        simple: *mut GSimpleAsyncResult,
51965        op_res: gpointer,
51966        destroy_op_res: GDestroyNotify,
51967    );
51968}
51969extern "C" {
51970    pub fn g_simple_async_result_get_op_res_gpointer(simple: *mut GSimpleAsyncResult) -> gpointer;
51971}
51972extern "C" {
51973    pub fn g_simple_async_result_set_op_res_gssize(simple: *mut GSimpleAsyncResult, op_res: gssize);
51974}
51975extern "C" {
51976    pub fn g_simple_async_result_get_op_res_gssize(simple: *mut GSimpleAsyncResult) -> gssize;
51977}
51978extern "C" {
51979    pub fn g_simple_async_result_set_op_res_gboolean(
51980        simple: *mut GSimpleAsyncResult,
51981        op_res: gboolean,
51982    );
51983}
51984extern "C" {
51985    pub fn g_simple_async_result_get_op_res_gboolean(simple: *mut GSimpleAsyncResult) -> gboolean;
51986}
51987extern "C" {
51988    pub fn g_simple_async_result_set_check_cancellable(
51989        simple: *mut GSimpleAsyncResult,
51990        check_cancellable: *mut GCancellable,
51991    );
51992}
51993extern "C" {
51994    pub fn g_simple_async_result_get_source_tag(simple: *mut GSimpleAsyncResult) -> gpointer;
51995}
51996extern "C" {
51997    pub fn g_simple_async_result_set_handle_cancellation(
51998        simple: *mut GSimpleAsyncResult,
51999        handle_cancellation: gboolean,
52000    );
52001}
52002extern "C" {
52003    pub fn g_simple_async_result_complete(simple: *mut GSimpleAsyncResult);
52004}
52005extern "C" {
52006    pub fn g_simple_async_result_complete_in_idle(simple: *mut GSimpleAsyncResult);
52007}
52008extern "C" {
52009    pub fn g_simple_async_result_run_in_thread(
52010        simple: *mut GSimpleAsyncResult,
52011        func: GSimpleAsyncThreadFunc,
52012        io_priority: ::std::os::raw::c_int,
52013        cancellable: *mut GCancellable,
52014    );
52015}
52016extern "C" {
52017    pub fn g_simple_async_result_set_from_error(
52018        simple: *mut GSimpleAsyncResult,
52019        error: *const GError,
52020    );
52021}
52022extern "C" {
52023    pub fn g_simple_async_result_take_error(simple: *mut GSimpleAsyncResult, error: *mut GError);
52024}
52025extern "C" {
52026    pub fn g_simple_async_result_propagate_error(
52027        simple: *mut GSimpleAsyncResult,
52028        dest: *mut *mut GError,
52029    ) -> gboolean;
52030}
52031extern "C" {
52032    pub fn g_simple_async_result_set_error(
52033        simple: *mut GSimpleAsyncResult,
52034        domain: GQuark,
52035        code: gint,
52036        format: *const ::std::os::raw::c_char,
52037        ...
52038    );
52039}
52040extern "C" {
52041    pub fn g_simple_async_result_set_error_va(
52042        simple: *mut GSimpleAsyncResult,
52043        domain: GQuark,
52044        code: gint,
52045        format: *const ::std::os::raw::c_char,
52046        args: va_list,
52047    );
52048}
52049extern "C" {
52050    pub fn g_simple_async_result_is_valid(
52051        result: *mut GAsyncResult,
52052        source: *mut GObject,
52053        source_tag: gpointer,
52054    ) -> gboolean;
52055}
52056extern "C" {
52057    pub fn g_simple_async_report_error_in_idle(
52058        object: *mut GObject,
52059        callback: GAsyncReadyCallback,
52060        user_data: gpointer,
52061        domain: GQuark,
52062        code: gint,
52063        format: *const ::std::os::raw::c_char,
52064        ...
52065    );
52066}
52067extern "C" {
52068    pub fn g_simple_async_report_gerror_in_idle(
52069        object: *mut GObject,
52070        callback: GAsyncReadyCallback,
52071        user_data: gpointer,
52072        error: *const GError,
52073    );
52074}
52075extern "C" {
52076    pub fn g_simple_async_report_take_gerror_in_idle(
52077        object: *mut GObject,
52078        callback: GAsyncReadyCallback,
52079        user_data: gpointer,
52080        error: *mut GError,
52081    );
52082}
52083extern "C" {
52084    pub fn g_simple_io_stream_get_type() -> GType;
52085}
52086extern "C" {
52087    pub fn g_simple_io_stream_new(
52088        input_stream: *mut GInputStream,
52089        output_stream: *mut GOutputStream,
52090    ) -> *mut GIOStream;
52091}
52092extern "C" {
52093    pub fn g_simple_permission_get_type() -> GType;
52094}
52095extern "C" {
52096    pub fn g_simple_permission_new(allowed: gboolean) -> *mut GPermission;
52097}
52098pub type GSimpleProxyResolver = _GSimpleProxyResolver;
52099#[repr(C)]
52100#[derive(Debug, Copy, Clone)]
52101pub struct _GSimpleProxyResolverPrivate {
52102    _unused: [u8; 0],
52103}
52104pub type GSimpleProxyResolverPrivate = _GSimpleProxyResolverPrivate;
52105pub type GSimpleProxyResolverClass = _GSimpleProxyResolverClass;
52106#[repr(C)]
52107#[derive(Debug, Copy, Clone, PartialEq, Eq)]
52108pub struct _GSimpleProxyResolver {
52109    pub parent_instance: GObject,
52110    pub priv_: *mut GSimpleProxyResolverPrivate,
52111}
52112#[test]
52113fn bindgen_test_layout__GSimpleProxyResolver() {
52114    const UNINIT: ::std::mem::MaybeUninit<_GSimpleProxyResolver> =
52115        ::std::mem::MaybeUninit::uninit();
52116    let ptr = UNINIT.as_ptr();
52117    assert_eq!(
52118        ::std::mem::size_of::<_GSimpleProxyResolver>(),
52119        32usize,
52120        concat!("Size of: ", stringify!(_GSimpleProxyResolver))
52121    );
52122    assert_eq!(
52123        ::std::mem::align_of::<_GSimpleProxyResolver>(),
52124        8usize,
52125        concat!("Alignment of ", stringify!(_GSimpleProxyResolver))
52126    );
52127    assert_eq!(
52128        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
52129        0usize,
52130        concat!(
52131            "Offset of field: ",
52132            stringify!(_GSimpleProxyResolver),
52133            "::",
52134            stringify!(parent_instance)
52135        )
52136    );
52137    assert_eq!(
52138        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
52139        24usize,
52140        concat!(
52141            "Offset of field: ",
52142            stringify!(_GSimpleProxyResolver),
52143            "::",
52144            stringify!(priv_)
52145        )
52146    );
52147}
52148#[repr(C)]
52149#[derive(Debug, Copy, Clone, PartialEq, Eq)]
52150pub struct _GSimpleProxyResolverClass {
52151    pub parent_class: GObjectClass,
52152    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
52153    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
52154    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
52155    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
52156    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
52157}
52158#[test]
52159fn bindgen_test_layout__GSimpleProxyResolverClass() {
52160    const UNINIT: ::std::mem::MaybeUninit<_GSimpleProxyResolverClass> =
52161        ::std::mem::MaybeUninit::uninit();
52162    let ptr = UNINIT.as_ptr();
52163    assert_eq!(
52164        ::std::mem::size_of::<_GSimpleProxyResolverClass>(),
52165        176usize,
52166        concat!("Size of: ", stringify!(_GSimpleProxyResolverClass))
52167    );
52168    assert_eq!(
52169        ::std::mem::align_of::<_GSimpleProxyResolverClass>(),
52170        8usize,
52171        concat!("Alignment of ", stringify!(_GSimpleProxyResolverClass))
52172    );
52173    assert_eq!(
52174        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
52175        0usize,
52176        concat!(
52177            "Offset of field: ",
52178            stringify!(_GSimpleProxyResolverClass),
52179            "::",
52180            stringify!(parent_class)
52181        )
52182    );
52183    assert_eq!(
52184        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
52185        136usize,
52186        concat!(
52187            "Offset of field: ",
52188            stringify!(_GSimpleProxyResolverClass),
52189            "::",
52190            stringify!(_g_reserved1)
52191        )
52192    );
52193    assert_eq!(
52194        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
52195        144usize,
52196        concat!(
52197            "Offset of field: ",
52198            stringify!(_GSimpleProxyResolverClass),
52199            "::",
52200            stringify!(_g_reserved2)
52201        )
52202    );
52203    assert_eq!(
52204        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
52205        152usize,
52206        concat!(
52207            "Offset of field: ",
52208            stringify!(_GSimpleProxyResolverClass),
52209            "::",
52210            stringify!(_g_reserved3)
52211        )
52212    );
52213    assert_eq!(
52214        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
52215        160usize,
52216        concat!(
52217            "Offset of field: ",
52218            stringify!(_GSimpleProxyResolverClass),
52219            "::",
52220            stringify!(_g_reserved4)
52221        )
52222    );
52223    assert_eq!(
52224        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
52225        168usize,
52226        concat!(
52227            "Offset of field: ",
52228            stringify!(_GSimpleProxyResolverClass),
52229            "::",
52230            stringify!(_g_reserved5)
52231        )
52232    );
52233}
52234extern "C" {
52235    pub fn g_simple_proxy_resolver_get_type() -> GType;
52236}
52237extern "C" {
52238    pub fn g_simple_proxy_resolver_new(
52239        default_proxy: *const gchar,
52240        ignore_hosts: *mut *mut gchar,
52241    ) -> *mut GProxyResolver;
52242}
52243extern "C" {
52244    pub fn g_simple_proxy_resolver_set_default_proxy(
52245        resolver: *mut GSimpleProxyResolver,
52246        default_proxy: *const gchar,
52247    );
52248}
52249extern "C" {
52250    pub fn g_simple_proxy_resolver_set_ignore_hosts(
52251        resolver: *mut GSimpleProxyResolver,
52252        ignore_hosts: *mut *mut gchar,
52253    );
52254}
52255extern "C" {
52256    pub fn g_simple_proxy_resolver_set_uri_proxy(
52257        resolver: *mut GSimpleProxyResolver,
52258        uri_scheme: *const gchar,
52259        proxy: *const gchar,
52260    );
52261}
52262#[repr(C)]
52263#[derive(Debug, Copy, Clone)]
52264pub struct _GSocketPrivate {
52265    _unused: [u8; 0],
52266}
52267pub type GSocketPrivate = _GSocketPrivate;
52268pub type GSocketClass = _GSocketClass;
52269#[repr(C)]
52270#[derive(Debug, Copy, Clone, PartialEq, Eq)]
52271pub struct _GSocketClass {
52272    pub parent_class: GObjectClass,
52273    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
52274    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
52275    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
52276    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
52277    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
52278    pub _g_reserved6: ::std::option::Option<unsafe extern "C" fn()>,
52279    pub _g_reserved7: ::std::option::Option<unsafe extern "C" fn()>,
52280    pub _g_reserved8: ::std::option::Option<unsafe extern "C" fn()>,
52281    pub _g_reserved9: ::std::option::Option<unsafe extern "C" fn()>,
52282    pub _g_reserved10: ::std::option::Option<unsafe extern "C" fn()>,
52283}
52284#[test]
52285fn bindgen_test_layout__GSocketClass() {
52286    const UNINIT: ::std::mem::MaybeUninit<_GSocketClass> = ::std::mem::MaybeUninit::uninit();
52287    let ptr = UNINIT.as_ptr();
52288    assert_eq!(
52289        ::std::mem::size_of::<_GSocketClass>(),
52290        216usize,
52291        concat!("Size of: ", stringify!(_GSocketClass))
52292    );
52293    assert_eq!(
52294        ::std::mem::align_of::<_GSocketClass>(),
52295        8usize,
52296        concat!("Alignment of ", stringify!(_GSocketClass))
52297    );
52298    assert_eq!(
52299        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
52300        0usize,
52301        concat!(
52302            "Offset of field: ",
52303            stringify!(_GSocketClass),
52304            "::",
52305            stringify!(parent_class)
52306        )
52307    );
52308    assert_eq!(
52309        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
52310        136usize,
52311        concat!(
52312            "Offset of field: ",
52313            stringify!(_GSocketClass),
52314            "::",
52315            stringify!(_g_reserved1)
52316        )
52317    );
52318    assert_eq!(
52319        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
52320        144usize,
52321        concat!(
52322            "Offset of field: ",
52323            stringify!(_GSocketClass),
52324            "::",
52325            stringify!(_g_reserved2)
52326        )
52327    );
52328    assert_eq!(
52329        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
52330        152usize,
52331        concat!(
52332            "Offset of field: ",
52333            stringify!(_GSocketClass),
52334            "::",
52335            stringify!(_g_reserved3)
52336        )
52337    );
52338    assert_eq!(
52339        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
52340        160usize,
52341        concat!(
52342            "Offset of field: ",
52343            stringify!(_GSocketClass),
52344            "::",
52345            stringify!(_g_reserved4)
52346        )
52347    );
52348    assert_eq!(
52349        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
52350        168usize,
52351        concat!(
52352            "Offset of field: ",
52353            stringify!(_GSocketClass),
52354            "::",
52355            stringify!(_g_reserved5)
52356        )
52357    );
52358    assert_eq!(
52359        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved6) as usize - ptr as usize },
52360        176usize,
52361        concat!(
52362            "Offset of field: ",
52363            stringify!(_GSocketClass),
52364            "::",
52365            stringify!(_g_reserved6)
52366        )
52367    );
52368    assert_eq!(
52369        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved7) as usize - ptr as usize },
52370        184usize,
52371        concat!(
52372            "Offset of field: ",
52373            stringify!(_GSocketClass),
52374            "::",
52375            stringify!(_g_reserved7)
52376        )
52377    );
52378    assert_eq!(
52379        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved8) as usize - ptr as usize },
52380        192usize,
52381        concat!(
52382            "Offset of field: ",
52383            stringify!(_GSocketClass),
52384            "::",
52385            stringify!(_g_reserved8)
52386        )
52387    );
52388    assert_eq!(
52389        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved9) as usize - ptr as usize },
52390        200usize,
52391        concat!(
52392            "Offset of field: ",
52393            stringify!(_GSocketClass),
52394            "::",
52395            stringify!(_g_reserved9)
52396        )
52397    );
52398    assert_eq!(
52399        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved10) as usize - ptr as usize },
52400        208usize,
52401        concat!(
52402            "Offset of field: ",
52403            stringify!(_GSocketClass),
52404            "::",
52405            stringify!(_g_reserved10)
52406        )
52407    );
52408}
52409#[repr(C)]
52410#[derive(Debug, Copy, Clone, PartialEq, Eq)]
52411pub struct _GSocket {
52412    pub parent_instance: GObject,
52413    pub priv_: *mut GSocketPrivate,
52414}
52415#[test]
52416fn bindgen_test_layout__GSocket() {
52417    const UNINIT: ::std::mem::MaybeUninit<_GSocket> = ::std::mem::MaybeUninit::uninit();
52418    let ptr = UNINIT.as_ptr();
52419    assert_eq!(
52420        ::std::mem::size_of::<_GSocket>(),
52421        32usize,
52422        concat!("Size of: ", stringify!(_GSocket))
52423    );
52424    assert_eq!(
52425        ::std::mem::align_of::<_GSocket>(),
52426        8usize,
52427        concat!("Alignment of ", stringify!(_GSocket))
52428    );
52429    assert_eq!(
52430        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
52431        0usize,
52432        concat!(
52433            "Offset of field: ",
52434            stringify!(_GSocket),
52435            "::",
52436            stringify!(parent_instance)
52437        )
52438    );
52439    assert_eq!(
52440        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
52441        24usize,
52442        concat!(
52443            "Offset of field: ",
52444            stringify!(_GSocket),
52445            "::",
52446            stringify!(priv_)
52447        )
52448    );
52449}
52450extern "C" {
52451    pub fn g_socket_get_type() -> GType;
52452}
52453extern "C" {
52454    pub fn g_socket_new(
52455        family: GSocketFamily,
52456        type_: GSocketType,
52457        protocol: GSocketProtocol,
52458        error: *mut *mut GError,
52459    ) -> *mut GSocket;
52460}
52461extern "C" {
52462    pub fn g_socket_new_from_fd(fd: gint, error: *mut *mut GError) -> *mut GSocket;
52463}
52464extern "C" {
52465    pub fn g_socket_get_fd(socket: *mut GSocket) -> ::std::os::raw::c_int;
52466}
52467extern "C" {
52468    pub fn g_socket_get_family(socket: *mut GSocket) -> GSocketFamily;
52469}
52470extern "C" {
52471    pub fn g_socket_get_socket_type(socket: *mut GSocket) -> GSocketType;
52472}
52473extern "C" {
52474    pub fn g_socket_get_protocol(socket: *mut GSocket) -> GSocketProtocol;
52475}
52476extern "C" {
52477    pub fn g_socket_get_local_address(
52478        socket: *mut GSocket,
52479        error: *mut *mut GError,
52480    ) -> *mut GSocketAddress;
52481}
52482extern "C" {
52483    pub fn g_socket_get_remote_address(
52484        socket: *mut GSocket,
52485        error: *mut *mut GError,
52486    ) -> *mut GSocketAddress;
52487}
52488extern "C" {
52489    pub fn g_socket_set_blocking(socket: *mut GSocket, blocking: gboolean);
52490}
52491extern "C" {
52492    pub fn g_socket_get_blocking(socket: *mut GSocket) -> gboolean;
52493}
52494extern "C" {
52495    pub fn g_socket_set_keepalive(socket: *mut GSocket, keepalive: gboolean);
52496}
52497extern "C" {
52498    pub fn g_socket_get_keepalive(socket: *mut GSocket) -> gboolean;
52499}
52500extern "C" {
52501    pub fn g_socket_get_listen_backlog(socket: *mut GSocket) -> gint;
52502}
52503extern "C" {
52504    pub fn g_socket_set_listen_backlog(socket: *mut GSocket, backlog: gint);
52505}
52506extern "C" {
52507    pub fn g_socket_get_timeout(socket: *mut GSocket) -> guint;
52508}
52509extern "C" {
52510    pub fn g_socket_set_timeout(socket: *mut GSocket, timeout: guint);
52511}
52512extern "C" {
52513    pub fn g_socket_get_ttl(socket: *mut GSocket) -> guint;
52514}
52515extern "C" {
52516    pub fn g_socket_set_ttl(socket: *mut GSocket, ttl: guint);
52517}
52518extern "C" {
52519    pub fn g_socket_get_broadcast(socket: *mut GSocket) -> gboolean;
52520}
52521extern "C" {
52522    pub fn g_socket_set_broadcast(socket: *mut GSocket, broadcast: gboolean);
52523}
52524extern "C" {
52525    pub fn g_socket_get_multicast_loopback(socket: *mut GSocket) -> gboolean;
52526}
52527extern "C" {
52528    pub fn g_socket_set_multicast_loopback(socket: *mut GSocket, loopback: gboolean);
52529}
52530extern "C" {
52531    pub fn g_socket_get_multicast_ttl(socket: *mut GSocket) -> guint;
52532}
52533extern "C" {
52534    pub fn g_socket_set_multicast_ttl(socket: *mut GSocket, ttl: guint);
52535}
52536extern "C" {
52537    pub fn g_socket_is_connected(socket: *mut GSocket) -> gboolean;
52538}
52539extern "C" {
52540    pub fn g_socket_bind(
52541        socket: *mut GSocket,
52542        address: *mut GSocketAddress,
52543        allow_reuse: gboolean,
52544        error: *mut *mut GError,
52545    ) -> gboolean;
52546}
52547extern "C" {
52548    pub fn g_socket_join_multicast_group(
52549        socket: *mut GSocket,
52550        group: *mut GInetAddress,
52551        source_specific: gboolean,
52552        iface: *const gchar,
52553        error: *mut *mut GError,
52554    ) -> gboolean;
52555}
52556extern "C" {
52557    pub fn g_socket_leave_multicast_group(
52558        socket: *mut GSocket,
52559        group: *mut GInetAddress,
52560        source_specific: gboolean,
52561        iface: *const gchar,
52562        error: *mut *mut GError,
52563    ) -> gboolean;
52564}
52565extern "C" {
52566    pub fn g_socket_join_multicast_group_ssm(
52567        socket: *mut GSocket,
52568        group: *mut GInetAddress,
52569        source_specific: *mut GInetAddress,
52570        iface: *const gchar,
52571        error: *mut *mut GError,
52572    ) -> gboolean;
52573}
52574extern "C" {
52575    pub fn g_socket_leave_multicast_group_ssm(
52576        socket: *mut GSocket,
52577        group: *mut GInetAddress,
52578        source_specific: *mut GInetAddress,
52579        iface: *const gchar,
52580        error: *mut *mut GError,
52581    ) -> gboolean;
52582}
52583extern "C" {
52584    pub fn g_socket_connect(
52585        socket: *mut GSocket,
52586        address: *mut GSocketAddress,
52587        cancellable: *mut GCancellable,
52588        error: *mut *mut GError,
52589    ) -> gboolean;
52590}
52591extern "C" {
52592    pub fn g_socket_check_connect_result(socket: *mut GSocket, error: *mut *mut GError)
52593        -> gboolean;
52594}
52595extern "C" {
52596    pub fn g_socket_get_available_bytes(socket: *mut GSocket) -> gssize;
52597}
52598extern "C" {
52599    pub fn g_socket_condition_check(socket: *mut GSocket, condition: GIOCondition) -> GIOCondition;
52600}
52601extern "C" {
52602    pub fn g_socket_condition_wait(
52603        socket: *mut GSocket,
52604        condition: GIOCondition,
52605        cancellable: *mut GCancellable,
52606        error: *mut *mut GError,
52607    ) -> gboolean;
52608}
52609extern "C" {
52610    pub fn g_socket_condition_timed_wait(
52611        socket: *mut GSocket,
52612        condition: GIOCondition,
52613        timeout_us: gint64,
52614        cancellable: *mut GCancellable,
52615        error: *mut *mut GError,
52616    ) -> gboolean;
52617}
52618extern "C" {
52619    pub fn g_socket_accept(
52620        socket: *mut GSocket,
52621        cancellable: *mut GCancellable,
52622        error: *mut *mut GError,
52623    ) -> *mut GSocket;
52624}
52625extern "C" {
52626    pub fn g_socket_listen(socket: *mut GSocket, error: *mut *mut GError) -> gboolean;
52627}
52628extern "C" {
52629    pub fn g_socket_receive(
52630        socket: *mut GSocket,
52631        buffer: *mut gchar,
52632        size: gsize,
52633        cancellable: *mut GCancellable,
52634        error: *mut *mut GError,
52635    ) -> gssize;
52636}
52637extern "C" {
52638    pub fn g_socket_receive_from(
52639        socket: *mut GSocket,
52640        address: *mut *mut GSocketAddress,
52641        buffer: *mut gchar,
52642        size: gsize,
52643        cancellable: *mut GCancellable,
52644        error: *mut *mut GError,
52645    ) -> gssize;
52646}
52647extern "C" {
52648    pub fn g_socket_send(
52649        socket: *mut GSocket,
52650        buffer: *const gchar,
52651        size: gsize,
52652        cancellable: *mut GCancellable,
52653        error: *mut *mut GError,
52654    ) -> gssize;
52655}
52656extern "C" {
52657    pub fn g_socket_send_to(
52658        socket: *mut GSocket,
52659        address: *mut GSocketAddress,
52660        buffer: *const gchar,
52661        size: gsize,
52662        cancellable: *mut GCancellable,
52663        error: *mut *mut GError,
52664    ) -> gssize;
52665}
52666extern "C" {
52667    pub fn g_socket_receive_message(
52668        socket: *mut GSocket,
52669        address: *mut *mut GSocketAddress,
52670        vectors: *mut GInputVector,
52671        num_vectors: gint,
52672        messages: *mut *mut *mut GSocketControlMessage,
52673        num_messages: *mut gint,
52674        flags: *mut gint,
52675        cancellable: *mut GCancellable,
52676        error: *mut *mut GError,
52677    ) -> gssize;
52678}
52679extern "C" {
52680    pub fn g_socket_send_message(
52681        socket: *mut GSocket,
52682        address: *mut GSocketAddress,
52683        vectors: *mut GOutputVector,
52684        num_vectors: gint,
52685        messages: *mut *mut GSocketControlMessage,
52686        num_messages: gint,
52687        flags: gint,
52688        cancellable: *mut GCancellable,
52689        error: *mut *mut GError,
52690    ) -> gssize;
52691}
52692extern "C" {
52693    pub fn g_socket_receive_messages(
52694        socket: *mut GSocket,
52695        messages: *mut GInputMessage,
52696        num_messages: guint,
52697        flags: gint,
52698        cancellable: *mut GCancellable,
52699        error: *mut *mut GError,
52700    ) -> gint;
52701}
52702extern "C" {
52703    pub fn g_socket_send_messages(
52704        socket: *mut GSocket,
52705        messages: *mut GOutputMessage,
52706        num_messages: guint,
52707        flags: gint,
52708        cancellable: *mut GCancellable,
52709        error: *mut *mut GError,
52710    ) -> gint;
52711}
52712extern "C" {
52713    pub fn g_socket_close(socket: *mut GSocket, error: *mut *mut GError) -> gboolean;
52714}
52715extern "C" {
52716    pub fn g_socket_shutdown(
52717        socket: *mut GSocket,
52718        shutdown_read: gboolean,
52719        shutdown_write: gboolean,
52720        error: *mut *mut GError,
52721    ) -> gboolean;
52722}
52723extern "C" {
52724    pub fn g_socket_is_closed(socket: *mut GSocket) -> gboolean;
52725}
52726extern "C" {
52727    pub fn g_socket_create_source(
52728        socket: *mut GSocket,
52729        condition: GIOCondition,
52730        cancellable: *mut GCancellable,
52731    ) -> *mut GSource;
52732}
52733extern "C" {
52734    pub fn g_socket_speaks_ipv4(socket: *mut GSocket) -> gboolean;
52735}
52736extern "C" {
52737    pub fn g_socket_get_credentials(
52738        socket: *mut GSocket,
52739        error: *mut *mut GError,
52740    ) -> *mut GCredentials;
52741}
52742extern "C" {
52743    pub fn g_socket_receive_with_blocking(
52744        socket: *mut GSocket,
52745        buffer: *mut gchar,
52746        size: gsize,
52747        blocking: gboolean,
52748        cancellable: *mut GCancellable,
52749        error: *mut *mut GError,
52750    ) -> gssize;
52751}
52752extern "C" {
52753    pub fn g_socket_send_with_blocking(
52754        socket: *mut GSocket,
52755        buffer: *const gchar,
52756        size: gsize,
52757        blocking: gboolean,
52758        cancellable: *mut GCancellable,
52759        error: *mut *mut GError,
52760    ) -> gssize;
52761}
52762extern "C" {
52763    pub fn g_socket_send_message_with_timeout(
52764        socket: *mut GSocket,
52765        address: *mut GSocketAddress,
52766        vectors: *const GOutputVector,
52767        num_vectors: gint,
52768        messages: *mut *mut GSocketControlMessage,
52769        num_messages: gint,
52770        flags: gint,
52771        timeout_us: gint64,
52772        bytes_written: *mut gsize,
52773        cancellable: *mut GCancellable,
52774        error: *mut *mut GError,
52775    ) -> GPollableReturn;
52776}
52777extern "C" {
52778    pub fn g_socket_get_option(
52779        socket: *mut GSocket,
52780        level: gint,
52781        optname: gint,
52782        value: *mut gint,
52783        error: *mut *mut GError,
52784    ) -> gboolean;
52785}
52786extern "C" {
52787    pub fn g_socket_set_option(
52788        socket: *mut GSocket,
52789        level: gint,
52790        optname: gint,
52791        value: gint,
52792        error: *mut *mut GError,
52793    ) -> gboolean;
52794}
52795#[repr(C)]
52796#[derive(Debug, Copy, Clone)]
52797pub struct _GSocketClientPrivate {
52798    _unused: [u8; 0],
52799}
52800pub type GSocketClientPrivate = _GSocketClientPrivate;
52801pub type GSocketClientClass = _GSocketClientClass;
52802#[repr(C)]
52803#[derive(Debug, Copy, Clone, PartialEq, Eq)]
52804pub struct _GSocketClientClass {
52805    pub parent_class: GObjectClass,
52806    pub event: ::std::option::Option<
52807        unsafe extern "C" fn(
52808            client: *mut GSocketClient,
52809            event: GSocketClientEvent,
52810            connectable: *mut GSocketConnectable,
52811            connection: *mut GIOStream,
52812        ),
52813    >,
52814    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
52815    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
52816    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
52817    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
52818}
52819#[test]
52820fn bindgen_test_layout__GSocketClientClass() {
52821    const UNINIT: ::std::mem::MaybeUninit<_GSocketClientClass> = ::std::mem::MaybeUninit::uninit();
52822    let ptr = UNINIT.as_ptr();
52823    assert_eq!(
52824        ::std::mem::size_of::<_GSocketClientClass>(),
52825        176usize,
52826        concat!("Size of: ", stringify!(_GSocketClientClass))
52827    );
52828    assert_eq!(
52829        ::std::mem::align_of::<_GSocketClientClass>(),
52830        8usize,
52831        concat!("Alignment of ", stringify!(_GSocketClientClass))
52832    );
52833    assert_eq!(
52834        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
52835        0usize,
52836        concat!(
52837            "Offset of field: ",
52838            stringify!(_GSocketClientClass),
52839            "::",
52840            stringify!(parent_class)
52841        )
52842    );
52843    assert_eq!(
52844        unsafe { ::std::ptr::addr_of!((*ptr).event) as usize - ptr as usize },
52845        136usize,
52846        concat!(
52847            "Offset of field: ",
52848            stringify!(_GSocketClientClass),
52849            "::",
52850            stringify!(event)
52851        )
52852    );
52853    assert_eq!(
52854        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
52855        144usize,
52856        concat!(
52857            "Offset of field: ",
52858            stringify!(_GSocketClientClass),
52859            "::",
52860            stringify!(_g_reserved1)
52861        )
52862    );
52863    assert_eq!(
52864        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
52865        152usize,
52866        concat!(
52867            "Offset of field: ",
52868            stringify!(_GSocketClientClass),
52869            "::",
52870            stringify!(_g_reserved2)
52871        )
52872    );
52873    assert_eq!(
52874        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
52875        160usize,
52876        concat!(
52877            "Offset of field: ",
52878            stringify!(_GSocketClientClass),
52879            "::",
52880            stringify!(_g_reserved3)
52881        )
52882    );
52883    assert_eq!(
52884        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
52885        168usize,
52886        concat!(
52887            "Offset of field: ",
52888            stringify!(_GSocketClientClass),
52889            "::",
52890            stringify!(_g_reserved4)
52891        )
52892    );
52893}
52894#[repr(C)]
52895#[derive(Debug, Copy, Clone, PartialEq, Eq)]
52896pub struct _GSocketClient {
52897    pub parent_instance: GObject,
52898    pub priv_: *mut GSocketClientPrivate,
52899}
52900#[test]
52901fn bindgen_test_layout__GSocketClient() {
52902    const UNINIT: ::std::mem::MaybeUninit<_GSocketClient> = ::std::mem::MaybeUninit::uninit();
52903    let ptr = UNINIT.as_ptr();
52904    assert_eq!(
52905        ::std::mem::size_of::<_GSocketClient>(),
52906        32usize,
52907        concat!("Size of: ", stringify!(_GSocketClient))
52908    );
52909    assert_eq!(
52910        ::std::mem::align_of::<_GSocketClient>(),
52911        8usize,
52912        concat!("Alignment of ", stringify!(_GSocketClient))
52913    );
52914    assert_eq!(
52915        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
52916        0usize,
52917        concat!(
52918            "Offset of field: ",
52919            stringify!(_GSocketClient),
52920            "::",
52921            stringify!(parent_instance)
52922        )
52923    );
52924    assert_eq!(
52925        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
52926        24usize,
52927        concat!(
52928            "Offset of field: ",
52929            stringify!(_GSocketClient),
52930            "::",
52931            stringify!(priv_)
52932        )
52933    );
52934}
52935extern "C" {
52936    pub fn g_socket_client_get_type() -> GType;
52937}
52938extern "C" {
52939    pub fn g_socket_client_new() -> *mut GSocketClient;
52940}
52941extern "C" {
52942    pub fn g_socket_client_get_family(client: *mut GSocketClient) -> GSocketFamily;
52943}
52944extern "C" {
52945    pub fn g_socket_client_set_family(client: *mut GSocketClient, family: GSocketFamily);
52946}
52947extern "C" {
52948    pub fn g_socket_client_get_socket_type(client: *mut GSocketClient) -> GSocketType;
52949}
52950extern "C" {
52951    pub fn g_socket_client_set_socket_type(client: *mut GSocketClient, type_: GSocketType);
52952}
52953extern "C" {
52954    pub fn g_socket_client_get_protocol(client: *mut GSocketClient) -> GSocketProtocol;
52955}
52956extern "C" {
52957    pub fn g_socket_client_set_protocol(client: *mut GSocketClient, protocol: GSocketProtocol);
52958}
52959extern "C" {
52960    pub fn g_socket_client_get_local_address(client: *mut GSocketClient) -> *mut GSocketAddress;
52961}
52962extern "C" {
52963    pub fn g_socket_client_set_local_address(
52964        client: *mut GSocketClient,
52965        address: *mut GSocketAddress,
52966    );
52967}
52968extern "C" {
52969    pub fn g_socket_client_get_timeout(client: *mut GSocketClient) -> guint;
52970}
52971extern "C" {
52972    pub fn g_socket_client_set_timeout(client: *mut GSocketClient, timeout: guint);
52973}
52974extern "C" {
52975    pub fn g_socket_client_get_enable_proxy(client: *mut GSocketClient) -> gboolean;
52976}
52977extern "C" {
52978    pub fn g_socket_client_set_enable_proxy(client: *mut GSocketClient, enable: gboolean);
52979}
52980extern "C" {
52981    pub fn g_socket_client_get_tls(client: *mut GSocketClient) -> gboolean;
52982}
52983extern "C" {
52984    pub fn g_socket_client_set_tls(client: *mut GSocketClient, tls: gboolean);
52985}
52986extern "C" {
52987    pub fn g_socket_client_get_tls_validation_flags(
52988        client: *mut GSocketClient,
52989    ) -> GTlsCertificateFlags;
52990}
52991extern "C" {
52992    pub fn g_socket_client_set_tls_validation_flags(
52993        client: *mut GSocketClient,
52994        flags: GTlsCertificateFlags,
52995    );
52996}
52997extern "C" {
52998    pub fn g_socket_client_get_proxy_resolver(client: *mut GSocketClient) -> *mut GProxyResolver;
52999}
53000extern "C" {
53001    pub fn g_socket_client_set_proxy_resolver(
53002        client: *mut GSocketClient,
53003        proxy_resolver: *mut GProxyResolver,
53004    );
53005}
53006extern "C" {
53007    pub fn g_socket_client_connect(
53008        client: *mut GSocketClient,
53009        connectable: *mut GSocketConnectable,
53010        cancellable: *mut GCancellable,
53011        error: *mut *mut GError,
53012    ) -> *mut GSocketConnection;
53013}
53014extern "C" {
53015    pub fn g_socket_client_connect_to_host(
53016        client: *mut GSocketClient,
53017        host_and_port: *const gchar,
53018        default_port: guint16,
53019        cancellable: *mut GCancellable,
53020        error: *mut *mut GError,
53021    ) -> *mut GSocketConnection;
53022}
53023extern "C" {
53024    pub fn g_socket_client_connect_to_service(
53025        client: *mut GSocketClient,
53026        domain: *const gchar,
53027        service: *const gchar,
53028        cancellable: *mut GCancellable,
53029        error: *mut *mut GError,
53030    ) -> *mut GSocketConnection;
53031}
53032extern "C" {
53033    pub fn g_socket_client_connect_to_uri(
53034        client: *mut GSocketClient,
53035        uri: *const gchar,
53036        default_port: guint16,
53037        cancellable: *mut GCancellable,
53038        error: *mut *mut GError,
53039    ) -> *mut GSocketConnection;
53040}
53041extern "C" {
53042    pub fn g_socket_client_connect_async(
53043        client: *mut GSocketClient,
53044        connectable: *mut GSocketConnectable,
53045        cancellable: *mut GCancellable,
53046        callback: GAsyncReadyCallback,
53047        user_data: gpointer,
53048    );
53049}
53050extern "C" {
53051    pub fn g_socket_client_connect_finish(
53052        client: *mut GSocketClient,
53053        result: *mut GAsyncResult,
53054        error: *mut *mut GError,
53055    ) -> *mut GSocketConnection;
53056}
53057extern "C" {
53058    pub fn g_socket_client_connect_to_host_async(
53059        client: *mut GSocketClient,
53060        host_and_port: *const gchar,
53061        default_port: guint16,
53062        cancellable: *mut GCancellable,
53063        callback: GAsyncReadyCallback,
53064        user_data: gpointer,
53065    );
53066}
53067extern "C" {
53068    pub fn g_socket_client_connect_to_host_finish(
53069        client: *mut GSocketClient,
53070        result: *mut GAsyncResult,
53071        error: *mut *mut GError,
53072    ) -> *mut GSocketConnection;
53073}
53074extern "C" {
53075    pub fn g_socket_client_connect_to_service_async(
53076        client: *mut GSocketClient,
53077        domain: *const gchar,
53078        service: *const gchar,
53079        cancellable: *mut GCancellable,
53080        callback: GAsyncReadyCallback,
53081        user_data: gpointer,
53082    );
53083}
53084extern "C" {
53085    pub fn g_socket_client_connect_to_service_finish(
53086        client: *mut GSocketClient,
53087        result: *mut GAsyncResult,
53088        error: *mut *mut GError,
53089    ) -> *mut GSocketConnection;
53090}
53091extern "C" {
53092    pub fn g_socket_client_connect_to_uri_async(
53093        client: *mut GSocketClient,
53094        uri: *const gchar,
53095        default_port: guint16,
53096        cancellable: *mut GCancellable,
53097        callback: GAsyncReadyCallback,
53098        user_data: gpointer,
53099    );
53100}
53101extern "C" {
53102    pub fn g_socket_client_connect_to_uri_finish(
53103        client: *mut GSocketClient,
53104        result: *mut GAsyncResult,
53105        error: *mut *mut GError,
53106    ) -> *mut GSocketConnection;
53107}
53108extern "C" {
53109    pub fn g_socket_client_add_application_proxy(
53110        client: *mut GSocketClient,
53111        protocol: *const gchar,
53112    );
53113}
53114pub type GSocketConnectableIface = _GSocketConnectableIface;
53115#[repr(C)]
53116#[derive(Debug, Copy, Clone, PartialEq, Eq)]
53117pub struct _GSocketConnectableIface {
53118    pub g_iface: GTypeInterface,
53119    pub enumerate: ::std::option::Option<
53120        unsafe extern "C" fn(connectable: *mut GSocketConnectable) -> *mut GSocketAddressEnumerator,
53121    >,
53122    pub proxy_enumerate: ::std::option::Option<
53123        unsafe extern "C" fn(connectable: *mut GSocketConnectable) -> *mut GSocketAddressEnumerator,
53124    >,
53125    pub to_string: ::std::option::Option<
53126        unsafe extern "C" fn(connectable: *mut GSocketConnectable) -> *mut gchar,
53127    >,
53128}
53129#[test]
53130fn bindgen_test_layout__GSocketConnectableIface() {
53131    const UNINIT: ::std::mem::MaybeUninit<_GSocketConnectableIface> =
53132        ::std::mem::MaybeUninit::uninit();
53133    let ptr = UNINIT.as_ptr();
53134    assert_eq!(
53135        ::std::mem::size_of::<_GSocketConnectableIface>(),
53136        40usize,
53137        concat!("Size of: ", stringify!(_GSocketConnectableIface))
53138    );
53139    assert_eq!(
53140        ::std::mem::align_of::<_GSocketConnectableIface>(),
53141        8usize,
53142        concat!("Alignment of ", stringify!(_GSocketConnectableIface))
53143    );
53144    assert_eq!(
53145        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
53146        0usize,
53147        concat!(
53148            "Offset of field: ",
53149            stringify!(_GSocketConnectableIface),
53150            "::",
53151            stringify!(g_iface)
53152        )
53153    );
53154    assert_eq!(
53155        unsafe { ::std::ptr::addr_of!((*ptr).enumerate) as usize - ptr as usize },
53156        16usize,
53157        concat!(
53158            "Offset of field: ",
53159            stringify!(_GSocketConnectableIface),
53160            "::",
53161            stringify!(enumerate)
53162        )
53163    );
53164    assert_eq!(
53165        unsafe { ::std::ptr::addr_of!((*ptr).proxy_enumerate) as usize - ptr as usize },
53166        24usize,
53167        concat!(
53168            "Offset of field: ",
53169            stringify!(_GSocketConnectableIface),
53170            "::",
53171            stringify!(proxy_enumerate)
53172        )
53173    );
53174    assert_eq!(
53175        unsafe { ::std::ptr::addr_of!((*ptr).to_string) as usize - ptr as usize },
53176        32usize,
53177        concat!(
53178            "Offset of field: ",
53179            stringify!(_GSocketConnectableIface),
53180            "::",
53181            stringify!(to_string)
53182        )
53183    );
53184}
53185extern "C" {
53186    pub fn g_socket_connectable_get_type() -> GType;
53187}
53188extern "C" {
53189    pub fn g_socket_connectable_enumerate(
53190        connectable: *mut GSocketConnectable,
53191    ) -> *mut GSocketAddressEnumerator;
53192}
53193extern "C" {
53194    pub fn g_socket_connectable_proxy_enumerate(
53195        connectable: *mut GSocketConnectable,
53196    ) -> *mut GSocketAddressEnumerator;
53197}
53198extern "C" {
53199    pub fn g_socket_connectable_to_string(connectable: *mut GSocketConnectable) -> *mut gchar;
53200}
53201#[repr(C)]
53202#[derive(Debug, Copy, Clone)]
53203pub struct _GSocketConnectionPrivate {
53204    _unused: [u8; 0],
53205}
53206pub type GSocketConnectionPrivate = _GSocketConnectionPrivate;
53207pub type GSocketConnectionClass = _GSocketConnectionClass;
53208#[repr(C)]
53209#[derive(Debug, Copy, Clone, PartialEq, Eq)]
53210pub struct _GSocketConnectionClass {
53211    pub parent_class: GIOStreamClass,
53212    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
53213    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
53214    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
53215    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
53216    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
53217    pub _g_reserved6: ::std::option::Option<unsafe extern "C" fn()>,
53218}
53219#[test]
53220fn bindgen_test_layout__GSocketConnectionClass() {
53221    const UNINIT: ::std::mem::MaybeUninit<_GSocketConnectionClass> =
53222        ::std::mem::MaybeUninit::uninit();
53223    let ptr = UNINIT.as_ptr();
53224    assert_eq!(
53225        ::std::mem::size_of::<_GSocketConnectionClass>(),
53226        304usize,
53227        concat!("Size of: ", stringify!(_GSocketConnectionClass))
53228    );
53229    assert_eq!(
53230        ::std::mem::align_of::<_GSocketConnectionClass>(),
53231        8usize,
53232        concat!("Alignment of ", stringify!(_GSocketConnectionClass))
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!(_GSocketConnectionClass),
53240            "::",
53241            stringify!(parent_class)
53242        )
53243    );
53244    assert_eq!(
53245        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
53246        256usize,
53247        concat!(
53248            "Offset of field: ",
53249            stringify!(_GSocketConnectionClass),
53250            "::",
53251            stringify!(_g_reserved1)
53252        )
53253    );
53254    assert_eq!(
53255        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
53256        264usize,
53257        concat!(
53258            "Offset of field: ",
53259            stringify!(_GSocketConnectionClass),
53260            "::",
53261            stringify!(_g_reserved2)
53262        )
53263    );
53264    assert_eq!(
53265        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
53266        272usize,
53267        concat!(
53268            "Offset of field: ",
53269            stringify!(_GSocketConnectionClass),
53270            "::",
53271            stringify!(_g_reserved3)
53272        )
53273    );
53274    assert_eq!(
53275        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
53276        280usize,
53277        concat!(
53278            "Offset of field: ",
53279            stringify!(_GSocketConnectionClass),
53280            "::",
53281            stringify!(_g_reserved4)
53282        )
53283    );
53284    assert_eq!(
53285        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
53286        288usize,
53287        concat!(
53288            "Offset of field: ",
53289            stringify!(_GSocketConnectionClass),
53290            "::",
53291            stringify!(_g_reserved5)
53292        )
53293    );
53294    assert_eq!(
53295        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved6) as usize - ptr as usize },
53296        296usize,
53297        concat!(
53298            "Offset of field: ",
53299            stringify!(_GSocketConnectionClass),
53300            "::",
53301            stringify!(_g_reserved6)
53302        )
53303    );
53304}
53305#[repr(C)]
53306#[derive(Debug, Copy, Clone, PartialEq, Eq)]
53307pub struct _GSocketConnection {
53308    pub parent_instance: GIOStream,
53309    pub priv_: *mut GSocketConnectionPrivate,
53310}
53311#[test]
53312fn bindgen_test_layout__GSocketConnection() {
53313    const UNINIT: ::std::mem::MaybeUninit<_GSocketConnection> = ::std::mem::MaybeUninit::uninit();
53314    let ptr = UNINIT.as_ptr();
53315    assert_eq!(
53316        ::std::mem::size_of::<_GSocketConnection>(),
53317        40usize,
53318        concat!("Size of: ", stringify!(_GSocketConnection))
53319    );
53320    assert_eq!(
53321        ::std::mem::align_of::<_GSocketConnection>(),
53322        8usize,
53323        concat!("Alignment of ", stringify!(_GSocketConnection))
53324    );
53325    assert_eq!(
53326        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
53327        0usize,
53328        concat!(
53329            "Offset of field: ",
53330            stringify!(_GSocketConnection),
53331            "::",
53332            stringify!(parent_instance)
53333        )
53334    );
53335    assert_eq!(
53336        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
53337        32usize,
53338        concat!(
53339            "Offset of field: ",
53340            stringify!(_GSocketConnection),
53341            "::",
53342            stringify!(priv_)
53343        )
53344    );
53345}
53346extern "C" {
53347    pub fn g_socket_connection_get_type() -> GType;
53348}
53349extern "C" {
53350    pub fn g_socket_connection_is_connected(connection: *mut GSocketConnection) -> gboolean;
53351}
53352extern "C" {
53353    pub fn g_socket_connection_connect(
53354        connection: *mut GSocketConnection,
53355        address: *mut GSocketAddress,
53356        cancellable: *mut GCancellable,
53357        error: *mut *mut GError,
53358    ) -> gboolean;
53359}
53360extern "C" {
53361    pub fn g_socket_connection_connect_async(
53362        connection: *mut GSocketConnection,
53363        address: *mut GSocketAddress,
53364        cancellable: *mut GCancellable,
53365        callback: GAsyncReadyCallback,
53366        user_data: gpointer,
53367    );
53368}
53369extern "C" {
53370    pub fn g_socket_connection_connect_finish(
53371        connection: *mut GSocketConnection,
53372        result: *mut GAsyncResult,
53373        error: *mut *mut GError,
53374    ) -> gboolean;
53375}
53376extern "C" {
53377    pub fn g_socket_connection_get_socket(connection: *mut GSocketConnection) -> *mut GSocket;
53378}
53379extern "C" {
53380    pub fn g_socket_connection_get_local_address(
53381        connection: *mut GSocketConnection,
53382        error: *mut *mut GError,
53383    ) -> *mut GSocketAddress;
53384}
53385extern "C" {
53386    pub fn g_socket_connection_get_remote_address(
53387        connection: *mut GSocketConnection,
53388        error: *mut *mut GError,
53389    ) -> *mut GSocketAddress;
53390}
53391extern "C" {
53392    pub fn g_socket_connection_factory_register_type(
53393        g_type: GType,
53394        family: GSocketFamily,
53395        type_: GSocketType,
53396        protocol: gint,
53397    );
53398}
53399extern "C" {
53400    pub fn g_socket_connection_factory_lookup_type(
53401        family: GSocketFamily,
53402        type_: GSocketType,
53403        protocol_id: gint,
53404    ) -> GType;
53405}
53406extern "C" {
53407    pub fn g_socket_connection_factory_create_connection(
53408        socket: *mut GSocket,
53409    ) -> *mut GSocketConnection;
53410}
53411#[repr(C)]
53412#[derive(Debug, Copy, Clone)]
53413pub struct _GSocketControlMessagePrivate {
53414    _unused: [u8; 0],
53415}
53416pub type GSocketControlMessagePrivate = _GSocketControlMessagePrivate;
53417pub type GSocketControlMessageClass = _GSocketControlMessageClass;
53418#[repr(C)]
53419#[derive(Debug, Copy, Clone, PartialEq, Eq)]
53420pub struct _GSocketControlMessageClass {
53421    pub parent_class: GObjectClass,
53422    pub get_size:
53423        ::std::option::Option<unsafe extern "C" fn(message: *mut GSocketControlMessage) -> gsize>,
53424    pub get_level: ::std::option::Option<
53425        unsafe extern "C" fn(message: *mut GSocketControlMessage) -> ::std::os::raw::c_int,
53426    >,
53427    pub get_type: ::std::option::Option<
53428        unsafe extern "C" fn(message: *mut GSocketControlMessage) -> ::std::os::raw::c_int,
53429    >,
53430    pub serialize: ::std::option::Option<
53431        unsafe extern "C" fn(message: *mut GSocketControlMessage, data: gpointer),
53432    >,
53433    pub deserialize: ::std::option::Option<
53434        unsafe extern "C" fn(
53435            level: ::std::os::raw::c_int,
53436            type_: ::std::os::raw::c_int,
53437            size: gsize,
53438            data: gpointer,
53439        ) -> *mut GSocketControlMessage,
53440    >,
53441    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
53442    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
53443    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
53444    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
53445    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
53446}
53447#[test]
53448fn bindgen_test_layout__GSocketControlMessageClass() {
53449    const UNINIT: ::std::mem::MaybeUninit<_GSocketControlMessageClass> =
53450        ::std::mem::MaybeUninit::uninit();
53451    let ptr = UNINIT.as_ptr();
53452    assert_eq!(
53453        ::std::mem::size_of::<_GSocketControlMessageClass>(),
53454        216usize,
53455        concat!("Size of: ", stringify!(_GSocketControlMessageClass))
53456    );
53457    assert_eq!(
53458        ::std::mem::align_of::<_GSocketControlMessageClass>(),
53459        8usize,
53460        concat!("Alignment of ", stringify!(_GSocketControlMessageClass))
53461    );
53462    assert_eq!(
53463        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
53464        0usize,
53465        concat!(
53466            "Offset of field: ",
53467            stringify!(_GSocketControlMessageClass),
53468            "::",
53469            stringify!(parent_class)
53470        )
53471    );
53472    assert_eq!(
53473        unsafe { ::std::ptr::addr_of!((*ptr).get_size) as usize - ptr as usize },
53474        136usize,
53475        concat!(
53476            "Offset of field: ",
53477            stringify!(_GSocketControlMessageClass),
53478            "::",
53479            stringify!(get_size)
53480        )
53481    );
53482    assert_eq!(
53483        unsafe { ::std::ptr::addr_of!((*ptr).get_level) as usize - ptr as usize },
53484        144usize,
53485        concat!(
53486            "Offset of field: ",
53487            stringify!(_GSocketControlMessageClass),
53488            "::",
53489            stringify!(get_level)
53490        )
53491    );
53492    assert_eq!(
53493        unsafe { ::std::ptr::addr_of!((*ptr).get_type) as usize - ptr as usize },
53494        152usize,
53495        concat!(
53496            "Offset of field: ",
53497            stringify!(_GSocketControlMessageClass),
53498            "::",
53499            stringify!(get_type)
53500        )
53501    );
53502    assert_eq!(
53503        unsafe { ::std::ptr::addr_of!((*ptr).serialize) as usize - ptr as usize },
53504        160usize,
53505        concat!(
53506            "Offset of field: ",
53507            stringify!(_GSocketControlMessageClass),
53508            "::",
53509            stringify!(serialize)
53510        )
53511    );
53512    assert_eq!(
53513        unsafe { ::std::ptr::addr_of!((*ptr).deserialize) as usize - ptr as usize },
53514        168usize,
53515        concat!(
53516            "Offset of field: ",
53517            stringify!(_GSocketControlMessageClass),
53518            "::",
53519            stringify!(deserialize)
53520        )
53521    );
53522    assert_eq!(
53523        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
53524        176usize,
53525        concat!(
53526            "Offset of field: ",
53527            stringify!(_GSocketControlMessageClass),
53528            "::",
53529            stringify!(_g_reserved1)
53530        )
53531    );
53532    assert_eq!(
53533        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
53534        184usize,
53535        concat!(
53536            "Offset of field: ",
53537            stringify!(_GSocketControlMessageClass),
53538            "::",
53539            stringify!(_g_reserved2)
53540        )
53541    );
53542    assert_eq!(
53543        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
53544        192usize,
53545        concat!(
53546            "Offset of field: ",
53547            stringify!(_GSocketControlMessageClass),
53548            "::",
53549            stringify!(_g_reserved3)
53550        )
53551    );
53552    assert_eq!(
53553        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
53554        200usize,
53555        concat!(
53556            "Offset of field: ",
53557            stringify!(_GSocketControlMessageClass),
53558            "::",
53559            stringify!(_g_reserved4)
53560        )
53561    );
53562    assert_eq!(
53563        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
53564        208usize,
53565        concat!(
53566            "Offset of field: ",
53567            stringify!(_GSocketControlMessageClass),
53568            "::",
53569            stringify!(_g_reserved5)
53570        )
53571    );
53572}
53573#[repr(C)]
53574#[derive(Debug, Copy, Clone, PartialEq, Eq)]
53575pub struct _GSocketControlMessage {
53576    pub parent_instance: GObject,
53577    pub priv_: *mut GSocketControlMessagePrivate,
53578}
53579#[test]
53580fn bindgen_test_layout__GSocketControlMessage() {
53581    const UNINIT: ::std::mem::MaybeUninit<_GSocketControlMessage> =
53582        ::std::mem::MaybeUninit::uninit();
53583    let ptr = UNINIT.as_ptr();
53584    assert_eq!(
53585        ::std::mem::size_of::<_GSocketControlMessage>(),
53586        32usize,
53587        concat!("Size of: ", stringify!(_GSocketControlMessage))
53588    );
53589    assert_eq!(
53590        ::std::mem::align_of::<_GSocketControlMessage>(),
53591        8usize,
53592        concat!("Alignment of ", stringify!(_GSocketControlMessage))
53593    );
53594    assert_eq!(
53595        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
53596        0usize,
53597        concat!(
53598            "Offset of field: ",
53599            stringify!(_GSocketControlMessage),
53600            "::",
53601            stringify!(parent_instance)
53602        )
53603    );
53604    assert_eq!(
53605        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
53606        24usize,
53607        concat!(
53608            "Offset of field: ",
53609            stringify!(_GSocketControlMessage),
53610            "::",
53611            stringify!(priv_)
53612        )
53613    );
53614}
53615extern "C" {
53616    pub fn g_socket_control_message_get_type() -> GType;
53617}
53618extern "C" {
53619    pub fn g_socket_control_message_get_size(message: *mut GSocketControlMessage) -> gsize;
53620}
53621extern "C" {
53622    pub fn g_socket_control_message_get_level(
53623        message: *mut GSocketControlMessage,
53624    ) -> ::std::os::raw::c_int;
53625}
53626extern "C" {
53627    pub fn g_socket_control_message_get_msg_type(
53628        message: *mut GSocketControlMessage,
53629    ) -> ::std::os::raw::c_int;
53630}
53631extern "C" {
53632    pub fn g_socket_control_message_serialize(message: *mut GSocketControlMessage, data: gpointer);
53633}
53634extern "C" {
53635    pub fn g_socket_control_message_deserialize(
53636        level: ::std::os::raw::c_int,
53637        type_: ::std::os::raw::c_int,
53638        size: gsize,
53639        data: gpointer,
53640    ) -> *mut GSocketControlMessage;
53641}
53642#[repr(C)]
53643#[derive(Debug, Copy, Clone)]
53644pub struct _GSocketListenerPrivate {
53645    _unused: [u8; 0],
53646}
53647pub type GSocketListenerPrivate = _GSocketListenerPrivate;
53648pub type GSocketListenerClass = _GSocketListenerClass;
53649#[repr(C)]
53650#[derive(Debug, Copy, Clone, PartialEq, Eq)]
53651pub struct _GSocketListenerClass {
53652    pub parent_class: GObjectClass,
53653    pub changed: ::std::option::Option<unsafe extern "C" fn(listener: *mut GSocketListener)>,
53654    pub event: ::std::option::Option<
53655        unsafe extern "C" fn(
53656            listener: *mut GSocketListener,
53657            event: GSocketListenerEvent,
53658            socket: *mut GSocket,
53659        ),
53660    >,
53661    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
53662    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
53663    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
53664    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
53665    pub _g_reserved6: ::std::option::Option<unsafe extern "C" fn()>,
53666}
53667#[test]
53668fn bindgen_test_layout__GSocketListenerClass() {
53669    const UNINIT: ::std::mem::MaybeUninit<_GSocketListenerClass> =
53670        ::std::mem::MaybeUninit::uninit();
53671    let ptr = UNINIT.as_ptr();
53672    assert_eq!(
53673        ::std::mem::size_of::<_GSocketListenerClass>(),
53674        192usize,
53675        concat!("Size of: ", stringify!(_GSocketListenerClass))
53676    );
53677    assert_eq!(
53678        ::std::mem::align_of::<_GSocketListenerClass>(),
53679        8usize,
53680        concat!("Alignment of ", stringify!(_GSocketListenerClass))
53681    );
53682    assert_eq!(
53683        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
53684        0usize,
53685        concat!(
53686            "Offset of field: ",
53687            stringify!(_GSocketListenerClass),
53688            "::",
53689            stringify!(parent_class)
53690        )
53691    );
53692    assert_eq!(
53693        unsafe { ::std::ptr::addr_of!((*ptr).changed) as usize - ptr as usize },
53694        136usize,
53695        concat!(
53696            "Offset of field: ",
53697            stringify!(_GSocketListenerClass),
53698            "::",
53699            stringify!(changed)
53700        )
53701    );
53702    assert_eq!(
53703        unsafe { ::std::ptr::addr_of!((*ptr).event) as usize - ptr as usize },
53704        144usize,
53705        concat!(
53706            "Offset of field: ",
53707            stringify!(_GSocketListenerClass),
53708            "::",
53709            stringify!(event)
53710        )
53711    );
53712    assert_eq!(
53713        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
53714        152usize,
53715        concat!(
53716            "Offset of field: ",
53717            stringify!(_GSocketListenerClass),
53718            "::",
53719            stringify!(_g_reserved2)
53720        )
53721    );
53722    assert_eq!(
53723        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
53724        160usize,
53725        concat!(
53726            "Offset of field: ",
53727            stringify!(_GSocketListenerClass),
53728            "::",
53729            stringify!(_g_reserved3)
53730        )
53731    );
53732    assert_eq!(
53733        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
53734        168usize,
53735        concat!(
53736            "Offset of field: ",
53737            stringify!(_GSocketListenerClass),
53738            "::",
53739            stringify!(_g_reserved4)
53740        )
53741    );
53742    assert_eq!(
53743        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
53744        176usize,
53745        concat!(
53746            "Offset of field: ",
53747            stringify!(_GSocketListenerClass),
53748            "::",
53749            stringify!(_g_reserved5)
53750        )
53751    );
53752    assert_eq!(
53753        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved6) as usize - ptr as usize },
53754        184usize,
53755        concat!(
53756            "Offset of field: ",
53757            stringify!(_GSocketListenerClass),
53758            "::",
53759            stringify!(_g_reserved6)
53760        )
53761    );
53762}
53763#[repr(C)]
53764#[derive(Debug, Copy, Clone, PartialEq, Eq)]
53765pub struct _GSocketListener {
53766    pub parent_instance: GObject,
53767    pub priv_: *mut GSocketListenerPrivate,
53768}
53769#[test]
53770fn bindgen_test_layout__GSocketListener() {
53771    const UNINIT: ::std::mem::MaybeUninit<_GSocketListener> = ::std::mem::MaybeUninit::uninit();
53772    let ptr = UNINIT.as_ptr();
53773    assert_eq!(
53774        ::std::mem::size_of::<_GSocketListener>(),
53775        32usize,
53776        concat!("Size of: ", stringify!(_GSocketListener))
53777    );
53778    assert_eq!(
53779        ::std::mem::align_of::<_GSocketListener>(),
53780        8usize,
53781        concat!("Alignment of ", stringify!(_GSocketListener))
53782    );
53783    assert_eq!(
53784        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
53785        0usize,
53786        concat!(
53787            "Offset of field: ",
53788            stringify!(_GSocketListener),
53789            "::",
53790            stringify!(parent_instance)
53791        )
53792    );
53793    assert_eq!(
53794        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
53795        24usize,
53796        concat!(
53797            "Offset of field: ",
53798            stringify!(_GSocketListener),
53799            "::",
53800            stringify!(priv_)
53801        )
53802    );
53803}
53804extern "C" {
53805    pub fn g_socket_listener_get_type() -> GType;
53806}
53807extern "C" {
53808    pub fn g_socket_listener_new() -> *mut GSocketListener;
53809}
53810extern "C" {
53811    pub fn g_socket_listener_set_backlog(
53812        listener: *mut GSocketListener,
53813        listen_backlog: ::std::os::raw::c_int,
53814    );
53815}
53816extern "C" {
53817    pub fn g_socket_listener_add_socket(
53818        listener: *mut GSocketListener,
53819        socket: *mut GSocket,
53820        source_object: *mut GObject,
53821        error: *mut *mut GError,
53822    ) -> gboolean;
53823}
53824extern "C" {
53825    pub fn g_socket_listener_add_address(
53826        listener: *mut GSocketListener,
53827        address: *mut GSocketAddress,
53828        type_: GSocketType,
53829        protocol: GSocketProtocol,
53830        source_object: *mut GObject,
53831        effective_address: *mut *mut GSocketAddress,
53832        error: *mut *mut GError,
53833    ) -> gboolean;
53834}
53835extern "C" {
53836    pub fn g_socket_listener_add_inet_port(
53837        listener: *mut GSocketListener,
53838        port: guint16,
53839        source_object: *mut GObject,
53840        error: *mut *mut GError,
53841    ) -> gboolean;
53842}
53843extern "C" {
53844    pub fn g_socket_listener_add_any_inet_port(
53845        listener: *mut GSocketListener,
53846        source_object: *mut GObject,
53847        error: *mut *mut GError,
53848    ) -> guint16;
53849}
53850extern "C" {
53851    pub fn g_socket_listener_accept_socket(
53852        listener: *mut GSocketListener,
53853        source_object: *mut *mut GObject,
53854        cancellable: *mut GCancellable,
53855        error: *mut *mut GError,
53856    ) -> *mut GSocket;
53857}
53858extern "C" {
53859    pub fn g_socket_listener_accept_socket_async(
53860        listener: *mut GSocketListener,
53861        cancellable: *mut GCancellable,
53862        callback: GAsyncReadyCallback,
53863        user_data: gpointer,
53864    );
53865}
53866extern "C" {
53867    pub fn g_socket_listener_accept_socket_finish(
53868        listener: *mut GSocketListener,
53869        result: *mut GAsyncResult,
53870        source_object: *mut *mut GObject,
53871        error: *mut *mut GError,
53872    ) -> *mut GSocket;
53873}
53874extern "C" {
53875    pub fn g_socket_listener_accept(
53876        listener: *mut GSocketListener,
53877        source_object: *mut *mut GObject,
53878        cancellable: *mut GCancellable,
53879        error: *mut *mut GError,
53880    ) -> *mut GSocketConnection;
53881}
53882extern "C" {
53883    pub fn g_socket_listener_accept_async(
53884        listener: *mut GSocketListener,
53885        cancellable: *mut GCancellable,
53886        callback: GAsyncReadyCallback,
53887        user_data: gpointer,
53888    );
53889}
53890extern "C" {
53891    pub fn g_socket_listener_accept_finish(
53892        listener: *mut GSocketListener,
53893        result: *mut GAsyncResult,
53894        source_object: *mut *mut GObject,
53895        error: *mut *mut GError,
53896    ) -> *mut GSocketConnection;
53897}
53898extern "C" {
53899    pub fn g_socket_listener_close(listener: *mut GSocketListener);
53900}
53901#[repr(C)]
53902#[derive(Debug, Copy, Clone)]
53903pub struct _GSocketServicePrivate {
53904    _unused: [u8; 0],
53905}
53906pub type GSocketServicePrivate = _GSocketServicePrivate;
53907pub type GSocketServiceClass = _GSocketServiceClass;
53908#[repr(C)]
53909#[derive(Debug, Copy, Clone, PartialEq, Eq)]
53910pub struct _GSocketServiceClass {
53911    pub parent_class: GSocketListenerClass,
53912    pub incoming: ::std::option::Option<
53913        unsafe extern "C" fn(
53914            service: *mut GSocketService,
53915            connection: *mut GSocketConnection,
53916            source_object: *mut GObject,
53917        ) -> gboolean,
53918    >,
53919    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
53920    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
53921    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
53922    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
53923    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
53924    pub _g_reserved6: ::std::option::Option<unsafe extern "C" fn()>,
53925}
53926#[test]
53927fn bindgen_test_layout__GSocketServiceClass() {
53928    const UNINIT: ::std::mem::MaybeUninit<_GSocketServiceClass> = ::std::mem::MaybeUninit::uninit();
53929    let ptr = UNINIT.as_ptr();
53930    assert_eq!(
53931        ::std::mem::size_of::<_GSocketServiceClass>(),
53932        248usize,
53933        concat!("Size of: ", stringify!(_GSocketServiceClass))
53934    );
53935    assert_eq!(
53936        ::std::mem::align_of::<_GSocketServiceClass>(),
53937        8usize,
53938        concat!("Alignment of ", stringify!(_GSocketServiceClass))
53939    );
53940    assert_eq!(
53941        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
53942        0usize,
53943        concat!(
53944            "Offset of field: ",
53945            stringify!(_GSocketServiceClass),
53946            "::",
53947            stringify!(parent_class)
53948        )
53949    );
53950    assert_eq!(
53951        unsafe { ::std::ptr::addr_of!((*ptr).incoming) as usize - ptr as usize },
53952        192usize,
53953        concat!(
53954            "Offset of field: ",
53955            stringify!(_GSocketServiceClass),
53956            "::",
53957            stringify!(incoming)
53958        )
53959    );
53960    assert_eq!(
53961        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
53962        200usize,
53963        concat!(
53964            "Offset of field: ",
53965            stringify!(_GSocketServiceClass),
53966            "::",
53967            stringify!(_g_reserved1)
53968        )
53969    );
53970    assert_eq!(
53971        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
53972        208usize,
53973        concat!(
53974            "Offset of field: ",
53975            stringify!(_GSocketServiceClass),
53976            "::",
53977            stringify!(_g_reserved2)
53978        )
53979    );
53980    assert_eq!(
53981        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
53982        216usize,
53983        concat!(
53984            "Offset of field: ",
53985            stringify!(_GSocketServiceClass),
53986            "::",
53987            stringify!(_g_reserved3)
53988        )
53989    );
53990    assert_eq!(
53991        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
53992        224usize,
53993        concat!(
53994            "Offset of field: ",
53995            stringify!(_GSocketServiceClass),
53996            "::",
53997            stringify!(_g_reserved4)
53998        )
53999    );
54000    assert_eq!(
54001        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
54002        232usize,
54003        concat!(
54004            "Offset of field: ",
54005            stringify!(_GSocketServiceClass),
54006            "::",
54007            stringify!(_g_reserved5)
54008        )
54009    );
54010    assert_eq!(
54011        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved6) as usize - ptr as usize },
54012        240usize,
54013        concat!(
54014            "Offset of field: ",
54015            stringify!(_GSocketServiceClass),
54016            "::",
54017            stringify!(_g_reserved6)
54018        )
54019    );
54020}
54021#[repr(C)]
54022#[derive(Debug, Copy, Clone, PartialEq, Eq)]
54023pub struct _GSocketService {
54024    pub parent_instance: GSocketListener,
54025    pub priv_: *mut GSocketServicePrivate,
54026}
54027#[test]
54028fn bindgen_test_layout__GSocketService() {
54029    const UNINIT: ::std::mem::MaybeUninit<_GSocketService> = ::std::mem::MaybeUninit::uninit();
54030    let ptr = UNINIT.as_ptr();
54031    assert_eq!(
54032        ::std::mem::size_of::<_GSocketService>(),
54033        40usize,
54034        concat!("Size of: ", stringify!(_GSocketService))
54035    );
54036    assert_eq!(
54037        ::std::mem::align_of::<_GSocketService>(),
54038        8usize,
54039        concat!("Alignment of ", stringify!(_GSocketService))
54040    );
54041    assert_eq!(
54042        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
54043        0usize,
54044        concat!(
54045            "Offset of field: ",
54046            stringify!(_GSocketService),
54047            "::",
54048            stringify!(parent_instance)
54049        )
54050    );
54051    assert_eq!(
54052        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
54053        32usize,
54054        concat!(
54055            "Offset of field: ",
54056            stringify!(_GSocketService),
54057            "::",
54058            stringify!(priv_)
54059        )
54060    );
54061}
54062extern "C" {
54063    pub fn g_socket_service_get_type() -> GType;
54064}
54065extern "C" {
54066    pub fn g_socket_service_new() -> *mut GSocketService;
54067}
54068extern "C" {
54069    pub fn g_socket_service_start(service: *mut GSocketService);
54070}
54071extern "C" {
54072    pub fn g_socket_service_stop(service: *mut GSocketService);
54073}
54074extern "C" {
54075    pub fn g_socket_service_is_active(service: *mut GSocketService) -> gboolean;
54076}
54077extern "C" {
54078    pub fn g_srv_target_get_type() -> GType;
54079}
54080extern "C" {
54081    pub fn g_srv_target_new(
54082        hostname: *const gchar,
54083        port: guint16,
54084        priority: guint16,
54085        weight: guint16,
54086    ) -> *mut GSrvTarget;
54087}
54088extern "C" {
54089    pub fn g_srv_target_copy(target: *mut GSrvTarget) -> *mut GSrvTarget;
54090}
54091extern "C" {
54092    pub fn g_srv_target_free(target: *mut GSrvTarget);
54093}
54094extern "C" {
54095    pub fn g_srv_target_get_hostname(target: *mut GSrvTarget) -> *const gchar;
54096}
54097extern "C" {
54098    pub fn g_srv_target_get_port(target: *mut GSrvTarget) -> guint16;
54099}
54100extern "C" {
54101    pub fn g_srv_target_get_priority(target: *mut GSrvTarget) -> guint16;
54102}
54103extern "C" {
54104    pub fn g_srv_target_get_weight(target: *mut GSrvTarget) -> guint16;
54105}
54106extern "C" {
54107    pub fn g_srv_target_list_sort(targets: *mut GList) -> *mut GList;
54108}
54109extern "C" {
54110    pub fn g_subprocess_get_type() -> GType;
54111}
54112extern "C" {
54113    pub fn g_subprocess_new(
54114        flags: GSubprocessFlags,
54115        error: *mut *mut GError,
54116        argv0: *const gchar,
54117        ...
54118    ) -> *mut GSubprocess;
54119}
54120extern "C" {
54121    pub fn g_subprocess_newv(
54122        argv: *const *const gchar,
54123        flags: GSubprocessFlags,
54124        error: *mut *mut GError,
54125    ) -> *mut GSubprocess;
54126}
54127extern "C" {
54128    pub fn g_subprocess_get_stdin_pipe(subprocess: *mut GSubprocess) -> *mut GOutputStream;
54129}
54130extern "C" {
54131    pub fn g_subprocess_get_stdout_pipe(subprocess: *mut GSubprocess) -> *mut GInputStream;
54132}
54133extern "C" {
54134    pub fn g_subprocess_get_stderr_pipe(subprocess: *mut GSubprocess) -> *mut GInputStream;
54135}
54136extern "C" {
54137    pub fn g_subprocess_get_identifier(subprocess: *mut GSubprocess) -> *const gchar;
54138}
54139extern "C" {
54140    pub fn g_subprocess_send_signal(subprocess: *mut GSubprocess, signal_num: gint);
54141}
54142extern "C" {
54143    pub fn g_subprocess_force_exit(subprocess: *mut GSubprocess);
54144}
54145extern "C" {
54146    pub fn g_subprocess_wait(
54147        subprocess: *mut GSubprocess,
54148        cancellable: *mut GCancellable,
54149        error: *mut *mut GError,
54150    ) -> gboolean;
54151}
54152extern "C" {
54153    pub fn g_subprocess_wait_async(
54154        subprocess: *mut GSubprocess,
54155        cancellable: *mut GCancellable,
54156        callback: GAsyncReadyCallback,
54157        user_data: gpointer,
54158    );
54159}
54160extern "C" {
54161    pub fn g_subprocess_wait_finish(
54162        subprocess: *mut GSubprocess,
54163        result: *mut GAsyncResult,
54164        error: *mut *mut GError,
54165    ) -> gboolean;
54166}
54167extern "C" {
54168    pub fn g_subprocess_wait_check(
54169        subprocess: *mut GSubprocess,
54170        cancellable: *mut GCancellable,
54171        error: *mut *mut GError,
54172    ) -> gboolean;
54173}
54174extern "C" {
54175    pub fn g_subprocess_wait_check_async(
54176        subprocess: *mut GSubprocess,
54177        cancellable: *mut GCancellable,
54178        callback: GAsyncReadyCallback,
54179        user_data: gpointer,
54180    );
54181}
54182extern "C" {
54183    pub fn g_subprocess_wait_check_finish(
54184        subprocess: *mut GSubprocess,
54185        result: *mut GAsyncResult,
54186        error: *mut *mut GError,
54187    ) -> gboolean;
54188}
54189extern "C" {
54190    pub fn g_subprocess_get_status(subprocess: *mut GSubprocess) -> gint;
54191}
54192extern "C" {
54193    pub fn g_subprocess_get_successful(subprocess: *mut GSubprocess) -> gboolean;
54194}
54195extern "C" {
54196    pub fn g_subprocess_get_if_exited(subprocess: *mut GSubprocess) -> gboolean;
54197}
54198extern "C" {
54199    pub fn g_subprocess_get_exit_status(subprocess: *mut GSubprocess) -> gint;
54200}
54201extern "C" {
54202    pub fn g_subprocess_get_if_signaled(subprocess: *mut GSubprocess) -> gboolean;
54203}
54204extern "C" {
54205    pub fn g_subprocess_get_term_sig(subprocess: *mut GSubprocess) -> gint;
54206}
54207extern "C" {
54208    pub fn g_subprocess_communicate(
54209        subprocess: *mut GSubprocess,
54210        stdin_buf: *mut GBytes,
54211        cancellable: *mut GCancellable,
54212        stdout_buf: *mut *mut GBytes,
54213        stderr_buf: *mut *mut GBytes,
54214        error: *mut *mut GError,
54215    ) -> gboolean;
54216}
54217extern "C" {
54218    pub fn g_subprocess_communicate_async(
54219        subprocess: *mut GSubprocess,
54220        stdin_buf: *mut GBytes,
54221        cancellable: *mut GCancellable,
54222        callback: GAsyncReadyCallback,
54223        user_data: gpointer,
54224    );
54225}
54226extern "C" {
54227    pub fn g_subprocess_communicate_finish(
54228        subprocess: *mut GSubprocess,
54229        result: *mut GAsyncResult,
54230        stdout_buf: *mut *mut GBytes,
54231        stderr_buf: *mut *mut GBytes,
54232        error: *mut *mut GError,
54233    ) -> gboolean;
54234}
54235extern "C" {
54236    pub fn g_subprocess_communicate_utf8(
54237        subprocess: *mut GSubprocess,
54238        stdin_buf: *const ::std::os::raw::c_char,
54239        cancellable: *mut GCancellable,
54240        stdout_buf: *mut *mut ::std::os::raw::c_char,
54241        stderr_buf: *mut *mut ::std::os::raw::c_char,
54242        error: *mut *mut GError,
54243    ) -> gboolean;
54244}
54245extern "C" {
54246    pub fn g_subprocess_communicate_utf8_async(
54247        subprocess: *mut GSubprocess,
54248        stdin_buf: *const ::std::os::raw::c_char,
54249        cancellable: *mut GCancellable,
54250        callback: GAsyncReadyCallback,
54251        user_data: gpointer,
54252    );
54253}
54254extern "C" {
54255    pub fn g_subprocess_communicate_utf8_finish(
54256        subprocess: *mut GSubprocess,
54257        result: *mut GAsyncResult,
54258        stdout_buf: *mut *mut ::std::os::raw::c_char,
54259        stderr_buf: *mut *mut ::std::os::raw::c_char,
54260        error: *mut *mut GError,
54261    ) -> gboolean;
54262}
54263extern "C" {
54264    pub fn g_subprocess_launcher_get_type() -> GType;
54265}
54266extern "C" {
54267    pub fn g_subprocess_launcher_new(flags: GSubprocessFlags) -> *mut GSubprocessLauncher;
54268}
54269extern "C" {
54270    pub fn g_subprocess_launcher_spawn(
54271        self_: *mut GSubprocessLauncher,
54272        error: *mut *mut GError,
54273        argv0: *const gchar,
54274        ...
54275    ) -> *mut GSubprocess;
54276}
54277extern "C" {
54278    pub fn g_subprocess_launcher_spawnv(
54279        self_: *mut GSubprocessLauncher,
54280        argv: *const *const gchar,
54281        error: *mut *mut GError,
54282    ) -> *mut GSubprocess;
54283}
54284extern "C" {
54285    pub fn g_subprocess_launcher_set_environ(self_: *mut GSubprocessLauncher, env: *mut *mut gchar);
54286}
54287extern "C" {
54288    pub fn g_subprocess_launcher_setenv(
54289        self_: *mut GSubprocessLauncher,
54290        variable: *const gchar,
54291        value: *const gchar,
54292        overwrite: gboolean,
54293    );
54294}
54295extern "C" {
54296    pub fn g_subprocess_launcher_unsetenv(self_: *mut GSubprocessLauncher, variable: *const gchar);
54297}
54298extern "C" {
54299    pub fn g_subprocess_launcher_getenv(
54300        self_: *mut GSubprocessLauncher,
54301        variable: *const gchar,
54302    ) -> *const gchar;
54303}
54304extern "C" {
54305    pub fn g_subprocess_launcher_set_cwd(self_: *mut GSubprocessLauncher, cwd: *const gchar);
54306}
54307extern "C" {
54308    pub fn g_subprocess_launcher_set_flags(
54309        self_: *mut GSubprocessLauncher,
54310        flags: GSubprocessFlags,
54311    );
54312}
54313extern "C" {
54314    pub fn g_subprocess_launcher_set_stdin_file_path(
54315        self_: *mut GSubprocessLauncher,
54316        path: *const gchar,
54317    );
54318}
54319extern "C" {
54320    pub fn g_subprocess_launcher_take_stdin_fd(self_: *mut GSubprocessLauncher, fd: gint);
54321}
54322extern "C" {
54323    pub fn g_subprocess_launcher_set_stdout_file_path(
54324        self_: *mut GSubprocessLauncher,
54325        path: *const gchar,
54326    );
54327}
54328extern "C" {
54329    pub fn g_subprocess_launcher_take_stdout_fd(self_: *mut GSubprocessLauncher, fd: gint);
54330}
54331extern "C" {
54332    pub fn g_subprocess_launcher_set_stderr_file_path(
54333        self_: *mut GSubprocessLauncher,
54334        path: *const gchar,
54335    );
54336}
54337extern "C" {
54338    pub fn g_subprocess_launcher_take_stderr_fd(self_: *mut GSubprocessLauncher, fd: gint);
54339}
54340extern "C" {
54341    pub fn g_subprocess_launcher_take_fd(
54342        self_: *mut GSubprocessLauncher,
54343        source_fd: gint,
54344        target_fd: gint,
54345    );
54346}
54347extern "C" {
54348    pub fn g_subprocess_launcher_close(self_: *mut GSubprocessLauncher);
54349}
54350extern "C" {
54351    pub fn g_subprocess_launcher_set_child_setup(
54352        self_: *mut GSubprocessLauncher,
54353        child_setup: GSpawnChildSetupFunc,
54354        user_data: gpointer,
54355        destroy_notify: GDestroyNotify,
54356    );
54357}
54358#[repr(C)]
54359#[derive(Debug, Copy, Clone)]
54360pub struct _GTaskClass {
54361    _unused: [u8; 0],
54362}
54363pub type GTaskClass = _GTaskClass;
54364extern "C" {
54365    pub fn g_task_get_type() -> GType;
54366}
54367extern "C" {
54368    pub fn g_task_new(
54369        source_object: gpointer,
54370        cancellable: *mut GCancellable,
54371        callback: GAsyncReadyCallback,
54372        callback_data: gpointer,
54373    ) -> *mut GTask;
54374}
54375extern "C" {
54376    pub fn g_task_report_error(
54377        source_object: gpointer,
54378        callback: GAsyncReadyCallback,
54379        callback_data: gpointer,
54380        source_tag: gpointer,
54381        error: *mut GError,
54382    );
54383}
54384extern "C" {
54385    pub fn g_task_report_new_error(
54386        source_object: gpointer,
54387        callback: GAsyncReadyCallback,
54388        callback_data: gpointer,
54389        source_tag: gpointer,
54390        domain: GQuark,
54391        code: gint,
54392        format: *const ::std::os::raw::c_char,
54393        ...
54394    );
54395}
54396extern "C" {
54397    pub fn g_task_set_task_data(
54398        task: *mut GTask,
54399        task_data: gpointer,
54400        task_data_destroy: GDestroyNotify,
54401    );
54402}
54403extern "C" {
54404    pub fn g_task_set_priority(task: *mut GTask, priority: gint);
54405}
54406extern "C" {
54407    pub fn g_task_set_check_cancellable(task: *mut GTask, check_cancellable: gboolean);
54408}
54409extern "C" {
54410    pub fn g_task_set_source_tag(task: *mut GTask, source_tag: gpointer);
54411}
54412extern "C" {
54413    pub fn g_task_set_name(task: *mut GTask, name: *const gchar);
54414}
54415extern "C" {
54416    pub fn g_task_set_static_name(task: *mut GTask, name: *const gchar);
54417}
54418extern "C" {
54419    pub fn g_task_get_source_object(task: *mut GTask) -> gpointer;
54420}
54421extern "C" {
54422    pub fn g_task_get_task_data(task: *mut GTask) -> gpointer;
54423}
54424extern "C" {
54425    pub fn g_task_get_priority(task: *mut GTask) -> gint;
54426}
54427extern "C" {
54428    pub fn g_task_get_context(task: *mut GTask) -> *mut GMainContext;
54429}
54430extern "C" {
54431    pub fn g_task_get_cancellable(task: *mut GTask) -> *mut GCancellable;
54432}
54433extern "C" {
54434    pub fn g_task_get_check_cancellable(task: *mut GTask) -> gboolean;
54435}
54436extern "C" {
54437    pub fn g_task_get_source_tag(task: *mut GTask) -> gpointer;
54438}
54439extern "C" {
54440    pub fn g_task_get_name(task: *mut GTask) -> *const gchar;
54441}
54442extern "C" {
54443    pub fn g_task_is_valid(result: gpointer, source_object: gpointer) -> gboolean;
54444}
54445pub type GTaskThreadFunc = ::std::option::Option<
54446    unsafe extern "C" fn(
54447        task: *mut GTask,
54448        source_object: gpointer,
54449        task_data: gpointer,
54450        cancellable: *mut GCancellable,
54451    ),
54452>;
54453extern "C" {
54454    pub fn g_task_run_in_thread(task: *mut GTask, task_func: GTaskThreadFunc);
54455}
54456extern "C" {
54457    pub fn g_task_run_in_thread_sync(task: *mut GTask, task_func: GTaskThreadFunc);
54458}
54459extern "C" {
54460    pub fn g_task_set_return_on_cancel(task: *mut GTask, return_on_cancel: gboolean) -> gboolean;
54461}
54462extern "C" {
54463    pub fn g_task_get_return_on_cancel(task: *mut GTask) -> gboolean;
54464}
54465extern "C" {
54466    pub fn g_task_attach_source(task: *mut GTask, source: *mut GSource, callback: GSourceFunc);
54467}
54468extern "C" {
54469    pub fn g_task_return_pointer(
54470        task: *mut GTask,
54471        result: gpointer,
54472        result_destroy: GDestroyNotify,
54473    );
54474}
54475extern "C" {
54476    pub fn g_task_return_boolean(task: *mut GTask, result: gboolean);
54477}
54478extern "C" {
54479    pub fn g_task_return_int(task: *mut GTask, result: gssize);
54480}
54481extern "C" {
54482    pub fn g_task_return_error(task: *mut GTask, error: *mut GError);
54483}
54484extern "C" {
54485    pub fn g_task_return_new_error(
54486        task: *mut GTask,
54487        domain: GQuark,
54488        code: gint,
54489        format: *const ::std::os::raw::c_char,
54490        ...
54491    );
54492}
54493extern "C" {
54494    pub fn g_task_return_value(task: *mut GTask, result: *mut GValue);
54495}
54496extern "C" {
54497    pub fn g_task_return_error_if_cancelled(task: *mut GTask) -> gboolean;
54498}
54499extern "C" {
54500    pub fn g_task_propagate_pointer(task: *mut GTask, error: *mut *mut GError) -> gpointer;
54501}
54502extern "C" {
54503    pub fn g_task_propagate_boolean(task: *mut GTask, error: *mut *mut GError) -> gboolean;
54504}
54505extern "C" {
54506    pub fn g_task_propagate_int(task: *mut GTask, error: *mut *mut GError) -> gssize;
54507}
54508extern "C" {
54509    pub fn g_task_propagate_value(
54510        task: *mut GTask,
54511        value: *mut GValue,
54512        error: *mut *mut GError,
54513    ) -> gboolean;
54514}
54515extern "C" {
54516    pub fn g_task_had_error(task: *mut GTask) -> gboolean;
54517}
54518extern "C" {
54519    pub fn g_task_get_completed(task: *mut GTask) -> gboolean;
54520}
54521extern "C" {
54522    pub fn g_task_print_alive_tasks();
54523}
54524#[repr(C)]
54525#[derive(Debug, Copy, Clone)]
54526pub struct _GTcpConnectionPrivate {
54527    _unused: [u8; 0],
54528}
54529pub type GTcpConnectionPrivate = _GTcpConnectionPrivate;
54530pub type GTcpConnectionClass = _GTcpConnectionClass;
54531#[repr(C)]
54532#[derive(Debug, Copy, Clone, PartialEq, Eq)]
54533pub struct _GTcpConnectionClass {
54534    pub parent_class: GSocketConnectionClass,
54535}
54536#[test]
54537fn bindgen_test_layout__GTcpConnectionClass() {
54538    const UNINIT: ::std::mem::MaybeUninit<_GTcpConnectionClass> = ::std::mem::MaybeUninit::uninit();
54539    let ptr = UNINIT.as_ptr();
54540    assert_eq!(
54541        ::std::mem::size_of::<_GTcpConnectionClass>(),
54542        304usize,
54543        concat!("Size of: ", stringify!(_GTcpConnectionClass))
54544    );
54545    assert_eq!(
54546        ::std::mem::align_of::<_GTcpConnectionClass>(),
54547        8usize,
54548        concat!("Alignment of ", stringify!(_GTcpConnectionClass))
54549    );
54550    assert_eq!(
54551        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
54552        0usize,
54553        concat!(
54554            "Offset of field: ",
54555            stringify!(_GTcpConnectionClass),
54556            "::",
54557            stringify!(parent_class)
54558        )
54559    );
54560}
54561#[repr(C)]
54562#[derive(Debug, Copy, Clone, PartialEq, Eq)]
54563pub struct _GTcpConnection {
54564    pub parent_instance: GSocketConnection,
54565    pub priv_: *mut GTcpConnectionPrivate,
54566}
54567#[test]
54568fn bindgen_test_layout__GTcpConnection() {
54569    const UNINIT: ::std::mem::MaybeUninit<_GTcpConnection> = ::std::mem::MaybeUninit::uninit();
54570    let ptr = UNINIT.as_ptr();
54571    assert_eq!(
54572        ::std::mem::size_of::<_GTcpConnection>(),
54573        48usize,
54574        concat!("Size of: ", stringify!(_GTcpConnection))
54575    );
54576    assert_eq!(
54577        ::std::mem::align_of::<_GTcpConnection>(),
54578        8usize,
54579        concat!("Alignment of ", stringify!(_GTcpConnection))
54580    );
54581    assert_eq!(
54582        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
54583        0usize,
54584        concat!(
54585            "Offset of field: ",
54586            stringify!(_GTcpConnection),
54587            "::",
54588            stringify!(parent_instance)
54589        )
54590    );
54591    assert_eq!(
54592        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
54593        40usize,
54594        concat!(
54595            "Offset of field: ",
54596            stringify!(_GTcpConnection),
54597            "::",
54598            stringify!(priv_)
54599        )
54600    );
54601}
54602extern "C" {
54603    pub fn g_tcp_connection_get_type() -> GType;
54604}
54605extern "C" {
54606    pub fn g_tcp_connection_set_graceful_disconnect(
54607        connection: *mut GTcpConnection,
54608        graceful_disconnect: gboolean,
54609    );
54610}
54611extern "C" {
54612    pub fn g_tcp_connection_get_graceful_disconnect(connection: *mut GTcpConnection) -> gboolean;
54613}
54614#[repr(C)]
54615#[derive(Debug, Copy, Clone)]
54616pub struct _GTcpWrapperConnectionPrivate {
54617    _unused: [u8; 0],
54618}
54619pub type GTcpWrapperConnectionPrivate = _GTcpWrapperConnectionPrivate;
54620pub type GTcpWrapperConnectionClass = _GTcpWrapperConnectionClass;
54621#[repr(C)]
54622#[derive(Debug, Copy, Clone, PartialEq, Eq)]
54623pub struct _GTcpWrapperConnectionClass {
54624    pub parent_class: GTcpConnectionClass,
54625}
54626#[test]
54627fn bindgen_test_layout__GTcpWrapperConnectionClass() {
54628    const UNINIT: ::std::mem::MaybeUninit<_GTcpWrapperConnectionClass> =
54629        ::std::mem::MaybeUninit::uninit();
54630    let ptr = UNINIT.as_ptr();
54631    assert_eq!(
54632        ::std::mem::size_of::<_GTcpWrapperConnectionClass>(),
54633        304usize,
54634        concat!("Size of: ", stringify!(_GTcpWrapperConnectionClass))
54635    );
54636    assert_eq!(
54637        ::std::mem::align_of::<_GTcpWrapperConnectionClass>(),
54638        8usize,
54639        concat!("Alignment of ", stringify!(_GTcpWrapperConnectionClass))
54640    );
54641    assert_eq!(
54642        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
54643        0usize,
54644        concat!(
54645            "Offset of field: ",
54646            stringify!(_GTcpWrapperConnectionClass),
54647            "::",
54648            stringify!(parent_class)
54649        )
54650    );
54651}
54652#[repr(C)]
54653#[derive(Debug, Copy, Clone, PartialEq, Eq)]
54654pub struct _GTcpWrapperConnection {
54655    pub parent_instance: GTcpConnection,
54656    pub priv_: *mut GTcpWrapperConnectionPrivate,
54657}
54658#[test]
54659fn bindgen_test_layout__GTcpWrapperConnection() {
54660    const UNINIT: ::std::mem::MaybeUninit<_GTcpWrapperConnection> =
54661        ::std::mem::MaybeUninit::uninit();
54662    let ptr = UNINIT.as_ptr();
54663    assert_eq!(
54664        ::std::mem::size_of::<_GTcpWrapperConnection>(),
54665        56usize,
54666        concat!("Size of: ", stringify!(_GTcpWrapperConnection))
54667    );
54668    assert_eq!(
54669        ::std::mem::align_of::<_GTcpWrapperConnection>(),
54670        8usize,
54671        concat!("Alignment of ", stringify!(_GTcpWrapperConnection))
54672    );
54673    assert_eq!(
54674        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
54675        0usize,
54676        concat!(
54677            "Offset of field: ",
54678            stringify!(_GTcpWrapperConnection),
54679            "::",
54680            stringify!(parent_instance)
54681        )
54682    );
54683    assert_eq!(
54684        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
54685        48usize,
54686        concat!(
54687            "Offset of field: ",
54688            stringify!(_GTcpWrapperConnection),
54689            "::",
54690            stringify!(priv_)
54691        )
54692    );
54693}
54694extern "C" {
54695    pub fn g_tcp_wrapper_connection_get_type() -> GType;
54696}
54697extern "C" {
54698    pub fn g_tcp_wrapper_connection_new(
54699        base_io_stream: *mut GIOStream,
54700        socket: *mut GSocket,
54701    ) -> *mut GSocketConnection;
54702}
54703extern "C" {
54704    pub fn g_tcp_wrapper_connection_get_base_io_stream(
54705        conn: *mut GTcpWrapperConnection,
54706    ) -> *mut GIOStream;
54707}
54708extern "C" {
54709    pub fn g_test_dbus_get_type() -> GType;
54710}
54711extern "C" {
54712    pub fn g_test_dbus_new(flags: GTestDBusFlags) -> *mut GTestDBus;
54713}
54714extern "C" {
54715    pub fn g_test_dbus_get_flags(self_: *mut GTestDBus) -> GTestDBusFlags;
54716}
54717extern "C" {
54718    pub fn g_test_dbus_get_bus_address(self_: *mut GTestDBus) -> *const gchar;
54719}
54720extern "C" {
54721    pub fn g_test_dbus_add_service_dir(self_: *mut GTestDBus, path: *const gchar);
54722}
54723extern "C" {
54724    pub fn g_test_dbus_up(self_: *mut GTestDBus);
54725}
54726extern "C" {
54727    pub fn g_test_dbus_stop(self_: *mut GTestDBus);
54728}
54729extern "C" {
54730    pub fn g_test_dbus_down(self_: *mut GTestDBus);
54731}
54732extern "C" {
54733    pub fn g_test_dbus_unset();
54734}
54735#[repr(C)]
54736#[derive(Debug, Copy, Clone)]
54737pub struct _GThemedIconClass {
54738    _unused: [u8; 0],
54739}
54740pub type GThemedIconClass = _GThemedIconClass;
54741extern "C" {
54742    pub fn g_themed_icon_get_type() -> GType;
54743}
54744extern "C" {
54745    pub fn g_themed_icon_new(iconname: *const ::std::os::raw::c_char) -> *mut GIcon;
54746}
54747extern "C" {
54748    pub fn g_themed_icon_new_with_default_fallbacks(
54749        iconname: *const ::std::os::raw::c_char,
54750    ) -> *mut GIcon;
54751}
54752extern "C" {
54753    pub fn g_themed_icon_new_from_names(
54754        iconnames: *mut *mut ::std::os::raw::c_char,
54755        len: ::std::os::raw::c_int,
54756    ) -> *mut GIcon;
54757}
54758extern "C" {
54759    pub fn g_themed_icon_prepend_name(
54760        icon: *mut GThemedIcon,
54761        iconname: *const ::std::os::raw::c_char,
54762    );
54763}
54764extern "C" {
54765    pub fn g_themed_icon_append_name(
54766        icon: *mut GThemedIcon,
54767        iconname: *const ::std::os::raw::c_char,
54768    );
54769}
54770extern "C" {
54771    pub fn g_themed_icon_get_names(icon: *mut GThemedIcon) -> *const *const gchar;
54772}
54773#[repr(C)]
54774#[derive(Debug, Copy, Clone)]
54775pub struct _GThreadedSocketServicePrivate {
54776    _unused: [u8; 0],
54777}
54778pub type GThreadedSocketServicePrivate = _GThreadedSocketServicePrivate;
54779pub type GThreadedSocketServiceClass = _GThreadedSocketServiceClass;
54780#[repr(C)]
54781#[derive(Debug, Copy, Clone, PartialEq, Eq)]
54782pub struct _GThreadedSocketServiceClass {
54783    pub parent_class: GSocketServiceClass,
54784    pub run: ::std::option::Option<
54785        unsafe extern "C" fn(
54786            service: *mut GThreadedSocketService,
54787            connection: *mut GSocketConnection,
54788            source_object: *mut GObject,
54789        ) -> gboolean,
54790    >,
54791    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
54792    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
54793    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
54794    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
54795    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
54796}
54797#[test]
54798fn bindgen_test_layout__GThreadedSocketServiceClass() {
54799    const UNINIT: ::std::mem::MaybeUninit<_GThreadedSocketServiceClass> =
54800        ::std::mem::MaybeUninit::uninit();
54801    let ptr = UNINIT.as_ptr();
54802    assert_eq!(
54803        ::std::mem::size_of::<_GThreadedSocketServiceClass>(),
54804        296usize,
54805        concat!("Size of: ", stringify!(_GThreadedSocketServiceClass))
54806    );
54807    assert_eq!(
54808        ::std::mem::align_of::<_GThreadedSocketServiceClass>(),
54809        8usize,
54810        concat!("Alignment of ", stringify!(_GThreadedSocketServiceClass))
54811    );
54812    assert_eq!(
54813        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
54814        0usize,
54815        concat!(
54816            "Offset of field: ",
54817            stringify!(_GThreadedSocketServiceClass),
54818            "::",
54819            stringify!(parent_class)
54820        )
54821    );
54822    assert_eq!(
54823        unsafe { ::std::ptr::addr_of!((*ptr).run) as usize - ptr as usize },
54824        248usize,
54825        concat!(
54826            "Offset of field: ",
54827            stringify!(_GThreadedSocketServiceClass),
54828            "::",
54829            stringify!(run)
54830        )
54831    );
54832    assert_eq!(
54833        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
54834        256usize,
54835        concat!(
54836            "Offset of field: ",
54837            stringify!(_GThreadedSocketServiceClass),
54838            "::",
54839            stringify!(_g_reserved1)
54840        )
54841    );
54842    assert_eq!(
54843        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
54844        264usize,
54845        concat!(
54846            "Offset of field: ",
54847            stringify!(_GThreadedSocketServiceClass),
54848            "::",
54849            stringify!(_g_reserved2)
54850        )
54851    );
54852    assert_eq!(
54853        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
54854        272usize,
54855        concat!(
54856            "Offset of field: ",
54857            stringify!(_GThreadedSocketServiceClass),
54858            "::",
54859            stringify!(_g_reserved3)
54860        )
54861    );
54862    assert_eq!(
54863        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
54864        280usize,
54865        concat!(
54866            "Offset of field: ",
54867            stringify!(_GThreadedSocketServiceClass),
54868            "::",
54869            stringify!(_g_reserved4)
54870        )
54871    );
54872    assert_eq!(
54873        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
54874        288usize,
54875        concat!(
54876            "Offset of field: ",
54877            stringify!(_GThreadedSocketServiceClass),
54878            "::",
54879            stringify!(_g_reserved5)
54880        )
54881    );
54882}
54883#[repr(C)]
54884#[derive(Debug, Copy, Clone, PartialEq, Eq)]
54885pub struct _GThreadedSocketService {
54886    pub parent_instance: GSocketService,
54887    pub priv_: *mut GThreadedSocketServicePrivate,
54888}
54889#[test]
54890fn bindgen_test_layout__GThreadedSocketService() {
54891    const UNINIT: ::std::mem::MaybeUninit<_GThreadedSocketService> =
54892        ::std::mem::MaybeUninit::uninit();
54893    let ptr = UNINIT.as_ptr();
54894    assert_eq!(
54895        ::std::mem::size_of::<_GThreadedSocketService>(),
54896        48usize,
54897        concat!("Size of: ", stringify!(_GThreadedSocketService))
54898    );
54899    assert_eq!(
54900        ::std::mem::align_of::<_GThreadedSocketService>(),
54901        8usize,
54902        concat!("Alignment of ", stringify!(_GThreadedSocketService))
54903    );
54904    assert_eq!(
54905        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
54906        0usize,
54907        concat!(
54908            "Offset of field: ",
54909            stringify!(_GThreadedSocketService),
54910            "::",
54911            stringify!(parent_instance)
54912        )
54913    );
54914    assert_eq!(
54915        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
54916        40usize,
54917        concat!(
54918            "Offset of field: ",
54919            stringify!(_GThreadedSocketService),
54920            "::",
54921            stringify!(priv_)
54922        )
54923    );
54924}
54925extern "C" {
54926    pub fn g_threaded_socket_service_get_type() -> GType;
54927}
54928extern "C" {
54929    pub fn g_threaded_socket_service_new(max_threads: ::std::os::raw::c_int)
54930        -> *mut GSocketService;
54931}
54932#[repr(C)]
54933#[derive(Debug, Copy, Clone)]
54934pub struct _GTlsBackend {
54935    _unused: [u8; 0],
54936}
54937pub type GTlsBackend = _GTlsBackend;
54938pub type GTlsBackendInterface = _GTlsBackendInterface;
54939#[repr(C)]
54940#[derive(Debug, Copy, Clone, PartialEq, Eq)]
54941pub struct _GTlsBackendInterface {
54942    pub g_iface: GTypeInterface,
54943    pub supports_tls:
54944        ::std::option::Option<unsafe extern "C" fn(backend: *mut GTlsBackend) -> gboolean>,
54945    pub get_certificate_type: ::std::option::Option<unsafe extern "C" fn() -> GType>,
54946    pub get_client_connection_type: ::std::option::Option<unsafe extern "C" fn() -> GType>,
54947    pub get_server_connection_type: ::std::option::Option<unsafe extern "C" fn() -> GType>,
54948    pub get_file_database_type: ::std::option::Option<unsafe extern "C" fn() -> GType>,
54949    pub get_default_database:
54950        ::std::option::Option<unsafe extern "C" fn(backend: *mut GTlsBackend) -> *mut GTlsDatabase>,
54951    pub supports_dtls:
54952        ::std::option::Option<unsafe extern "C" fn(backend: *mut GTlsBackend) -> gboolean>,
54953    pub get_dtls_client_connection_type: ::std::option::Option<unsafe extern "C" fn() -> GType>,
54954    pub get_dtls_server_connection_type: ::std::option::Option<unsafe extern "C" fn() -> GType>,
54955}
54956#[test]
54957fn bindgen_test_layout__GTlsBackendInterface() {
54958    const UNINIT: ::std::mem::MaybeUninit<_GTlsBackendInterface> =
54959        ::std::mem::MaybeUninit::uninit();
54960    let ptr = UNINIT.as_ptr();
54961    assert_eq!(
54962        ::std::mem::size_of::<_GTlsBackendInterface>(),
54963        88usize,
54964        concat!("Size of: ", stringify!(_GTlsBackendInterface))
54965    );
54966    assert_eq!(
54967        ::std::mem::align_of::<_GTlsBackendInterface>(),
54968        8usize,
54969        concat!("Alignment of ", stringify!(_GTlsBackendInterface))
54970    );
54971    assert_eq!(
54972        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
54973        0usize,
54974        concat!(
54975            "Offset of field: ",
54976            stringify!(_GTlsBackendInterface),
54977            "::",
54978            stringify!(g_iface)
54979        )
54980    );
54981    assert_eq!(
54982        unsafe { ::std::ptr::addr_of!((*ptr).supports_tls) as usize - ptr as usize },
54983        16usize,
54984        concat!(
54985            "Offset of field: ",
54986            stringify!(_GTlsBackendInterface),
54987            "::",
54988            stringify!(supports_tls)
54989        )
54990    );
54991    assert_eq!(
54992        unsafe { ::std::ptr::addr_of!((*ptr).get_certificate_type) as usize - ptr as usize },
54993        24usize,
54994        concat!(
54995            "Offset of field: ",
54996            stringify!(_GTlsBackendInterface),
54997            "::",
54998            stringify!(get_certificate_type)
54999        )
55000    );
55001    assert_eq!(
55002        unsafe { ::std::ptr::addr_of!((*ptr).get_client_connection_type) as usize - ptr as usize },
55003        32usize,
55004        concat!(
55005            "Offset of field: ",
55006            stringify!(_GTlsBackendInterface),
55007            "::",
55008            stringify!(get_client_connection_type)
55009        )
55010    );
55011    assert_eq!(
55012        unsafe { ::std::ptr::addr_of!((*ptr).get_server_connection_type) as usize - ptr as usize },
55013        40usize,
55014        concat!(
55015            "Offset of field: ",
55016            stringify!(_GTlsBackendInterface),
55017            "::",
55018            stringify!(get_server_connection_type)
55019        )
55020    );
55021    assert_eq!(
55022        unsafe { ::std::ptr::addr_of!((*ptr).get_file_database_type) as usize - ptr as usize },
55023        48usize,
55024        concat!(
55025            "Offset of field: ",
55026            stringify!(_GTlsBackendInterface),
55027            "::",
55028            stringify!(get_file_database_type)
55029        )
55030    );
55031    assert_eq!(
55032        unsafe { ::std::ptr::addr_of!((*ptr).get_default_database) as usize - ptr as usize },
55033        56usize,
55034        concat!(
55035            "Offset of field: ",
55036            stringify!(_GTlsBackendInterface),
55037            "::",
55038            stringify!(get_default_database)
55039        )
55040    );
55041    assert_eq!(
55042        unsafe { ::std::ptr::addr_of!((*ptr).supports_dtls) as usize - ptr as usize },
55043        64usize,
55044        concat!(
55045            "Offset of field: ",
55046            stringify!(_GTlsBackendInterface),
55047            "::",
55048            stringify!(supports_dtls)
55049        )
55050    );
55051    assert_eq!(
55052        unsafe {
55053            ::std::ptr::addr_of!((*ptr).get_dtls_client_connection_type) as usize - ptr as usize
55054        },
55055        72usize,
55056        concat!(
55057            "Offset of field: ",
55058            stringify!(_GTlsBackendInterface),
55059            "::",
55060            stringify!(get_dtls_client_connection_type)
55061        )
55062    );
55063    assert_eq!(
55064        unsafe {
55065            ::std::ptr::addr_of!((*ptr).get_dtls_server_connection_type) as usize - ptr as usize
55066        },
55067        80usize,
55068        concat!(
55069            "Offset of field: ",
55070            stringify!(_GTlsBackendInterface),
55071            "::",
55072            stringify!(get_dtls_server_connection_type)
55073        )
55074    );
55075}
55076extern "C" {
55077    pub fn g_tls_backend_get_type() -> GType;
55078}
55079extern "C" {
55080    pub fn g_tls_backend_get_default() -> *mut GTlsBackend;
55081}
55082extern "C" {
55083    pub fn g_tls_backend_get_default_database(backend: *mut GTlsBackend) -> *mut GTlsDatabase;
55084}
55085extern "C" {
55086    pub fn g_tls_backend_set_default_database(
55087        backend: *mut GTlsBackend,
55088        database: *mut GTlsDatabase,
55089    );
55090}
55091extern "C" {
55092    pub fn g_tls_backend_supports_tls(backend: *mut GTlsBackend) -> gboolean;
55093}
55094extern "C" {
55095    pub fn g_tls_backend_supports_dtls(backend: *mut GTlsBackend) -> gboolean;
55096}
55097extern "C" {
55098    pub fn g_tls_backend_get_certificate_type(backend: *mut GTlsBackend) -> GType;
55099}
55100extern "C" {
55101    pub fn g_tls_backend_get_client_connection_type(backend: *mut GTlsBackend) -> GType;
55102}
55103extern "C" {
55104    pub fn g_tls_backend_get_server_connection_type(backend: *mut GTlsBackend) -> GType;
55105}
55106extern "C" {
55107    pub fn g_tls_backend_get_file_database_type(backend: *mut GTlsBackend) -> GType;
55108}
55109extern "C" {
55110    pub fn g_tls_backend_get_dtls_client_connection_type(backend: *mut GTlsBackend) -> GType;
55111}
55112extern "C" {
55113    pub fn g_tls_backend_get_dtls_server_connection_type(backend: *mut GTlsBackend) -> GType;
55114}
55115pub type GTlsCertificateClass = _GTlsCertificateClass;
55116#[repr(C)]
55117#[derive(Debug, Copy, Clone)]
55118pub struct _GTlsCertificatePrivate {
55119    _unused: [u8; 0],
55120}
55121pub type GTlsCertificatePrivate = _GTlsCertificatePrivate;
55122#[repr(C)]
55123#[derive(Debug, Copy, Clone, PartialEq, Eq)]
55124pub struct _GTlsCertificate {
55125    pub parent_instance: GObject,
55126    pub priv_: *mut GTlsCertificatePrivate,
55127}
55128#[test]
55129fn bindgen_test_layout__GTlsCertificate() {
55130    const UNINIT: ::std::mem::MaybeUninit<_GTlsCertificate> = ::std::mem::MaybeUninit::uninit();
55131    let ptr = UNINIT.as_ptr();
55132    assert_eq!(
55133        ::std::mem::size_of::<_GTlsCertificate>(),
55134        32usize,
55135        concat!("Size of: ", stringify!(_GTlsCertificate))
55136    );
55137    assert_eq!(
55138        ::std::mem::align_of::<_GTlsCertificate>(),
55139        8usize,
55140        concat!("Alignment of ", stringify!(_GTlsCertificate))
55141    );
55142    assert_eq!(
55143        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
55144        0usize,
55145        concat!(
55146            "Offset of field: ",
55147            stringify!(_GTlsCertificate),
55148            "::",
55149            stringify!(parent_instance)
55150        )
55151    );
55152    assert_eq!(
55153        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
55154        24usize,
55155        concat!(
55156            "Offset of field: ",
55157            stringify!(_GTlsCertificate),
55158            "::",
55159            stringify!(priv_)
55160        )
55161    );
55162}
55163#[repr(C)]
55164#[derive(Debug, Copy, Clone, PartialEq, Eq)]
55165pub struct _GTlsCertificateClass {
55166    pub parent_class: GObjectClass,
55167    pub verify: ::std::option::Option<
55168        unsafe extern "C" fn(
55169            cert: *mut GTlsCertificate,
55170            identity: *mut GSocketConnectable,
55171            trusted_ca: *mut GTlsCertificate,
55172        ) -> GTlsCertificateFlags,
55173    >,
55174    pub padding: [gpointer; 8usize],
55175}
55176#[test]
55177fn bindgen_test_layout__GTlsCertificateClass() {
55178    const UNINIT: ::std::mem::MaybeUninit<_GTlsCertificateClass> =
55179        ::std::mem::MaybeUninit::uninit();
55180    let ptr = UNINIT.as_ptr();
55181    assert_eq!(
55182        ::std::mem::size_of::<_GTlsCertificateClass>(),
55183        208usize,
55184        concat!("Size of: ", stringify!(_GTlsCertificateClass))
55185    );
55186    assert_eq!(
55187        ::std::mem::align_of::<_GTlsCertificateClass>(),
55188        8usize,
55189        concat!("Alignment of ", stringify!(_GTlsCertificateClass))
55190    );
55191    assert_eq!(
55192        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
55193        0usize,
55194        concat!(
55195            "Offset of field: ",
55196            stringify!(_GTlsCertificateClass),
55197            "::",
55198            stringify!(parent_class)
55199        )
55200    );
55201    assert_eq!(
55202        unsafe { ::std::ptr::addr_of!((*ptr).verify) as usize - ptr as usize },
55203        136usize,
55204        concat!(
55205            "Offset of field: ",
55206            stringify!(_GTlsCertificateClass),
55207            "::",
55208            stringify!(verify)
55209        )
55210    );
55211    assert_eq!(
55212        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
55213        144usize,
55214        concat!(
55215            "Offset of field: ",
55216            stringify!(_GTlsCertificateClass),
55217            "::",
55218            stringify!(padding)
55219        )
55220    );
55221}
55222extern "C" {
55223    pub fn g_tls_certificate_get_type() -> GType;
55224}
55225extern "C" {
55226    pub fn g_tls_certificate_new_from_pem(
55227        data: *const gchar,
55228        length: gssize,
55229        error: *mut *mut GError,
55230    ) -> *mut GTlsCertificate;
55231}
55232extern "C" {
55233    pub fn g_tls_certificate_new_from_pkcs12(
55234        data: *const guint8,
55235        length: gsize,
55236        password: *const gchar,
55237        error: *mut *mut GError,
55238    ) -> *mut GTlsCertificate;
55239}
55240extern "C" {
55241    pub fn g_tls_certificate_new_from_file_with_password(
55242        file: *const gchar,
55243        password: *const gchar,
55244        error: *mut *mut GError,
55245    ) -> *mut GTlsCertificate;
55246}
55247extern "C" {
55248    pub fn g_tls_certificate_new_from_file(
55249        file: *const gchar,
55250        error: *mut *mut GError,
55251    ) -> *mut GTlsCertificate;
55252}
55253extern "C" {
55254    pub fn g_tls_certificate_new_from_files(
55255        cert_file: *const gchar,
55256        key_file: *const gchar,
55257        error: *mut *mut GError,
55258    ) -> *mut GTlsCertificate;
55259}
55260extern "C" {
55261    pub fn g_tls_certificate_new_from_pkcs11_uris(
55262        pkcs11_uri: *const gchar,
55263        private_key_pkcs11_uri: *const gchar,
55264        error: *mut *mut GError,
55265    ) -> *mut GTlsCertificate;
55266}
55267extern "C" {
55268    pub fn g_tls_certificate_list_new_from_file(
55269        file: *const gchar,
55270        error: *mut *mut GError,
55271    ) -> *mut GList;
55272}
55273extern "C" {
55274    pub fn g_tls_certificate_get_issuer(cert: *mut GTlsCertificate) -> *mut GTlsCertificate;
55275}
55276extern "C" {
55277    pub fn g_tls_certificate_verify(
55278        cert: *mut GTlsCertificate,
55279        identity: *mut GSocketConnectable,
55280        trusted_ca: *mut GTlsCertificate,
55281    ) -> GTlsCertificateFlags;
55282}
55283extern "C" {
55284    pub fn g_tls_certificate_is_same(
55285        cert_one: *mut GTlsCertificate,
55286        cert_two: *mut GTlsCertificate,
55287    ) -> gboolean;
55288}
55289extern "C" {
55290    pub fn g_tls_certificate_get_not_valid_before(cert: *mut GTlsCertificate) -> *mut GDateTime;
55291}
55292extern "C" {
55293    pub fn g_tls_certificate_get_not_valid_after(cert: *mut GTlsCertificate) -> *mut GDateTime;
55294}
55295extern "C" {
55296    pub fn g_tls_certificate_get_subject_name(cert: *mut GTlsCertificate) -> *mut gchar;
55297}
55298extern "C" {
55299    pub fn g_tls_certificate_get_issuer_name(cert: *mut GTlsCertificate) -> *mut gchar;
55300}
55301extern "C" {
55302    pub fn g_tls_certificate_get_dns_names(cert: *mut GTlsCertificate) -> *mut GPtrArray;
55303}
55304extern "C" {
55305    pub fn g_tls_certificate_get_ip_addresses(cert: *mut GTlsCertificate) -> *mut GPtrArray;
55306}
55307pub type GTlsConnectionClass = _GTlsConnectionClass;
55308#[repr(C)]
55309#[derive(Debug, Copy, Clone)]
55310pub struct _GTlsConnectionPrivate {
55311    _unused: [u8; 0],
55312}
55313pub type GTlsConnectionPrivate = _GTlsConnectionPrivate;
55314#[repr(C)]
55315#[derive(Debug, Copy, Clone, PartialEq, Eq)]
55316pub struct _GTlsConnection {
55317    pub parent_instance: GIOStream,
55318    pub priv_: *mut GTlsConnectionPrivate,
55319}
55320#[test]
55321fn bindgen_test_layout__GTlsConnection() {
55322    const UNINIT: ::std::mem::MaybeUninit<_GTlsConnection> = ::std::mem::MaybeUninit::uninit();
55323    let ptr = UNINIT.as_ptr();
55324    assert_eq!(
55325        ::std::mem::size_of::<_GTlsConnection>(),
55326        40usize,
55327        concat!("Size of: ", stringify!(_GTlsConnection))
55328    );
55329    assert_eq!(
55330        ::std::mem::align_of::<_GTlsConnection>(),
55331        8usize,
55332        concat!("Alignment of ", stringify!(_GTlsConnection))
55333    );
55334    assert_eq!(
55335        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
55336        0usize,
55337        concat!(
55338            "Offset of field: ",
55339            stringify!(_GTlsConnection),
55340            "::",
55341            stringify!(parent_instance)
55342        )
55343    );
55344    assert_eq!(
55345        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
55346        32usize,
55347        concat!(
55348            "Offset of field: ",
55349            stringify!(_GTlsConnection),
55350            "::",
55351            stringify!(priv_)
55352        )
55353    );
55354}
55355#[repr(C)]
55356#[derive(Debug, Copy, Clone, PartialEq, Eq)]
55357pub struct _GTlsConnectionClass {
55358    pub parent_class: GIOStreamClass,
55359    pub accept_certificate: ::std::option::Option<
55360        unsafe extern "C" fn(
55361            connection: *mut GTlsConnection,
55362            peer_cert: *mut GTlsCertificate,
55363            errors: GTlsCertificateFlags,
55364        ) -> gboolean,
55365    >,
55366    pub handshake: ::std::option::Option<
55367        unsafe extern "C" fn(
55368            conn: *mut GTlsConnection,
55369            cancellable: *mut GCancellable,
55370            error: *mut *mut GError,
55371        ) -> gboolean,
55372    >,
55373    pub handshake_async: ::std::option::Option<
55374        unsafe extern "C" fn(
55375            conn: *mut GTlsConnection,
55376            io_priority: ::std::os::raw::c_int,
55377            cancellable: *mut GCancellable,
55378            callback: GAsyncReadyCallback,
55379            user_data: gpointer,
55380        ),
55381    >,
55382    pub handshake_finish: ::std::option::Option<
55383        unsafe extern "C" fn(
55384            conn: *mut GTlsConnection,
55385            result: *mut GAsyncResult,
55386            error: *mut *mut GError,
55387        ) -> gboolean,
55388    >,
55389    pub get_binding_data: ::std::option::Option<
55390        unsafe extern "C" fn(
55391            conn: *mut GTlsConnection,
55392            type_: GTlsChannelBindingType,
55393            data: *mut GByteArray,
55394            error: *mut *mut GError,
55395        ) -> gboolean,
55396    >,
55397    pub get_negotiated_protocol:
55398        ::std::option::Option<unsafe extern "C" fn(conn: *mut GTlsConnection) -> *const gchar>,
55399    pub padding: [gpointer; 6usize],
55400}
55401#[test]
55402fn bindgen_test_layout__GTlsConnectionClass() {
55403    const UNINIT: ::std::mem::MaybeUninit<_GTlsConnectionClass> = ::std::mem::MaybeUninit::uninit();
55404    let ptr = UNINIT.as_ptr();
55405    assert_eq!(
55406        ::std::mem::size_of::<_GTlsConnectionClass>(),
55407        352usize,
55408        concat!("Size of: ", stringify!(_GTlsConnectionClass))
55409    );
55410    assert_eq!(
55411        ::std::mem::align_of::<_GTlsConnectionClass>(),
55412        8usize,
55413        concat!("Alignment of ", stringify!(_GTlsConnectionClass))
55414    );
55415    assert_eq!(
55416        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
55417        0usize,
55418        concat!(
55419            "Offset of field: ",
55420            stringify!(_GTlsConnectionClass),
55421            "::",
55422            stringify!(parent_class)
55423        )
55424    );
55425    assert_eq!(
55426        unsafe { ::std::ptr::addr_of!((*ptr).accept_certificate) as usize - ptr as usize },
55427        256usize,
55428        concat!(
55429            "Offset of field: ",
55430            stringify!(_GTlsConnectionClass),
55431            "::",
55432            stringify!(accept_certificate)
55433        )
55434    );
55435    assert_eq!(
55436        unsafe { ::std::ptr::addr_of!((*ptr).handshake) as usize - ptr as usize },
55437        264usize,
55438        concat!(
55439            "Offset of field: ",
55440            stringify!(_GTlsConnectionClass),
55441            "::",
55442            stringify!(handshake)
55443        )
55444    );
55445    assert_eq!(
55446        unsafe { ::std::ptr::addr_of!((*ptr).handshake_async) as usize - ptr as usize },
55447        272usize,
55448        concat!(
55449            "Offset of field: ",
55450            stringify!(_GTlsConnectionClass),
55451            "::",
55452            stringify!(handshake_async)
55453        )
55454    );
55455    assert_eq!(
55456        unsafe { ::std::ptr::addr_of!((*ptr).handshake_finish) as usize - ptr as usize },
55457        280usize,
55458        concat!(
55459            "Offset of field: ",
55460            stringify!(_GTlsConnectionClass),
55461            "::",
55462            stringify!(handshake_finish)
55463        )
55464    );
55465    assert_eq!(
55466        unsafe { ::std::ptr::addr_of!((*ptr).get_binding_data) as usize - ptr as usize },
55467        288usize,
55468        concat!(
55469            "Offset of field: ",
55470            stringify!(_GTlsConnectionClass),
55471            "::",
55472            stringify!(get_binding_data)
55473        )
55474    );
55475    assert_eq!(
55476        unsafe { ::std::ptr::addr_of!((*ptr).get_negotiated_protocol) as usize - ptr as usize },
55477        296usize,
55478        concat!(
55479            "Offset of field: ",
55480            stringify!(_GTlsConnectionClass),
55481            "::",
55482            stringify!(get_negotiated_protocol)
55483        )
55484    );
55485    assert_eq!(
55486        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
55487        304usize,
55488        concat!(
55489            "Offset of field: ",
55490            stringify!(_GTlsConnectionClass),
55491            "::",
55492            stringify!(padding)
55493        )
55494    );
55495}
55496extern "C" {
55497    pub fn g_tls_connection_get_type() -> GType;
55498}
55499extern "C" {
55500    pub fn g_tls_connection_set_use_system_certdb(
55501        conn: *mut GTlsConnection,
55502        use_system_certdb: gboolean,
55503    );
55504}
55505extern "C" {
55506    pub fn g_tls_connection_get_use_system_certdb(conn: *mut GTlsConnection) -> gboolean;
55507}
55508extern "C" {
55509    pub fn g_tls_connection_set_database(conn: *mut GTlsConnection, database: *mut GTlsDatabase);
55510}
55511extern "C" {
55512    pub fn g_tls_connection_get_database(conn: *mut GTlsConnection) -> *mut GTlsDatabase;
55513}
55514extern "C" {
55515    pub fn g_tls_connection_set_certificate(
55516        conn: *mut GTlsConnection,
55517        certificate: *mut GTlsCertificate,
55518    );
55519}
55520extern "C" {
55521    pub fn g_tls_connection_get_certificate(conn: *mut GTlsConnection) -> *mut GTlsCertificate;
55522}
55523extern "C" {
55524    pub fn g_tls_connection_set_interaction(
55525        conn: *mut GTlsConnection,
55526        interaction: *mut GTlsInteraction,
55527    );
55528}
55529extern "C" {
55530    pub fn g_tls_connection_get_interaction(conn: *mut GTlsConnection) -> *mut GTlsInteraction;
55531}
55532extern "C" {
55533    pub fn g_tls_connection_get_peer_certificate(conn: *mut GTlsConnection)
55534        -> *mut GTlsCertificate;
55535}
55536extern "C" {
55537    pub fn g_tls_connection_get_peer_certificate_errors(
55538        conn: *mut GTlsConnection,
55539    ) -> GTlsCertificateFlags;
55540}
55541extern "C" {
55542    pub fn g_tls_connection_set_require_close_notify(
55543        conn: *mut GTlsConnection,
55544        require_close_notify: gboolean,
55545    );
55546}
55547extern "C" {
55548    pub fn g_tls_connection_get_require_close_notify(conn: *mut GTlsConnection) -> gboolean;
55549}
55550extern "C" {
55551    pub fn g_tls_connection_set_rehandshake_mode(
55552        conn: *mut GTlsConnection,
55553        mode: GTlsRehandshakeMode,
55554    );
55555}
55556extern "C" {
55557    pub fn g_tls_connection_get_rehandshake_mode(conn: *mut GTlsConnection) -> GTlsRehandshakeMode;
55558}
55559extern "C" {
55560    pub fn g_tls_connection_set_advertised_protocols(
55561        conn: *mut GTlsConnection,
55562        protocols: *const *const gchar,
55563    );
55564}
55565extern "C" {
55566    pub fn g_tls_connection_get_negotiated_protocol(conn: *mut GTlsConnection) -> *const gchar;
55567}
55568extern "C" {
55569    pub fn g_tls_connection_get_channel_binding_data(
55570        conn: *mut GTlsConnection,
55571        type_: GTlsChannelBindingType,
55572        data: *mut GByteArray,
55573        error: *mut *mut GError,
55574    ) -> gboolean;
55575}
55576extern "C" {
55577    pub fn g_tls_connection_handshake(
55578        conn: *mut GTlsConnection,
55579        cancellable: *mut GCancellable,
55580        error: *mut *mut GError,
55581    ) -> gboolean;
55582}
55583extern "C" {
55584    pub fn g_tls_connection_handshake_async(
55585        conn: *mut GTlsConnection,
55586        io_priority: ::std::os::raw::c_int,
55587        cancellable: *mut GCancellable,
55588        callback: GAsyncReadyCallback,
55589        user_data: gpointer,
55590    );
55591}
55592extern "C" {
55593    pub fn g_tls_connection_handshake_finish(
55594        conn: *mut GTlsConnection,
55595        result: *mut GAsyncResult,
55596        error: *mut *mut GError,
55597    ) -> gboolean;
55598}
55599extern "C" {
55600    pub fn g_tls_connection_get_protocol_version(conn: *mut GTlsConnection) -> GTlsProtocolVersion;
55601}
55602extern "C" {
55603    pub fn g_tls_connection_get_ciphersuite_name(conn: *mut GTlsConnection) -> *mut gchar;
55604}
55605extern "C" {
55606    pub fn g_tls_error_quark() -> GQuark;
55607}
55608extern "C" {
55609    pub fn g_tls_channel_binding_error_quark() -> GQuark;
55610}
55611extern "C" {
55612    pub fn g_tls_connection_emit_accept_certificate(
55613        conn: *mut GTlsConnection,
55614        peer_cert: *mut GTlsCertificate,
55615        errors: GTlsCertificateFlags,
55616    ) -> gboolean;
55617}
55618pub type GTlsClientConnectionInterface = _GTlsClientConnectionInterface;
55619#[repr(C)]
55620#[derive(Debug, Copy, Clone, PartialEq, Eq)]
55621pub struct _GTlsClientConnectionInterface {
55622    pub g_iface: GTypeInterface,
55623    pub copy_session_state: ::std::option::Option<
55624        unsafe extern "C" fn(conn: *mut GTlsClientConnection, source: *mut GTlsClientConnection),
55625    >,
55626}
55627#[test]
55628fn bindgen_test_layout__GTlsClientConnectionInterface() {
55629    const UNINIT: ::std::mem::MaybeUninit<_GTlsClientConnectionInterface> =
55630        ::std::mem::MaybeUninit::uninit();
55631    let ptr = UNINIT.as_ptr();
55632    assert_eq!(
55633        ::std::mem::size_of::<_GTlsClientConnectionInterface>(),
55634        24usize,
55635        concat!("Size of: ", stringify!(_GTlsClientConnectionInterface))
55636    );
55637    assert_eq!(
55638        ::std::mem::align_of::<_GTlsClientConnectionInterface>(),
55639        8usize,
55640        concat!("Alignment of ", stringify!(_GTlsClientConnectionInterface))
55641    );
55642    assert_eq!(
55643        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
55644        0usize,
55645        concat!(
55646            "Offset of field: ",
55647            stringify!(_GTlsClientConnectionInterface),
55648            "::",
55649            stringify!(g_iface)
55650        )
55651    );
55652    assert_eq!(
55653        unsafe { ::std::ptr::addr_of!((*ptr).copy_session_state) as usize - ptr as usize },
55654        16usize,
55655        concat!(
55656            "Offset of field: ",
55657            stringify!(_GTlsClientConnectionInterface),
55658            "::",
55659            stringify!(copy_session_state)
55660        )
55661    );
55662}
55663extern "C" {
55664    pub fn g_tls_client_connection_get_type() -> GType;
55665}
55666extern "C" {
55667    pub fn g_tls_client_connection_new(
55668        base_io_stream: *mut GIOStream,
55669        server_identity: *mut GSocketConnectable,
55670        error: *mut *mut GError,
55671    ) -> *mut GIOStream;
55672}
55673extern "C" {
55674    pub fn g_tls_client_connection_get_validation_flags(
55675        conn: *mut GTlsClientConnection,
55676    ) -> GTlsCertificateFlags;
55677}
55678extern "C" {
55679    pub fn g_tls_client_connection_set_validation_flags(
55680        conn: *mut GTlsClientConnection,
55681        flags: GTlsCertificateFlags,
55682    );
55683}
55684extern "C" {
55685    pub fn g_tls_client_connection_get_server_identity(
55686        conn: *mut GTlsClientConnection,
55687    ) -> *mut GSocketConnectable;
55688}
55689extern "C" {
55690    pub fn g_tls_client_connection_set_server_identity(
55691        conn: *mut GTlsClientConnection,
55692        identity: *mut GSocketConnectable,
55693    );
55694}
55695extern "C" {
55696    pub fn g_tls_client_connection_get_use_ssl3(conn: *mut GTlsClientConnection) -> gboolean;
55697}
55698extern "C" {
55699    pub fn g_tls_client_connection_set_use_ssl3(
55700        conn: *mut GTlsClientConnection,
55701        use_ssl3: gboolean,
55702    );
55703}
55704extern "C" {
55705    pub fn g_tls_client_connection_get_accepted_cas(conn: *mut GTlsClientConnection) -> *mut GList;
55706}
55707extern "C" {
55708    pub fn g_tls_client_connection_copy_session_state(
55709        conn: *mut GTlsClientConnection,
55710        source: *mut GTlsClientConnection,
55711    );
55712}
55713pub type GTlsDatabaseClass = _GTlsDatabaseClass;
55714#[repr(C)]
55715#[derive(Debug, Copy, Clone)]
55716pub struct _GTlsDatabasePrivate {
55717    _unused: [u8; 0],
55718}
55719pub type GTlsDatabasePrivate = _GTlsDatabasePrivate;
55720#[repr(C)]
55721#[derive(Debug, Copy, Clone, PartialEq, Eq)]
55722pub struct _GTlsDatabase {
55723    pub parent_instance: GObject,
55724    pub priv_: *mut GTlsDatabasePrivate,
55725}
55726#[test]
55727fn bindgen_test_layout__GTlsDatabase() {
55728    const UNINIT: ::std::mem::MaybeUninit<_GTlsDatabase> = ::std::mem::MaybeUninit::uninit();
55729    let ptr = UNINIT.as_ptr();
55730    assert_eq!(
55731        ::std::mem::size_of::<_GTlsDatabase>(),
55732        32usize,
55733        concat!("Size of: ", stringify!(_GTlsDatabase))
55734    );
55735    assert_eq!(
55736        ::std::mem::align_of::<_GTlsDatabase>(),
55737        8usize,
55738        concat!("Alignment of ", stringify!(_GTlsDatabase))
55739    );
55740    assert_eq!(
55741        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
55742        0usize,
55743        concat!(
55744            "Offset of field: ",
55745            stringify!(_GTlsDatabase),
55746            "::",
55747            stringify!(parent_instance)
55748        )
55749    );
55750    assert_eq!(
55751        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
55752        24usize,
55753        concat!(
55754            "Offset of field: ",
55755            stringify!(_GTlsDatabase),
55756            "::",
55757            stringify!(priv_)
55758        )
55759    );
55760}
55761#[repr(C)]
55762#[derive(Debug, Copy, Clone, PartialEq, Eq)]
55763pub struct _GTlsDatabaseClass {
55764    pub parent_class: GObjectClass,
55765    pub verify_chain: ::std::option::Option<
55766        unsafe extern "C" fn(
55767            self_: *mut GTlsDatabase,
55768            chain: *mut GTlsCertificate,
55769            purpose: *const gchar,
55770            identity: *mut GSocketConnectable,
55771            interaction: *mut GTlsInteraction,
55772            flags: GTlsDatabaseVerifyFlags,
55773            cancellable: *mut GCancellable,
55774            error: *mut *mut GError,
55775        ) -> GTlsCertificateFlags,
55776    >,
55777    pub verify_chain_async: ::std::option::Option<
55778        unsafe extern "C" fn(
55779            self_: *mut GTlsDatabase,
55780            chain: *mut GTlsCertificate,
55781            purpose: *const gchar,
55782            identity: *mut GSocketConnectable,
55783            interaction: *mut GTlsInteraction,
55784            flags: GTlsDatabaseVerifyFlags,
55785            cancellable: *mut GCancellable,
55786            callback: GAsyncReadyCallback,
55787            user_data: gpointer,
55788        ),
55789    >,
55790    pub verify_chain_finish: ::std::option::Option<
55791        unsafe extern "C" fn(
55792            self_: *mut GTlsDatabase,
55793            result: *mut GAsyncResult,
55794            error: *mut *mut GError,
55795        ) -> GTlsCertificateFlags,
55796    >,
55797    pub create_certificate_handle: ::std::option::Option<
55798        unsafe extern "C" fn(
55799            self_: *mut GTlsDatabase,
55800            certificate: *mut GTlsCertificate,
55801        ) -> *mut gchar,
55802    >,
55803    pub lookup_certificate_for_handle: ::std::option::Option<
55804        unsafe extern "C" fn(
55805            self_: *mut GTlsDatabase,
55806            handle: *const gchar,
55807            interaction: *mut GTlsInteraction,
55808            flags: GTlsDatabaseLookupFlags,
55809            cancellable: *mut GCancellable,
55810            error: *mut *mut GError,
55811        ) -> *mut GTlsCertificate,
55812    >,
55813    pub lookup_certificate_for_handle_async: ::std::option::Option<
55814        unsafe extern "C" fn(
55815            self_: *mut GTlsDatabase,
55816            handle: *const gchar,
55817            interaction: *mut GTlsInteraction,
55818            flags: GTlsDatabaseLookupFlags,
55819            cancellable: *mut GCancellable,
55820            callback: GAsyncReadyCallback,
55821            user_data: gpointer,
55822        ),
55823    >,
55824    pub lookup_certificate_for_handle_finish: ::std::option::Option<
55825        unsafe extern "C" fn(
55826            self_: *mut GTlsDatabase,
55827            result: *mut GAsyncResult,
55828            error: *mut *mut GError,
55829        ) -> *mut GTlsCertificate,
55830    >,
55831    pub lookup_certificate_issuer: ::std::option::Option<
55832        unsafe extern "C" fn(
55833            self_: *mut GTlsDatabase,
55834            certificate: *mut GTlsCertificate,
55835            interaction: *mut GTlsInteraction,
55836            flags: GTlsDatabaseLookupFlags,
55837            cancellable: *mut GCancellable,
55838            error: *mut *mut GError,
55839        ) -> *mut GTlsCertificate,
55840    >,
55841    pub lookup_certificate_issuer_async: ::std::option::Option<
55842        unsafe extern "C" fn(
55843            self_: *mut GTlsDatabase,
55844            certificate: *mut GTlsCertificate,
55845            interaction: *mut GTlsInteraction,
55846            flags: GTlsDatabaseLookupFlags,
55847            cancellable: *mut GCancellable,
55848            callback: GAsyncReadyCallback,
55849            user_data: gpointer,
55850        ),
55851    >,
55852    pub lookup_certificate_issuer_finish: ::std::option::Option<
55853        unsafe extern "C" fn(
55854            self_: *mut GTlsDatabase,
55855            result: *mut GAsyncResult,
55856            error: *mut *mut GError,
55857        ) -> *mut GTlsCertificate,
55858    >,
55859    pub lookup_certificates_issued_by: ::std::option::Option<
55860        unsafe extern "C" fn(
55861            self_: *mut GTlsDatabase,
55862            issuer_raw_dn: *mut GByteArray,
55863            interaction: *mut GTlsInteraction,
55864            flags: GTlsDatabaseLookupFlags,
55865            cancellable: *mut GCancellable,
55866            error: *mut *mut GError,
55867        ) -> *mut GList,
55868    >,
55869    pub lookup_certificates_issued_by_async: ::std::option::Option<
55870        unsafe extern "C" fn(
55871            self_: *mut GTlsDatabase,
55872            issuer_raw_dn: *mut GByteArray,
55873            interaction: *mut GTlsInteraction,
55874            flags: GTlsDatabaseLookupFlags,
55875            cancellable: *mut GCancellable,
55876            callback: GAsyncReadyCallback,
55877            user_data: gpointer,
55878        ),
55879    >,
55880    pub lookup_certificates_issued_by_finish: ::std::option::Option<
55881        unsafe extern "C" fn(
55882            self_: *mut GTlsDatabase,
55883            result: *mut GAsyncResult,
55884            error: *mut *mut GError,
55885        ) -> *mut GList,
55886    >,
55887    pub padding: [gpointer; 16usize],
55888}
55889#[test]
55890fn bindgen_test_layout__GTlsDatabaseClass() {
55891    const UNINIT: ::std::mem::MaybeUninit<_GTlsDatabaseClass> = ::std::mem::MaybeUninit::uninit();
55892    let ptr = UNINIT.as_ptr();
55893    assert_eq!(
55894        ::std::mem::size_of::<_GTlsDatabaseClass>(),
55895        368usize,
55896        concat!("Size of: ", stringify!(_GTlsDatabaseClass))
55897    );
55898    assert_eq!(
55899        ::std::mem::align_of::<_GTlsDatabaseClass>(),
55900        8usize,
55901        concat!("Alignment of ", stringify!(_GTlsDatabaseClass))
55902    );
55903    assert_eq!(
55904        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
55905        0usize,
55906        concat!(
55907            "Offset of field: ",
55908            stringify!(_GTlsDatabaseClass),
55909            "::",
55910            stringify!(parent_class)
55911        )
55912    );
55913    assert_eq!(
55914        unsafe { ::std::ptr::addr_of!((*ptr).verify_chain) as usize - ptr as usize },
55915        136usize,
55916        concat!(
55917            "Offset of field: ",
55918            stringify!(_GTlsDatabaseClass),
55919            "::",
55920            stringify!(verify_chain)
55921        )
55922    );
55923    assert_eq!(
55924        unsafe { ::std::ptr::addr_of!((*ptr).verify_chain_async) as usize - ptr as usize },
55925        144usize,
55926        concat!(
55927            "Offset of field: ",
55928            stringify!(_GTlsDatabaseClass),
55929            "::",
55930            stringify!(verify_chain_async)
55931        )
55932    );
55933    assert_eq!(
55934        unsafe { ::std::ptr::addr_of!((*ptr).verify_chain_finish) as usize - ptr as usize },
55935        152usize,
55936        concat!(
55937            "Offset of field: ",
55938            stringify!(_GTlsDatabaseClass),
55939            "::",
55940            stringify!(verify_chain_finish)
55941        )
55942    );
55943    assert_eq!(
55944        unsafe { ::std::ptr::addr_of!((*ptr).create_certificate_handle) as usize - ptr as usize },
55945        160usize,
55946        concat!(
55947            "Offset of field: ",
55948            stringify!(_GTlsDatabaseClass),
55949            "::",
55950            stringify!(create_certificate_handle)
55951        )
55952    );
55953    assert_eq!(
55954        unsafe {
55955            ::std::ptr::addr_of!((*ptr).lookup_certificate_for_handle) as usize - ptr as usize
55956        },
55957        168usize,
55958        concat!(
55959            "Offset of field: ",
55960            stringify!(_GTlsDatabaseClass),
55961            "::",
55962            stringify!(lookup_certificate_for_handle)
55963        )
55964    );
55965    assert_eq!(
55966        unsafe {
55967            ::std::ptr::addr_of!((*ptr).lookup_certificate_for_handle_async) as usize - ptr as usize
55968        },
55969        176usize,
55970        concat!(
55971            "Offset of field: ",
55972            stringify!(_GTlsDatabaseClass),
55973            "::",
55974            stringify!(lookup_certificate_for_handle_async)
55975        )
55976    );
55977    assert_eq!(
55978        unsafe {
55979            ::std::ptr::addr_of!((*ptr).lookup_certificate_for_handle_finish) as usize
55980                - ptr as usize
55981        },
55982        184usize,
55983        concat!(
55984            "Offset of field: ",
55985            stringify!(_GTlsDatabaseClass),
55986            "::",
55987            stringify!(lookup_certificate_for_handle_finish)
55988        )
55989    );
55990    assert_eq!(
55991        unsafe { ::std::ptr::addr_of!((*ptr).lookup_certificate_issuer) as usize - ptr as usize },
55992        192usize,
55993        concat!(
55994            "Offset of field: ",
55995            stringify!(_GTlsDatabaseClass),
55996            "::",
55997            stringify!(lookup_certificate_issuer)
55998        )
55999    );
56000    assert_eq!(
56001        unsafe {
56002            ::std::ptr::addr_of!((*ptr).lookup_certificate_issuer_async) as usize - ptr as usize
56003        },
56004        200usize,
56005        concat!(
56006            "Offset of field: ",
56007            stringify!(_GTlsDatabaseClass),
56008            "::",
56009            stringify!(lookup_certificate_issuer_async)
56010        )
56011    );
56012    assert_eq!(
56013        unsafe {
56014            ::std::ptr::addr_of!((*ptr).lookup_certificate_issuer_finish) as usize - ptr as usize
56015        },
56016        208usize,
56017        concat!(
56018            "Offset of field: ",
56019            stringify!(_GTlsDatabaseClass),
56020            "::",
56021            stringify!(lookup_certificate_issuer_finish)
56022        )
56023    );
56024    assert_eq!(
56025        unsafe {
56026            ::std::ptr::addr_of!((*ptr).lookup_certificates_issued_by) as usize - ptr as usize
56027        },
56028        216usize,
56029        concat!(
56030            "Offset of field: ",
56031            stringify!(_GTlsDatabaseClass),
56032            "::",
56033            stringify!(lookup_certificates_issued_by)
56034        )
56035    );
56036    assert_eq!(
56037        unsafe {
56038            ::std::ptr::addr_of!((*ptr).lookup_certificates_issued_by_async) as usize - ptr as usize
56039        },
56040        224usize,
56041        concat!(
56042            "Offset of field: ",
56043            stringify!(_GTlsDatabaseClass),
56044            "::",
56045            stringify!(lookup_certificates_issued_by_async)
56046        )
56047    );
56048    assert_eq!(
56049        unsafe {
56050            ::std::ptr::addr_of!((*ptr).lookup_certificates_issued_by_finish) as usize
56051                - ptr as usize
56052        },
56053        232usize,
56054        concat!(
56055            "Offset of field: ",
56056            stringify!(_GTlsDatabaseClass),
56057            "::",
56058            stringify!(lookup_certificates_issued_by_finish)
56059        )
56060    );
56061    assert_eq!(
56062        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
56063        240usize,
56064        concat!(
56065            "Offset of field: ",
56066            stringify!(_GTlsDatabaseClass),
56067            "::",
56068            stringify!(padding)
56069        )
56070    );
56071}
56072extern "C" {
56073    pub fn g_tls_database_get_type() -> GType;
56074}
56075extern "C" {
56076    pub fn g_tls_database_verify_chain(
56077        self_: *mut GTlsDatabase,
56078        chain: *mut GTlsCertificate,
56079        purpose: *const gchar,
56080        identity: *mut GSocketConnectable,
56081        interaction: *mut GTlsInteraction,
56082        flags: GTlsDatabaseVerifyFlags,
56083        cancellable: *mut GCancellable,
56084        error: *mut *mut GError,
56085    ) -> GTlsCertificateFlags;
56086}
56087extern "C" {
56088    pub fn g_tls_database_verify_chain_async(
56089        self_: *mut GTlsDatabase,
56090        chain: *mut GTlsCertificate,
56091        purpose: *const gchar,
56092        identity: *mut GSocketConnectable,
56093        interaction: *mut GTlsInteraction,
56094        flags: GTlsDatabaseVerifyFlags,
56095        cancellable: *mut GCancellable,
56096        callback: GAsyncReadyCallback,
56097        user_data: gpointer,
56098    );
56099}
56100extern "C" {
56101    pub fn g_tls_database_verify_chain_finish(
56102        self_: *mut GTlsDatabase,
56103        result: *mut GAsyncResult,
56104        error: *mut *mut GError,
56105    ) -> GTlsCertificateFlags;
56106}
56107extern "C" {
56108    pub fn g_tls_database_create_certificate_handle(
56109        self_: *mut GTlsDatabase,
56110        certificate: *mut GTlsCertificate,
56111    ) -> *mut gchar;
56112}
56113extern "C" {
56114    pub fn g_tls_database_lookup_certificate_for_handle(
56115        self_: *mut GTlsDatabase,
56116        handle: *const gchar,
56117        interaction: *mut GTlsInteraction,
56118        flags: GTlsDatabaseLookupFlags,
56119        cancellable: *mut GCancellable,
56120        error: *mut *mut GError,
56121    ) -> *mut GTlsCertificate;
56122}
56123extern "C" {
56124    pub fn g_tls_database_lookup_certificate_for_handle_async(
56125        self_: *mut GTlsDatabase,
56126        handle: *const gchar,
56127        interaction: *mut GTlsInteraction,
56128        flags: GTlsDatabaseLookupFlags,
56129        cancellable: *mut GCancellable,
56130        callback: GAsyncReadyCallback,
56131        user_data: gpointer,
56132    );
56133}
56134extern "C" {
56135    pub fn g_tls_database_lookup_certificate_for_handle_finish(
56136        self_: *mut GTlsDatabase,
56137        result: *mut GAsyncResult,
56138        error: *mut *mut GError,
56139    ) -> *mut GTlsCertificate;
56140}
56141extern "C" {
56142    pub fn g_tls_database_lookup_certificate_issuer(
56143        self_: *mut GTlsDatabase,
56144        certificate: *mut GTlsCertificate,
56145        interaction: *mut GTlsInteraction,
56146        flags: GTlsDatabaseLookupFlags,
56147        cancellable: *mut GCancellable,
56148        error: *mut *mut GError,
56149    ) -> *mut GTlsCertificate;
56150}
56151extern "C" {
56152    pub fn g_tls_database_lookup_certificate_issuer_async(
56153        self_: *mut GTlsDatabase,
56154        certificate: *mut GTlsCertificate,
56155        interaction: *mut GTlsInteraction,
56156        flags: GTlsDatabaseLookupFlags,
56157        cancellable: *mut GCancellable,
56158        callback: GAsyncReadyCallback,
56159        user_data: gpointer,
56160    );
56161}
56162extern "C" {
56163    pub fn g_tls_database_lookup_certificate_issuer_finish(
56164        self_: *mut GTlsDatabase,
56165        result: *mut GAsyncResult,
56166        error: *mut *mut GError,
56167    ) -> *mut GTlsCertificate;
56168}
56169extern "C" {
56170    pub fn g_tls_database_lookup_certificates_issued_by(
56171        self_: *mut GTlsDatabase,
56172        issuer_raw_dn: *mut GByteArray,
56173        interaction: *mut GTlsInteraction,
56174        flags: GTlsDatabaseLookupFlags,
56175        cancellable: *mut GCancellable,
56176        error: *mut *mut GError,
56177    ) -> *mut GList;
56178}
56179extern "C" {
56180    pub fn g_tls_database_lookup_certificates_issued_by_async(
56181        self_: *mut GTlsDatabase,
56182        issuer_raw_dn: *mut GByteArray,
56183        interaction: *mut GTlsInteraction,
56184        flags: GTlsDatabaseLookupFlags,
56185        cancellable: *mut GCancellable,
56186        callback: GAsyncReadyCallback,
56187        user_data: gpointer,
56188    );
56189}
56190extern "C" {
56191    pub fn g_tls_database_lookup_certificates_issued_by_finish(
56192        self_: *mut GTlsDatabase,
56193        result: *mut GAsyncResult,
56194        error: *mut *mut GError,
56195    ) -> *mut GList;
56196}
56197pub type GTlsFileDatabaseInterface = _GTlsFileDatabaseInterface;
56198#[repr(C)]
56199#[derive(Debug, Copy, Clone, PartialEq, Eq)]
56200pub struct _GTlsFileDatabaseInterface {
56201    pub g_iface: GTypeInterface,
56202    pub padding: [gpointer; 8usize],
56203}
56204#[test]
56205fn bindgen_test_layout__GTlsFileDatabaseInterface() {
56206    const UNINIT: ::std::mem::MaybeUninit<_GTlsFileDatabaseInterface> =
56207        ::std::mem::MaybeUninit::uninit();
56208    let ptr = UNINIT.as_ptr();
56209    assert_eq!(
56210        ::std::mem::size_of::<_GTlsFileDatabaseInterface>(),
56211        80usize,
56212        concat!("Size of: ", stringify!(_GTlsFileDatabaseInterface))
56213    );
56214    assert_eq!(
56215        ::std::mem::align_of::<_GTlsFileDatabaseInterface>(),
56216        8usize,
56217        concat!("Alignment of ", stringify!(_GTlsFileDatabaseInterface))
56218    );
56219    assert_eq!(
56220        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
56221        0usize,
56222        concat!(
56223            "Offset of field: ",
56224            stringify!(_GTlsFileDatabaseInterface),
56225            "::",
56226            stringify!(g_iface)
56227        )
56228    );
56229    assert_eq!(
56230        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
56231        16usize,
56232        concat!(
56233            "Offset of field: ",
56234            stringify!(_GTlsFileDatabaseInterface),
56235            "::",
56236            stringify!(padding)
56237        )
56238    );
56239}
56240extern "C" {
56241    pub fn g_tls_file_database_get_type() -> GType;
56242}
56243extern "C" {
56244    pub fn g_tls_file_database_new(
56245        anchors: *const gchar,
56246        error: *mut *mut GError,
56247    ) -> *mut GTlsDatabase;
56248}
56249pub type GTlsInteractionClass = _GTlsInteractionClass;
56250#[repr(C)]
56251#[derive(Debug, Copy, Clone)]
56252pub struct _GTlsInteractionPrivate {
56253    _unused: [u8; 0],
56254}
56255pub type GTlsInteractionPrivate = _GTlsInteractionPrivate;
56256#[repr(C)]
56257#[derive(Debug, Copy, Clone, PartialEq, Eq)]
56258pub struct _GTlsInteraction {
56259    pub parent_instance: GObject,
56260    pub priv_: *mut GTlsInteractionPrivate,
56261}
56262#[test]
56263fn bindgen_test_layout__GTlsInteraction() {
56264    const UNINIT: ::std::mem::MaybeUninit<_GTlsInteraction> = ::std::mem::MaybeUninit::uninit();
56265    let ptr = UNINIT.as_ptr();
56266    assert_eq!(
56267        ::std::mem::size_of::<_GTlsInteraction>(),
56268        32usize,
56269        concat!("Size of: ", stringify!(_GTlsInteraction))
56270    );
56271    assert_eq!(
56272        ::std::mem::align_of::<_GTlsInteraction>(),
56273        8usize,
56274        concat!("Alignment of ", stringify!(_GTlsInteraction))
56275    );
56276    assert_eq!(
56277        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
56278        0usize,
56279        concat!(
56280            "Offset of field: ",
56281            stringify!(_GTlsInteraction),
56282            "::",
56283            stringify!(parent_instance)
56284        )
56285    );
56286    assert_eq!(
56287        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
56288        24usize,
56289        concat!(
56290            "Offset of field: ",
56291            stringify!(_GTlsInteraction),
56292            "::",
56293            stringify!(priv_)
56294        )
56295    );
56296}
56297#[repr(C)]
56298#[derive(Debug, Copy, Clone, PartialEq, Eq)]
56299pub struct _GTlsInteractionClass {
56300    pub parent_class: GObjectClass,
56301    pub ask_password: ::std::option::Option<
56302        unsafe extern "C" fn(
56303            interaction: *mut GTlsInteraction,
56304            password: *mut GTlsPassword,
56305            cancellable: *mut GCancellable,
56306            error: *mut *mut GError,
56307        ) -> GTlsInteractionResult,
56308    >,
56309    pub ask_password_async: ::std::option::Option<
56310        unsafe extern "C" fn(
56311            interaction: *mut GTlsInteraction,
56312            password: *mut GTlsPassword,
56313            cancellable: *mut GCancellable,
56314            callback: GAsyncReadyCallback,
56315            user_data: gpointer,
56316        ),
56317    >,
56318    pub ask_password_finish: ::std::option::Option<
56319        unsafe extern "C" fn(
56320            interaction: *mut GTlsInteraction,
56321            result: *mut GAsyncResult,
56322            error: *mut *mut GError,
56323        ) -> GTlsInteractionResult,
56324    >,
56325    pub request_certificate: ::std::option::Option<
56326        unsafe extern "C" fn(
56327            interaction: *mut GTlsInteraction,
56328            connection: *mut GTlsConnection,
56329            flags: GTlsCertificateRequestFlags,
56330            cancellable: *mut GCancellable,
56331            error: *mut *mut GError,
56332        ) -> GTlsInteractionResult,
56333    >,
56334    pub request_certificate_async: ::std::option::Option<
56335        unsafe extern "C" fn(
56336            interaction: *mut GTlsInteraction,
56337            connection: *mut GTlsConnection,
56338            flags: GTlsCertificateRequestFlags,
56339            cancellable: *mut GCancellable,
56340            callback: GAsyncReadyCallback,
56341            user_data: gpointer,
56342        ),
56343    >,
56344    pub request_certificate_finish: ::std::option::Option<
56345        unsafe extern "C" fn(
56346            interaction: *mut GTlsInteraction,
56347            result: *mut GAsyncResult,
56348            error: *mut *mut GError,
56349        ) -> GTlsInteractionResult,
56350    >,
56351    pub padding: [gpointer; 21usize],
56352}
56353#[test]
56354fn bindgen_test_layout__GTlsInteractionClass() {
56355    const UNINIT: ::std::mem::MaybeUninit<_GTlsInteractionClass> =
56356        ::std::mem::MaybeUninit::uninit();
56357    let ptr = UNINIT.as_ptr();
56358    assert_eq!(
56359        ::std::mem::size_of::<_GTlsInteractionClass>(),
56360        352usize,
56361        concat!("Size of: ", stringify!(_GTlsInteractionClass))
56362    );
56363    assert_eq!(
56364        ::std::mem::align_of::<_GTlsInteractionClass>(),
56365        8usize,
56366        concat!("Alignment of ", stringify!(_GTlsInteractionClass))
56367    );
56368    assert_eq!(
56369        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
56370        0usize,
56371        concat!(
56372            "Offset of field: ",
56373            stringify!(_GTlsInteractionClass),
56374            "::",
56375            stringify!(parent_class)
56376        )
56377    );
56378    assert_eq!(
56379        unsafe { ::std::ptr::addr_of!((*ptr).ask_password) as usize - ptr as usize },
56380        136usize,
56381        concat!(
56382            "Offset of field: ",
56383            stringify!(_GTlsInteractionClass),
56384            "::",
56385            stringify!(ask_password)
56386        )
56387    );
56388    assert_eq!(
56389        unsafe { ::std::ptr::addr_of!((*ptr).ask_password_async) as usize - ptr as usize },
56390        144usize,
56391        concat!(
56392            "Offset of field: ",
56393            stringify!(_GTlsInteractionClass),
56394            "::",
56395            stringify!(ask_password_async)
56396        )
56397    );
56398    assert_eq!(
56399        unsafe { ::std::ptr::addr_of!((*ptr).ask_password_finish) as usize - ptr as usize },
56400        152usize,
56401        concat!(
56402            "Offset of field: ",
56403            stringify!(_GTlsInteractionClass),
56404            "::",
56405            stringify!(ask_password_finish)
56406        )
56407    );
56408    assert_eq!(
56409        unsafe { ::std::ptr::addr_of!((*ptr).request_certificate) as usize - ptr as usize },
56410        160usize,
56411        concat!(
56412            "Offset of field: ",
56413            stringify!(_GTlsInteractionClass),
56414            "::",
56415            stringify!(request_certificate)
56416        )
56417    );
56418    assert_eq!(
56419        unsafe { ::std::ptr::addr_of!((*ptr).request_certificate_async) as usize - ptr as usize },
56420        168usize,
56421        concat!(
56422            "Offset of field: ",
56423            stringify!(_GTlsInteractionClass),
56424            "::",
56425            stringify!(request_certificate_async)
56426        )
56427    );
56428    assert_eq!(
56429        unsafe { ::std::ptr::addr_of!((*ptr).request_certificate_finish) as usize - ptr as usize },
56430        176usize,
56431        concat!(
56432            "Offset of field: ",
56433            stringify!(_GTlsInteractionClass),
56434            "::",
56435            stringify!(request_certificate_finish)
56436        )
56437    );
56438    assert_eq!(
56439        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
56440        184usize,
56441        concat!(
56442            "Offset of field: ",
56443            stringify!(_GTlsInteractionClass),
56444            "::",
56445            stringify!(padding)
56446        )
56447    );
56448}
56449extern "C" {
56450    pub fn g_tls_interaction_get_type() -> GType;
56451}
56452extern "C" {
56453    pub fn g_tls_interaction_invoke_ask_password(
56454        interaction: *mut GTlsInteraction,
56455        password: *mut GTlsPassword,
56456        cancellable: *mut GCancellable,
56457        error: *mut *mut GError,
56458    ) -> GTlsInteractionResult;
56459}
56460extern "C" {
56461    pub fn g_tls_interaction_ask_password(
56462        interaction: *mut GTlsInteraction,
56463        password: *mut GTlsPassword,
56464        cancellable: *mut GCancellable,
56465        error: *mut *mut GError,
56466    ) -> GTlsInteractionResult;
56467}
56468extern "C" {
56469    pub fn g_tls_interaction_ask_password_async(
56470        interaction: *mut GTlsInteraction,
56471        password: *mut GTlsPassword,
56472        cancellable: *mut GCancellable,
56473        callback: GAsyncReadyCallback,
56474        user_data: gpointer,
56475    );
56476}
56477extern "C" {
56478    pub fn g_tls_interaction_ask_password_finish(
56479        interaction: *mut GTlsInteraction,
56480        result: *mut GAsyncResult,
56481        error: *mut *mut GError,
56482    ) -> GTlsInteractionResult;
56483}
56484extern "C" {
56485    pub fn g_tls_interaction_invoke_request_certificate(
56486        interaction: *mut GTlsInteraction,
56487        connection: *mut GTlsConnection,
56488        flags: GTlsCertificateRequestFlags,
56489        cancellable: *mut GCancellable,
56490        error: *mut *mut GError,
56491    ) -> GTlsInteractionResult;
56492}
56493extern "C" {
56494    pub fn g_tls_interaction_request_certificate(
56495        interaction: *mut GTlsInteraction,
56496        connection: *mut GTlsConnection,
56497        flags: GTlsCertificateRequestFlags,
56498        cancellable: *mut GCancellable,
56499        error: *mut *mut GError,
56500    ) -> GTlsInteractionResult;
56501}
56502extern "C" {
56503    pub fn g_tls_interaction_request_certificate_async(
56504        interaction: *mut GTlsInteraction,
56505        connection: *mut GTlsConnection,
56506        flags: GTlsCertificateRequestFlags,
56507        cancellable: *mut GCancellable,
56508        callback: GAsyncReadyCallback,
56509        user_data: gpointer,
56510    );
56511}
56512extern "C" {
56513    pub fn g_tls_interaction_request_certificate_finish(
56514        interaction: *mut GTlsInteraction,
56515        result: *mut GAsyncResult,
56516        error: *mut *mut GError,
56517    ) -> GTlsInteractionResult;
56518}
56519pub type GTlsPasswordClass = _GTlsPasswordClass;
56520#[repr(C)]
56521#[derive(Debug, Copy, Clone)]
56522pub struct _GTlsPasswordPrivate {
56523    _unused: [u8; 0],
56524}
56525pub type GTlsPasswordPrivate = _GTlsPasswordPrivate;
56526#[repr(C)]
56527#[derive(Debug, Copy, Clone, PartialEq, Eq)]
56528pub struct _GTlsPassword {
56529    pub parent_instance: GObject,
56530    pub priv_: *mut GTlsPasswordPrivate,
56531}
56532#[test]
56533fn bindgen_test_layout__GTlsPassword() {
56534    const UNINIT: ::std::mem::MaybeUninit<_GTlsPassword> = ::std::mem::MaybeUninit::uninit();
56535    let ptr = UNINIT.as_ptr();
56536    assert_eq!(
56537        ::std::mem::size_of::<_GTlsPassword>(),
56538        32usize,
56539        concat!("Size of: ", stringify!(_GTlsPassword))
56540    );
56541    assert_eq!(
56542        ::std::mem::align_of::<_GTlsPassword>(),
56543        8usize,
56544        concat!("Alignment of ", stringify!(_GTlsPassword))
56545    );
56546    assert_eq!(
56547        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
56548        0usize,
56549        concat!(
56550            "Offset of field: ",
56551            stringify!(_GTlsPassword),
56552            "::",
56553            stringify!(parent_instance)
56554        )
56555    );
56556    assert_eq!(
56557        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
56558        24usize,
56559        concat!(
56560            "Offset of field: ",
56561            stringify!(_GTlsPassword),
56562            "::",
56563            stringify!(priv_)
56564        )
56565    );
56566}
56567#[repr(C)]
56568#[derive(Debug, Copy, Clone, PartialEq, Eq)]
56569pub struct _GTlsPasswordClass {
56570    pub parent_class: GObjectClass,
56571    pub get_value: ::std::option::Option<
56572        unsafe extern "C" fn(password: *mut GTlsPassword, length: *mut gsize) -> *const guchar,
56573    >,
56574    pub set_value: ::std::option::Option<
56575        unsafe extern "C" fn(
56576            password: *mut GTlsPassword,
56577            value: *mut guchar,
56578            length: gssize,
56579            destroy: GDestroyNotify,
56580        ),
56581    >,
56582    pub get_default_warning:
56583        ::std::option::Option<unsafe extern "C" fn(password: *mut GTlsPassword) -> *const gchar>,
56584    pub padding: [gpointer; 4usize],
56585}
56586#[test]
56587fn bindgen_test_layout__GTlsPasswordClass() {
56588    const UNINIT: ::std::mem::MaybeUninit<_GTlsPasswordClass> = ::std::mem::MaybeUninit::uninit();
56589    let ptr = UNINIT.as_ptr();
56590    assert_eq!(
56591        ::std::mem::size_of::<_GTlsPasswordClass>(),
56592        192usize,
56593        concat!("Size of: ", stringify!(_GTlsPasswordClass))
56594    );
56595    assert_eq!(
56596        ::std::mem::align_of::<_GTlsPasswordClass>(),
56597        8usize,
56598        concat!("Alignment of ", stringify!(_GTlsPasswordClass))
56599    );
56600    assert_eq!(
56601        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
56602        0usize,
56603        concat!(
56604            "Offset of field: ",
56605            stringify!(_GTlsPasswordClass),
56606            "::",
56607            stringify!(parent_class)
56608        )
56609    );
56610    assert_eq!(
56611        unsafe { ::std::ptr::addr_of!((*ptr).get_value) as usize - ptr as usize },
56612        136usize,
56613        concat!(
56614            "Offset of field: ",
56615            stringify!(_GTlsPasswordClass),
56616            "::",
56617            stringify!(get_value)
56618        )
56619    );
56620    assert_eq!(
56621        unsafe { ::std::ptr::addr_of!((*ptr).set_value) as usize - ptr as usize },
56622        144usize,
56623        concat!(
56624            "Offset of field: ",
56625            stringify!(_GTlsPasswordClass),
56626            "::",
56627            stringify!(set_value)
56628        )
56629    );
56630    assert_eq!(
56631        unsafe { ::std::ptr::addr_of!((*ptr).get_default_warning) as usize - ptr as usize },
56632        152usize,
56633        concat!(
56634            "Offset of field: ",
56635            stringify!(_GTlsPasswordClass),
56636            "::",
56637            stringify!(get_default_warning)
56638        )
56639    );
56640    assert_eq!(
56641        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
56642        160usize,
56643        concat!(
56644            "Offset of field: ",
56645            stringify!(_GTlsPasswordClass),
56646            "::",
56647            stringify!(padding)
56648        )
56649    );
56650}
56651extern "C" {
56652    pub fn g_tls_password_get_type() -> GType;
56653}
56654extern "C" {
56655    pub fn g_tls_password_new(
56656        flags: GTlsPasswordFlags,
56657        description: *const gchar,
56658    ) -> *mut GTlsPassword;
56659}
56660extern "C" {
56661    pub fn g_tls_password_get_value(
56662        password: *mut GTlsPassword,
56663        length: *mut gsize,
56664    ) -> *const guchar;
56665}
56666extern "C" {
56667    pub fn g_tls_password_set_value(
56668        password: *mut GTlsPassword,
56669        value: *const guchar,
56670        length: gssize,
56671    );
56672}
56673extern "C" {
56674    pub fn g_tls_password_set_value_full(
56675        password: *mut GTlsPassword,
56676        value: *mut guchar,
56677        length: gssize,
56678        destroy: GDestroyNotify,
56679    );
56680}
56681extern "C" {
56682    pub fn g_tls_password_get_flags(password: *mut GTlsPassword) -> GTlsPasswordFlags;
56683}
56684extern "C" {
56685    pub fn g_tls_password_set_flags(password: *mut GTlsPassword, flags: GTlsPasswordFlags);
56686}
56687extern "C" {
56688    pub fn g_tls_password_get_description(password: *mut GTlsPassword) -> *const gchar;
56689}
56690extern "C" {
56691    pub fn g_tls_password_set_description(password: *mut GTlsPassword, description: *const gchar);
56692}
56693extern "C" {
56694    pub fn g_tls_password_get_warning(password: *mut GTlsPassword) -> *const gchar;
56695}
56696extern "C" {
56697    pub fn g_tls_password_set_warning(password: *mut GTlsPassword, warning: *const gchar);
56698}
56699pub type GTlsServerConnectionInterface = _GTlsServerConnectionInterface;
56700#[repr(C)]
56701#[derive(Debug, Copy, Clone, PartialEq, Eq)]
56702pub struct _GTlsServerConnectionInterface {
56703    pub g_iface: GTypeInterface,
56704}
56705#[test]
56706fn bindgen_test_layout__GTlsServerConnectionInterface() {
56707    const UNINIT: ::std::mem::MaybeUninit<_GTlsServerConnectionInterface> =
56708        ::std::mem::MaybeUninit::uninit();
56709    let ptr = UNINIT.as_ptr();
56710    assert_eq!(
56711        ::std::mem::size_of::<_GTlsServerConnectionInterface>(),
56712        16usize,
56713        concat!("Size of: ", stringify!(_GTlsServerConnectionInterface))
56714    );
56715    assert_eq!(
56716        ::std::mem::align_of::<_GTlsServerConnectionInterface>(),
56717        8usize,
56718        concat!("Alignment of ", stringify!(_GTlsServerConnectionInterface))
56719    );
56720    assert_eq!(
56721        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
56722        0usize,
56723        concat!(
56724            "Offset of field: ",
56725            stringify!(_GTlsServerConnectionInterface),
56726            "::",
56727            stringify!(g_iface)
56728        )
56729    );
56730}
56731extern "C" {
56732    pub fn g_tls_server_connection_get_type() -> GType;
56733}
56734extern "C" {
56735    pub fn g_tls_server_connection_new(
56736        base_io_stream: *mut GIOStream,
56737        certificate: *mut GTlsCertificate,
56738        error: *mut *mut GError,
56739    ) -> *mut GIOStream;
56740}
56741pub type GUnixConnection = _GUnixConnection;
56742#[repr(C)]
56743#[derive(Debug, Copy, Clone)]
56744pub struct _GUnixConnectionPrivate {
56745    _unused: [u8; 0],
56746}
56747pub type GUnixConnectionPrivate = _GUnixConnectionPrivate;
56748pub type GUnixConnectionClass = _GUnixConnectionClass;
56749pub type GUnixConnection_autoptr = *mut GUnixConnection;
56750pub type GUnixConnection_listautoptr = *mut GList;
56751pub type GUnixConnection_slistautoptr = *mut GSList;
56752pub type GUnixConnection_queueautoptr = *mut GQueue;
56753#[repr(C)]
56754#[derive(Debug, Copy, Clone, PartialEq, Eq)]
56755pub struct _GUnixConnectionClass {
56756    pub parent_class: GSocketConnectionClass,
56757}
56758#[test]
56759fn bindgen_test_layout__GUnixConnectionClass() {
56760    const UNINIT: ::std::mem::MaybeUninit<_GUnixConnectionClass> =
56761        ::std::mem::MaybeUninit::uninit();
56762    let ptr = UNINIT.as_ptr();
56763    assert_eq!(
56764        ::std::mem::size_of::<_GUnixConnectionClass>(),
56765        304usize,
56766        concat!("Size of: ", stringify!(_GUnixConnectionClass))
56767    );
56768    assert_eq!(
56769        ::std::mem::align_of::<_GUnixConnectionClass>(),
56770        8usize,
56771        concat!("Alignment of ", stringify!(_GUnixConnectionClass))
56772    );
56773    assert_eq!(
56774        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
56775        0usize,
56776        concat!(
56777            "Offset of field: ",
56778            stringify!(_GUnixConnectionClass),
56779            "::",
56780            stringify!(parent_class)
56781        )
56782    );
56783}
56784#[repr(C)]
56785#[derive(Debug, Copy, Clone, PartialEq, Eq)]
56786pub struct _GUnixConnection {
56787    pub parent_instance: GSocketConnection,
56788    pub priv_: *mut GUnixConnectionPrivate,
56789}
56790#[test]
56791fn bindgen_test_layout__GUnixConnection() {
56792    const UNINIT: ::std::mem::MaybeUninit<_GUnixConnection> = ::std::mem::MaybeUninit::uninit();
56793    let ptr = UNINIT.as_ptr();
56794    assert_eq!(
56795        ::std::mem::size_of::<_GUnixConnection>(),
56796        48usize,
56797        concat!("Size of: ", stringify!(_GUnixConnection))
56798    );
56799    assert_eq!(
56800        ::std::mem::align_of::<_GUnixConnection>(),
56801        8usize,
56802        concat!("Alignment of ", stringify!(_GUnixConnection))
56803    );
56804    assert_eq!(
56805        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
56806        0usize,
56807        concat!(
56808            "Offset of field: ",
56809            stringify!(_GUnixConnection),
56810            "::",
56811            stringify!(parent_instance)
56812        )
56813    );
56814    assert_eq!(
56815        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
56816        40usize,
56817        concat!(
56818            "Offset of field: ",
56819            stringify!(_GUnixConnection),
56820            "::",
56821            stringify!(priv_)
56822        )
56823    );
56824}
56825extern "C" {
56826    pub fn g_unix_connection_get_type() -> GType;
56827}
56828extern "C" {
56829    pub fn g_unix_connection_send_fd(
56830        connection: *mut GUnixConnection,
56831        fd: gint,
56832        cancellable: *mut GCancellable,
56833        error: *mut *mut GError,
56834    ) -> gboolean;
56835}
56836extern "C" {
56837    pub fn g_unix_connection_receive_fd(
56838        connection: *mut GUnixConnection,
56839        cancellable: *mut GCancellable,
56840        error: *mut *mut GError,
56841    ) -> gint;
56842}
56843extern "C" {
56844    pub fn g_unix_connection_send_credentials(
56845        connection: *mut GUnixConnection,
56846        cancellable: *mut GCancellable,
56847        error: *mut *mut GError,
56848    ) -> gboolean;
56849}
56850extern "C" {
56851    pub fn g_unix_connection_send_credentials_async(
56852        connection: *mut GUnixConnection,
56853        cancellable: *mut GCancellable,
56854        callback: GAsyncReadyCallback,
56855        user_data: gpointer,
56856    );
56857}
56858extern "C" {
56859    pub fn g_unix_connection_send_credentials_finish(
56860        connection: *mut GUnixConnection,
56861        result: *mut GAsyncResult,
56862        error: *mut *mut GError,
56863    ) -> gboolean;
56864}
56865extern "C" {
56866    pub fn g_unix_connection_receive_credentials(
56867        connection: *mut GUnixConnection,
56868        cancellable: *mut GCancellable,
56869        error: *mut *mut GError,
56870    ) -> *mut GCredentials;
56871}
56872extern "C" {
56873    pub fn g_unix_connection_receive_credentials_async(
56874        connection: *mut GUnixConnection,
56875        cancellable: *mut GCancellable,
56876        callback: GAsyncReadyCallback,
56877        user_data: gpointer,
56878    );
56879}
56880extern "C" {
56881    pub fn g_unix_connection_receive_credentials_finish(
56882        connection: *mut GUnixConnection,
56883        result: *mut GAsyncResult,
56884        error: *mut *mut GError,
56885    ) -> *mut GCredentials;
56886}
56887#[repr(C)]
56888#[derive(Debug, Copy, Clone)]
56889pub struct _GUnixCredentialsMessagePrivate {
56890    _unused: [u8; 0],
56891}
56892pub type GUnixCredentialsMessagePrivate = _GUnixCredentialsMessagePrivate;
56893pub type GUnixCredentialsMessageClass = _GUnixCredentialsMessageClass;
56894pub type GUnixCredentialsMessage_autoptr = *mut GUnixCredentialsMessage;
56895pub type GUnixCredentialsMessage_listautoptr = *mut GList;
56896pub type GUnixCredentialsMessage_slistautoptr = *mut GSList;
56897pub type GUnixCredentialsMessage_queueautoptr = *mut GQueue;
56898#[repr(C)]
56899#[derive(Debug, Copy, Clone, PartialEq, Eq)]
56900pub struct _GUnixCredentialsMessageClass {
56901    pub parent_class: GSocketControlMessageClass,
56902    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
56903    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
56904}
56905#[test]
56906fn bindgen_test_layout__GUnixCredentialsMessageClass() {
56907    const UNINIT: ::std::mem::MaybeUninit<_GUnixCredentialsMessageClass> =
56908        ::std::mem::MaybeUninit::uninit();
56909    let ptr = UNINIT.as_ptr();
56910    assert_eq!(
56911        ::std::mem::size_of::<_GUnixCredentialsMessageClass>(),
56912        232usize,
56913        concat!("Size of: ", stringify!(_GUnixCredentialsMessageClass))
56914    );
56915    assert_eq!(
56916        ::std::mem::align_of::<_GUnixCredentialsMessageClass>(),
56917        8usize,
56918        concat!("Alignment of ", stringify!(_GUnixCredentialsMessageClass))
56919    );
56920    assert_eq!(
56921        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
56922        0usize,
56923        concat!(
56924            "Offset of field: ",
56925            stringify!(_GUnixCredentialsMessageClass),
56926            "::",
56927            stringify!(parent_class)
56928        )
56929    );
56930    assert_eq!(
56931        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
56932        216usize,
56933        concat!(
56934            "Offset of field: ",
56935            stringify!(_GUnixCredentialsMessageClass),
56936            "::",
56937            stringify!(_g_reserved1)
56938        )
56939    );
56940    assert_eq!(
56941        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
56942        224usize,
56943        concat!(
56944            "Offset of field: ",
56945            stringify!(_GUnixCredentialsMessageClass),
56946            "::",
56947            stringify!(_g_reserved2)
56948        )
56949    );
56950}
56951#[repr(C)]
56952#[derive(Debug, Copy, Clone, PartialEq, Eq)]
56953pub struct _GUnixCredentialsMessage {
56954    pub parent_instance: GSocketControlMessage,
56955    pub priv_: *mut GUnixCredentialsMessagePrivate,
56956}
56957#[test]
56958fn bindgen_test_layout__GUnixCredentialsMessage() {
56959    const UNINIT: ::std::mem::MaybeUninit<_GUnixCredentialsMessage> =
56960        ::std::mem::MaybeUninit::uninit();
56961    let ptr = UNINIT.as_ptr();
56962    assert_eq!(
56963        ::std::mem::size_of::<_GUnixCredentialsMessage>(),
56964        40usize,
56965        concat!("Size of: ", stringify!(_GUnixCredentialsMessage))
56966    );
56967    assert_eq!(
56968        ::std::mem::align_of::<_GUnixCredentialsMessage>(),
56969        8usize,
56970        concat!("Alignment of ", stringify!(_GUnixCredentialsMessage))
56971    );
56972    assert_eq!(
56973        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
56974        0usize,
56975        concat!(
56976            "Offset of field: ",
56977            stringify!(_GUnixCredentialsMessage),
56978            "::",
56979            stringify!(parent_instance)
56980        )
56981    );
56982    assert_eq!(
56983        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
56984        32usize,
56985        concat!(
56986            "Offset of field: ",
56987            stringify!(_GUnixCredentialsMessage),
56988            "::",
56989            stringify!(priv_)
56990        )
56991    );
56992}
56993extern "C" {
56994    pub fn g_unix_credentials_message_get_type() -> GType;
56995}
56996extern "C" {
56997    pub fn g_unix_credentials_message_new() -> *mut GSocketControlMessage;
56998}
56999extern "C" {
57000    pub fn g_unix_credentials_message_new_with_credentials(
57001        credentials: *mut GCredentials,
57002    ) -> *mut GSocketControlMessage;
57003}
57004extern "C" {
57005    pub fn g_unix_credentials_message_get_credentials(
57006        message: *mut GUnixCredentialsMessage,
57007    ) -> *mut GCredentials;
57008}
57009extern "C" {
57010    pub fn g_unix_credentials_message_is_supported() -> gboolean;
57011}
57012pub type GUnixFDList_autoptr = *mut GUnixFDList;
57013pub type GUnixFDList_listautoptr = *mut GList;
57014pub type GUnixFDList_slistautoptr = *mut GSList;
57015pub type GUnixFDList_queueautoptr = *mut GQueue;
57016#[repr(C)]
57017#[derive(Debug, Copy, Clone)]
57018pub struct _GUnixFDListPrivate {
57019    _unused: [u8; 0],
57020}
57021pub type GUnixFDListPrivate = _GUnixFDListPrivate;
57022pub type GUnixFDListClass = _GUnixFDListClass;
57023#[repr(C)]
57024#[derive(Debug, Copy, Clone, PartialEq, Eq)]
57025pub struct _GUnixFDListClass {
57026    pub parent_class: GObjectClass,
57027    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
57028    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
57029    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
57030    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
57031    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
57032}
57033#[test]
57034fn bindgen_test_layout__GUnixFDListClass() {
57035    const UNINIT: ::std::mem::MaybeUninit<_GUnixFDListClass> = ::std::mem::MaybeUninit::uninit();
57036    let ptr = UNINIT.as_ptr();
57037    assert_eq!(
57038        ::std::mem::size_of::<_GUnixFDListClass>(),
57039        176usize,
57040        concat!("Size of: ", stringify!(_GUnixFDListClass))
57041    );
57042    assert_eq!(
57043        ::std::mem::align_of::<_GUnixFDListClass>(),
57044        8usize,
57045        concat!("Alignment of ", stringify!(_GUnixFDListClass))
57046    );
57047    assert_eq!(
57048        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
57049        0usize,
57050        concat!(
57051            "Offset of field: ",
57052            stringify!(_GUnixFDListClass),
57053            "::",
57054            stringify!(parent_class)
57055        )
57056    );
57057    assert_eq!(
57058        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
57059        136usize,
57060        concat!(
57061            "Offset of field: ",
57062            stringify!(_GUnixFDListClass),
57063            "::",
57064            stringify!(_g_reserved1)
57065        )
57066    );
57067    assert_eq!(
57068        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
57069        144usize,
57070        concat!(
57071            "Offset of field: ",
57072            stringify!(_GUnixFDListClass),
57073            "::",
57074            stringify!(_g_reserved2)
57075        )
57076    );
57077    assert_eq!(
57078        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
57079        152usize,
57080        concat!(
57081            "Offset of field: ",
57082            stringify!(_GUnixFDListClass),
57083            "::",
57084            stringify!(_g_reserved3)
57085        )
57086    );
57087    assert_eq!(
57088        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
57089        160usize,
57090        concat!(
57091            "Offset of field: ",
57092            stringify!(_GUnixFDListClass),
57093            "::",
57094            stringify!(_g_reserved4)
57095        )
57096    );
57097    assert_eq!(
57098        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
57099        168usize,
57100        concat!(
57101            "Offset of field: ",
57102            stringify!(_GUnixFDListClass),
57103            "::",
57104            stringify!(_g_reserved5)
57105        )
57106    );
57107}
57108#[repr(C)]
57109#[derive(Debug, Copy, Clone, PartialEq, Eq)]
57110pub struct _GUnixFDList {
57111    pub parent_instance: GObject,
57112    pub priv_: *mut GUnixFDListPrivate,
57113}
57114#[test]
57115fn bindgen_test_layout__GUnixFDList() {
57116    const UNINIT: ::std::mem::MaybeUninit<_GUnixFDList> = ::std::mem::MaybeUninit::uninit();
57117    let ptr = UNINIT.as_ptr();
57118    assert_eq!(
57119        ::std::mem::size_of::<_GUnixFDList>(),
57120        32usize,
57121        concat!("Size of: ", stringify!(_GUnixFDList))
57122    );
57123    assert_eq!(
57124        ::std::mem::align_of::<_GUnixFDList>(),
57125        8usize,
57126        concat!("Alignment of ", stringify!(_GUnixFDList))
57127    );
57128    assert_eq!(
57129        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
57130        0usize,
57131        concat!(
57132            "Offset of field: ",
57133            stringify!(_GUnixFDList),
57134            "::",
57135            stringify!(parent_instance)
57136        )
57137    );
57138    assert_eq!(
57139        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
57140        24usize,
57141        concat!(
57142            "Offset of field: ",
57143            stringify!(_GUnixFDList),
57144            "::",
57145            stringify!(priv_)
57146        )
57147    );
57148}
57149extern "C" {
57150    pub fn g_unix_fd_list_get_type() -> GType;
57151}
57152extern "C" {
57153    pub fn g_unix_fd_list_new() -> *mut GUnixFDList;
57154}
57155extern "C" {
57156    pub fn g_unix_fd_list_new_from_array(fds: *const gint, n_fds: gint) -> *mut GUnixFDList;
57157}
57158extern "C" {
57159    pub fn g_unix_fd_list_append(list: *mut GUnixFDList, fd: gint, error: *mut *mut GError)
57160        -> gint;
57161}
57162extern "C" {
57163    pub fn g_unix_fd_list_get_length(list: *mut GUnixFDList) -> gint;
57164}
57165extern "C" {
57166    pub fn g_unix_fd_list_get(
57167        list: *mut GUnixFDList,
57168        index_: gint,
57169        error: *mut *mut GError,
57170    ) -> gint;
57171}
57172extern "C" {
57173    pub fn g_unix_fd_list_peek_fds(list: *mut GUnixFDList, length: *mut gint) -> *const gint;
57174}
57175extern "C" {
57176    pub fn g_unix_fd_list_steal_fds(list: *mut GUnixFDList, length: *mut gint) -> *mut gint;
57177}
57178pub type GUnixSocketAddress = _GUnixSocketAddress;
57179pub type GUnixSocketAddressClass = _GUnixSocketAddressClass;
57180#[repr(C)]
57181#[derive(Debug, Copy, Clone)]
57182pub struct _GUnixSocketAddressPrivate {
57183    _unused: [u8; 0],
57184}
57185pub type GUnixSocketAddressPrivate = _GUnixSocketAddressPrivate;
57186pub type GUnixSocketAddress_autoptr = *mut GUnixSocketAddress;
57187pub type GUnixSocketAddress_listautoptr = *mut GList;
57188pub type GUnixSocketAddress_slistautoptr = *mut GSList;
57189pub type GUnixSocketAddress_queueautoptr = *mut GQueue;
57190#[repr(C)]
57191#[derive(Debug, Copy, Clone, PartialEq, Eq)]
57192pub struct _GUnixSocketAddress {
57193    pub parent_instance: GSocketAddress,
57194    pub priv_: *mut GUnixSocketAddressPrivate,
57195}
57196#[test]
57197fn bindgen_test_layout__GUnixSocketAddress() {
57198    const UNINIT: ::std::mem::MaybeUninit<_GUnixSocketAddress> = ::std::mem::MaybeUninit::uninit();
57199    let ptr = UNINIT.as_ptr();
57200    assert_eq!(
57201        ::std::mem::size_of::<_GUnixSocketAddress>(),
57202        32usize,
57203        concat!("Size of: ", stringify!(_GUnixSocketAddress))
57204    );
57205    assert_eq!(
57206        ::std::mem::align_of::<_GUnixSocketAddress>(),
57207        8usize,
57208        concat!("Alignment of ", stringify!(_GUnixSocketAddress))
57209    );
57210    assert_eq!(
57211        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
57212        0usize,
57213        concat!(
57214            "Offset of field: ",
57215            stringify!(_GUnixSocketAddress),
57216            "::",
57217            stringify!(parent_instance)
57218        )
57219    );
57220    assert_eq!(
57221        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
57222        24usize,
57223        concat!(
57224            "Offset of field: ",
57225            stringify!(_GUnixSocketAddress),
57226            "::",
57227            stringify!(priv_)
57228        )
57229    );
57230}
57231#[repr(C)]
57232#[derive(Debug, Copy, Clone, PartialEq, Eq)]
57233pub struct _GUnixSocketAddressClass {
57234    pub parent_class: GSocketAddressClass,
57235}
57236#[test]
57237fn bindgen_test_layout__GUnixSocketAddressClass() {
57238    const UNINIT: ::std::mem::MaybeUninit<_GUnixSocketAddressClass> =
57239        ::std::mem::MaybeUninit::uninit();
57240    let ptr = UNINIT.as_ptr();
57241    assert_eq!(
57242        ::std::mem::size_of::<_GUnixSocketAddressClass>(),
57243        160usize,
57244        concat!("Size of: ", stringify!(_GUnixSocketAddressClass))
57245    );
57246    assert_eq!(
57247        ::std::mem::align_of::<_GUnixSocketAddressClass>(),
57248        8usize,
57249        concat!("Alignment of ", stringify!(_GUnixSocketAddressClass))
57250    );
57251    assert_eq!(
57252        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
57253        0usize,
57254        concat!(
57255            "Offset of field: ",
57256            stringify!(_GUnixSocketAddressClass),
57257            "::",
57258            stringify!(parent_class)
57259        )
57260    );
57261}
57262extern "C" {
57263    pub fn g_unix_socket_address_get_type() -> GType;
57264}
57265extern "C" {
57266    pub fn g_unix_socket_address_new(path: *const gchar) -> *mut GSocketAddress;
57267}
57268extern "C" {
57269    pub fn g_unix_socket_address_new_abstract(
57270        path: *const gchar,
57271        path_len: gint,
57272    ) -> *mut GSocketAddress;
57273}
57274extern "C" {
57275    pub fn g_unix_socket_address_new_with_type(
57276        path: *const gchar,
57277        path_len: gint,
57278        type_: GUnixSocketAddressType,
57279    ) -> *mut GSocketAddress;
57280}
57281extern "C" {
57282    pub fn g_unix_socket_address_get_path(
57283        address: *mut GUnixSocketAddress,
57284    ) -> *const ::std::os::raw::c_char;
57285}
57286extern "C" {
57287    pub fn g_unix_socket_address_get_path_len(address: *mut GUnixSocketAddress) -> gsize;
57288}
57289extern "C" {
57290    pub fn g_unix_socket_address_get_address_type(
57291        address: *mut GUnixSocketAddress,
57292    ) -> GUnixSocketAddressType;
57293}
57294extern "C" {
57295    pub fn g_unix_socket_address_get_is_abstract(address: *mut GUnixSocketAddress) -> gboolean;
57296}
57297extern "C" {
57298    pub fn g_unix_socket_address_abstract_names_supported() -> gboolean;
57299}
57300pub type GVfsFileLookupFunc = ::std::option::Option<
57301    unsafe extern "C" fn(
57302        vfs: *mut GVfs,
57303        identifier: *const ::std::os::raw::c_char,
57304        user_data: gpointer,
57305    ) -> *mut GFile,
57306>;
57307pub type GVfsClass = _GVfsClass;
57308#[repr(C)]
57309#[derive(Debug, Copy, Clone, PartialEq, Eq)]
57310pub struct _GVfs {
57311    pub parent_instance: GObject,
57312}
57313#[test]
57314fn bindgen_test_layout__GVfs() {
57315    const UNINIT: ::std::mem::MaybeUninit<_GVfs> = ::std::mem::MaybeUninit::uninit();
57316    let ptr = UNINIT.as_ptr();
57317    assert_eq!(
57318        ::std::mem::size_of::<_GVfs>(),
57319        24usize,
57320        concat!("Size of: ", stringify!(_GVfs))
57321    );
57322    assert_eq!(
57323        ::std::mem::align_of::<_GVfs>(),
57324        8usize,
57325        concat!("Alignment of ", stringify!(_GVfs))
57326    );
57327    assert_eq!(
57328        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
57329        0usize,
57330        concat!(
57331            "Offset of field: ",
57332            stringify!(_GVfs),
57333            "::",
57334            stringify!(parent_instance)
57335        )
57336    );
57337}
57338#[repr(C)]
57339#[derive(Debug, Copy, Clone, PartialEq, Eq)]
57340pub struct _GVfsClass {
57341    pub parent_class: GObjectClass,
57342    pub is_active: ::std::option::Option<unsafe extern "C" fn(vfs: *mut GVfs) -> gboolean>,
57343    pub get_file_for_path: ::std::option::Option<
57344        unsafe extern "C" fn(vfs: *mut GVfs, path: *const ::std::os::raw::c_char) -> *mut GFile,
57345    >,
57346    pub get_file_for_uri: ::std::option::Option<
57347        unsafe extern "C" fn(vfs: *mut GVfs, uri: *const ::std::os::raw::c_char) -> *mut GFile,
57348    >,
57349    pub get_supported_uri_schemes:
57350        ::std::option::Option<unsafe extern "C" fn(vfs: *mut GVfs) -> *const *const gchar>,
57351    pub parse_name: ::std::option::Option<
57352        unsafe extern "C" fn(
57353            vfs: *mut GVfs,
57354            parse_name: *const ::std::os::raw::c_char,
57355        ) -> *mut GFile,
57356    >,
57357    pub local_file_add_info: ::std::option::Option<
57358        unsafe extern "C" fn(
57359            vfs: *mut GVfs,
57360            filename: *const ::std::os::raw::c_char,
57361            device: guint64,
57362            attribute_matcher: *mut GFileAttributeMatcher,
57363            info: *mut GFileInfo,
57364            cancellable: *mut GCancellable,
57365            extra_data: *mut gpointer,
57366            free_extra_data: *mut GDestroyNotify,
57367        ),
57368    >,
57369    pub add_writable_namespaces: ::std::option::Option<
57370        unsafe extern "C" fn(vfs: *mut GVfs, list: *mut GFileAttributeInfoList),
57371    >,
57372    pub local_file_set_attributes: ::std::option::Option<
57373        unsafe extern "C" fn(
57374            vfs: *mut GVfs,
57375            filename: *const ::std::os::raw::c_char,
57376            info: *mut GFileInfo,
57377            flags: GFileQueryInfoFlags,
57378            cancellable: *mut GCancellable,
57379            error: *mut *mut GError,
57380        ) -> gboolean,
57381    >,
57382    pub local_file_removed: ::std::option::Option<
57383        unsafe extern "C" fn(vfs: *mut GVfs, filename: *const ::std::os::raw::c_char),
57384    >,
57385    pub local_file_moved: ::std::option::Option<
57386        unsafe extern "C" fn(
57387            vfs: *mut GVfs,
57388            source: *const ::std::os::raw::c_char,
57389            dest: *const ::std::os::raw::c_char,
57390        ),
57391    >,
57392    pub deserialize_icon: ::std::option::Option<
57393        unsafe extern "C" fn(vfs: *mut GVfs, value: *mut GVariant) -> *mut GIcon,
57394    >,
57395    pub _g_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
57396    pub _g_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
57397    pub _g_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
57398    pub _g_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
57399    pub _g_reserved5: ::std::option::Option<unsafe extern "C" fn()>,
57400    pub _g_reserved6: ::std::option::Option<unsafe extern "C" fn()>,
57401}
57402#[test]
57403fn bindgen_test_layout__GVfsClass() {
57404    const UNINIT: ::std::mem::MaybeUninit<_GVfsClass> = ::std::mem::MaybeUninit::uninit();
57405    let ptr = UNINIT.as_ptr();
57406    assert_eq!(
57407        ::std::mem::size_of::<_GVfsClass>(),
57408        272usize,
57409        concat!("Size of: ", stringify!(_GVfsClass))
57410    );
57411    assert_eq!(
57412        ::std::mem::align_of::<_GVfsClass>(),
57413        8usize,
57414        concat!("Alignment of ", stringify!(_GVfsClass))
57415    );
57416    assert_eq!(
57417        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
57418        0usize,
57419        concat!(
57420            "Offset of field: ",
57421            stringify!(_GVfsClass),
57422            "::",
57423            stringify!(parent_class)
57424        )
57425    );
57426    assert_eq!(
57427        unsafe { ::std::ptr::addr_of!((*ptr).is_active) as usize - ptr as usize },
57428        136usize,
57429        concat!(
57430            "Offset of field: ",
57431            stringify!(_GVfsClass),
57432            "::",
57433            stringify!(is_active)
57434        )
57435    );
57436    assert_eq!(
57437        unsafe { ::std::ptr::addr_of!((*ptr).get_file_for_path) as usize - ptr as usize },
57438        144usize,
57439        concat!(
57440            "Offset of field: ",
57441            stringify!(_GVfsClass),
57442            "::",
57443            stringify!(get_file_for_path)
57444        )
57445    );
57446    assert_eq!(
57447        unsafe { ::std::ptr::addr_of!((*ptr).get_file_for_uri) as usize - ptr as usize },
57448        152usize,
57449        concat!(
57450            "Offset of field: ",
57451            stringify!(_GVfsClass),
57452            "::",
57453            stringify!(get_file_for_uri)
57454        )
57455    );
57456    assert_eq!(
57457        unsafe { ::std::ptr::addr_of!((*ptr).get_supported_uri_schemes) as usize - ptr as usize },
57458        160usize,
57459        concat!(
57460            "Offset of field: ",
57461            stringify!(_GVfsClass),
57462            "::",
57463            stringify!(get_supported_uri_schemes)
57464        )
57465    );
57466    assert_eq!(
57467        unsafe { ::std::ptr::addr_of!((*ptr).parse_name) as usize - ptr as usize },
57468        168usize,
57469        concat!(
57470            "Offset of field: ",
57471            stringify!(_GVfsClass),
57472            "::",
57473            stringify!(parse_name)
57474        )
57475    );
57476    assert_eq!(
57477        unsafe { ::std::ptr::addr_of!((*ptr).local_file_add_info) as usize - ptr as usize },
57478        176usize,
57479        concat!(
57480            "Offset of field: ",
57481            stringify!(_GVfsClass),
57482            "::",
57483            stringify!(local_file_add_info)
57484        )
57485    );
57486    assert_eq!(
57487        unsafe { ::std::ptr::addr_of!((*ptr).add_writable_namespaces) as usize - ptr as usize },
57488        184usize,
57489        concat!(
57490            "Offset of field: ",
57491            stringify!(_GVfsClass),
57492            "::",
57493            stringify!(add_writable_namespaces)
57494        )
57495    );
57496    assert_eq!(
57497        unsafe { ::std::ptr::addr_of!((*ptr).local_file_set_attributes) as usize - ptr as usize },
57498        192usize,
57499        concat!(
57500            "Offset of field: ",
57501            stringify!(_GVfsClass),
57502            "::",
57503            stringify!(local_file_set_attributes)
57504        )
57505    );
57506    assert_eq!(
57507        unsafe { ::std::ptr::addr_of!((*ptr).local_file_removed) as usize - ptr as usize },
57508        200usize,
57509        concat!(
57510            "Offset of field: ",
57511            stringify!(_GVfsClass),
57512            "::",
57513            stringify!(local_file_removed)
57514        )
57515    );
57516    assert_eq!(
57517        unsafe { ::std::ptr::addr_of!((*ptr).local_file_moved) as usize - ptr as usize },
57518        208usize,
57519        concat!(
57520            "Offset of field: ",
57521            stringify!(_GVfsClass),
57522            "::",
57523            stringify!(local_file_moved)
57524        )
57525    );
57526    assert_eq!(
57527        unsafe { ::std::ptr::addr_of!((*ptr).deserialize_icon) as usize - ptr as usize },
57528        216usize,
57529        concat!(
57530            "Offset of field: ",
57531            stringify!(_GVfsClass),
57532            "::",
57533            stringify!(deserialize_icon)
57534        )
57535    );
57536    assert_eq!(
57537        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved1) as usize - ptr as usize },
57538        224usize,
57539        concat!(
57540            "Offset of field: ",
57541            stringify!(_GVfsClass),
57542            "::",
57543            stringify!(_g_reserved1)
57544        )
57545    );
57546    assert_eq!(
57547        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved2) as usize - ptr as usize },
57548        232usize,
57549        concat!(
57550            "Offset of field: ",
57551            stringify!(_GVfsClass),
57552            "::",
57553            stringify!(_g_reserved2)
57554        )
57555    );
57556    assert_eq!(
57557        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved3) as usize - ptr as usize },
57558        240usize,
57559        concat!(
57560            "Offset of field: ",
57561            stringify!(_GVfsClass),
57562            "::",
57563            stringify!(_g_reserved3)
57564        )
57565    );
57566    assert_eq!(
57567        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved4) as usize - ptr as usize },
57568        248usize,
57569        concat!(
57570            "Offset of field: ",
57571            stringify!(_GVfsClass),
57572            "::",
57573            stringify!(_g_reserved4)
57574        )
57575    );
57576    assert_eq!(
57577        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved5) as usize - ptr as usize },
57578        256usize,
57579        concat!(
57580            "Offset of field: ",
57581            stringify!(_GVfsClass),
57582            "::",
57583            stringify!(_g_reserved5)
57584        )
57585    );
57586    assert_eq!(
57587        unsafe { ::std::ptr::addr_of!((*ptr)._g_reserved6) as usize - ptr as usize },
57588        264usize,
57589        concat!(
57590            "Offset of field: ",
57591            stringify!(_GVfsClass),
57592            "::",
57593            stringify!(_g_reserved6)
57594        )
57595    );
57596}
57597extern "C" {
57598    pub fn g_vfs_get_type() -> GType;
57599}
57600extern "C" {
57601    pub fn g_vfs_is_active(vfs: *mut GVfs) -> gboolean;
57602}
57603extern "C" {
57604    pub fn g_vfs_get_file_for_path(
57605        vfs: *mut GVfs,
57606        path: *const ::std::os::raw::c_char,
57607    ) -> *mut GFile;
57608}
57609extern "C" {
57610    pub fn g_vfs_get_file_for_uri(vfs: *mut GVfs, uri: *const ::std::os::raw::c_char)
57611        -> *mut GFile;
57612}
57613extern "C" {
57614    pub fn g_vfs_get_supported_uri_schemes(vfs: *mut GVfs) -> *const *const gchar;
57615}
57616extern "C" {
57617    pub fn g_vfs_parse_name(
57618        vfs: *mut GVfs,
57619        parse_name: *const ::std::os::raw::c_char,
57620    ) -> *mut GFile;
57621}
57622extern "C" {
57623    pub fn g_vfs_get_default() -> *mut GVfs;
57624}
57625extern "C" {
57626    pub fn g_vfs_get_local() -> *mut GVfs;
57627}
57628extern "C" {
57629    pub fn g_vfs_register_uri_scheme(
57630        vfs: *mut GVfs,
57631        scheme: *const ::std::os::raw::c_char,
57632        uri_func: GVfsFileLookupFunc,
57633        uri_data: gpointer,
57634        uri_destroy: GDestroyNotify,
57635        parse_name_func: GVfsFileLookupFunc,
57636        parse_name_data: gpointer,
57637        parse_name_destroy: GDestroyNotify,
57638    ) -> gboolean;
57639}
57640extern "C" {
57641    pub fn g_vfs_unregister_uri_scheme(
57642        vfs: *mut GVfs,
57643        scheme: *const ::std::os::raw::c_char,
57644    ) -> gboolean;
57645}
57646pub type GVolumeIface = _GVolumeIface;
57647#[repr(C)]
57648#[derive(Debug, Copy, Clone, PartialEq, Eq)]
57649pub struct _GVolumeIface {
57650    pub g_iface: GTypeInterface,
57651    pub changed: ::std::option::Option<unsafe extern "C" fn(volume: *mut GVolume)>,
57652    pub removed: ::std::option::Option<unsafe extern "C" fn(volume: *mut GVolume)>,
57653    pub get_name: ::std::option::Option<
57654        unsafe extern "C" fn(volume: *mut GVolume) -> *mut ::std::os::raw::c_char,
57655    >,
57656    pub get_icon: ::std::option::Option<unsafe extern "C" fn(volume: *mut GVolume) -> *mut GIcon>,
57657    pub get_uuid: ::std::option::Option<
57658        unsafe extern "C" fn(volume: *mut GVolume) -> *mut ::std::os::raw::c_char,
57659    >,
57660    pub get_drive: ::std::option::Option<unsafe extern "C" fn(volume: *mut GVolume) -> *mut GDrive>,
57661    pub get_mount: ::std::option::Option<unsafe extern "C" fn(volume: *mut GVolume) -> *mut GMount>,
57662    pub can_mount: ::std::option::Option<unsafe extern "C" fn(volume: *mut GVolume) -> gboolean>,
57663    pub can_eject: ::std::option::Option<unsafe extern "C" fn(volume: *mut GVolume) -> gboolean>,
57664    pub mount_fn: ::std::option::Option<
57665        unsafe extern "C" fn(
57666            volume: *mut GVolume,
57667            flags: GMountMountFlags,
57668            mount_operation: *mut GMountOperation,
57669            cancellable: *mut GCancellable,
57670            callback: GAsyncReadyCallback,
57671            user_data: gpointer,
57672        ),
57673    >,
57674    pub mount_finish: ::std::option::Option<
57675        unsafe extern "C" fn(
57676            volume: *mut GVolume,
57677            result: *mut GAsyncResult,
57678            error: *mut *mut GError,
57679        ) -> gboolean,
57680    >,
57681    pub eject: ::std::option::Option<
57682        unsafe extern "C" fn(
57683            volume: *mut GVolume,
57684            flags: GMountUnmountFlags,
57685            cancellable: *mut GCancellable,
57686            callback: GAsyncReadyCallback,
57687            user_data: gpointer,
57688        ),
57689    >,
57690    pub eject_finish: ::std::option::Option<
57691        unsafe extern "C" fn(
57692            volume: *mut GVolume,
57693            result: *mut GAsyncResult,
57694            error: *mut *mut GError,
57695        ) -> gboolean,
57696    >,
57697    pub get_identifier: ::std::option::Option<
57698        unsafe extern "C" fn(
57699            volume: *mut GVolume,
57700            kind: *const ::std::os::raw::c_char,
57701        ) -> *mut ::std::os::raw::c_char,
57702    >,
57703    pub enumerate_identifiers: ::std::option::Option<
57704        unsafe extern "C" fn(volume: *mut GVolume) -> *mut *mut ::std::os::raw::c_char,
57705    >,
57706    pub should_automount:
57707        ::std::option::Option<unsafe extern "C" fn(volume: *mut GVolume) -> gboolean>,
57708    pub get_activation_root:
57709        ::std::option::Option<unsafe extern "C" fn(volume: *mut GVolume) -> *mut GFile>,
57710    pub eject_with_operation: ::std::option::Option<
57711        unsafe extern "C" fn(
57712            volume: *mut GVolume,
57713            flags: GMountUnmountFlags,
57714            mount_operation: *mut GMountOperation,
57715            cancellable: *mut GCancellable,
57716            callback: GAsyncReadyCallback,
57717            user_data: gpointer,
57718        ),
57719    >,
57720    pub eject_with_operation_finish: ::std::option::Option<
57721        unsafe extern "C" fn(
57722            volume: *mut GVolume,
57723            result: *mut GAsyncResult,
57724            error: *mut *mut GError,
57725        ) -> gboolean,
57726    >,
57727    pub get_sort_key:
57728        ::std::option::Option<unsafe extern "C" fn(volume: *mut GVolume) -> *const gchar>,
57729    pub get_symbolic_icon:
57730        ::std::option::Option<unsafe extern "C" fn(volume: *mut GVolume) -> *mut GIcon>,
57731}
57732#[test]
57733fn bindgen_test_layout__GVolumeIface() {
57734    const UNINIT: ::std::mem::MaybeUninit<_GVolumeIface> = ::std::mem::MaybeUninit::uninit();
57735    let ptr = UNINIT.as_ptr();
57736    assert_eq!(
57737        ::std::mem::size_of::<_GVolumeIface>(),
57738        184usize,
57739        concat!("Size of: ", stringify!(_GVolumeIface))
57740    );
57741    assert_eq!(
57742        ::std::mem::align_of::<_GVolumeIface>(),
57743        8usize,
57744        concat!("Alignment of ", stringify!(_GVolumeIface))
57745    );
57746    assert_eq!(
57747        unsafe { ::std::ptr::addr_of!((*ptr).g_iface) as usize - ptr as usize },
57748        0usize,
57749        concat!(
57750            "Offset of field: ",
57751            stringify!(_GVolumeIface),
57752            "::",
57753            stringify!(g_iface)
57754        )
57755    );
57756    assert_eq!(
57757        unsafe { ::std::ptr::addr_of!((*ptr).changed) as usize - ptr as usize },
57758        16usize,
57759        concat!(
57760            "Offset of field: ",
57761            stringify!(_GVolumeIface),
57762            "::",
57763            stringify!(changed)
57764        )
57765    );
57766    assert_eq!(
57767        unsafe { ::std::ptr::addr_of!((*ptr).removed) as usize - ptr as usize },
57768        24usize,
57769        concat!(
57770            "Offset of field: ",
57771            stringify!(_GVolumeIface),
57772            "::",
57773            stringify!(removed)
57774        )
57775    );
57776    assert_eq!(
57777        unsafe { ::std::ptr::addr_of!((*ptr).get_name) as usize - ptr as usize },
57778        32usize,
57779        concat!(
57780            "Offset of field: ",
57781            stringify!(_GVolumeIface),
57782            "::",
57783            stringify!(get_name)
57784        )
57785    );
57786    assert_eq!(
57787        unsafe { ::std::ptr::addr_of!((*ptr).get_icon) as usize - ptr as usize },
57788        40usize,
57789        concat!(
57790            "Offset of field: ",
57791            stringify!(_GVolumeIface),
57792            "::",
57793            stringify!(get_icon)
57794        )
57795    );
57796    assert_eq!(
57797        unsafe { ::std::ptr::addr_of!((*ptr).get_uuid) as usize - ptr as usize },
57798        48usize,
57799        concat!(
57800            "Offset of field: ",
57801            stringify!(_GVolumeIface),
57802            "::",
57803            stringify!(get_uuid)
57804        )
57805    );
57806    assert_eq!(
57807        unsafe { ::std::ptr::addr_of!((*ptr).get_drive) as usize - ptr as usize },
57808        56usize,
57809        concat!(
57810            "Offset of field: ",
57811            stringify!(_GVolumeIface),
57812            "::",
57813            stringify!(get_drive)
57814        )
57815    );
57816    assert_eq!(
57817        unsafe { ::std::ptr::addr_of!((*ptr).get_mount) as usize - ptr as usize },
57818        64usize,
57819        concat!(
57820            "Offset of field: ",
57821            stringify!(_GVolumeIface),
57822            "::",
57823            stringify!(get_mount)
57824        )
57825    );
57826    assert_eq!(
57827        unsafe { ::std::ptr::addr_of!((*ptr).can_mount) as usize - ptr as usize },
57828        72usize,
57829        concat!(
57830            "Offset of field: ",
57831            stringify!(_GVolumeIface),
57832            "::",
57833            stringify!(can_mount)
57834        )
57835    );
57836    assert_eq!(
57837        unsafe { ::std::ptr::addr_of!((*ptr).can_eject) as usize - ptr as usize },
57838        80usize,
57839        concat!(
57840            "Offset of field: ",
57841            stringify!(_GVolumeIface),
57842            "::",
57843            stringify!(can_eject)
57844        )
57845    );
57846    assert_eq!(
57847        unsafe { ::std::ptr::addr_of!((*ptr).mount_fn) as usize - ptr as usize },
57848        88usize,
57849        concat!(
57850            "Offset of field: ",
57851            stringify!(_GVolumeIface),
57852            "::",
57853            stringify!(mount_fn)
57854        )
57855    );
57856    assert_eq!(
57857        unsafe { ::std::ptr::addr_of!((*ptr).mount_finish) as usize - ptr as usize },
57858        96usize,
57859        concat!(
57860            "Offset of field: ",
57861            stringify!(_GVolumeIface),
57862            "::",
57863            stringify!(mount_finish)
57864        )
57865    );
57866    assert_eq!(
57867        unsafe { ::std::ptr::addr_of!((*ptr).eject) as usize - ptr as usize },
57868        104usize,
57869        concat!(
57870            "Offset of field: ",
57871            stringify!(_GVolumeIface),
57872            "::",
57873            stringify!(eject)
57874        )
57875    );
57876    assert_eq!(
57877        unsafe { ::std::ptr::addr_of!((*ptr).eject_finish) as usize - ptr as usize },
57878        112usize,
57879        concat!(
57880            "Offset of field: ",
57881            stringify!(_GVolumeIface),
57882            "::",
57883            stringify!(eject_finish)
57884        )
57885    );
57886    assert_eq!(
57887        unsafe { ::std::ptr::addr_of!((*ptr).get_identifier) as usize - ptr as usize },
57888        120usize,
57889        concat!(
57890            "Offset of field: ",
57891            stringify!(_GVolumeIface),
57892            "::",
57893            stringify!(get_identifier)
57894        )
57895    );
57896    assert_eq!(
57897        unsafe { ::std::ptr::addr_of!((*ptr).enumerate_identifiers) as usize - ptr as usize },
57898        128usize,
57899        concat!(
57900            "Offset of field: ",
57901            stringify!(_GVolumeIface),
57902            "::",
57903            stringify!(enumerate_identifiers)
57904        )
57905    );
57906    assert_eq!(
57907        unsafe { ::std::ptr::addr_of!((*ptr).should_automount) as usize - ptr as usize },
57908        136usize,
57909        concat!(
57910            "Offset of field: ",
57911            stringify!(_GVolumeIface),
57912            "::",
57913            stringify!(should_automount)
57914        )
57915    );
57916    assert_eq!(
57917        unsafe { ::std::ptr::addr_of!((*ptr).get_activation_root) as usize - ptr as usize },
57918        144usize,
57919        concat!(
57920            "Offset of field: ",
57921            stringify!(_GVolumeIface),
57922            "::",
57923            stringify!(get_activation_root)
57924        )
57925    );
57926    assert_eq!(
57927        unsafe { ::std::ptr::addr_of!((*ptr).eject_with_operation) as usize - ptr as usize },
57928        152usize,
57929        concat!(
57930            "Offset of field: ",
57931            stringify!(_GVolumeIface),
57932            "::",
57933            stringify!(eject_with_operation)
57934        )
57935    );
57936    assert_eq!(
57937        unsafe { ::std::ptr::addr_of!((*ptr).eject_with_operation_finish) as usize - ptr as usize },
57938        160usize,
57939        concat!(
57940            "Offset of field: ",
57941            stringify!(_GVolumeIface),
57942            "::",
57943            stringify!(eject_with_operation_finish)
57944        )
57945    );
57946    assert_eq!(
57947        unsafe { ::std::ptr::addr_of!((*ptr).get_sort_key) as usize - ptr as usize },
57948        168usize,
57949        concat!(
57950            "Offset of field: ",
57951            stringify!(_GVolumeIface),
57952            "::",
57953            stringify!(get_sort_key)
57954        )
57955    );
57956    assert_eq!(
57957        unsafe { ::std::ptr::addr_of!((*ptr).get_symbolic_icon) as usize - ptr as usize },
57958        176usize,
57959        concat!(
57960            "Offset of field: ",
57961            stringify!(_GVolumeIface),
57962            "::",
57963            stringify!(get_symbolic_icon)
57964        )
57965    );
57966}
57967extern "C" {
57968    pub fn g_volume_get_type() -> GType;
57969}
57970extern "C" {
57971    pub fn g_volume_get_name(volume: *mut GVolume) -> *mut ::std::os::raw::c_char;
57972}
57973extern "C" {
57974    pub fn g_volume_get_icon(volume: *mut GVolume) -> *mut GIcon;
57975}
57976extern "C" {
57977    pub fn g_volume_get_symbolic_icon(volume: *mut GVolume) -> *mut GIcon;
57978}
57979extern "C" {
57980    pub fn g_volume_get_uuid(volume: *mut GVolume) -> *mut ::std::os::raw::c_char;
57981}
57982extern "C" {
57983    pub fn g_volume_get_drive(volume: *mut GVolume) -> *mut GDrive;
57984}
57985extern "C" {
57986    pub fn g_volume_get_mount(volume: *mut GVolume) -> *mut GMount;
57987}
57988extern "C" {
57989    pub fn g_volume_can_mount(volume: *mut GVolume) -> gboolean;
57990}
57991extern "C" {
57992    pub fn g_volume_can_eject(volume: *mut GVolume) -> gboolean;
57993}
57994extern "C" {
57995    pub fn g_volume_should_automount(volume: *mut GVolume) -> gboolean;
57996}
57997extern "C" {
57998    pub fn g_volume_mount(
57999        volume: *mut GVolume,
58000        flags: GMountMountFlags,
58001        mount_operation: *mut GMountOperation,
58002        cancellable: *mut GCancellable,
58003        callback: GAsyncReadyCallback,
58004        user_data: gpointer,
58005    );
58006}
58007extern "C" {
58008    pub fn g_volume_mount_finish(
58009        volume: *mut GVolume,
58010        result: *mut GAsyncResult,
58011        error: *mut *mut GError,
58012    ) -> gboolean;
58013}
58014extern "C" {
58015    pub fn g_volume_eject(
58016        volume: *mut GVolume,
58017        flags: GMountUnmountFlags,
58018        cancellable: *mut GCancellable,
58019        callback: GAsyncReadyCallback,
58020        user_data: gpointer,
58021    );
58022}
58023extern "C" {
58024    pub fn g_volume_eject_finish(
58025        volume: *mut GVolume,
58026        result: *mut GAsyncResult,
58027        error: *mut *mut GError,
58028    ) -> gboolean;
58029}
58030extern "C" {
58031    pub fn g_volume_get_identifier(
58032        volume: *mut GVolume,
58033        kind: *const ::std::os::raw::c_char,
58034    ) -> *mut ::std::os::raw::c_char;
58035}
58036extern "C" {
58037    pub fn g_volume_enumerate_identifiers(volume: *mut GVolume)
58038        -> *mut *mut ::std::os::raw::c_char;
58039}
58040extern "C" {
58041    pub fn g_volume_get_activation_root(volume: *mut GVolume) -> *mut GFile;
58042}
58043extern "C" {
58044    pub fn g_volume_eject_with_operation(
58045        volume: *mut GVolume,
58046        flags: GMountUnmountFlags,
58047        mount_operation: *mut GMountOperation,
58048        cancellable: *mut GCancellable,
58049        callback: GAsyncReadyCallback,
58050        user_data: gpointer,
58051    );
58052}
58053extern "C" {
58054    pub fn g_volume_eject_with_operation_finish(
58055        volume: *mut GVolume,
58056        result: *mut GAsyncResult,
58057        error: *mut *mut GError,
58058    ) -> gboolean;
58059}
58060extern "C" {
58061    pub fn g_volume_get_sort_key(volume: *mut GVolume) -> *const gchar;
58062}
58063pub type GZlibCompressorClass = _GZlibCompressorClass;
58064#[repr(C)]
58065#[derive(Debug, Copy, Clone, PartialEq, Eq)]
58066pub struct _GZlibCompressorClass {
58067    pub parent_class: GObjectClass,
58068}
58069#[test]
58070fn bindgen_test_layout__GZlibCompressorClass() {
58071    const UNINIT: ::std::mem::MaybeUninit<_GZlibCompressorClass> =
58072        ::std::mem::MaybeUninit::uninit();
58073    let ptr = UNINIT.as_ptr();
58074    assert_eq!(
58075        ::std::mem::size_of::<_GZlibCompressorClass>(),
58076        136usize,
58077        concat!("Size of: ", stringify!(_GZlibCompressorClass))
58078    );
58079    assert_eq!(
58080        ::std::mem::align_of::<_GZlibCompressorClass>(),
58081        8usize,
58082        concat!("Alignment of ", stringify!(_GZlibCompressorClass))
58083    );
58084    assert_eq!(
58085        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
58086        0usize,
58087        concat!(
58088            "Offset of field: ",
58089            stringify!(_GZlibCompressorClass),
58090            "::",
58091            stringify!(parent_class)
58092        )
58093    );
58094}
58095extern "C" {
58096    pub fn g_zlib_compressor_get_type() -> GType;
58097}
58098extern "C" {
58099    pub fn g_zlib_compressor_new(
58100        format: GZlibCompressorFormat,
58101        level: ::std::os::raw::c_int,
58102    ) -> *mut GZlibCompressor;
58103}
58104extern "C" {
58105    pub fn g_zlib_compressor_get_file_info(compressor: *mut GZlibCompressor) -> *mut GFileInfo;
58106}
58107extern "C" {
58108    pub fn g_zlib_compressor_set_file_info(
58109        compressor: *mut GZlibCompressor,
58110        file_info: *mut GFileInfo,
58111    );
58112}
58113pub type GZlibDecompressorClass = _GZlibDecompressorClass;
58114#[repr(C)]
58115#[derive(Debug, Copy, Clone, PartialEq, Eq)]
58116pub struct _GZlibDecompressorClass {
58117    pub parent_class: GObjectClass,
58118}
58119#[test]
58120fn bindgen_test_layout__GZlibDecompressorClass() {
58121    const UNINIT: ::std::mem::MaybeUninit<_GZlibDecompressorClass> =
58122        ::std::mem::MaybeUninit::uninit();
58123    let ptr = UNINIT.as_ptr();
58124    assert_eq!(
58125        ::std::mem::size_of::<_GZlibDecompressorClass>(),
58126        136usize,
58127        concat!("Size of: ", stringify!(_GZlibDecompressorClass))
58128    );
58129    assert_eq!(
58130        ::std::mem::align_of::<_GZlibDecompressorClass>(),
58131        8usize,
58132        concat!("Alignment of ", stringify!(_GZlibDecompressorClass))
58133    );
58134    assert_eq!(
58135        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
58136        0usize,
58137        concat!(
58138            "Offset of field: ",
58139            stringify!(_GZlibDecompressorClass),
58140            "::",
58141            stringify!(parent_class)
58142        )
58143    );
58144}
58145extern "C" {
58146    pub fn g_zlib_decompressor_get_type() -> GType;
58147}
58148extern "C" {
58149    pub fn g_zlib_decompressor_new(format: GZlibCompressorFormat) -> *mut GZlibDecompressor;
58150}
58151extern "C" {
58152    pub fn g_zlib_decompressor_get_file_info(
58153        decompressor: *mut GZlibDecompressor,
58154    ) -> *mut GFileInfo;
58155}
58156pub type GAction_autoptr = *mut GAction;
58157pub type GAction_listautoptr = *mut GList;
58158pub type GAction_slistautoptr = *mut GSList;
58159pub type GAction_queueautoptr = *mut GQueue;
58160pub type GActionMap_autoptr = *mut GActionMap;
58161pub type GActionMap_listautoptr = *mut GList;
58162pub type GActionMap_slistautoptr = *mut GSList;
58163pub type GActionMap_queueautoptr = *mut GQueue;
58164pub type GAppInfo_autoptr = *mut GAppInfo;
58165pub type GAppInfo_listautoptr = *mut GList;
58166pub type GAppInfo_slistautoptr = *mut GSList;
58167pub type GAppInfo_queueautoptr = *mut GQueue;
58168pub type GAppLaunchContext_autoptr = *mut GAppLaunchContext;
58169pub type GAppLaunchContext_listautoptr = *mut GList;
58170pub type GAppLaunchContext_slistautoptr = *mut GSList;
58171pub type GAppLaunchContext_queueautoptr = *mut GQueue;
58172pub type GAppInfoMonitor_autoptr = *mut GAppInfoMonitor;
58173pub type GAppInfoMonitor_listautoptr = *mut GList;
58174pub type GAppInfoMonitor_slistautoptr = *mut GSList;
58175pub type GAppInfoMonitor_queueautoptr = *mut GQueue;
58176pub type GApplicationCommandLine_autoptr = *mut GApplicationCommandLine;
58177pub type GApplicationCommandLine_listautoptr = *mut GList;
58178pub type GApplicationCommandLine_slistautoptr = *mut GSList;
58179pub type GApplicationCommandLine_queueautoptr = *mut GQueue;
58180pub type GApplication_autoptr = *mut GApplication;
58181pub type GApplication_listautoptr = *mut GList;
58182pub type GApplication_slistautoptr = *mut GSList;
58183pub type GApplication_queueautoptr = *mut GQueue;
58184pub type GAsyncInitable_autoptr = *mut GAsyncInitable;
58185pub type GAsyncInitable_listautoptr = *mut GList;
58186pub type GAsyncInitable_slistautoptr = *mut GSList;
58187pub type GAsyncInitable_queueautoptr = *mut GQueue;
58188pub type GAsyncResult_autoptr = *mut GAsyncResult;
58189pub type GAsyncResult_listautoptr = *mut GList;
58190pub type GAsyncResult_slistautoptr = *mut GSList;
58191pub type GAsyncResult_queueautoptr = *mut GQueue;
58192pub type GBufferedInputStream_autoptr = *mut GBufferedInputStream;
58193pub type GBufferedInputStream_listautoptr = *mut GList;
58194pub type GBufferedInputStream_slistautoptr = *mut GSList;
58195pub type GBufferedInputStream_queueautoptr = *mut GQueue;
58196pub type GBufferedOutputStream_autoptr = *mut GBufferedOutputStream;
58197pub type GBufferedOutputStream_listautoptr = *mut GList;
58198pub type GBufferedOutputStream_slistautoptr = *mut GSList;
58199pub type GBufferedOutputStream_queueautoptr = *mut GQueue;
58200pub type GBytesIcon_autoptr = *mut GBytesIcon;
58201pub type GBytesIcon_listautoptr = *mut GList;
58202pub type GBytesIcon_slistautoptr = *mut GSList;
58203pub type GBytesIcon_queueautoptr = *mut GQueue;
58204pub type GCancellable_autoptr = *mut GCancellable;
58205pub type GCancellable_listautoptr = *mut GList;
58206pub type GCancellable_slistautoptr = *mut GSList;
58207pub type GCancellable_queueautoptr = *mut GQueue;
58208pub type GCharsetConverter_autoptr = *mut GCharsetConverter;
58209pub type GCharsetConverter_listautoptr = *mut GList;
58210pub type GCharsetConverter_slistautoptr = *mut GSList;
58211pub type GCharsetConverter_queueautoptr = *mut GQueue;
58212pub type GConverter_autoptr = *mut GConverter;
58213pub type GConverter_listautoptr = *mut GList;
58214pub type GConverter_slistautoptr = *mut GSList;
58215pub type GConverter_queueautoptr = *mut GQueue;
58216pub type GConverterInputStream_autoptr = *mut GConverterInputStream;
58217pub type GConverterInputStream_listautoptr = *mut GList;
58218pub type GConverterInputStream_slistautoptr = *mut GSList;
58219pub type GConverterInputStream_queueautoptr = *mut GQueue;
58220pub type GConverterOutputStream_autoptr = *mut GConverterOutputStream;
58221pub type GConverterOutputStream_listautoptr = *mut GList;
58222pub type GConverterOutputStream_slistautoptr = *mut GSList;
58223pub type GConverterOutputStream_queueautoptr = *mut GQueue;
58224pub type GCredentials_autoptr = *mut GCredentials;
58225pub type GCredentials_listautoptr = *mut GList;
58226pub type GCredentials_slistautoptr = *mut GSList;
58227pub type GCredentials_queueautoptr = *mut GQueue;
58228pub type GDatagramBased_autoptr = *mut GDatagramBased;
58229pub type GDatagramBased_listautoptr = *mut GList;
58230pub type GDatagramBased_slistautoptr = *mut GSList;
58231pub type GDatagramBased_queueautoptr = *mut GQueue;
58232pub type GDataInputStream_autoptr = *mut GDataInputStream;
58233pub type GDataInputStream_listautoptr = *mut GList;
58234pub type GDataInputStream_slistautoptr = *mut GSList;
58235pub type GDataInputStream_queueautoptr = *mut GQueue;
58236pub type GDataOutputStream_autoptr = *mut GDataOutputStream;
58237pub type GDataOutputStream_listautoptr = *mut GList;
58238pub type GDataOutputStream_slistautoptr = *mut GSList;
58239pub type GDataOutputStream_queueautoptr = *mut GQueue;
58240pub type GDBusActionGroup_autoptr = *mut GDBusActionGroup;
58241pub type GDBusActionGroup_listautoptr = *mut GList;
58242pub type GDBusActionGroup_slistautoptr = *mut GSList;
58243pub type GDBusActionGroup_queueautoptr = *mut GQueue;
58244pub type GDBusAuthObserver_autoptr = *mut GDBusAuthObserver;
58245pub type GDBusAuthObserver_listautoptr = *mut GList;
58246pub type GDBusAuthObserver_slistautoptr = *mut GSList;
58247pub type GDBusAuthObserver_queueautoptr = *mut GQueue;
58248pub type GDBusConnection_autoptr = *mut GDBusConnection;
58249pub type GDBusConnection_listautoptr = *mut GList;
58250pub type GDBusConnection_slistautoptr = *mut GSList;
58251pub type GDBusConnection_queueautoptr = *mut GQueue;
58252pub type GDBusInterface_autoptr = *mut GDBusInterface;
58253pub type GDBusInterface_listautoptr = *mut GList;
58254pub type GDBusInterface_slistautoptr = *mut GSList;
58255pub type GDBusInterface_queueautoptr = *mut GQueue;
58256pub type GDBusInterfaceSkeleton_autoptr = *mut GDBusInterfaceSkeleton;
58257pub type GDBusInterfaceSkeleton_listautoptr = *mut GList;
58258pub type GDBusInterfaceSkeleton_slistautoptr = *mut GSList;
58259pub type GDBusInterfaceSkeleton_queueautoptr = *mut GQueue;
58260pub type GDBusMenuModel_autoptr = *mut GDBusMenuModel;
58261pub type GDBusMenuModel_listautoptr = *mut GList;
58262pub type GDBusMenuModel_slistautoptr = *mut GSList;
58263pub type GDBusMenuModel_queueautoptr = *mut GQueue;
58264pub type GDBusMessage_autoptr = *mut GDBusMessage;
58265pub type GDBusMessage_listautoptr = *mut GList;
58266pub type GDBusMessage_slistautoptr = *mut GSList;
58267pub type GDBusMessage_queueautoptr = *mut GQueue;
58268pub type GDBusMethodInvocation_autoptr = *mut GDBusMethodInvocation;
58269pub type GDBusMethodInvocation_listautoptr = *mut GList;
58270pub type GDBusMethodInvocation_slistautoptr = *mut GSList;
58271pub type GDBusMethodInvocation_queueautoptr = *mut GQueue;
58272pub type GDBusNodeInfo_autoptr = *mut GDBusNodeInfo;
58273pub type GDBusNodeInfo_listautoptr = *mut GList;
58274pub type GDBusNodeInfo_slistautoptr = *mut GSList;
58275pub type GDBusNodeInfo_queueautoptr = *mut GQueue;
58276pub type GDBusObject_autoptr = *mut GDBusObject;
58277pub type GDBusObject_listautoptr = *mut GList;
58278pub type GDBusObject_slistautoptr = *mut GSList;
58279pub type GDBusObject_queueautoptr = *mut GQueue;
58280pub type GDBusObjectManagerClient_autoptr = *mut GDBusObjectManagerClient;
58281pub type GDBusObjectManagerClient_listautoptr = *mut GList;
58282pub type GDBusObjectManagerClient_slistautoptr = *mut GSList;
58283pub type GDBusObjectManagerClient_queueautoptr = *mut GQueue;
58284pub type GDBusObjectManager_autoptr = *mut GDBusObjectManager;
58285pub type GDBusObjectManager_listautoptr = *mut GList;
58286pub type GDBusObjectManager_slistautoptr = *mut GSList;
58287pub type GDBusObjectManager_queueautoptr = *mut GQueue;
58288pub type GDBusObjectManagerServer_autoptr = *mut GDBusObjectManagerServer;
58289pub type GDBusObjectManagerServer_listautoptr = *mut GList;
58290pub type GDBusObjectManagerServer_slistautoptr = *mut GSList;
58291pub type GDBusObjectManagerServer_queueautoptr = *mut GQueue;
58292pub type GDBusObjectProxy_autoptr = *mut GDBusObjectProxy;
58293pub type GDBusObjectProxy_listautoptr = *mut GList;
58294pub type GDBusObjectProxy_slistautoptr = *mut GSList;
58295pub type GDBusObjectProxy_queueautoptr = *mut GQueue;
58296pub type GDBusObjectSkeleton_autoptr = *mut GDBusObjectSkeleton;
58297pub type GDBusObjectSkeleton_listautoptr = *mut GList;
58298pub type GDBusObjectSkeleton_slistautoptr = *mut GSList;
58299pub type GDBusObjectSkeleton_queueautoptr = *mut GQueue;
58300pub type GDBusProxy_autoptr = *mut GDBusProxy;
58301pub type GDBusProxy_listautoptr = *mut GList;
58302pub type GDBusProxy_slistautoptr = *mut GSList;
58303pub type GDBusProxy_queueautoptr = *mut GQueue;
58304pub type GDBusServer_autoptr = *mut GDBusServer;
58305pub type GDBusServer_listautoptr = *mut GList;
58306pub type GDBusServer_slistautoptr = *mut GSList;
58307pub type GDBusServer_queueautoptr = *mut GQueue;
58308pub type GDrive_autoptr = *mut GDrive;
58309pub type GDrive_listautoptr = *mut GList;
58310pub type GDrive_slistautoptr = *mut GSList;
58311pub type GDrive_queueautoptr = *mut GQueue;
58312pub type GEmblemedIcon_autoptr = *mut GEmblemedIcon;
58313pub type GEmblemedIcon_listautoptr = *mut GList;
58314pub type GEmblemedIcon_slistautoptr = *mut GSList;
58315pub type GEmblemedIcon_queueautoptr = *mut GQueue;
58316pub type GEmblem_autoptr = *mut GEmblem;
58317pub type GEmblem_listautoptr = *mut GList;
58318pub type GEmblem_slistautoptr = *mut GSList;
58319pub type GEmblem_queueautoptr = *mut GQueue;
58320pub type GFileEnumerator_autoptr = *mut GFileEnumerator;
58321pub type GFileEnumerator_listautoptr = *mut GList;
58322pub type GFileEnumerator_slistautoptr = *mut GSList;
58323pub type GFileEnumerator_queueautoptr = *mut GQueue;
58324pub type GFile_autoptr = *mut GFile;
58325pub type GFile_listautoptr = *mut GList;
58326pub type GFile_slistautoptr = *mut GSList;
58327pub type GFile_queueautoptr = *mut GQueue;
58328pub type GFileAttributeInfoList_autoptr = *mut GFileAttributeInfoList;
58329pub type GFileAttributeInfoList_listautoptr = *mut GList;
58330pub type GFileAttributeInfoList_slistautoptr = *mut GSList;
58331pub type GFileAttributeInfoList_queueautoptr = *mut GQueue;
58332pub type GFileIcon_autoptr = *mut GFileIcon;
58333pub type GFileIcon_listautoptr = *mut GList;
58334pub type GFileIcon_slistautoptr = *mut GSList;
58335pub type GFileIcon_queueautoptr = *mut GQueue;
58336pub type GFileInfo_autoptr = *mut GFileInfo;
58337pub type GFileInfo_listautoptr = *mut GList;
58338pub type GFileInfo_slistautoptr = *mut GSList;
58339pub type GFileInfo_queueautoptr = *mut GQueue;
58340pub type GFileInputStream_autoptr = *mut GFileInputStream;
58341pub type GFileInputStream_listautoptr = *mut GList;
58342pub type GFileInputStream_slistautoptr = *mut GSList;
58343pub type GFileInputStream_queueautoptr = *mut GQueue;
58344pub type GFileIOStream_autoptr = *mut GFileIOStream;
58345pub type GFileIOStream_listautoptr = *mut GList;
58346pub type GFileIOStream_slistautoptr = *mut GSList;
58347pub type GFileIOStream_queueautoptr = *mut GQueue;
58348pub type GFileMonitor_autoptr = *mut GFileMonitor;
58349pub type GFileMonitor_listautoptr = *mut GList;
58350pub type GFileMonitor_slistautoptr = *mut GSList;
58351pub type GFileMonitor_queueautoptr = *mut GQueue;
58352pub type GFilenameCompleter_autoptr = *mut GFilenameCompleter;
58353pub type GFilenameCompleter_listautoptr = *mut GList;
58354pub type GFilenameCompleter_slistautoptr = *mut GSList;
58355pub type GFilenameCompleter_queueautoptr = *mut GQueue;
58356pub type GFileOutputStream_autoptr = *mut GFileOutputStream;
58357pub type GFileOutputStream_listautoptr = *mut GList;
58358pub type GFileOutputStream_slistautoptr = *mut GSList;
58359pub type GFileOutputStream_queueautoptr = *mut GQueue;
58360pub type GFilterInputStream_autoptr = *mut GFilterInputStream;
58361pub type GFilterInputStream_listautoptr = *mut GList;
58362pub type GFilterInputStream_slistautoptr = *mut GSList;
58363pub type GFilterInputStream_queueautoptr = *mut GQueue;
58364pub type GFilterOutputStream_autoptr = *mut GFilterOutputStream;
58365pub type GFilterOutputStream_listautoptr = *mut GList;
58366pub type GFilterOutputStream_slistautoptr = *mut GSList;
58367pub type GFilterOutputStream_queueautoptr = *mut GQueue;
58368pub type GIcon_autoptr = *mut GIcon;
58369pub type GIcon_listautoptr = *mut GList;
58370pub type GIcon_slistautoptr = *mut GSList;
58371pub type GIcon_queueautoptr = *mut GQueue;
58372pub type GInetAddress_autoptr = *mut GInetAddress;
58373pub type GInetAddress_listautoptr = *mut GList;
58374pub type GInetAddress_slistautoptr = *mut GSList;
58375pub type GInetAddress_queueautoptr = *mut GQueue;
58376pub type GInetAddressMask_autoptr = *mut GInetAddressMask;
58377pub type GInetAddressMask_listautoptr = *mut GList;
58378pub type GInetAddressMask_slistautoptr = *mut GSList;
58379pub type GInetAddressMask_queueautoptr = *mut GQueue;
58380pub type GInetSocketAddress_autoptr = *mut GInetSocketAddress;
58381pub type GInetSocketAddress_listautoptr = *mut GList;
58382pub type GInetSocketAddress_slistautoptr = *mut GSList;
58383pub type GInetSocketAddress_queueautoptr = *mut GQueue;
58384pub type GInitable_autoptr = *mut GInitable;
58385pub type GInitable_listautoptr = *mut GList;
58386pub type GInitable_slistautoptr = *mut GSList;
58387pub type GInitable_queueautoptr = *mut GQueue;
58388pub type GInputStream_autoptr = *mut GInputStream;
58389pub type GInputStream_listautoptr = *mut GList;
58390pub type GInputStream_slistautoptr = *mut GSList;
58391pub type GInputStream_queueautoptr = *mut GQueue;
58392pub type GIOModule_autoptr = *mut GIOModule;
58393pub type GIOModule_listautoptr = *mut GList;
58394pub type GIOModule_slistautoptr = *mut GSList;
58395pub type GIOModule_queueautoptr = *mut GQueue;
58396pub type GIOStream_autoptr = *mut GIOStream;
58397pub type GIOStream_listautoptr = *mut GList;
58398pub type GIOStream_slistautoptr = *mut GSList;
58399pub type GIOStream_queueautoptr = *mut GQueue;
58400pub type GLoadableIcon_autoptr = *mut GLoadableIcon;
58401pub type GLoadableIcon_listautoptr = *mut GList;
58402pub type GLoadableIcon_slistautoptr = *mut GSList;
58403pub type GLoadableIcon_queueautoptr = *mut GQueue;
58404pub type GMemoryInputStream_autoptr = *mut GMemoryInputStream;
58405pub type GMemoryInputStream_listautoptr = *mut GList;
58406pub type GMemoryInputStream_slistautoptr = *mut GSList;
58407pub type GMemoryInputStream_queueautoptr = *mut GQueue;
58408pub type GMemoryOutputStream_autoptr = *mut GMemoryOutputStream;
58409pub type GMemoryOutputStream_listautoptr = *mut GList;
58410pub type GMemoryOutputStream_slistautoptr = *mut GSList;
58411pub type GMemoryOutputStream_queueautoptr = *mut GQueue;
58412pub type GMenu_autoptr = *mut GMenu;
58413pub type GMenu_listautoptr = *mut GList;
58414pub type GMenu_slistautoptr = *mut GSList;
58415pub type GMenu_queueautoptr = *mut GQueue;
58416pub type GMenuItem_autoptr = *mut GMenuItem;
58417pub type GMenuItem_listautoptr = *mut GList;
58418pub type GMenuItem_slistautoptr = *mut GSList;
58419pub type GMenuItem_queueautoptr = *mut GQueue;
58420pub type GMenuModel_autoptr = *mut GMenuModel;
58421pub type GMenuModel_listautoptr = *mut GList;
58422pub type GMenuModel_slistautoptr = *mut GSList;
58423pub type GMenuModel_queueautoptr = *mut GQueue;
58424pub type GMenuAttributeIter_autoptr = *mut GMenuAttributeIter;
58425pub type GMenuAttributeIter_listautoptr = *mut GList;
58426pub type GMenuAttributeIter_slistautoptr = *mut GSList;
58427pub type GMenuAttributeIter_queueautoptr = *mut GQueue;
58428pub type GMenuLinkIter_autoptr = *mut GMenuLinkIter;
58429pub type GMenuLinkIter_listautoptr = *mut GList;
58430pub type GMenuLinkIter_slistautoptr = *mut GSList;
58431pub type GMenuLinkIter_queueautoptr = *mut GQueue;
58432pub type GMount_autoptr = *mut GMount;
58433pub type GMount_listautoptr = *mut GList;
58434pub type GMount_slistautoptr = *mut GSList;
58435pub type GMount_queueautoptr = *mut GQueue;
58436pub type GMountOperation_autoptr = *mut GMountOperation;
58437pub type GMountOperation_listautoptr = *mut GList;
58438pub type GMountOperation_slistautoptr = *mut GSList;
58439pub type GMountOperation_queueautoptr = *mut GQueue;
58440pub type GNativeVolumeMonitor_autoptr = *mut GNativeVolumeMonitor;
58441pub type GNativeVolumeMonitor_listautoptr = *mut GList;
58442pub type GNativeVolumeMonitor_slistautoptr = *mut GSList;
58443pub type GNativeVolumeMonitor_queueautoptr = *mut GQueue;
58444pub type GNetworkAddress_autoptr = *mut GNetworkAddress;
58445pub type GNetworkAddress_listautoptr = *mut GList;
58446pub type GNetworkAddress_slistautoptr = *mut GSList;
58447pub type GNetworkAddress_queueautoptr = *mut GQueue;
58448pub type GNetworkMonitor_autoptr = *mut GNetworkMonitor;
58449pub type GNetworkMonitor_listautoptr = *mut GList;
58450pub type GNetworkMonitor_slistautoptr = *mut GSList;
58451pub type GNetworkMonitor_queueautoptr = *mut GQueue;
58452pub type GNetworkService_autoptr = *mut GNetworkService;
58453pub type GNetworkService_listautoptr = *mut GList;
58454pub type GNetworkService_slistautoptr = *mut GSList;
58455pub type GNetworkService_queueautoptr = *mut GQueue;
58456pub type GNotification_autoptr = *mut GNotification;
58457pub type GNotification_listautoptr = *mut GList;
58458pub type GNotification_slistautoptr = *mut GSList;
58459pub type GNotification_queueautoptr = *mut GQueue;
58460pub type GOutputStream_autoptr = *mut GOutputStream;
58461pub type GOutputStream_listautoptr = *mut GList;
58462pub type GOutputStream_slistautoptr = *mut GSList;
58463pub type GOutputStream_queueautoptr = *mut GQueue;
58464pub type GPermission_autoptr = *mut GPermission;
58465pub type GPermission_listautoptr = *mut GList;
58466pub type GPermission_slistautoptr = *mut GSList;
58467pub type GPermission_queueautoptr = *mut GQueue;
58468pub type GPollableInputStream_autoptr = *mut GPollableInputStream;
58469pub type GPollableInputStream_listautoptr = *mut GList;
58470pub type GPollableInputStream_slistautoptr = *mut GSList;
58471pub type GPollableInputStream_queueautoptr = *mut GQueue;
58472pub type GPollableOutputStream_autoptr = *mut GPollableOutputStream;
58473pub type GPollableOutputStream_listautoptr = *mut GList;
58474pub type GPollableOutputStream_slistautoptr = *mut GSList;
58475pub type GPollableOutputStream_queueautoptr = *mut GQueue;
58476pub type GPropertyAction_autoptr = *mut GPropertyAction;
58477pub type GPropertyAction_listautoptr = *mut GList;
58478pub type GPropertyAction_slistautoptr = *mut GSList;
58479pub type GPropertyAction_queueautoptr = *mut GQueue;
58480pub type GProxyAddressEnumerator_autoptr = *mut GProxyAddressEnumerator;
58481pub type GProxyAddressEnumerator_listautoptr = *mut GList;
58482pub type GProxyAddressEnumerator_slistautoptr = *mut GSList;
58483pub type GProxyAddressEnumerator_queueautoptr = *mut GQueue;
58484pub type GProxyAddress_autoptr = *mut GProxyAddress;
58485pub type GProxyAddress_listautoptr = *mut GList;
58486pub type GProxyAddress_slistautoptr = *mut GSList;
58487pub type GProxyAddress_queueautoptr = *mut GQueue;
58488pub type GProxy_autoptr = *mut GProxy;
58489pub type GProxy_listautoptr = *mut GList;
58490pub type GProxy_slistautoptr = *mut GSList;
58491pub type GProxy_queueautoptr = *mut GQueue;
58492pub type GProxyResolver_autoptr = *mut GProxyResolver;
58493pub type GProxyResolver_listautoptr = *mut GList;
58494pub type GProxyResolver_slistautoptr = *mut GSList;
58495pub type GProxyResolver_queueautoptr = *mut GQueue;
58496pub type GRemoteActionGroup_autoptr = *mut GRemoteActionGroup;
58497pub type GRemoteActionGroup_listautoptr = *mut GList;
58498pub type GRemoteActionGroup_slistautoptr = *mut GSList;
58499pub type GRemoteActionGroup_queueautoptr = *mut GQueue;
58500pub type GResolver_autoptr = *mut GResolver;
58501pub type GResolver_listautoptr = *mut GList;
58502pub type GResolver_slistautoptr = *mut GSList;
58503pub type GResolver_queueautoptr = *mut GQueue;
58504pub type GResource_autoptr = *mut GResource;
58505pub type GResource_listautoptr = *mut GList;
58506pub type GResource_slistautoptr = *mut GSList;
58507pub type GResource_queueautoptr = *mut GQueue;
58508pub type GSeekable_autoptr = *mut GSeekable;
58509pub type GSeekable_listautoptr = *mut GList;
58510pub type GSeekable_slistautoptr = *mut GSList;
58511pub type GSeekable_queueautoptr = *mut GQueue;
58512pub type GSettingsBackend_autoptr = *mut GSettingsBackend;
58513pub type GSettingsBackend_listautoptr = *mut GList;
58514pub type GSettingsBackend_slistautoptr = *mut GSList;
58515pub type GSettingsBackend_queueautoptr = *mut GQueue;
58516pub type GSettingsSchema_autoptr = *mut GSettingsSchema;
58517pub type GSettingsSchema_listautoptr = *mut GList;
58518pub type GSettingsSchema_slistautoptr = *mut GSList;
58519pub type GSettingsSchema_queueautoptr = *mut GQueue;
58520pub type GSettingsSchemaKey_autoptr = *mut GSettingsSchemaKey;
58521pub type GSettingsSchemaKey_listautoptr = *mut GList;
58522pub type GSettingsSchemaKey_slistautoptr = *mut GSList;
58523pub type GSettingsSchemaKey_queueautoptr = *mut GQueue;
58524pub type GSettingsSchemaSource_autoptr = *mut GSettingsSchemaSource;
58525pub type GSettingsSchemaSource_listautoptr = *mut GList;
58526pub type GSettingsSchemaSource_slistautoptr = *mut GSList;
58527pub type GSettingsSchemaSource_queueautoptr = *mut GQueue;
58528pub type GSettings_autoptr = *mut GSettings;
58529pub type GSettings_listautoptr = *mut GList;
58530pub type GSettings_slistautoptr = *mut GSList;
58531pub type GSettings_queueautoptr = *mut GQueue;
58532pub type GSimpleActionGroup_autoptr = *mut GSimpleActionGroup;
58533pub type GSimpleActionGroup_listautoptr = *mut GList;
58534pub type GSimpleActionGroup_slistautoptr = *mut GSList;
58535pub type GSimpleActionGroup_queueautoptr = *mut GQueue;
58536pub type GSimpleAction_autoptr = *mut GSimpleAction;
58537pub type GSimpleAction_listautoptr = *mut GList;
58538pub type GSimpleAction_slistautoptr = *mut GSList;
58539pub type GSimpleAction_queueautoptr = *mut GQueue;
58540pub type GSimpleAsyncResult_autoptr = *mut GSimpleAsyncResult;
58541pub type GSimpleAsyncResult_listautoptr = *mut GList;
58542pub type GSimpleAsyncResult_slistautoptr = *mut GSList;
58543pub type GSimpleAsyncResult_queueautoptr = *mut GQueue;
58544pub type GSimplePermission_autoptr = *mut GSimplePermission;
58545pub type GSimplePermission_listautoptr = *mut GList;
58546pub type GSimplePermission_slistautoptr = *mut GSList;
58547pub type GSimplePermission_queueautoptr = *mut GQueue;
58548pub type GSimpleProxyResolver_autoptr = *mut GSimpleProxyResolver;
58549pub type GSimpleProxyResolver_listautoptr = *mut GList;
58550pub type GSimpleProxyResolver_slistautoptr = *mut GSList;
58551pub type GSimpleProxyResolver_queueautoptr = *mut GQueue;
58552pub type GSocketAddressEnumerator_autoptr = *mut GSocketAddressEnumerator;
58553pub type GSocketAddressEnumerator_listautoptr = *mut GList;
58554pub type GSocketAddressEnumerator_slistautoptr = *mut GSList;
58555pub type GSocketAddressEnumerator_queueautoptr = *mut GQueue;
58556pub type GSocketAddress_autoptr = *mut GSocketAddress;
58557pub type GSocketAddress_listautoptr = *mut GList;
58558pub type GSocketAddress_slistautoptr = *mut GSList;
58559pub type GSocketAddress_queueautoptr = *mut GQueue;
58560pub type GSocketClient_autoptr = *mut GSocketClient;
58561pub type GSocketClient_listautoptr = *mut GList;
58562pub type GSocketClient_slistautoptr = *mut GSList;
58563pub type GSocketClient_queueautoptr = *mut GQueue;
58564pub type GSocketConnectable_autoptr = *mut GSocketConnectable;
58565pub type GSocketConnectable_listautoptr = *mut GList;
58566pub type GSocketConnectable_slistautoptr = *mut GSList;
58567pub type GSocketConnectable_queueautoptr = *mut GQueue;
58568pub type GSocketConnection_autoptr = *mut GSocketConnection;
58569pub type GSocketConnection_listautoptr = *mut GList;
58570pub type GSocketConnection_slistautoptr = *mut GSList;
58571pub type GSocketConnection_queueautoptr = *mut GQueue;
58572pub type GSocketControlMessage_autoptr = *mut GSocketControlMessage;
58573pub type GSocketControlMessage_listautoptr = *mut GList;
58574pub type GSocketControlMessage_slistautoptr = *mut GSList;
58575pub type GSocketControlMessage_queueautoptr = *mut GQueue;
58576pub type GSocket_autoptr = *mut GSocket;
58577pub type GSocket_listautoptr = *mut GList;
58578pub type GSocket_slistautoptr = *mut GSList;
58579pub type GSocket_queueautoptr = *mut GQueue;
58580pub type GSocketListener_autoptr = *mut GSocketListener;
58581pub type GSocketListener_listautoptr = *mut GList;
58582pub type GSocketListener_slistautoptr = *mut GSList;
58583pub type GSocketListener_queueautoptr = *mut GQueue;
58584pub type GSocketService_autoptr = *mut GSocketService;
58585pub type GSocketService_listautoptr = *mut GList;
58586pub type GSocketService_slistautoptr = *mut GSList;
58587pub type GSocketService_queueautoptr = *mut GQueue;
58588pub type GSubprocess_autoptr = *mut GSubprocess;
58589pub type GSubprocess_listautoptr = *mut GList;
58590pub type GSubprocess_slistautoptr = *mut GSList;
58591pub type GSubprocess_queueautoptr = *mut GQueue;
58592pub type GSubprocessLauncher_autoptr = *mut GSubprocessLauncher;
58593pub type GSubprocessLauncher_listautoptr = *mut GList;
58594pub type GSubprocessLauncher_slistautoptr = *mut GSList;
58595pub type GSubprocessLauncher_queueautoptr = *mut GQueue;
58596pub type GTask_autoptr = *mut GTask;
58597pub type GTask_listautoptr = *mut GList;
58598pub type GTask_slistautoptr = *mut GSList;
58599pub type GTask_queueautoptr = *mut GQueue;
58600pub type GTcpConnection_autoptr = *mut GTcpConnection;
58601pub type GTcpConnection_listautoptr = *mut GList;
58602pub type GTcpConnection_slistautoptr = *mut GSList;
58603pub type GTcpConnection_queueautoptr = *mut GQueue;
58604pub type GTcpWrapperConnection_autoptr = *mut GTcpWrapperConnection;
58605pub type GTcpWrapperConnection_listautoptr = *mut GList;
58606pub type GTcpWrapperConnection_slistautoptr = *mut GSList;
58607pub type GTcpWrapperConnection_queueautoptr = *mut GQueue;
58608pub type GTestDBus_autoptr = *mut GTestDBus;
58609pub type GTestDBus_listautoptr = *mut GList;
58610pub type GTestDBus_slistautoptr = *mut GSList;
58611pub type GTestDBus_queueautoptr = *mut GQueue;
58612pub type GThemedIcon_autoptr = *mut GThemedIcon;
58613pub type GThemedIcon_listautoptr = *mut GList;
58614pub type GThemedIcon_slistautoptr = *mut GSList;
58615pub type GThemedIcon_queueautoptr = *mut GQueue;
58616pub type GThreadedSocketService_autoptr = *mut GThreadedSocketService;
58617pub type GThreadedSocketService_listautoptr = *mut GList;
58618pub type GThreadedSocketService_slistautoptr = *mut GSList;
58619pub type GThreadedSocketService_queueautoptr = *mut GQueue;
58620pub type GTlsBackend_autoptr = *mut GTlsBackend;
58621pub type GTlsBackend_listautoptr = *mut GList;
58622pub type GTlsBackend_slistautoptr = *mut GSList;
58623pub type GTlsBackend_queueautoptr = *mut GQueue;
58624pub type GTlsCertificate_autoptr = *mut GTlsCertificate;
58625pub type GTlsCertificate_listautoptr = *mut GList;
58626pub type GTlsCertificate_slistautoptr = *mut GSList;
58627pub type GTlsCertificate_queueautoptr = *mut GQueue;
58628pub type GTlsClientConnection_autoptr = *mut GTlsClientConnection;
58629pub type GTlsClientConnection_listautoptr = *mut GList;
58630pub type GTlsClientConnection_slistautoptr = *mut GSList;
58631pub type GTlsClientConnection_queueautoptr = *mut GQueue;
58632pub type GTlsConnection_autoptr = *mut GTlsConnection;
58633pub type GTlsConnection_listautoptr = *mut GList;
58634pub type GTlsConnection_slistautoptr = *mut GSList;
58635pub type GTlsConnection_queueautoptr = *mut GQueue;
58636pub type GTlsDatabase_autoptr = *mut GTlsDatabase;
58637pub type GTlsDatabase_listautoptr = *mut GList;
58638pub type GTlsDatabase_slistautoptr = *mut GSList;
58639pub type GTlsDatabase_queueautoptr = *mut GQueue;
58640pub type GTlsFileDatabase_autoptr = *mut GTlsFileDatabase;
58641pub type GTlsFileDatabase_listautoptr = *mut GList;
58642pub type GTlsFileDatabase_slistautoptr = *mut GSList;
58643pub type GTlsFileDatabase_queueautoptr = *mut GQueue;
58644pub type GTlsInteraction_autoptr = *mut GTlsInteraction;
58645pub type GTlsInteraction_listautoptr = *mut GList;
58646pub type GTlsInteraction_slistautoptr = *mut GSList;
58647pub type GTlsInteraction_queueautoptr = *mut GQueue;
58648pub type GTlsPassword_autoptr = *mut GTlsPassword;
58649pub type GTlsPassword_listautoptr = *mut GList;
58650pub type GTlsPassword_slistautoptr = *mut GSList;
58651pub type GTlsPassword_queueautoptr = *mut GQueue;
58652pub type GTlsServerConnection_autoptr = *mut GTlsServerConnection;
58653pub type GTlsServerConnection_listautoptr = *mut GList;
58654pub type GTlsServerConnection_slistautoptr = *mut GSList;
58655pub type GTlsServerConnection_queueautoptr = *mut GQueue;
58656pub type GVfs_autoptr = *mut GVfs;
58657pub type GVfs_listautoptr = *mut GList;
58658pub type GVfs_slistautoptr = *mut GSList;
58659pub type GVfs_queueautoptr = *mut GQueue;
58660pub type GVolume_autoptr = *mut GVolume;
58661pub type GVolume_listautoptr = *mut GList;
58662pub type GVolume_slistautoptr = *mut GSList;
58663pub type GVolume_queueautoptr = *mut GQueue;
58664pub type GVolumeMonitor_autoptr = *mut GVolumeMonitor;
58665pub type GVolumeMonitor_listautoptr = *mut GList;
58666pub type GVolumeMonitor_slistautoptr = *mut GSList;
58667pub type GVolumeMonitor_queueautoptr = *mut GQueue;
58668pub type GZlibCompressor_autoptr = *mut GZlibCompressor;
58669pub type GZlibCompressor_listautoptr = *mut GList;
58670pub type GZlibCompressor_slistautoptr = *mut GSList;
58671pub type GZlibCompressor_queueautoptr = *mut GQueue;
58672pub type GZlibDecompressor_autoptr = *mut GZlibDecompressor;
58673pub type GZlibDecompressor_listautoptr = *mut GList;
58674pub type GZlibDecompressor_slistautoptr = *mut GSList;
58675pub type GZlibDecompressor_queueautoptr = *mut GQueue;
58676pub type VipsPel = ::std::os::raw::c_uchar;
58677pub type VipsCallbackFn = ::std::option::Option<
58678    unsafe extern "C" fn(
58679        a: *mut ::std::os::raw::c_void,
58680        b: *mut ::std::os::raw::c_void,
58681    ) -> ::std::os::raw::c_int,
58682>;
58683pub type VipsSListMap2Fn = ::std::option::Option<
58684    unsafe extern "C" fn(
58685        item: *mut ::std::os::raw::c_void,
58686        a: *mut ::std::os::raw::c_void,
58687        b: *mut ::std::os::raw::c_void,
58688    ) -> *mut ::std::os::raw::c_void,
58689>;
58690pub type VipsSListMap4Fn = ::std::option::Option<
58691    unsafe extern "C" fn(
58692        item: *mut ::std::os::raw::c_void,
58693        a: *mut ::std::os::raw::c_void,
58694        b: *mut ::std::os::raw::c_void,
58695        c: *mut ::std::os::raw::c_void,
58696        d: *mut ::std::os::raw::c_void,
58697    ) -> *mut ::std::os::raw::c_void,
58698>;
58699pub type VipsSListFold2Fn = ::std::option::Option<
58700    unsafe extern "C" fn(
58701        item: *mut ::std::os::raw::c_void,
58702        a: *mut ::std::os::raw::c_void,
58703        b: *mut ::std::os::raw::c_void,
58704        c: *mut ::std::os::raw::c_void,
58705    ) -> *mut ::std::os::raw::c_void,
58706>;
58707pub const VipsPrecision_VIPS_PRECISION_INTEGER: VipsPrecision = 0;
58708pub const VipsPrecision_VIPS_PRECISION_FLOAT: VipsPrecision = 1;
58709pub const VipsPrecision_VIPS_PRECISION_APPROXIMATE: VipsPrecision = 2;
58710pub const VipsPrecision_VIPS_PRECISION_LAST: VipsPrecision = 3;
58711pub type VipsPrecision = ::std::os::raw::c_uint;
58712extern "C" {
58713    pub fn vips_path_filename7(path: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
58714}
58715extern "C" {
58716    pub fn vips_path_mode7(path: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
58717}
58718pub type VipsImage = _VipsImage;
58719pub type VipsRegion = _VipsRegion;
58720pub type VipsBuf = _VipsBuf;
58721pub type VipsSource = _VipsSource;
58722pub type VipsTarget = _VipsTarget;
58723#[repr(C)]
58724#[derive(Debug, Copy, Clone, PartialEq, Eq)]
58725pub struct _VipsBuf {
58726    pub base: *mut ::std::os::raw::c_char,
58727    pub mx: ::std::os::raw::c_int,
58728    pub i: ::std::os::raw::c_int,
58729    pub full: gboolean,
58730    pub lasti: ::std::os::raw::c_int,
58731    pub dynamic: gboolean,
58732}
58733#[test]
58734fn bindgen_test_layout__VipsBuf() {
58735    const UNINIT: ::std::mem::MaybeUninit<_VipsBuf> = ::std::mem::MaybeUninit::uninit();
58736    let ptr = UNINIT.as_ptr();
58737    assert_eq!(
58738        ::std::mem::size_of::<_VipsBuf>(),
58739        32usize,
58740        concat!("Size of: ", stringify!(_VipsBuf))
58741    );
58742    assert_eq!(
58743        ::std::mem::align_of::<_VipsBuf>(),
58744        8usize,
58745        concat!("Alignment of ", stringify!(_VipsBuf))
58746    );
58747    assert_eq!(
58748        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
58749        0usize,
58750        concat!(
58751            "Offset of field: ",
58752            stringify!(_VipsBuf),
58753            "::",
58754            stringify!(base)
58755        )
58756    );
58757    assert_eq!(
58758        unsafe { ::std::ptr::addr_of!((*ptr).mx) as usize - ptr as usize },
58759        8usize,
58760        concat!(
58761            "Offset of field: ",
58762            stringify!(_VipsBuf),
58763            "::",
58764            stringify!(mx)
58765        )
58766    );
58767    assert_eq!(
58768        unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize },
58769        12usize,
58770        concat!(
58771            "Offset of field: ",
58772            stringify!(_VipsBuf),
58773            "::",
58774            stringify!(i)
58775        )
58776    );
58777    assert_eq!(
58778        unsafe { ::std::ptr::addr_of!((*ptr).full) as usize - ptr as usize },
58779        16usize,
58780        concat!(
58781            "Offset of field: ",
58782            stringify!(_VipsBuf),
58783            "::",
58784            stringify!(full)
58785        )
58786    );
58787    assert_eq!(
58788        unsafe { ::std::ptr::addr_of!((*ptr).lasti) as usize - ptr as usize },
58789        20usize,
58790        concat!(
58791            "Offset of field: ",
58792            stringify!(_VipsBuf),
58793            "::",
58794            stringify!(lasti)
58795        )
58796    );
58797    assert_eq!(
58798        unsafe { ::std::ptr::addr_of!((*ptr).dynamic) as usize - ptr as usize },
58799        24usize,
58800        concat!(
58801            "Offset of field: ",
58802            stringify!(_VipsBuf),
58803            "::",
58804            stringify!(dynamic)
58805        )
58806    );
58807}
58808extern "C" {
58809    pub fn vips_buf_rewind(buf: *mut VipsBuf);
58810}
58811extern "C" {
58812    pub fn vips_buf_destroy(buf: *mut VipsBuf);
58813}
58814extern "C" {
58815    pub fn vips_buf_init(buf: *mut VipsBuf);
58816}
58817extern "C" {
58818    pub fn vips_buf_set_static(
58819        buf: *mut VipsBuf,
58820        base: *mut ::std::os::raw::c_char,
58821        mx: ::std::os::raw::c_int,
58822    );
58823}
58824extern "C" {
58825    pub fn vips_buf_set_dynamic(buf: *mut VipsBuf, mx: ::std::os::raw::c_int);
58826}
58827extern "C" {
58828    pub fn vips_buf_init_static(
58829        buf: *mut VipsBuf,
58830        base: *mut ::std::os::raw::c_char,
58831        mx: ::std::os::raw::c_int,
58832    );
58833}
58834extern "C" {
58835    pub fn vips_buf_init_dynamic(buf: *mut VipsBuf, mx: ::std::os::raw::c_int);
58836}
58837extern "C" {
58838    pub fn vips_buf_appendns(
58839        buf: *mut VipsBuf,
58840        str_: *const ::std::os::raw::c_char,
58841        sz: ::std::os::raw::c_int,
58842    ) -> gboolean;
58843}
58844extern "C" {
58845    pub fn vips_buf_appends(buf: *mut VipsBuf, str_: *const ::std::os::raw::c_char) -> gboolean;
58846}
58847extern "C" {
58848    pub fn vips_buf_appendf(buf: *mut VipsBuf, fmt: *const ::std::os::raw::c_char, ...)
58849        -> gboolean;
58850}
58851extern "C" {
58852    pub fn vips_buf_vappendf(
58853        buf: *mut VipsBuf,
58854        fmt: *const ::std::os::raw::c_char,
58855        ap: va_list,
58856    ) -> gboolean;
58857}
58858extern "C" {
58859    pub fn vips_buf_appendc(buf: *mut VipsBuf, ch: ::std::os::raw::c_char) -> gboolean;
58860}
58861extern "C" {
58862    pub fn vips_buf_appendsc(
58863        buf: *mut VipsBuf,
58864        quote: gboolean,
58865        str_: *const ::std::os::raw::c_char,
58866    ) -> gboolean;
58867}
58868extern "C" {
58869    pub fn vips_buf_appendgv(buf: *mut VipsBuf, value: *mut GValue) -> gboolean;
58870}
58871extern "C" {
58872    pub fn vips_buf_append_size(buf: *mut VipsBuf, n: size_t) -> gboolean;
58873}
58874extern "C" {
58875    pub fn vips_buf_removec(buf: *mut VipsBuf, ch: ::std::os::raw::c_char) -> gboolean;
58876}
58877extern "C" {
58878    pub fn vips_buf_change(
58879        buf: *mut VipsBuf,
58880        o: *const ::std::os::raw::c_char,
58881        n: *const ::std::os::raw::c_char,
58882    ) -> gboolean;
58883}
58884extern "C" {
58885    pub fn vips_buf_is_empty(buf: *mut VipsBuf) -> gboolean;
58886}
58887extern "C" {
58888    pub fn vips_buf_is_full(buf: *mut VipsBuf) -> gboolean;
58889}
58890extern "C" {
58891    pub fn vips_buf_all(buf: *mut VipsBuf) -> *const ::std::os::raw::c_char;
58892}
58893extern "C" {
58894    pub fn vips_buf_firstline(buf: *mut VipsBuf) -> *const ::std::os::raw::c_char;
58895}
58896extern "C" {
58897    pub fn vips_buf_appendg(buf: *mut VipsBuf, g: f64) -> gboolean;
58898}
58899extern "C" {
58900    pub fn vips_buf_appendd(buf: *mut VipsBuf, d: ::std::os::raw::c_int) -> gboolean;
58901}
58902extern "C" {
58903    pub fn vips_buf_len(buf: *mut VipsBuf) -> ::std::os::raw::c_int;
58904}
58905#[repr(C)]
58906#[derive(Debug, Copy, Clone, PartialEq, Eq)]
58907pub struct _VipsDbuf {
58908    pub data: *mut ::std::os::raw::c_uchar,
58909    pub allocated_size: size_t,
58910    pub data_size: size_t,
58911    pub write_point: size_t,
58912}
58913#[test]
58914fn bindgen_test_layout__VipsDbuf() {
58915    const UNINIT: ::std::mem::MaybeUninit<_VipsDbuf> = ::std::mem::MaybeUninit::uninit();
58916    let ptr = UNINIT.as_ptr();
58917    assert_eq!(
58918        ::std::mem::size_of::<_VipsDbuf>(),
58919        32usize,
58920        concat!("Size of: ", stringify!(_VipsDbuf))
58921    );
58922    assert_eq!(
58923        ::std::mem::align_of::<_VipsDbuf>(),
58924        8usize,
58925        concat!("Alignment of ", stringify!(_VipsDbuf))
58926    );
58927    assert_eq!(
58928        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
58929        0usize,
58930        concat!(
58931            "Offset of field: ",
58932            stringify!(_VipsDbuf),
58933            "::",
58934            stringify!(data)
58935        )
58936    );
58937    assert_eq!(
58938        unsafe { ::std::ptr::addr_of!((*ptr).allocated_size) as usize - ptr as usize },
58939        8usize,
58940        concat!(
58941            "Offset of field: ",
58942            stringify!(_VipsDbuf),
58943            "::",
58944            stringify!(allocated_size)
58945        )
58946    );
58947    assert_eq!(
58948        unsafe { ::std::ptr::addr_of!((*ptr).data_size) as usize - ptr as usize },
58949        16usize,
58950        concat!(
58951            "Offset of field: ",
58952            stringify!(_VipsDbuf),
58953            "::",
58954            stringify!(data_size)
58955        )
58956    );
58957    assert_eq!(
58958        unsafe { ::std::ptr::addr_of!((*ptr).write_point) as usize - ptr as usize },
58959        24usize,
58960        concat!(
58961            "Offset of field: ",
58962            stringify!(_VipsDbuf),
58963            "::",
58964            stringify!(write_point)
58965        )
58966    );
58967}
58968pub type VipsDbuf = _VipsDbuf;
58969extern "C" {
58970    pub fn vips_dbuf_init(dbuf: *mut VipsDbuf);
58971}
58972extern "C" {
58973    pub fn vips_dbuf_minimum_size(dbuf: *mut VipsDbuf, size: size_t) -> gboolean;
58974}
58975extern "C" {
58976    pub fn vips_dbuf_allocate(dbuf: *mut VipsDbuf, size: size_t) -> gboolean;
58977}
58978extern "C" {
58979    pub fn vips_dbuf_read(
58980        dbuf: *mut VipsDbuf,
58981        data: *mut ::std::os::raw::c_uchar,
58982        size: size_t,
58983    ) -> size_t;
58984}
58985extern "C" {
58986    pub fn vips_dbuf_get_write(
58987        dbuf: *mut VipsDbuf,
58988        size: *mut size_t,
58989    ) -> *mut ::std::os::raw::c_uchar;
58990}
58991extern "C" {
58992    pub fn vips_dbuf_write(
58993        dbuf: *mut VipsDbuf,
58994        data: *const ::std::os::raw::c_uchar,
58995        size: size_t,
58996    ) -> gboolean;
58997}
58998extern "C" {
58999    pub fn vips_dbuf_writef(
59000        dbuf: *mut VipsDbuf,
59001        fmt: *const ::std::os::raw::c_char,
59002        ...
59003    ) -> gboolean;
59004}
59005extern "C" {
59006    pub fn vips_dbuf_write_amp(
59007        dbuf: *mut VipsDbuf,
59008        str_: *const ::std::os::raw::c_char,
59009    ) -> gboolean;
59010}
59011extern "C" {
59012    pub fn vips_dbuf_reset(dbuf: *mut VipsDbuf);
59013}
59014extern "C" {
59015    pub fn vips_dbuf_destroy(dbuf: *mut VipsDbuf);
59016}
59017extern "C" {
59018    pub fn vips_dbuf_seek(
59019        dbuf: *mut VipsDbuf,
59020        offset: off_t,
59021        whence: ::std::os::raw::c_int,
59022    ) -> gboolean;
59023}
59024extern "C" {
59025    pub fn vips_dbuf_truncate(dbuf: *mut VipsDbuf);
59026}
59027extern "C" {
59028    pub fn vips_dbuf_tell(dbuf: *mut VipsDbuf) -> off_t;
59029}
59030extern "C" {
59031    pub fn vips_dbuf_string(dbuf: *mut VipsDbuf, size: *mut size_t)
59032        -> *mut ::std::os::raw::c_uchar;
59033}
59034extern "C" {
59035    pub fn vips_dbuf_steal(dbuf: *mut VipsDbuf, size: *mut size_t) -> *mut ::std::os::raw::c_uchar;
59036}
59037pub type float_t = f32;
59038pub type double_t = f64;
59039extern "C" {
59040    pub fn __fpclassify(arg1: f64) -> ::std::os::raw::c_int;
59041}
59042extern "C" {
59043    pub fn __fpclassifyf(arg1: f32) -> ::std::os::raw::c_int;
59044}
59045extern "C" {
59046    pub fn __fpclassifyl(arg1: u128) -> ::std::os::raw::c_int;
59047}
59048extern "C" {
59049    pub fn __signbit(arg1: f64) -> ::std::os::raw::c_int;
59050}
59051extern "C" {
59052    pub fn __signbitf(arg1: f32) -> ::std::os::raw::c_int;
59053}
59054extern "C" {
59055    pub fn __signbitl(arg1: u128) -> ::std::os::raw::c_int;
59056}
59057extern "C" {
59058    pub fn acos(arg1: f64) -> f64;
59059}
59060extern "C" {
59061    pub fn acosf(arg1: f32) -> f32;
59062}
59063extern "C" {
59064    pub fn acosl(arg1: u128) -> u128;
59065}
59066extern "C" {
59067    pub fn acosh(arg1: f64) -> f64;
59068}
59069extern "C" {
59070    pub fn acoshf(arg1: f32) -> f32;
59071}
59072extern "C" {
59073    pub fn acoshl(arg1: u128) -> u128;
59074}
59075extern "C" {
59076    pub fn asin(arg1: f64) -> f64;
59077}
59078extern "C" {
59079    pub fn asinf(arg1: f32) -> f32;
59080}
59081extern "C" {
59082    pub fn asinl(arg1: u128) -> u128;
59083}
59084extern "C" {
59085    pub fn asinh(arg1: f64) -> f64;
59086}
59087extern "C" {
59088    pub fn asinhf(arg1: f32) -> f32;
59089}
59090extern "C" {
59091    pub fn asinhl(arg1: u128) -> u128;
59092}
59093extern "C" {
59094    pub fn atan(arg1: f64) -> f64;
59095}
59096extern "C" {
59097    pub fn atanf(arg1: f32) -> f32;
59098}
59099extern "C" {
59100    pub fn atanl(arg1: u128) -> u128;
59101}
59102extern "C" {
59103    pub fn atan2(arg1: f64, arg2: f64) -> f64;
59104}
59105extern "C" {
59106    pub fn atan2f(arg1: f32, arg2: f32) -> f32;
59107}
59108extern "C" {
59109    pub fn atan2l(arg1: u128, arg2: u128) -> u128;
59110}
59111extern "C" {
59112    pub fn atanh(arg1: f64) -> f64;
59113}
59114extern "C" {
59115    pub fn atanhf(arg1: f32) -> f32;
59116}
59117extern "C" {
59118    pub fn atanhl(arg1: u128) -> u128;
59119}
59120extern "C" {
59121    pub fn cbrt(arg1: f64) -> f64;
59122}
59123extern "C" {
59124    pub fn cbrtf(arg1: f32) -> f32;
59125}
59126extern "C" {
59127    pub fn cbrtl(arg1: u128) -> u128;
59128}
59129extern "C" {
59130    pub fn ceil(arg1: f64) -> f64;
59131}
59132extern "C" {
59133    pub fn ceilf(arg1: f32) -> f32;
59134}
59135extern "C" {
59136    pub fn ceill(arg1: u128) -> u128;
59137}
59138extern "C" {
59139    pub fn copysign(arg1: f64, arg2: f64) -> f64;
59140}
59141extern "C" {
59142    pub fn copysignf(arg1: f32, arg2: f32) -> f32;
59143}
59144extern "C" {
59145    pub fn copysignl(arg1: u128, arg2: u128) -> u128;
59146}
59147extern "C" {
59148    pub fn cos(arg1: f64) -> f64;
59149}
59150extern "C" {
59151    pub fn cosf(arg1: f32) -> f32;
59152}
59153extern "C" {
59154    pub fn cosl(arg1: u128) -> u128;
59155}
59156extern "C" {
59157    pub fn cosh(arg1: f64) -> f64;
59158}
59159extern "C" {
59160    pub fn coshf(arg1: f32) -> f32;
59161}
59162extern "C" {
59163    pub fn coshl(arg1: u128) -> u128;
59164}
59165extern "C" {
59166    pub fn erf(arg1: f64) -> f64;
59167}
59168extern "C" {
59169    pub fn erff(arg1: f32) -> f32;
59170}
59171extern "C" {
59172    pub fn erfl(arg1: u128) -> u128;
59173}
59174extern "C" {
59175    pub fn erfc(arg1: f64) -> f64;
59176}
59177extern "C" {
59178    pub fn erfcf(arg1: f32) -> f32;
59179}
59180extern "C" {
59181    pub fn erfcl(arg1: u128) -> u128;
59182}
59183extern "C" {
59184    pub fn exp(arg1: f64) -> f64;
59185}
59186extern "C" {
59187    pub fn expf(arg1: f32) -> f32;
59188}
59189extern "C" {
59190    pub fn expl(arg1: u128) -> u128;
59191}
59192extern "C" {
59193    pub fn exp2(arg1: f64) -> f64;
59194}
59195extern "C" {
59196    pub fn exp2f(arg1: f32) -> f32;
59197}
59198extern "C" {
59199    pub fn exp2l(arg1: u128) -> u128;
59200}
59201extern "C" {
59202    pub fn expm1(arg1: f64) -> f64;
59203}
59204extern "C" {
59205    pub fn expm1f(arg1: f32) -> f32;
59206}
59207extern "C" {
59208    pub fn expm1l(arg1: u128) -> u128;
59209}
59210extern "C" {
59211    pub fn fabs(arg1: f64) -> f64;
59212}
59213extern "C" {
59214    pub fn fabsf(arg1: f32) -> f32;
59215}
59216extern "C" {
59217    pub fn fabsl(arg1: u128) -> u128;
59218}
59219extern "C" {
59220    pub fn fdim(arg1: f64, arg2: f64) -> f64;
59221}
59222extern "C" {
59223    pub fn fdimf(arg1: f32, arg2: f32) -> f32;
59224}
59225extern "C" {
59226    pub fn fdiml(arg1: u128, arg2: u128) -> u128;
59227}
59228extern "C" {
59229    pub fn floor(arg1: f64) -> f64;
59230}
59231extern "C" {
59232    pub fn floorf(arg1: f32) -> f32;
59233}
59234extern "C" {
59235    pub fn floorl(arg1: u128) -> u128;
59236}
59237extern "C" {
59238    pub fn fma(arg1: f64, arg2: f64, arg3: f64) -> f64;
59239}
59240extern "C" {
59241    pub fn fmaf(arg1: f32, arg2: f32, arg3: f32) -> f32;
59242}
59243extern "C" {
59244    pub fn fmal(arg1: u128, arg2: u128, arg3: u128) -> u128;
59245}
59246extern "C" {
59247    pub fn fmax(arg1: f64, arg2: f64) -> f64;
59248}
59249extern "C" {
59250    pub fn fmaxf(arg1: f32, arg2: f32) -> f32;
59251}
59252extern "C" {
59253    pub fn fmaxl(arg1: u128, arg2: u128) -> u128;
59254}
59255extern "C" {
59256    pub fn fmin(arg1: f64, arg2: f64) -> f64;
59257}
59258extern "C" {
59259    pub fn fminf(arg1: f32, arg2: f32) -> f32;
59260}
59261extern "C" {
59262    pub fn fminl(arg1: u128, arg2: u128) -> u128;
59263}
59264extern "C" {
59265    pub fn fmod(arg1: f64, arg2: f64) -> f64;
59266}
59267extern "C" {
59268    pub fn fmodf(arg1: f32, arg2: f32) -> f32;
59269}
59270extern "C" {
59271    pub fn fmodl(arg1: u128, arg2: u128) -> u128;
59272}
59273extern "C" {
59274    pub fn frexp(arg1: f64, arg2: *mut ::std::os::raw::c_int) -> f64;
59275}
59276extern "C" {
59277    pub fn frexpf(arg1: f32, arg2: *mut ::std::os::raw::c_int) -> f32;
59278}
59279extern "C" {
59280    pub fn frexpl(arg1: u128, arg2: *mut ::std::os::raw::c_int) -> u128;
59281}
59282extern "C" {
59283    pub fn hypot(arg1: f64, arg2: f64) -> f64;
59284}
59285extern "C" {
59286    pub fn hypotf(arg1: f32, arg2: f32) -> f32;
59287}
59288extern "C" {
59289    pub fn hypotl(arg1: u128, arg2: u128) -> u128;
59290}
59291extern "C" {
59292    pub fn ilogb(arg1: f64) -> ::std::os::raw::c_int;
59293}
59294extern "C" {
59295    pub fn ilogbf(arg1: f32) -> ::std::os::raw::c_int;
59296}
59297extern "C" {
59298    pub fn ilogbl(arg1: u128) -> ::std::os::raw::c_int;
59299}
59300extern "C" {
59301    pub fn ldexp(arg1: f64, arg2: ::std::os::raw::c_int) -> f64;
59302}
59303extern "C" {
59304    pub fn ldexpf(arg1: f32, arg2: ::std::os::raw::c_int) -> f32;
59305}
59306extern "C" {
59307    pub fn ldexpl(arg1: u128, arg2: ::std::os::raw::c_int) -> u128;
59308}
59309extern "C" {
59310    pub fn lgamma(arg1: f64) -> f64;
59311}
59312extern "C" {
59313    pub fn lgammaf(arg1: f32) -> f32;
59314}
59315extern "C" {
59316    pub fn lgammal(arg1: u128) -> u128;
59317}
59318extern "C" {
59319    pub fn llrint(arg1: f64) -> ::std::os::raw::c_longlong;
59320}
59321extern "C" {
59322    pub fn llrintf(arg1: f32) -> ::std::os::raw::c_longlong;
59323}
59324extern "C" {
59325    pub fn llrintl(arg1: u128) -> ::std::os::raw::c_longlong;
59326}
59327extern "C" {
59328    pub fn llround(arg1: f64) -> ::std::os::raw::c_longlong;
59329}
59330extern "C" {
59331    pub fn llroundf(arg1: f32) -> ::std::os::raw::c_longlong;
59332}
59333extern "C" {
59334    pub fn llroundl(arg1: u128) -> ::std::os::raw::c_longlong;
59335}
59336extern "C" {
59337    pub fn log(arg1: f64) -> f64;
59338}
59339extern "C" {
59340    pub fn logf(arg1: f32) -> f32;
59341}
59342extern "C" {
59343    pub fn logl(arg1: u128) -> u128;
59344}
59345extern "C" {
59346    pub fn log10(arg1: f64) -> f64;
59347}
59348extern "C" {
59349    pub fn log10f(arg1: f32) -> f32;
59350}
59351extern "C" {
59352    pub fn log10l(arg1: u128) -> u128;
59353}
59354extern "C" {
59355    pub fn log1p(arg1: f64) -> f64;
59356}
59357extern "C" {
59358    pub fn log1pf(arg1: f32) -> f32;
59359}
59360extern "C" {
59361    pub fn log1pl(arg1: u128) -> u128;
59362}
59363extern "C" {
59364    pub fn log2(arg1: f64) -> f64;
59365}
59366extern "C" {
59367    pub fn log2f(arg1: f32) -> f32;
59368}
59369extern "C" {
59370    pub fn log2l(arg1: u128) -> u128;
59371}
59372extern "C" {
59373    pub fn logb(arg1: f64) -> f64;
59374}
59375extern "C" {
59376    pub fn logbf(arg1: f32) -> f32;
59377}
59378extern "C" {
59379    pub fn logbl(arg1: u128) -> u128;
59380}
59381extern "C" {
59382    pub fn lrint(arg1: f64) -> ::std::os::raw::c_long;
59383}
59384extern "C" {
59385    pub fn lrintf(arg1: f32) -> ::std::os::raw::c_long;
59386}
59387extern "C" {
59388    pub fn lrintl(arg1: u128) -> ::std::os::raw::c_long;
59389}
59390extern "C" {
59391    pub fn lround(arg1: f64) -> ::std::os::raw::c_long;
59392}
59393extern "C" {
59394    pub fn lroundf(arg1: f32) -> ::std::os::raw::c_long;
59395}
59396extern "C" {
59397    pub fn lroundl(arg1: u128) -> ::std::os::raw::c_long;
59398}
59399extern "C" {
59400    pub fn modf(arg1: f64, arg2: *mut f64) -> f64;
59401}
59402extern "C" {
59403    pub fn modff(arg1: f32, arg2: *mut f32) -> f32;
59404}
59405extern "C" {
59406    pub fn modfl(arg1: u128, arg2: *mut u128) -> u128;
59407}
59408extern "C" {
59409    pub fn nan(arg1: *const ::std::os::raw::c_char) -> f64;
59410}
59411extern "C" {
59412    pub fn nanf(arg1: *const ::std::os::raw::c_char) -> f32;
59413}
59414extern "C" {
59415    pub fn nanl(arg1: *const ::std::os::raw::c_char) -> u128;
59416}
59417extern "C" {
59418    pub fn nearbyint(arg1: f64) -> f64;
59419}
59420extern "C" {
59421    pub fn nearbyintf(arg1: f32) -> f32;
59422}
59423extern "C" {
59424    pub fn nearbyintl(arg1: u128) -> u128;
59425}
59426extern "C" {
59427    pub fn nextafter(arg1: f64, arg2: f64) -> f64;
59428}
59429extern "C" {
59430    pub fn nextafterf(arg1: f32, arg2: f32) -> f32;
59431}
59432extern "C" {
59433    pub fn nextafterl(arg1: u128, arg2: u128) -> u128;
59434}
59435extern "C" {
59436    pub fn nexttoward(arg1: f64, arg2: u128) -> f64;
59437}
59438extern "C" {
59439    pub fn nexttowardf(arg1: f32, arg2: u128) -> f32;
59440}
59441extern "C" {
59442    pub fn nexttowardl(arg1: u128, arg2: u128) -> u128;
59443}
59444extern "C" {
59445    pub fn pow(arg1: f64, arg2: f64) -> f64;
59446}
59447extern "C" {
59448    pub fn powf(arg1: f32, arg2: f32) -> f32;
59449}
59450extern "C" {
59451    pub fn powl(arg1: u128, arg2: u128) -> u128;
59452}
59453extern "C" {
59454    pub fn remainder(arg1: f64, arg2: f64) -> f64;
59455}
59456extern "C" {
59457    pub fn remainderf(arg1: f32, arg2: f32) -> f32;
59458}
59459extern "C" {
59460    pub fn remainderl(arg1: u128, arg2: u128) -> u128;
59461}
59462extern "C" {
59463    pub fn remquo(arg1: f64, arg2: f64, arg3: *mut ::std::os::raw::c_int) -> f64;
59464}
59465extern "C" {
59466    pub fn remquof(arg1: f32, arg2: f32, arg3: *mut ::std::os::raw::c_int) -> f32;
59467}
59468extern "C" {
59469    pub fn remquol(arg1: u128, arg2: u128, arg3: *mut ::std::os::raw::c_int) -> u128;
59470}
59471extern "C" {
59472    pub fn rint(arg1: f64) -> f64;
59473}
59474extern "C" {
59475    pub fn rintf(arg1: f32) -> f32;
59476}
59477extern "C" {
59478    pub fn rintl(arg1: u128) -> u128;
59479}
59480extern "C" {
59481    pub fn round(arg1: f64) -> f64;
59482}
59483extern "C" {
59484    pub fn roundf(arg1: f32) -> f32;
59485}
59486extern "C" {
59487    pub fn roundl(arg1: u128) -> u128;
59488}
59489extern "C" {
59490    pub fn scalbln(arg1: f64, arg2: ::std::os::raw::c_long) -> f64;
59491}
59492extern "C" {
59493    pub fn scalblnf(arg1: f32, arg2: ::std::os::raw::c_long) -> f32;
59494}
59495extern "C" {
59496    pub fn scalblnl(arg1: u128, arg2: ::std::os::raw::c_long) -> u128;
59497}
59498extern "C" {
59499    pub fn scalbn(arg1: f64, arg2: ::std::os::raw::c_int) -> f64;
59500}
59501extern "C" {
59502    pub fn scalbnf(arg1: f32, arg2: ::std::os::raw::c_int) -> f32;
59503}
59504extern "C" {
59505    pub fn scalbnl(arg1: u128, arg2: ::std::os::raw::c_int) -> u128;
59506}
59507extern "C" {
59508    pub fn sin(arg1: f64) -> f64;
59509}
59510extern "C" {
59511    pub fn sinf(arg1: f32) -> f32;
59512}
59513extern "C" {
59514    pub fn sinl(arg1: u128) -> u128;
59515}
59516extern "C" {
59517    pub fn sinh(arg1: f64) -> f64;
59518}
59519extern "C" {
59520    pub fn sinhf(arg1: f32) -> f32;
59521}
59522extern "C" {
59523    pub fn sinhl(arg1: u128) -> u128;
59524}
59525extern "C" {
59526    pub fn sqrt(arg1: f64) -> f64;
59527}
59528extern "C" {
59529    pub fn sqrtf(arg1: f32) -> f32;
59530}
59531extern "C" {
59532    pub fn sqrtl(arg1: u128) -> u128;
59533}
59534extern "C" {
59535    pub fn tan(arg1: f64) -> f64;
59536}
59537extern "C" {
59538    pub fn tanf(arg1: f32) -> f32;
59539}
59540extern "C" {
59541    pub fn tanl(arg1: u128) -> u128;
59542}
59543extern "C" {
59544    pub fn tanh(arg1: f64) -> f64;
59545}
59546extern "C" {
59547    pub fn tanhf(arg1: f32) -> f32;
59548}
59549extern "C" {
59550    pub fn tanhl(arg1: u128) -> u128;
59551}
59552extern "C" {
59553    pub fn tgamma(arg1: f64) -> f64;
59554}
59555extern "C" {
59556    pub fn tgammaf(arg1: f32) -> f32;
59557}
59558extern "C" {
59559    pub fn tgammal(arg1: u128) -> u128;
59560}
59561extern "C" {
59562    pub fn trunc(arg1: f64) -> f64;
59563}
59564extern "C" {
59565    pub fn truncf(arg1: f32) -> f32;
59566}
59567extern "C" {
59568    pub fn truncl(arg1: u128) -> u128;
59569}
59570extern "C" {
59571    pub static mut signgam: ::std::os::raw::c_int;
59572}
59573extern "C" {
59574    pub fn j0(arg1: f64) -> f64;
59575}
59576extern "C" {
59577    pub fn j1(arg1: f64) -> f64;
59578}
59579extern "C" {
59580    pub fn jn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
59581}
59582extern "C" {
59583    pub fn y0(arg1: f64) -> f64;
59584}
59585extern "C" {
59586    pub fn y1(arg1: f64) -> f64;
59587}
59588extern "C" {
59589    pub fn yn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
59590}
59591extern "C" {
59592    pub fn drem(arg1: f64, arg2: f64) -> f64;
59593}
59594extern "C" {
59595    pub fn dremf(arg1: f32, arg2: f32) -> f32;
59596}
59597extern "C" {
59598    pub fn finite(arg1: f64) -> ::std::os::raw::c_int;
59599}
59600extern "C" {
59601    pub fn finitef(arg1: f32) -> ::std::os::raw::c_int;
59602}
59603extern "C" {
59604    pub fn scalb(arg1: f64, arg2: f64) -> f64;
59605}
59606extern "C" {
59607    pub fn scalbf(arg1: f32, arg2: f32) -> f32;
59608}
59609extern "C" {
59610    pub fn significand(arg1: f64) -> f64;
59611}
59612extern "C" {
59613    pub fn significandf(arg1: f32) -> f32;
59614}
59615extern "C" {
59616    pub fn lgamma_r(arg1: f64, arg2: *mut ::std::os::raw::c_int) -> f64;
59617}
59618extern "C" {
59619    pub fn lgammaf_r(arg1: f32, arg2: *mut ::std::os::raw::c_int) -> f32;
59620}
59621extern "C" {
59622    pub fn j0f(arg1: f32) -> f32;
59623}
59624extern "C" {
59625    pub fn j1f(arg1: f32) -> f32;
59626}
59627extern "C" {
59628    pub fn jnf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
59629}
59630extern "C" {
59631    pub fn y0f(arg1: f32) -> f32;
59632}
59633extern "C" {
59634    pub fn y1f(arg1: f32) -> f32;
59635}
59636extern "C" {
59637    pub fn ynf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
59638}
59639extern "C" {
59640    pub fn vips_enum_string(
59641        enm: GType,
59642        value: ::std::os::raw::c_int,
59643    ) -> *const ::std::os::raw::c_char;
59644}
59645extern "C" {
59646    pub fn vips_enum_nick(
59647        enm: GType,
59648        value: ::std::os::raw::c_int,
59649    ) -> *const ::std::os::raw::c_char;
59650}
59651extern "C" {
59652    pub fn vips_enum_from_nick(
59653        domain: *const ::std::os::raw::c_char,
59654        type_: GType,
59655        str_: *const ::std::os::raw::c_char,
59656    ) -> ::std::os::raw::c_int;
59657}
59658extern "C" {
59659    pub fn vips_flags_from_nick(
59660        domain: *const ::std::os::raw::c_char,
59661        type_: GType,
59662        nick: *const ::std::os::raw::c_char,
59663    ) -> ::std::os::raw::c_int;
59664}
59665extern "C" {
59666    pub fn vips_slist_equal(l1: *mut GSList, l2: *mut GSList) -> gboolean;
59667}
59668extern "C" {
59669    pub fn vips_slist_map2(
59670        list: *mut GSList,
59671        fn_: VipsSListMap2Fn,
59672        a: *mut ::std::os::raw::c_void,
59673        b: *mut ::std::os::raw::c_void,
59674    ) -> *mut ::std::os::raw::c_void;
59675}
59676extern "C" {
59677    pub fn vips_slist_map2_rev(
59678        list: *mut GSList,
59679        fn_: VipsSListMap2Fn,
59680        a: *mut ::std::os::raw::c_void,
59681        b: *mut ::std::os::raw::c_void,
59682    ) -> *mut ::std::os::raw::c_void;
59683}
59684extern "C" {
59685    pub fn vips_slist_map4(
59686        list: *mut GSList,
59687        fn_: VipsSListMap4Fn,
59688        a: *mut ::std::os::raw::c_void,
59689        b: *mut ::std::os::raw::c_void,
59690        c: *mut ::std::os::raw::c_void,
59691        d: *mut ::std::os::raw::c_void,
59692    ) -> *mut ::std::os::raw::c_void;
59693}
59694extern "C" {
59695    pub fn vips_slist_fold2(
59696        list: *mut GSList,
59697        start: *mut ::std::os::raw::c_void,
59698        fn_: VipsSListFold2Fn,
59699        a: *mut ::std::os::raw::c_void,
59700        b: *mut ::std::os::raw::c_void,
59701    ) -> *mut ::std::os::raw::c_void;
59702}
59703extern "C" {
59704    pub fn vips_slist_filter(
59705        list: *mut GSList,
59706        fn_: VipsSListMap2Fn,
59707        a: *mut ::std::os::raw::c_void,
59708        b: *mut ::std::os::raw::c_void,
59709    ) -> *mut GSList;
59710}
59711extern "C" {
59712    pub fn vips_slist_free_all(list: *mut GSList);
59713}
59714extern "C" {
59715    pub fn vips_map_equal(
59716        a: *mut ::std::os::raw::c_void,
59717        b: *mut ::std::os::raw::c_void,
59718    ) -> *mut ::std::os::raw::c_void;
59719}
59720extern "C" {
59721    pub fn vips_hash_table_map(
59722        hash: *mut GHashTable,
59723        fn_: VipsSListMap2Fn,
59724        a: *mut ::std::os::raw::c_void,
59725        b: *mut ::std::os::raw::c_void,
59726    ) -> *mut ::std::os::raw::c_void;
59727}
59728extern "C" {
59729    pub fn vips_strncpy(
59730        dest: *mut ::std::os::raw::c_char,
59731        src: *const ::std::os::raw::c_char,
59732        n: ::std::os::raw::c_int,
59733    ) -> *mut ::std::os::raw::c_char;
59734}
59735extern "C" {
59736    pub fn vips_strrstr(
59737        haystack: *const ::std::os::raw::c_char,
59738        needle: *const ::std::os::raw::c_char,
59739    ) -> *mut ::std::os::raw::c_char;
59740}
59741extern "C" {
59742    pub fn vips_ispostfix(
59743        a: *const ::std::os::raw::c_char,
59744        b: *const ::std::os::raw::c_char,
59745    ) -> gboolean;
59746}
59747extern "C" {
59748    pub fn vips_iscasepostfix(
59749        a: *const ::std::os::raw::c_char,
59750        b: *const ::std::os::raw::c_char,
59751    ) -> gboolean;
59752}
59753extern "C" {
59754    pub fn vips_isprefix(
59755        a: *const ::std::os::raw::c_char,
59756        b: *const ::std::os::raw::c_char,
59757    ) -> gboolean;
59758}
59759extern "C" {
59760    pub fn vips_break_token(
59761        str_: *mut ::std::os::raw::c_char,
59762        brk: *const ::std::os::raw::c_char,
59763    ) -> *mut ::std::os::raw::c_char;
59764}
59765extern "C" {
59766    pub fn vips__chomp(str_: *mut ::std::os::raw::c_char);
59767}
59768extern "C" {
59769    pub fn vips_vsnprintf(
59770        str_: *mut ::std::os::raw::c_char,
59771        size: size_t,
59772        format: *const ::std::os::raw::c_char,
59773        ap: va_list,
59774    ) -> ::std::os::raw::c_int;
59775}
59776extern "C" {
59777    pub fn vips_snprintf(
59778        str_: *mut ::std::os::raw::c_char,
59779        size: size_t,
59780        format: *const ::std::os::raw::c_char,
59781        ...
59782    ) -> ::std::os::raw::c_int;
59783}
59784extern "C" {
59785    pub fn vips_filename_suffix_match(
59786        path: *const ::std::os::raw::c_char,
59787        suffixes: *mut *const ::std::os::raw::c_char,
59788    ) -> ::std::os::raw::c_int;
59789}
59790extern "C" {
59791    pub fn vips_file_length(fd: ::std::os::raw::c_int) -> gint64;
59792}
59793extern "C" {
59794    pub fn vips__write(
59795        fd: ::std::os::raw::c_int,
59796        buf: *const ::std::os::raw::c_void,
59797        count: size_t,
59798    ) -> ::std::os::raw::c_int;
59799}
59800extern "C" {
59801    pub fn vips__open(
59802        filename: *const ::std::os::raw::c_char,
59803        flags: ::std::os::raw::c_int,
59804        mode: ::std::os::raw::c_int,
59805    ) -> ::std::os::raw::c_int;
59806}
59807extern "C" {
59808    pub fn vips__open_read(filename: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
59809}
59810extern "C" {
59811    pub fn vips__fopen(
59812        filename: *const ::std::os::raw::c_char,
59813        mode: *const ::std::os::raw::c_char,
59814    ) -> *mut FILE;
59815}
59816extern "C" {
59817    pub fn vips__file_open_read(
59818        filename: *const ::std::os::raw::c_char,
59819        fallback_dir: *const ::std::os::raw::c_char,
59820        text_mode: gboolean,
59821    ) -> *mut FILE;
59822}
59823extern "C" {
59824    pub fn vips__file_open_write(
59825        filename: *const ::std::os::raw::c_char,
59826        text_mode: gboolean,
59827    ) -> *mut FILE;
59828}
59829extern "C" {
59830    pub fn vips__file_read(
59831        fp: *mut FILE,
59832        name: *const ::std::os::raw::c_char,
59833        length_out: *mut size_t,
59834    ) -> *mut ::std::os::raw::c_char;
59835}
59836extern "C" {
59837    pub fn vips__file_read_name(
59838        name: *const ::std::os::raw::c_char,
59839        fallback_dir: *const ::std::os::raw::c_char,
59840        length_out: *mut size_t,
59841    ) -> *mut ::std::os::raw::c_char;
59842}
59843extern "C" {
59844    pub fn vips__file_write(
59845        data: *mut ::std::os::raw::c_void,
59846        size: size_t,
59847        nmemb: size_t,
59848        stream: *mut FILE,
59849    ) -> ::std::os::raw::c_int;
59850}
59851extern "C" {
59852    pub fn vips__get_bytes(
59853        filename: *const ::std::os::raw::c_char,
59854        buf: *mut ::std::os::raw::c_uchar,
59855        len: gint64,
59856    ) -> gint64;
59857}
59858extern "C" {
59859    pub fn vips__fgetc(fp: *mut FILE) -> ::std::os::raw::c_int;
59860}
59861extern "C" {
59862    pub fn vips__gvalue_ref_string_new(text: *const ::std::os::raw::c_char) -> *mut GValue;
59863}
59864extern "C" {
59865    pub fn vips__gslist_gvalue_free(list: *mut GSList);
59866}
59867extern "C" {
59868    pub fn vips__gslist_gvalue_copy(list: *const GSList) -> *mut GSList;
59869}
59870extern "C" {
59871    pub fn vips__gslist_gvalue_merge(a: *mut GSList, b: *const GSList) -> *mut GSList;
59872}
59873extern "C" {
59874    pub fn vips__gslist_gvalue_get(list: *const GSList) -> *mut ::std::os::raw::c_char;
59875}
59876extern "C" {
59877    pub fn vips__seek_no_error(
59878        fd: ::std::os::raw::c_int,
59879        pos: gint64,
59880        whence: ::std::os::raw::c_int,
59881    ) -> gint64;
59882}
59883extern "C" {
59884    pub fn vips__seek(
59885        fd: ::std::os::raw::c_int,
59886        pos: gint64,
59887        whence: ::std::os::raw::c_int,
59888    ) -> gint64;
59889}
59890extern "C" {
59891    pub fn vips__ftruncate(fd: ::std::os::raw::c_int, pos: gint64) -> ::std::os::raw::c_int;
59892}
59893extern "C" {
59894    pub fn vips_existsf(name: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
59895}
59896extern "C" {
59897    pub fn vips_isdirf(name: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
59898}
59899extern "C" {
59900    pub fn vips_mkdirf(name: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
59901}
59902extern "C" {
59903    pub fn vips_rmdirf(name: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
59904}
59905extern "C" {
59906    pub fn vips_rename(
59907        old_name: *const ::std::os::raw::c_char,
59908        new_name: *const ::std::os::raw::c_char,
59909    ) -> ::std::os::raw::c_int;
59910}
59911pub const VipsToken_VIPS_TOKEN_LEFT: VipsToken = 1;
59912pub const VipsToken_VIPS_TOKEN_RIGHT: VipsToken = 2;
59913pub const VipsToken_VIPS_TOKEN_STRING: VipsToken = 3;
59914pub const VipsToken_VIPS_TOKEN_EQUALS: VipsToken = 4;
59915pub const VipsToken_VIPS_TOKEN_COMMA: VipsToken = 5;
59916pub type VipsToken = ::std::os::raw::c_uint;
59917extern "C" {
59918    pub fn vips__token_get(
59919        buffer: *const ::std::os::raw::c_char,
59920        token: *mut VipsToken,
59921        string: *mut ::std::os::raw::c_char,
59922        size: ::std::os::raw::c_int,
59923    ) -> *const ::std::os::raw::c_char;
59924}
59925extern "C" {
59926    pub fn vips__token_must(
59927        buffer: *const ::std::os::raw::c_char,
59928        token: *mut VipsToken,
59929        string: *mut ::std::os::raw::c_char,
59930        size: ::std::os::raw::c_int,
59931    ) -> *const ::std::os::raw::c_char;
59932}
59933extern "C" {
59934    pub fn vips__token_need(
59935        buffer: *const ::std::os::raw::c_char,
59936        need_token: VipsToken,
59937        string: *mut ::std::os::raw::c_char,
59938        size: ::std::os::raw::c_int,
59939    ) -> *const ::std::os::raw::c_char;
59940}
59941extern "C" {
59942    pub fn vips__token_segment(
59943        p: *const ::std::os::raw::c_char,
59944        token: *mut VipsToken,
59945        string: *mut ::std::os::raw::c_char,
59946        size: ::std::os::raw::c_int,
59947    ) -> *const ::std::os::raw::c_char;
59948}
59949extern "C" {
59950    pub fn vips__token_segment_need(
59951        p: *const ::std::os::raw::c_char,
59952        need_token: VipsToken,
59953        string: *mut ::std::os::raw::c_char,
59954        size: ::std::os::raw::c_int,
59955    ) -> *const ::std::os::raw::c_char;
59956}
59957extern "C" {
59958    pub fn vips__find_rightmost_brackets(
59959        p: *const ::std::os::raw::c_char,
59960    ) -> *const ::std::os::raw::c_char;
59961}
59962extern "C" {
59963    pub fn vips__filename_split8(
59964        name: *const ::std::os::raw::c_char,
59965        filename: *mut ::std::os::raw::c_char,
59966        option_string: *mut ::std::os::raw::c_char,
59967    );
59968}
59969extern "C" {
59970    pub fn vips_ispoweroftwo(p: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
59971}
59972extern "C" {
59973    pub fn vips_amiMSBfirst() -> ::std::os::raw::c_int;
59974}
59975extern "C" {
59976    pub fn vips__temp_name(format: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
59977}
59978extern "C" {
59979    pub fn vips__change_suffix(
59980        name: *const ::std::os::raw::c_char,
59981        out: *mut ::std::os::raw::c_char,
59982        mx: ::std::os::raw::c_int,
59983        new_suff: *const ::std::os::raw::c_char,
59984        olds: *mut *const ::std::os::raw::c_char,
59985        nolds: ::std::os::raw::c_int,
59986    );
59987}
59988extern "C" {
59989    pub fn vips_realpath(path: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
59990}
59991extern "C" {
59992    pub fn vips__random(seed: guint32) -> guint32;
59993}
59994extern "C" {
59995    pub fn vips__random_add(seed: guint32, value: ::std::os::raw::c_int) -> guint32;
59996}
59997extern "C" {
59998    pub fn vips__icc_dir() -> *const ::std::os::raw::c_char;
59999}
60000extern "C" {
60001    pub fn vips__windows_prefix() -> *const ::std::os::raw::c_char;
60002}
60003extern "C" {
60004    pub fn vips__get_iso8601() -> *mut ::std::os::raw::c_char;
60005}
60006extern "C" {
60007    pub fn vips_strtod(str_: *const ::std::os::raw::c_char, out: *mut f64)
60008        -> ::std::os::raw::c_int;
60009}
60010pub type VipsObject = _VipsObject;
60011pub type VipsObjectClass = _VipsObjectClass;
60012pub const VipsArgumentFlags_VIPS_ARGUMENT_NONE: VipsArgumentFlags = 0;
60013pub const VipsArgumentFlags_VIPS_ARGUMENT_REQUIRED: VipsArgumentFlags = 1;
60014pub const VipsArgumentFlags_VIPS_ARGUMENT_CONSTRUCT: VipsArgumentFlags = 2;
60015pub const VipsArgumentFlags_VIPS_ARGUMENT_SET_ONCE: VipsArgumentFlags = 4;
60016pub const VipsArgumentFlags_VIPS_ARGUMENT_SET_ALWAYS: VipsArgumentFlags = 8;
60017pub const VipsArgumentFlags_VIPS_ARGUMENT_INPUT: VipsArgumentFlags = 16;
60018pub const VipsArgumentFlags_VIPS_ARGUMENT_OUTPUT: VipsArgumentFlags = 32;
60019pub const VipsArgumentFlags_VIPS_ARGUMENT_DEPRECATED: VipsArgumentFlags = 64;
60020pub const VipsArgumentFlags_VIPS_ARGUMENT_MODIFY: VipsArgumentFlags = 128;
60021pub const VipsArgumentFlags_VIPS_ARGUMENT_NON_HASHABLE: VipsArgumentFlags = 256;
60022pub type VipsArgumentFlags = ::std::os::raw::c_uint;
60023#[repr(C)]
60024#[derive(Debug, Copy, Clone, PartialEq, Eq)]
60025pub struct _VipsArgument {
60026    pub pspec: *mut GParamSpec,
60027}
60028#[test]
60029fn bindgen_test_layout__VipsArgument() {
60030    const UNINIT: ::std::mem::MaybeUninit<_VipsArgument> = ::std::mem::MaybeUninit::uninit();
60031    let ptr = UNINIT.as_ptr();
60032    assert_eq!(
60033        ::std::mem::size_of::<_VipsArgument>(),
60034        8usize,
60035        concat!("Size of: ", stringify!(_VipsArgument))
60036    );
60037    assert_eq!(
60038        ::std::mem::align_of::<_VipsArgument>(),
60039        8usize,
60040        concat!("Alignment of ", stringify!(_VipsArgument))
60041    );
60042    assert_eq!(
60043        unsafe { ::std::ptr::addr_of!((*ptr).pspec) as usize - ptr as usize },
60044        0usize,
60045        concat!(
60046            "Offset of field: ",
60047            stringify!(_VipsArgument),
60048            "::",
60049            stringify!(pspec)
60050        )
60051    );
60052}
60053pub type VipsArgument = _VipsArgument;
60054#[repr(C)]
60055#[derive(Debug, Copy, Clone, PartialEq, Eq)]
60056pub struct _VipsArgumentClass {
60057    pub parent: VipsArgument,
60058    pub object_class: *mut VipsObjectClass,
60059    pub flags: VipsArgumentFlags,
60060    pub priority: ::std::os::raw::c_int,
60061    pub offset: guint,
60062}
60063#[test]
60064fn bindgen_test_layout__VipsArgumentClass() {
60065    const UNINIT: ::std::mem::MaybeUninit<_VipsArgumentClass> = ::std::mem::MaybeUninit::uninit();
60066    let ptr = UNINIT.as_ptr();
60067    assert_eq!(
60068        ::std::mem::size_of::<_VipsArgumentClass>(),
60069        32usize,
60070        concat!("Size of: ", stringify!(_VipsArgumentClass))
60071    );
60072    assert_eq!(
60073        ::std::mem::align_of::<_VipsArgumentClass>(),
60074        8usize,
60075        concat!("Alignment of ", stringify!(_VipsArgumentClass))
60076    );
60077    assert_eq!(
60078        unsafe { ::std::ptr::addr_of!((*ptr).parent) as usize - ptr as usize },
60079        0usize,
60080        concat!(
60081            "Offset of field: ",
60082            stringify!(_VipsArgumentClass),
60083            "::",
60084            stringify!(parent)
60085        )
60086    );
60087    assert_eq!(
60088        unsafe { ::std::ptr::addr_of!((*ptr).object_class) as usize - ptr as usize },
60089        8usize,
60090        concat!(
60091            "Offset of field: ",
60092            stringify!(_VipsArgumentClass),
60093            "::",
60094            stringify!(object_class)
60095        )
60096    );
60097    assert_eq!(
60098        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
60099        16usize,
60100        concat!(
60101            "Offset of field: ",
60102            stringify!(_VipsArgumentClass),
60103            "::",
60104            stringify!(flags)
60105        )
60106    );
60107    assert_eq!(
60108        unsafe { ::std::ptr::addr_of!((*ptr).priority) as usize - ptr as usize },
60109        20usize,
60110        concat!(
60111            "Offset of field: ",
60112            stringify!(_VipsArgumentClass),
60113            "::",
60114            stringify!(priority)
60115        )
60116    );
60117    assert_eq!(
60118        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
60119        24usize,
60120        concat!(
60121            "Offset of field: ",
60122            stringify!(_VipsArgumentClass),
60123            "::",
60124            stringify!(offset)
60125        )
60126    );
60127}
60128pub type VipsArgumentClass = _VipsArgumentClass;
60129#[repr(C)]
60130#[derive(Debug, Copy, Clone, PartialEq, Eq)]
60131pub struct _VipsArgumentInstance {
60132    pub parent: VipsArgument,
60133    pub argument_class: *mut VipsArgumentClass,
60134    pub object: *mut VipsObject,
60135    pub assigned: gboolean,
60136    pub close_id: gulong,
60137    pub invalidate_id: gulong,
60138}
60139#[test]
60140fn bindgen_test_layout__VipsArgumentInstance() {
60141    const UNINIT: ::std::mem::MaybeUninit<_VipsArgumentInstance> =
60142        ::std::mem::MaybeUninit::uninit();
60143    let ptr = UNINIT.as_ptr();
60144    assert_eq!(
60145        ::std::mem::size_of::<_VipsArgumentInstance>(),
60146        48usize,
60147        concat!("Size of: ", stringify!(_VipsArgumentInstance))
60148    );
60149    assert_eq!(
60150        ::std::mem::align_of::<_VipsArgumentInstance>(),
60151        8usize,
60152        concat!("Alignment of ", stringify!(_VipsArgumentInstance))
60153    );
60154    assert_eq!(
60155        unsafe { ::std::ptr::addr_of!((*ptr).parent) as usize - ptr as usize },
60156        0usize,
60157        concat!(
60158            "Offset of field: ",
60159            stringify!(_VipsArgumentInstance),
60160            "::",
60161            stringify!(parent)
60162        )
60163    );
60164    assert_eq!(
60165        unsafe { ::std::ptr::addr_of!((*ptr).argument_class) as usize - ptr as usize },
60166        8usize,
60167        concat!(
60168            "Offset of field: ",
60169            stringify!(_VipsArgumentInstance),
60170            "::",
60171            stringify!(argument_class)
60172        )
60173    );
60174    assert_eq!(
60175        unsafe { ::std::ptr::addr_of!((*ptr).object) as usize - ptr as usize },
60176        16usize,
60177        concat!(
60178            "Offset of field: ",
60179            stringify!(_VipsArgumentInstance),
60180            "::",
60181            stringify!(object)
60182        )
60183    );
60184    assert_eq!(
60185        unsafe { ::std::ptr::addr_of!((*ptr).assigned) as usize - ptr as usize },
60186        24usize,
60187        concat!(
60188            "Offset of field: ",
60189            stringify!(_VipsArgumentInstance),
60190            "::",
60191            stringify!(assigned)
60192        )
60193    );
60194    assert_eq!(
60195        unsafe { ::std::ptr::addr_of!((*ptr).close_id) as usize - ptr as usize },
60196        32usize,
60197        concat!(
60198            "Offset of field: ",
60199            stringify!(_VipsArgumentInstance),
60200            "::",
60201            stringify!(close_id)
60202        )
60203    );
60204    assert_eq!(
60205        unsafe { ::std::ptr::addr_of!((*ptr).invalidate_id) as usize - ptr as usize },
60206        40usize,
60207        concat!(
60208            "Offset of field: ",
60209            stringify!(_VipsArgumentInstance),
60210            "::",
60211            stringify!(invalidate_id)
60212        )
60213    );
60214}
60215pub type VipsArgumentInstance = _VipsArgumentInstance;
60216pub type VipsArgumentTable = GHashTable;
60217extern "C" {
60218    pub fn vips_argument_get_id() -> ::std::os::raw::c_int;
60219}
60220extern "C" {
60221    pub fn vips__object_set_member(
60222        object: *mut VipsObject,
60223        pspec: *mut GParamSpec,
60224        member: *mut *mut GObject,
60225        argument: *mut GObject,
60226    );
60227}
60228pub type VipsArgumentMapFn = ::std::option::Option<
60229    unsafe extern "C" fn(
60230        object: *mut VipsObject,
60231        pspec: *mut GParamSpec,
60232        argument_class: *mut VipsArgumentClass,
60233        argument_instance: *mut VipsArgumentInstance,
60234        a: *mut ::std::os::raw::c_void,
60235        b: *mut ::std::os::raw::c_void,
60236    ) -> *mut ::std::os::raw::c_void,
60237>;
60238extern "C" {
60239    pub fn vips_argument_map(
60240        object: *mut VipsObject,
60241        fn_: VipsArgumentMapFn,
60242        a: *mut ::std::os::raw::c_void,
60243        b: *mut ::std::os::raw::c_void,
60244    ) -> *mut ::std::os::raw::c_void;
60245}
60246extern "C" {
60247    pub fn vips_object_get_args(
60248        object: *mut VipsObject,
60249        names: *mut *mut *const ::std::os::raw::c_char,
60250        flags: *mut *mut ::std::os::raw::c_int,
60251        n_args: *mut ::std::os::raw::c_int,
60252    ) -> ::std::os::raw::c_int;
60253}
60254pub type VipsArgumentClassMapFn = ::std::option::Option<
60255    unsafe extern "C" fn(
60256        object_class: *mut VipsObjectClass,
60257        pspec: *mut GParamSpec,
60258        argument_class: *mut VipsArgumentClass,
60259        a: *mut ::std::os::raw::c_void,
60260        b: *mut ::std::os::raw::c_void,
60261    ) -> *mut ::std::os::raw::c_void,
60262>;
60263extern "C" {
60264    pub fn vips_argument_class_map(
60265        object_class: *mut VipsObjectClass,
60266        fn_: VipsArgumentClassMapFn,
60267        a: *mut ::std::os::raw::c_void,
60268        b: *mut ::std::os::raw::c_void,
60269    ) -> *mut ::std::os::raw::c_void;
60270}
60271extern "C" {
60272    pub fn vips_argument_class_needsstring(argument_class: *mut VipsArgumentClass) -> gboolean;
60273}
60274extern "C" {
60275    pub fn vips_object_get_argument(
60276        object: *mut VipsObject,
60277        name: *const ::std::os::raw::c_char,
60278        pspec: *mut *mut GParamSpec,
60279        argument_class: *mut *mut VipsArgumentClass,
60280        argument_instance: *mut *mut VipsArgumentInstance,
60281    ) -> ::std::os::raw::c_int;
60282}
60283extern "C" {
60284    pub fn vips_object_argument_isset(
60285        object: *mut VipsObject,
60286        name: *const ::std::os::raw::c_char,
60287    ) -> gboolean;
60288}
60289extern "C" {
60290    pub fn vips_object_get_argument_flags(
60291        object: *mut VipsObject,
60292        name: *const ::std::os::raw::c_char,
60293    ) -> VipsArgumentFlags;
60294}
60295extern "C" {
60296    pub fn vips_object_get_argument_priority(
60297        object: *mut VipsObject,
60298        name: *const ::std::os::raw::c_char,
60299    ) -> ::std::os::raw::c_int;
60300}
60301#[repr(C)]
60302#[derive(Debug, Copy, Clone, PartialEq, Eq)]
60303pub struct _VipsObject {
60304    pub parent_instance: GObject,
60305    pub constructed: gboolean,
60306    pub static_object: gboolean,
60307    pub argument_table: *mut VipsArgumentTable,
60308    pub nickname: *mut ::std::os::raw::c_char,
60309    pub description: *mut ::std::os::raw::c_char,
60310    pub preclose: gboolean,
60311    pub close: gboolean,
60312    pub postclose: gboolean,
60313    pub local_memory: size_t,
60314}
60315#[test]
60316fn bindgen_test_layout__VipsObject() {
60317    const UNINIT: ::std::mem::MaybeUninit<_VipsObject> = ::std::mem::MaybeUninit::uninit();
60318    let ptr = UNINIT.as_ptr();
60319    assert_eq!(
60320        ::std::mem::size_of::<_VipsObject>(),
60321        80usize,
60322        concat!("Size of: ", stringify!(_VipsObject))
60323    );
60324    assert_eq!(
60325        ::std::mem::align_of::<_VipsObject>(),
60326        8usize,
60327        concat!("Alignment of ", stringify!(_VipsObject))
60328    );
60329    assert_eq!(
60330        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
60331        0usize,
60332        concat!(
60333            "Offset of field: ",
60334            stringify!(_VipsObject),
60335            "::",
60336            stringify!(parent_instance)
60337        )
60338    );
60339    assert_eq!(
60340        unsafe { ::std::ptr::addr_of!((*ptr).constructed) as usize - ptr as usize },
60341        24usize,
60342        concat!(
60343            "Offset of field: ",
60344            stringify!(_VipsObject),
60345            "::",
60346            stringify!(constructed)
60347        )
60348    );
60349    assert_eq!(
60350        unsafe { ::std::ptr::addr_of!((*ptr).static_object) as usize - ptr as usize },
60351        28usize,
60352        concat!(
60353            "Offset of field: ",
60354            stringify!(_VipsObject),
60355            "::",
60356            stringify!(static_object)
60357        )
60358    );
60359    assert_eq!(
60360        unsafe { ::std::ptr::addr_of!((*ptr).argument_table) as usize - ptr as usize },
60361        32usize,
60362        concat!(
60363            "Offset of field: ",
60364            stringify!(_VipsObject),
60365            "::",
60366            stringify!(argument_table)
60367        )
60368    );
60369    assert_eq!(
60370        unsafe { ::std::ptr::addr_of!((*ptr).nickname) as usize - ptr as usize },
60371        40usize,
60372        concat!(
60373            "Offset of field: ",
60374            stringify!(_VipsObject),
60375            "::",
60376            stringify!(nickname)
60377        )
60378    );
60379    assert_eq!(
60380        unsafe { ::std::ptr::addr_of!((*ptr).description) as usize - ptr as usize },
60381        48usize,
60382        concat!(
60383            "Offset of field: ",
60384            stringify!(_VipsObject),
60385            "::",
60386            stringify!(description)
60387        )
60388    );
60389    assert_eq!(
60390        unsafe { ::std::ptr::addr_of!((*ptr).preclose) as usize - ptr as usize },
60391        56usize,
60392        concat!(
60393            "Offset of field: ",
60394            stringify!(_VipsObject),
60395            "::",
60396            stringify!(preclose)
60397        )
60398    );
60399    assert_eq!(
60400        unsafe { ::std::ptr::addr_of!((*ptr).close) as usize - ptr as usize },
60401        60usize,
60402        concat!(
60403            "Offset of field: ",
60404            stringify!(_VipsObject),
60405            "::",
60406            stringify!(close)
60407        )
60408    );
60409    assert_eq!(
60410        unsafe { ::std::ptr::addr_of!((*ptr).postclose) as usize - ptr as usize },
60411        64usize,
60412        concat!(
60413            "Offset of field: ",
60414            stringify!(_VipsObject),
60415            "::",
60416            stringify!(postclose)
60417        )
60418    );
60419    assert_eq!(
60420        unsafe { ::std::ptr::addr_of!((*ptr).local_memory) as usize - ptr as usize },
60421        72usize,
60422        concat!(
60423            "Offset of field: ",
60424            stringify!(_VipsObject),
60425            "::",
60426            stringify!(local_memory)
60427        )
60428    );
60429}
60430#[repr(C)]
60431#[derive(Debug, Copy, Clone, PartialEq, Eq)]
60432pub struct _VipsObjectClass {
60433    pub parent_class: GObjectClass,
60434    pub build: ::std::option::Option<
60435        unsafe extern "C" fn(object: *mut VipsObject) -> ::std::os::raw::c_int,
60436    >,
60437    pub postbuild: ::std::option::Option<
60438        unsafe extern "C" fn(
60439            object: *mut VipsObject,
60440            data: *mut ::std::os::raw::c_void,
60441        ) -> ::std::os::raw::c_int,
60442    >,
60443    pub summary_class:
60444        ::std::option::Option<unsafe extern "C" fn(cls: *mut _VipsObjectClass, buf: *mut VipsBuf)>,
60445    pub summary:
60446        ::std::option::Option<unsafe extern "C" fn(object: *mut VipsObject, buf: *mut VipsBuf)>,
60447    pub dump:
60448        ::std::option::Option<unsafe extern "C" fn(object: *mut VipsObject, buf: *mut VipsBuf)>,
60449    pub sanity:
60450        ::std::option::Option<unsafe extern "C" fn(object: *mut VipsObject, buf: *mut VipsBuf)>,
60451    pub rewind: ::std::option::Option<unsafe extern "C" fn(object: *mut VipsObject)>,
60452    pub preclose: ::std::option::Option<unsafe extern "C" fn(object: *mut VipsObject)>,
60453    pub close: ::std::option::Option<unsafe extern "C" fn(object: *mut VipsObject)>,
60454    pub postclose: ::std::option::Option<unsafe extern "C" fn(object: *mut VipsObject)>,
60455    pub new_from_string: ::std::option::Option<
60456        unsafe extern "C" fn(string: *const ::std::os::raw::c_char) -> *mut VipsObject,
60457    >,
60458    pub to_string:
60459        ::std::option::Option<unsafe extern "C" fn(object: *mut VipsObject, buf: *mut VipsBuf)>,
60460    pub output_needs_arg: gboolean,
60461    pub output_to_arg: ::std::option::Option<
60462        unsafe extern "C" fn(
60463            object: *mut VipsObject,
60464            string: *const ::std::os::raw::c_char,
60465        ) -> ::std::os::raw::c_int,
60466    >,
60467    pub nickname: *const ::std::os::raw::c_char,
60468    pub description: *const ::std::os::raw::c_char,
60469    pub argument_table: *mut VipsArgumentTable,
60470    pub argument_table_traverse: *mut GSList,
60471    pub argument_table_traverse_gtype: GType,
60472    pub deprecated: gboolean,
60473    pub _vips_reserved1: ::std::option::Option<unsafe extern "C" fn()>,
60474    pub _vips_reserved2: ::std::option::Option<unsafe extern "C" fn()>,
60475    pub _vips_reserved3: ::std::option::Option<unsafe extern "C" fn()>,
60476    pub _vips_reserved4: ::std::option::Option<unsafe extern "C" fn()>,
60477}
60478#[test]
60479fn bindgen_test_layout__VipsObjectClass() {
60480    const UNINIT: ::std::mem::MaybeUninit<_VipsObjectClass> = ::std::mem::MaybeUninit::uninit();
60481    let ptr = UNINIT.as_ptr();
60482    assert_eq!(
60483        ::std::mem::size_of::<_VipsObjectClass>(),
60484        328usize,
60485        concat!("Size of: ", stringify!(_VipsObjectClass))
60486    );
60487    assert_eq!(
60488        ::std::mem::align_of::<_VipsObjectClass>(),
60489        8usize,
60490        concat!("Alignment of ", stringify!(_VipsObjectClass))
60491    );
60492    assert_eq!(
60493        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
60494        0usize,
60495        concat!(
60496            "Offset of field: ",
60497            stringify!(_VipsObjectClass),
60498            "::",
60499            stringify!(parent_class)
60500        )
60501    );
60502    assert_eq!(
60503        unsafe { ::std::ptr::addr_of!((*ptr).build) as usize - ptr as usize },
60504        136usize,
60505        concat!(
60506            "Offset of field: ",
60507            stringify!(_VipsObjectClass),
60508            "::",
60509            stringify!(build)
60510        )
60511    );
60512    assert_eq!(
60513        unsafe { ::std::ptr::addr_of!((*ptr).postbuild) as usize - ptr as usize },
60514        144usize,
60515        concat!(
60516            "Offset of field: ",
60517            stringify!(_VipsObjectClass),
60518            "::",
60519            stringify!(postbuild)
60520        )
60521    );
60522    assert_eq!(
60523        unsafe { ::std::ptr::addr_of!((*ptr).summary_class) as usize - ptr as usize },
60524        152usize,
60525        concat!(
60526            "Offset of field: ",
60527            stringify!(_VipsObjectClass),
60528            "::",
60529            stringify!(summary_class)
60530        )
60531    );
60532    assert_eq!(
60533        unsafe { ::std::ptr::addr_of!((*ptr).summary) as usize - ptr as usize },
60534        160usize,
60535        concat!(
60536            "Offset of field: ",
60537            stringify!(_VipsObjectClass),
60538            "::",
60539            stringify!(summary)
60540        )
60541    );
60542    assert_eq!(
60543        unsafe { ::std::ptr::addr_of!((*ptr).dump) as usize - ptr as usize },
60544        168usize,
60545        concat!(
60546            "Offset of field: ",
60547            stringify!(_VipsObjectClass),
60548            "::",
60549            stringify!(dump)
60550        )
60551    );
60552    assert_eq!(
60553        unsafe { ::std::ptr::addr_of!((*ptr).sanity) as usize - ptr as usize },
60554        176usize,
60555        concat!(
60556            "Offset of field: ",
60557            stringify!(_VipsObjectClass),
60558            "::",
60559            stringify!(sanity)
60560        )
60561    );
60562    assert_eq!(
60563        unsafe { ::std::ptr::addr_of!((*ptr).rewind) as usize - ptr as usize },
60564        184usize,
60565        concat!(
60566            "Offset of field: ",
60567            stringify!(_VipsObjectClass),
60568            "::",
60569            stringify!(rewind)
60570        )
60571    );
60572    assert_eq!(
60573        unsafe { ::std::ptr::addr_of!((*ptr).preclose) as usize - ptr as usize },
60574        192usize,
60575        concat!(
60576            "Offset of field: ",
60577            stringify!(_VipsObjectClass),
60578            "::",
60579            stringify!(preclose)
60580        )
60581    );
60582    assert_eq!(
60583        unsafe { ::std::ptr::addr_of!((*ptr).close) as usize - ptr as usize },
60584        200usize,
60585        concat!(
60586            "Offset of field: ",
60587            stringify!(_VipsObjectClass),
60588            "::",
60589            stringify!(close)
60590        )
60591    );
60592    assert_eq!(
60593        unsafe { ::std::ptr::addr_of!((*ptr).postclose) as usize - ptr as usize },
60594        208usize,
60595        concat!(
60596            "Offset of field: ",
60597            stringify!(_VipsObjectClass),
60598            "::",
60599            stringify!(postclose)
60600        )
60601    );
60602    assert_eq!(
60603        unsafe { ::std::ptr::addr_of!((*ptr).new_from_string) as usize - ptr as usize },
60604        216usize,
60605        concat!(
60606            "Offset of field: ",
60607            stringify!(_VipsObjectClass),
60608            "::",
60609            stringify!(new_from_string)
60610        )
60611    );
60612    assert_eq!(
60613        unsafe { ::std::ptr::addr_of!((*ptr).to_string) as usize - ptr as usize },
60614        224usize,
60615        concat!(
60616            "Offset of field: ",
60617            stringify!(_VipsObjectClass),
60618            "::",
60619            stringify!(to_string)
60620        )
60621    );
60622    assert_eq!(
60623        unsafe { ::std::ptr::addr_of!((*ptr).output_needs_arg) as usize - ptr as usize },
60624        232usize,
60625        concat!(
60626            "Offset of field: ",
60627            stringify!(_VipsObjectClass),
60628            "::",
60629            stringify!(output_needs_arg)
60630        )
60631    );
60632    assert_eq!(
60633        unsafe { ::std::ptr::addr_of!((*ptr).output_to_arg) as usize - ptr as usize },
60634        240usize,
60635        concat!(
60636            "Offset of field: ",
60637            stringify!(_VipsObjectClass),
60638            "::",
60639            stringify!(output_to_arg)
60640        )
60641    );
60642    assert_eq!(
60643        unsafe { ::std::ptr::addr_of!((*ptr).nickname) as usize - ptr as usize },
60644        248usize,
60645        concat!(
60646            "Offset of field: ",
60647            stringify!(_VipsObjectClass),
60648            "::",
60649            stringify!(nickname)
60650        )
60651    );
60652    assert_eq!(
60653        unsafe { ::std::ptr::addr_of!((*ptr).description) as usize - ptr as usize },
60654        256usize,
60655        concat!(
60656            "Offset of field: ",
60657            stringify!(_VipsObjectClass),
60658            "::",
60659            stringify!(description)
60660        )
60661    );
60662    assert_eq!(
60663        unsafe { ::std::ptr::addr_of!((*ptr).argument_table) as usize - ptr as usize },
60664        264usize,
60665        concat!(
60666            "Offset of field: ",
60667            stringify!(_VipsObjectClass),
60668            "::",
60669            stringify!(argument_table)
60670        )
60671    );
60672    assert_eq!(
60673        unsafe { ::std::ptr::addr_of!((*ptr).argument_table_traverse) as usize - ptr as usize },
60674        272usize,
60675        concat!(
60676            "Offset of field: ",
60677            stringify!(_VipsObjectClass),
60678            "::",
60679            stringify!(argument_table_traverse)
60680        )
60681    );
60682    assert_eq!(
60683        unsafe {
60684            ::std::ptr::addr_of!((*ptr).argument_table_traverse_gtype) as usize - ptr as usize
60685        },
60686        280usize,
60687        concat!(
60688            "Offset of field: ",
60689            stringify!(_VipsObjectClass),
60690            "::",
60691            stringify!(argument_table_traverse_gtype)
60692        )
60693    );
60694    assert_eq!(
60695        unsafe { ::std::ptr::addr_of!((*ptr).deprecated) as usize - ptr as usize },
60696        288usize,
60697        concat!(
60698            "Offset of field: ",
60699            stringify!(_VipsObjectClass),
60700            "::",
60701            stringify!(deprecated)
60702        )
60703    );
60704    assert_eq!(
60705        unsafe { ::std::ptr::addr_of!((*ptr)._vips_reserved1) as usize - ptr as usize },
60706        296usize,
60707        concat!(
60708            "Offset of field: ",
60709            stringify!(_VipsObjectClass),
60710            "::",
60711            stringify!(_vips_reserved1)
60712        )
60713    );
60714    assert_eq!(
60715        unsafe { ::std::ptr::addr_of!((*ptr)._vips_reserved2) as usize - ptr as usize },
60716        304usize,
60717        concat!(
60718            "Offset of field: ",
60719            stringify!(_VipsObjectClass),
60720            "::",
60721            stringify!(_vips_reserved2)
60722        )
60723    );
60724    assert_eq!(
60725        unsafe { ::std::ptr::addr_of!((*ptr)._vips_reserved3) as usize - ptr as usize },
60726        312usize,
60727        concat!(
60728            "Offset of field: ",
60729            stringify!(_VipsObjectClass),
60730            "::",
60731            stringify!(_vips_reserved3)
60732        )
60733    );
60734    assert_eq!(
60735        unsafe { ::std::ptr::addr_of!((*ptr)._vips_reserved4) as usize - ptr as usize },
60736        320usize,
60737        concat!(
60738            "Offset of field: ",
60739            stringify!(_VipsObjectClass),
60740            "::",
60741            stringify!(_vips_reserved4)
60742        )
60743    );
60744}
60745extern "C" {
60746    pub fn vips_value_is_null(psoec: *mut GParamSpec, value: *const GValue) -> gboolean;
60747}
60748extern "C" {
60749    pub fn vips_object_set_property(
60750        gobject: *mut GObject,
60751        property_id: guint,
60752        value: *const GValue,
60753        pspec: *mut GParamSpec,
60754    );
60755}
60756extern "C" {
60757    pub fn vips_object_get_property(
60758        gobject: *mut GObject,
60759        property_id: guint,
60760        value: *mut GValue,
60761        pspec: *mut GParamSpec,
60762    );
60763}
60764extern "C" {
60765    pub fn vips_object_preclose(object: *mut VipsObject);
60766}
60767extern "C" {
60768    pub fn vips_object_build(object: *mut VipsObject) -> ::std::os::raw::c_int;
60769}
60770extern "C" {
60771    pub fn vips_object_summary_class(klass: *mut VipsObjectClass, buf: *mut VipsBuf);
60772}
60773extern "C" {
60774    pub fn vips_object_summary(object: *mut VipsObject, buf: *mut VipsBuf);
60775}
60776extern "C" {
60777    pub fn vips_object_dump(object: *mut VipsObject, buf: *mut VipsBuf);
60778}
60779extern "C" {
60780    pub fn vips_object_print_summary_class(klass: *mut VipsObjectClass);
60781}
60782extern "C" {
60783    pub fn vips_object_print_summary(object: *mut VipsObject);
60784}
60785extern "C" {
60786    pub fn vips_object_print_dump(object: *mut VipsObject);
60787}
60788extern "C" {
60789    pub fn vips_object_print_name(object: *mut VipsObject);
60790}
60791extern "C" {
60792    pub fn vips_object_sanity(object: *mut VipsObject) -> gboolean;
60793}
60794extern "C" {
60795    pub fn vips_object_get_type() -> GType;
60796}
60797extern "C" {
60798    pub fn vips_object_class_install_argument(
60799        cls: *mut VipsObjectClass,
60800        pspec: *mut GParamSpec,
60801        flags: VipsArgumentFlags,
60802        priority: ::std::os::raw::c_int,
60803        offset: guint,
60804    );
60805}
60806extern "C" {
60807    pub fn vips_object_set_argument_from_string(
60808        object: *mut VipsObject,
60809        name: *const ::std::os::raw::c_char,
60810        value: *const ::std::os::raw::c_char,
60811    ) -> ::std::os::raw::c_int;
60812}
60813extern "C" {
60814    pub fn vips_object_argument_needsstring(
60815        object: *mut VipsObject,
60816        name: *const ::std::os::raw::c_char,
60817    ) -> gboolean;
60818}
60819extern "C" {
60820    pub fn vips_object_get_argument_to_string(
60821        object: *mut VipsObject,
60822        name: *const ::std::os::raw::c_char,
60823        arg: *const ::std::os::raw::c_char,
60824    ) -> ::std::os::raw::c_int;
60825}
60826extern "C" {
60827    pub fn vips_object_set_required(
60828        object: *mut VipsObject,
60829        value: *const ::std::os::raw::c_char,
60830    ) -> ::std::os::raw::c_int;
60831}
60832pub type VipsObjectSetArguments = ::std::option::Option<
60833    unsafe extern "C" fn(
60834        object: *mut VipsObject,
60835        a: *mut ::std::os::raw::c_void,
60836        b: *mut ::std::os::raw::c_void,
60837    ) -> *mut ::std::os::raw::c_void,
60838>;
60839extern "C" {
60840    pub fn vips_object_new(
60841        type_: GType,
60842        set: VipsObjectSetArguments,
60843        a: *mut ::std::os::raw::c_void,
60844        b: *mut ::std::os::raw::c_void,
60845    ) -> *mut VipsObject;
60846}
60847extern "C" {
60848    pub fn vips_object_set_valist(object: *mut VipsObject, ap: va_list) -> ::std::os::raw::c_int;
60849}
60850extern "C" {
60851    pub fn vips_object_set(object: *mut VipsObject, ...) -> ::std::os::raw::c_int;
60852}
60853extern "C" {
60854    pub fn vips_object_set_from_string(
60855        object: *mut VipsObject,
60856        string: *const ::std::os::raw::c_char,
60857    ) -> ::std::os::raw::c_int;
60858}
60859extern "C" {
60860    pub fn vips_object_new_from_string(
60861        object_class: *mut VipsObjectClass,
60862        p: *const ::std::os::raw::c_char,
60863    ) -> *mut VipsObject;
60864}
60865extern "C" {
60866    pub fn vips_object_to_string(object: *mut VipsObject, buf: *mut VipsBuf);
60867}
60868extern "C" {
60869    pub fn vips_object_map(
60870        fn_: VipsSListMap2Fn,
60871        a: *mut ::std::os::raw::c_void,
60872        b: *mut ::std::os::raw::c_void,
60873    ) -> *mut ::std::os::raw::c_void;
60874}
60875pub type VipsTypeMapFn = ::std::option::Option<
60876    unsafe extern "C" fn(
60877        type_: GType,
60878        a: *mut ::std::os::raw::c_void,
60879    ) -> *mut ::std::os::raw::c_void,
60880>;
60881pub type VipsTypeMap2Fn = ::std::option::Option<
60882    unsafe extern "C" fn(
60883        type_: GType,
60884        a: *mut ::std::os::raw::c_void,
60885        b: *mut ::std::os::raw::c_void,
60886    ) -> *mut ::std::os::raw::c_void,
60887>;
60888pub type VipsClassMapFn = ::std::option::Option<
60889    unsafe extern "C" fn(
60890        cls: *mut VipsObjectClass,
60891        a: *mut ::std::os::raw::c_void,
60892    ) -> *mut ::std::os::raw::c_void,
60893>;
60894extern "C" {
60895    pub fn vips_type_map(
60896        base: GType,
60897        fn_: VipsTypeMap2Fn,
60898        a: *mut ::std::os::raw::c_void,
60899        b: *mut ::std::os::raw::c_void,
60900    ) -> *mut ::std::os::raw::c_void;
60901}
60902extern "C" {
60903    pub fn vips_type_map_all(
60904        base: GType,
60905        fn_: VipsTypeMapFn,
60906        a: *mut ::std::os::raw::c_void,
60907    ) -> *mut ::std::os::raw::c_void;
60908}
60909extern "C" {
60910    pub fn vips_type_depth(type_: GType) -> ::std::os::raw::c_int;
60911}
60912extern "C" {
60913    pub fn vips_type_find(
60914        basename: *const ::std::os::raw::c_char,
60915        nickname: *const ::std::os::raw::c_char,
60916    ) -> GType;
60917}
60918extern "C" {
60919    pub fn vips_nickname_find(type_: GType) -> *const ::std::os::raw::c_char;
60920}
60921extern "C" {
60922    pub fn vips_class_map_all(
60923        type_: GType,
60924        fn_: VipsClassMapFn,
60925        a: *mut ::std::os::raw::c_void,
60926    ) -> *mut ::std::os::raw::c_void;
60927}
60928extern "C" {
60929    pub fn vips_class_find(
60930        basename: *const ::std::os::raw::c_char,
60931        nickname: *const ::std::os::raw::c_char,
60932    ) -> *const VipsObjectClass;
60933}
60934extern "C" {
60935    pub fn vips_object_local_array(
60936        parent: *mut VipsObject,
60937        n: ::std::os::raw::c_int,
60938    ) -> *mut *mut VipsObject;
60939}
60940extern "C" {
60941    pub fn vips_object_local_cb(vobject: *mut VipsObject, gobject: *mut GObject);
60942}
60943extern "C" {
60944    pub fn vips_object_set_static(object: *mut VipsObject, static_object: gboolean);
60945}
60946extern "C" {
60947    pub fn vips_object_print_all();
60948}
60949extern "C" {
60950    pub fn vips_object_sanity_all();
60951}
60952extern "C" {
60953    pub fn vips_object_rewind(object: *mut VipsObject);
60954}
60955extern "C" {
60956    pub fn vips_object_unref_outputs(object: *mut VipsObject);
60957}
60958extern "C" {
60959    pub fn vips_object_get_description(object: *mut VipsObject) -> *const ::std::os::raw::c_char;
60960}
60961#[repr(C)]
60962#[derive(Debug, Copy, Clone, PartialEq, Eq)]
60963pub struct _VipsThing {
60964    pub i: ::std::os::raw::c_int,
60965}
60966#[test]
60967fn bindgen_test_layout__VipsThing() {
60968    const UNINIT: ::std::mem::MaybeUninit<_VipsThing> = ::std::mem::MaybeUninit::uninit();
60969    let ptr = UNINIT.as_ptr();
60970    assert_eq!(
60971        ::std::mem::size_of::<_VipsThing>(),
60972        4usize,
60973        concat!("Size of: ", stringify!(_VipsThing))
60974    );
60975    assert_eq!(
60976        ::std::mem::align_of::<_VipsThing>(),
60977        4usize,
60978        concat!("Alignment of ", stringify!(_VipsThing))
60979    );
60980    assert_eq!(
60981        unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize },
60982        0usize,
60983        concat!(
60984            "Offset of field: ",
60985            stringify!(_VipsThing),
60986            "::",
60987            stringify!(i)
60988        )
60989    );
60990}
60991pub type VipsThing = _VipsThing;
60992extern "C" {
60993    pub fn vips_thing_get_type() -> GType;
60994}
60995extern "C" {
60996    pub fn vips_thing_new(i: ::std::os::raw::c_int) -> *mut VipsThing;
60997}
60998#[repr(C)]
60999#[derive(Debug, Copy, Clone, PartialEq, Eq)]
61000pub struct _VipsArea {
61001    pub data: *mut ::std::os::raw::c_void,
61002    pub length: size_t,
61003    pub n: ::std::os::raw::c_int,
61004    pub count: ::std::os::raw::c_int,
61005    pub lock: *mut GMutex,
61006    pub free_fn: VipsCallbackFn,
61007    pub client: *mut ::std::os::raw::c_void,
61008    pub type_: GType,
61009    pub sizeof_type: size_t,
61010}
61011#[test]
61012fn bindgen_test_layout__VipsArea() {
61013    const UNINIT: ::std::mem::MaybeUninit<_VipsArea> = ::std::mem::MaybeUninit::uninit();
61014    let ptr = UNINIT.as_ptr();
61015    assert_eq!(
61016        ::std::mem::size_of::<_VipsArea>(),
61017        64usize,
61018        concat!("Size of: ", stringify!(_VipsArea))
61019    );
61020    assert_eq!(
61021        ::std::mem::align_of::<_VipsArea>(),
61022        8usize,
61023        concat!("Alignment of ", stringify!(_VipsArea))
61024    );
61025    assert_eq!(
61026        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
61027        0usize,
61028        concat!(
61029            "Offset of field: ",
61030            stringify!(_VipsArea),
61031            "::",
61032            stringify!(data)
61033        )
61034    );
61035    assert_eq!(
61036        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
61037        8usize,
61038        concat!(
61039            "Offset of field: ",
61040            stringify!(_VipsArea),
61041            "::",
61042            stringify!(length)
61043        )
61044    );
61045    assert_eq!(
61046        unsafe { ::std::ptr::addr_of!((*ptr).n) as usize - ptr as usize },
61047        16usize,
61048        concat!(
61049            "Offset of field: ",
61050            stringify!(_VipsArea),
61051            "::",
61052            stringify!(n)
61053        )
61054    );
61055    assert_eq!(
61056        unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
61057        20usize,
61058        concat!(
61059            "Offset of field: ",
61060            stringify!(_VipsArea),
61061            "::",
61062            stringify!(count)
61063        )
61064    );
61065    assert_eq!(
61066        unsafe { ::std::ptr::addr_of!((*ptr).lock) as usize - ptr as usize },
61067        24usize,
61068        concat!(
61069            "Offset of field: ",
61070            stringify!(_VipsArea),
61071            "::",
61072            stringify!(lock)
61073        )
61074    );
61075    assert_eq!(
61076        unsafe { ::std::ptr::addr_of!((*ptr).free_fn) as usize - ptr as usize },
61077        32usize,
61078        concat!(
61079            "Offset of field: ",
61080            stringify!(_VipsArea),
61081            "::",
61082            stringify!(free_fn)
61083        )
61084    );
61085    assert_eq!(
61086        unsafe { ::std::ptr::addr_of!((*ptr).client) as usize - ptr as usize },
61087        40usize,
61088        concat!(
61089            "Offset of field: ",
61090            stringify!(_VipsArea),
61091            "::",
61092            stringify!(client)
61093        )
61094    );
61095    assert_eq!(
61096        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
61097        48usize,
61098        concat!(
61099            "Offset of field: ",
61100            stringify!(_VipsArea),
61101            "::",
61102            stringify!(type_)
61103        )
61104    );
61105    assert_eq!(
61106        unsafe { ::std::ptr::addr_of!((*ptr).sizeof_type) as usize - ptr as usize },
61107        56usize,
61108        concat!(
61109            "Offset of field: ",
61110            stringify!(_VipsArea),
61111            "::",
61112            stringify!(sizeof_type)
61113        )
61114    );
61115}
61116pub type VipsArea = _VipsArea;
61117extern "C" {
61118    pub fn vips_area_copy(area: *mut VipsArea) -> *mut VipsArea;
61119}
61120extern "C" {
61121    pub fn vips_area_free_cb(
61122        mem: *mut ::std::os::raw::c_void,
61123        area: *mut VipsArea,
61124    ) -> ::std::os::raw::c_int;
61125}
61126extern "C" {
61127    pub fn vips_area_unref(area: *mut VipsArea);
61128}
61129extern "C" {
61130    pub fn vips_area_new(
61131        free_fn: VipsCallbackFn,
61132        data: *mut ::std::os::raw::c_void,
61133    ) -> *mut VipsArea;
61134}
61135extern "C" {
61136    pub fn vips_area_new_array(
61137        type_: GType,
61138        sizeof_type: size_t,
61139        n: ::std::os::raw::c_int,
61140    ) -> *mut VipsArea;
61141}
61142extern "C" {
61143    pub fn vips_area_new_array_object(n: ::std::os::raw::c_int) -> *mut VipsArea;
61144}
61145extern "C" {
61146    pub fn vips_area_get_data(
61147        area: *mut VipsArea,
61148        length: *mut size_t,
61149        n: *mut ::std::os::raw::c_int,
61150        type_: *mut GType,
61151        sizeof_type: *mut size_t,
61152    ) -> *mut ::std::os::raw::c_void;
61153}
61154extern "C" {
61155    pub fn vips_area_get_type() -> GType;
61156}
61157extern "C" {
61158    pub fn vips_save_string_get_type() -> GType;
61159}
61160#[repr(C)]
61161#[derive(Debug, Copy, Clone, PartialEq, Eq)]
61162pub struct _VipsSaveString {
61163    pub s: *mut ::std::os::raw::c_char,
61164}
61165#[test]
61166fn bindgen_test_layout__VipsSaveString() {
61167    const UNINIT: ::std::mem::MaybeUninit<_VipsSaveString> = ::std::mem::MaybeUninit::uninit();
61168    let ptr = UNINIT.as_ptr();
61169    assert_eq!(
61170        ::std::mem::size_of::<_VipsSaveString>(),
61171        8usize,
61172        concat!("Size of: ", stringify!(_VipsSaveString))
61173    );
61174    assert_eq!(
61175        ::std::mem::align_of::<_VipsSaveString>(),
61176        8usize,
61177        concat!("Alignment of ", stringify!(_VipsSaveString))
61178    );
61179    assert_eq!(
61180        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
61181        0usize,
61182        concat!(
61183            "Offset of field: ",
61184            stringify!(_VipsSaveString),
61185            "::",
61186            stringify!(s)
61187        )
61188    );
61189}
61190pub type VipsSaveString = _VipsSaveString;
61191#[repr(C)]
61192#[derive(Debug, Copy, Clone, PartialEq, Eq)]
61193pub struct _VipsRefString {
61194    pub area: VipsArea,
61195}
61196#[test]
61197fn bindgen_test_layout__VipsRefString() {
61198    const UNINIT: ::std::mem::MaybeUninit<_VipsRefString> = ::std::mem::MaybeUninit::uninit();
61199    let ptr = UNINIT.as_ptr();
61200    assert_eq!(
61201        ::std::mem::size_of::<_VipsRefString>(),
61202        64usize,
61203        concat!("Size of: ", stringify!(_VipsRefString))
61204    );
61205    assert_eq!(
61206        ::std::mem::align_of::<_VipsRefString>(),
61207        8usize,
61208        concat!("Alignment of ", stringify!(_VipsRefString))
61209    );
61210    assert_eq!(
61211        unsafe { ::std::ptr::addr_of!((*ptr).area) as usize - ptr as usize },
61212        0usize,
61213        concat!(
61214            "Offset of field: ",
61215            stringify!(_VipsRefString),
61216            "::",
61217            stringify!(area)
61218        )
61219    );
61220}
61221pub type VipsRefString = _VipsRefString;
61222extern "C" {
61223    pub fn vips_ref_string_new(str_: *const ::std::os::raw::c_char) -> *mut VipsRefString;
61224}
61225extern "C" {
61226    pub fn vips_ref_string_get(
61227        refstr: *mut VipsRefString,
61228        length: *mut size_t,
61229    ) -> *const ::std::os::raw::c_char;
61230}
61231extern "C" {
61232    pub fn vips_ref_string_get_type() -> GType;
61233}
61234#[repr(C)]
61235#[derive(Debug, Copy, Clone, PartialEq, Eq)]
61236pub struct _VipsBlob {
61237    pub area: VipsArea,
61238}
61239#[test]
61240fn bindgen_test_layout__VipsBlob() {
61241    const UNINIT: ::std::mem::MaybeUninit<_VipsBlob> = ::std::mem::MaybeUninit::uninit();
61242    let ptr = UNINIT.as_ptr();
61243    assert_eq!(
61244        ::std::mem::size_of::<_VipsBlob>(),
61245        64usize,
61246        concat!("Size of: ", stringify!(_VipsBlob))
61247    );
61248    assert_eq!(
61249        ::std::mem::align_of::<_VipsBlob>(),
61250        8usize,
61251        concat!("Alignment of ", stringify!(_VipsBlob))
61252    );
61253    assert_eq!(
61254        unsafe { ::std::ptr::addr_of!((*ptr).area) as usize - ptr as usize },
61255        0usize,
61256        concat!(
61257            "Offset of field: ",
61258            stringify!(_VipsBlob),
61259            "::",
61260            stringify!(area)
61261        )
61262    );
61263}
61264pub type VipsBlob = _VipsBlob;
61265extern "C" {
61266    pub fn vips_blob_new(
61267        free_fn: VipsCallbackFn,
61268        data: *const ::std::os::raw::c_void,
61269        length: size_t,
61270    ) -> *mut VipsBlob;
61271}
61272extern "C" {
61273    pub fn vips_blob_copy(data: *const ::std::os::raw::c_void, length: size_t) -> *mut VipsBlob;
61274}
61275extern "C" {
61276    pub fn vips_blob_get(blob: *mut VipsBlob, length: *mut size_t)
61277        -> *const ::std::os::raw::c_void;
61278}
61279extern "C" {
61280    pub fn vips_blob_set(
61281        blob: *mut VipsBlob,
61282        free_fn: VipsCallbackFn,
61283        data: *const ::std::os::raw::c_void,
61284        length: size_t,
61285    );
61286}
61287extern "C" {
61288    pub fn vips_blob_get_type() -> GType;
61289}
61290#[repr(C)]
61291#[derive(Debug, Copy, Clone, PartialEq, Eq)]
61292pub struct _VipsArrayDouble {
61293    pub area: VipsArea,
61294}
61295#[test]
61296fn bindgen_test_layout__VipsArrayDouble() {
61297    const UNINIT: ::std::mem::MaybeUninit<_VipsArrayDouble> = ::std::mem::MaybeUninit::uninit();
61298    let ptr = UNINIT.as_ptr();
61299    assert_eq!(
61300        ::std::mem::size_of::<_VipsArrayDouble>(),
61301        64usize,
61302        concat!("Size of: ", stringify!(_VipsArrayDouble))
61303    );
61304    assert_eq!(
61305        ::std::mem::align_of::<_VipsArrayDouble>(),
61306        8usize,
61307        concat!("Alignment of ", stringify!(_VipsArrayDouble))
61308    );
61309    assert_eq!(
61310        unsafe { ::std::ptr::addr_of!((*ptr).area) as usize - ptr as usize },
61311        0usize,
61312        concat!(
61313            "Offset of field: ",
61314            stringify!(_VipsArrayDouble),
61315            "::",
61316            stringify!(area)
61317        )
61318    );
61319}
61320pub type VipsArrayDouble = _VipsArrayDouble;
61321extern "C" {
61322    pub fn vips_array_double_new(
61323        array: *const f64,
61324        n: ::std::os::raw::c_int,
61325    ) -> *mut VipsArrayDouble;
61326}
61327extern "C" {
61328    pub fn vips_array_double_newv(n: ::std::os::raw::c_int, ...) -> *mut VipsArrayDouble;
61329}
61330extern "C" {
61331    pub fn vips_array_double_get(
61332        array: *mut VipsArrayDouble,
61333        n: *mut ::std::os::raw::c_int,
61334    ) -> *mut f64;
61335}
61336extern "C" {
61337    pub fn vips_array_double_get_type() -> GType;
61338}
61339#[repr(C)]
61340#[derive(Debug, Copy, Clone, PartialEq, Eq)]
61341pub struct _VipsArrayInt {
61342    pub area: VipsArea,
61343}
61344#[test]
61345fn bindgen_test_layout__VipsArrayInt() {
61346    const UNINIT: ::std::mem::MaybeUninit<_VipsArrayInt> = ::std::mem::MaybeUninit::uninit();
61347    let ptr = UNINIT.as_ptr();
61348    assert_eq!(
61349        ::std::mem::size_of::<_VipsArrayInt>(),
61350        64usize,
61351        concat!("Size of: ", stringify!(_VipsArrayInt))
61352    );
61353    assert_eq!(
61354        ::std::mem::align_of::<_VipsArrayInt>(),
61355        8usize,
61356        concat!("Alignment of ", stringify!(_VipsArrayInt))
61357    );
61358    assert_eq!(
61359        unsafe { ::std::ptr::addr_of!((*ptr).area) as usize - ptr as usize },
61360        0usize,
61361        concat!(
61362            "Offset of field: ",
61363            stringify!(_VipsArrayInt),
61364            "::",
61365            stringify!(area)
61366        )
61367    );
61368}
61369pub type VipsArrayInt = _VipsArrayInt;
61370extern "C" {
61371    pub fn vips_array_int_new(
61372        array: *const ::std::os::raw::c_int,
61373        n: ::std::os::raw::c_int,
61374    ) -> *mut VipsArrayInt;
61375}
61376extern "C" {
61377    pub fn vips_array_int_newv(n: ::std::os::raw::c_int, ...) -> *mut VipsArrayInt;
61378}
61379extern "C" {
61380    pub fn vips_array_int_get(
61381        array: *mut VipsArrayInt,
61382        n: *mut ::std::os::raw::c_int,
61383    ) -> *mut ::std::os::raw::c_int;
61384}
61385extern "C" {
61386    pub fn vips_array_int_get_type() -> GType;
61387}
61388#[repr(C)]
61389#[derive(Debug, Copy, Clone, PartialEq, Eq)]
61390pub struct _VipsArrayImage {
61391    pub area: VipsArea,
61392}
61393#[test]
61394fn bindgen_test_layout__VipsArrayImage() {
61395    const UNINIT: ::std::mem::MaybeUninit<_VipsArrayImage> = ::std::mem::MaybeUninit::uninit();
61396    let ptr = UNINIT.as_ptr();
61397    assert_eq!(
61398        ::std::mem::size_of::<_VipsArrayImage>(),
61399        64usize,
61400        concat!("Size of: ", stringify!(_VipsArrayImage))
61401    );
61402    assert_eq!(
61403        ::std::mem::align_of::<_VipsArrayImage>(),
61404        8usize,
61405        concat!("Alignment of ", stringify!(_VipsArrayImage))
61406    );
61407    assert_eq!(
61408        unsafe { ::std::ptr::addr_of!((*ptr).area) as usize - ptr as usize },
61409        0usize,
61410        concat!(
61411            "Offset of field: ",
61412            stringify!(_VipsArrayImage),
61413            "::",
61414            stringify!(area)
61415        )
61416    );
61417}
61418pub type VipsArrayImage = _VipsArrayImage;
61419extern "C" {
61420    pub fn vips_array_image_get_type() -> GType;
61421}
61422extern "C" {
61423    pub fn vips_value_set_area(
61424        value: *mut GValue,
61425        free_fn: VipsCallbackFn,
61426        data: *mut ::std::os::raw::c_void,
61427    );
61428}
61429extern "C" {
61430    pub fn vips_value_get_area(
61431        value: *const GValue,
61432        length: *mut size_t,
61433    ) -> *mut ::std::os::raw::c_void;
61434}
61435extern "C" {
61436    pub fn vips_value_get_save_string(value: *const GValue) -> *const ::std::os::raw::c_char;
61437}
61438extern "C" {
61439    pub fn vips_value_set_save_string(value: *mut GValue, str_: *const ::std::os::raw::c_char);
61440}
61441extern "C" {
61442    pub fn vips_value_set_save_stringf(value: *mut GValue, fmt: *const ::std::os::raw::c_char, ...);
61443}
61444extern "C" {
61445    pub fn vips_value_get_ref_string(
61446        value: *const GValue,
61447        length: *mut size_t,
61448    ) -> *const ::std::os::raw::c_char;
61449}
61450extern "C" {
61451    pub fn vips_value_set_ref_string(value: *mut GValue, str_: *const ::std::os::raw::c_char);
61452}
61453extern "C" {
61454    pub fn vips_value_get_blob(
61455        value: *const GValue,
61456        length: *mut size_t,
61457    ) -> *mut ::std::os::raw::c_void;
61458}
61459extern "C" {
61460    pub fn vips_value_set_blob(
61461        value: *mut GValue,
61462        free_fn: VipsCallbackFn,
61463        data: *const ::std::os::raw::c_void,
61464        length: size_t,
61465    );
61466}
61467extern "C" {
61468    pub fn vips_value_set_blob_free(
61469        value: *mut GValue,
61470        data: *mut ::std::os::raw::c_void,
61471        length: size_t,
61472    );
61473}
61474extern "C" {
61475    pub fn vips_value_set_array(
61476        value: *mut GValue,
61477        n: ::std::os::raw::c_int,
61478        type_: GType,
61479        sizeof_type: size_t,
61480    );
61481}
61482extern "C" {
61483    pub fn vips_value_get_array(
61484        value: *const GValue,
61485        n: *mut ::std::os::raw::c_int,
61486        type_: *mut GType,
61487        sizeof_type: *mut size_t,
61488    ) -> *mut ::std::os::raw::c_void;
61489}
61490extern "C" {
61491    pub fn vips_value_get_array_double(
61492        value: *const GValue,
61493        n: *mut ::std::os::raw::c_int,
61494    ) -> *mut f64;
61495}
61496extern "C" {
61497    pub fn vips_value_set_array_double(
61498        value: *mut GValue,
61499        array: *const f64,
61500        n: ::std::os::raw::c_int,
61501    );
61502}
61503extern "C" {
61504    pub fn vips_value_get_array_int(
61505        value: *const GValue,
61506        n: *mut ::std::os::raw::c_int,
61507    ) -> *mut ::std::os::raw::c_int;
61508}
61509extern "C" {
61510    pub fn vips_value_set_array_int(
61511        value: *mut GValue,
61512        array: *const ::std::os::raw::c_int,
61513        n: ::std::os::raw::c_int,
61514    );
61515}
61516extern "C" {
61517    pub fn vips_value_get_array_object(
61518        value: *const GValue,
61519        n: *mut ::std::os::raw::c_int,
61520    ) -> *mut *mut GObject;
61521}
61522extern "C" {
61523    pub fn vips_value_set_array_object(value: *mut GValue, n: ::std::os::raw::c_int);
61524}
61525extern "C" {
61526    pub static mut vips__thread_profile: gboolean;
61527}
61528extern "C" {
61529    pub fn vips_profile_set(profile: gboolean);
61530}
61531extern "C" {
61532    pub fn vips__thread_profile_attach(thread_name: *const ::std::os::raw::c_char);
61533}
61534extern "C" {
61535    pub fn vips__thread_profile_detach();
61536}
61537extern "C" {
61538    pub fn vips__thread_profile_stop();
61539}
61540extern "C" {
61541    pub fn vips__thread_gate_start(gate_name: *const ::std::os::raw::c_char);
61542}
61543extern "C" {
61544    pub fn vips__thread_gate_stop(gate_name: *const ::std::os::raw::c_char);
61545}
61546extern "C" {
61547    pub fn vips__thread_malloc_free(size: gint64);
61548}
61549#[repr(C)]
61550#[derive(Debug, Copy, Clone, PartialEq, Eq)]
61551pub struct _VipsConnection {
61552    pub parent_object: VipsObject,
61553    pub descriptor: ::std::os::raw::c_int,
61554    pub tracked_descriptor: ::std::os::raw::c_int,
61555    pub close_descriptor: ::std::os::raw::c_int,
61556    pub filename: *mut ::std::os::raw::c_char,
61557}
61558#[test]
61559fn bindgen_test_layout__VipsConnection() {
61560    const UNINIT: ::std::mem::MaybeUninit<_VipsConnection> = ::std::mem::MaybeUninit::uninit();
61561    let ptr = UNINIT.as_ptr();
61562    assert_eq!(
61563        ::std::mem::size_of::<_VipsConnection>(),
61564        104usize,
61565        concat!("Size of: ", stringify!(_VipsConnection))
61566    );
61567    assert_eq!(
61568        ::std::mem::align_of::<_VipsConnection>(),
61569        8usize,
61570        concat!("Alignment of ", stringify!(_VipsConnection))
61571    );
61572    assert_eq!(
61573        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
61574        0usize,
61575        concat!(
61576            "Offset of field: ",
61577            stringify!(_VipsConnection),
61578            "::",
61579            stringify!(parent_object)
61580        )
61581    );
61582    assert_eq!(
61583        unsafe { ::std::ptr::addr_of!((*ptr).descriptor) as usize - ptr as usize },
61584        80usize,
61585        concat!(
61586            "Offset of field: ",
61587            stringify!(_VipsConnection),
61588            "::",
61589            stringify!(descriptor)
61590        )
61591    );
61592    assert_eq!(
61593        unsafe { ::std::ptr::addr_of!((*ptr).tracked_descriptor) as usize - ptr as usize },
61594        84usize,
61595        concat!(
61596            "Offset of field: ",
61597            stringify!(_VipsConnection),
61598            "::",
61599            stringify!(tracked_descriptor)
61600        )
61601    );
61602    assert_eq!(
61603        unsafe { ::std::ptr::addr_of!((*ptr).close_descriptor) as usize - ptr as usize },
61604        88usize,
61605        concat!(
61606            "Offset of field: ",
61607            stringify!(_VipsConnection),
61608            "::",
61609            stringify!(close_descriptor)
61610        )
61611    );
61612    assert_eq!(
61613        unsafe { ::std::ptr::addr_of!((*ptr).filename) as usize - ptr as usize },
61614        96usize,
61615        concat!(
61616            "Offset of field: ",
61617            stringify!(_VipsConnection),
61618            "::",
61619            stringify!(filename)
61620        )
61621    );
61622}
61623pub type VipsConnection = _VipsConnection;
61624#[repr(C)]
61625#[derive(Debug, Copy, Clone, PartialEq, Eq)]
61626pub struct _VipsConnectionClass {
61627    pub parent_class: VipsObjectClass,
61628}
61629#[test]
61630fn bindgen_test_layout__VipsConnectionClass() {
61631    const UNINIT: ::std::mem::MaybeUninit<_VipsConnectionClass> = ::std::mem::MaybeUninit::uninit();
61632    let ptr = UNINIT.as_ptr();
61633    assert_eq!(
61634        ::std::mem::size_of::<_VipsConnectionClass>(),
61635        328usize,
61636        concat!("Size of: ", stringify!(_VipsConnectionClass))
61637    );
61638    assert_eq!(
61639        ::std::mem::align_of::<_VipsConnectionClass>(),
61640        8usize,
61641        concat!("Alignment of ", stringify!(_VipsConnectionClass))
61642    );
61643    assert_eq!(
61644        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
61645        0usize,
61646        concat!(
61647            "Offset of field: ",
61648            stringify!(_VipsConnectionClass),
61649            "::",
61650            stringify!(parent_class)
61651        )
61652    );
61653}
61654pub type VipsConnectionClass = _VipsConnectionClass;
61655extern "C" {
61656    pub fn vips_connection_get_type() -> GType;
61657}
61658extern "C" {
61659    pub fn vips_connection_filename(
61660        connection: *mut VipsConnection,
61661    ) -> *const ::std::os::raw::c_char;
61662}
61663extern "C" {
61664    pub fn vips_connection_nick(connection: *mut VipsConnection) -> *const ::std::os::raw::c_char;
61665}
61666extern "C" {
61667    pub fn vips_pipe_read_limit_set(limit: gint64);
61668}
61669#[repr(C)]
61670#[derive(Debug, Copy, Clone, PartialEq, Eq)]
61671pub struct _VipsSource {
61672    pub parent_object: VipsConnection,
61673    pub decode: gboolean,
61674    pub have_tested_seek: gboolean,
61675    pub is_pipe: gboolean,
61676    pub read_position: gint64,
61677    pub length: gint64,
61678    pub data: *const ::std::os::raw::c_void,
61679    pub header_bytes: *mut GByteArray,
61680    pub sniff: *mut GByteArray,
61681    pub blob: *mut VipsBlob,
61682    pub mmap_baseaddr: *mut ::std::os::raw::c_void,
61683    pub mmap_length: size_t,
61684}
61685#[test]
61686fn bindgen_test_layout__VipsSource() {
61687    const UNINIT: ::std::mem::MaybeUninit<_VipsSource> = ::std::mem::MaybeUninit::uninit();
61688    let ptr = UNINIT.as_ptr();
61689    assert_eq!(
61690        ::std::mem::size_of::<_VipsSource>(),
61691        184usize,
61692        concat!("Size of: ", stringify!(_VipsSource))
61693    );
61694    assert_eq!(
61695        ::std::mem::align_of::<_VipsSource>(),
61696        8usize,
61697        concat!("Alignment of ", stringify!(_VipsSource))
61698    );
61699    assert_eq!(
61700        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
61701        0usize,
61702        concat!(
61703            "Offset of field: ",
61704            stringify!(_VipsSource),
61705            "::",
61706            stringify!(parent_object)
61707        )
61708    );
61709    assert_eq!(
61710        unsafe { ::std::ptr::addr_of!((*ptr).decode) as usize - ptr as usize },
61711        104usize,
61712        concat!(
61713            "Offset of field: ",
61714            stringify!(_VipsSource),
61715            "::",
61716            stringify!(decode)
61717        )
61718    );
61719    assert_eq!(
61720        unsafe { ::std::ptr::addr_of!((*ptr).have_tested_seek) as usize - ptr as usize },
61721        108usize,
61722        concat!(
61723            "Offset of field: ",
61724            stringify!(_VipsSource),
61725            "::",
61726            stringify!(have_tested_seek)
61727        )
61728    );
61729    assert_eq!(
61730        unsafe { ::std::ptr::addr_of!((*ptr).is_pipe) as usize - ptr as usize },
61731        112usize,
61732        concat!(
61733            "Offset of field: ",
61734            stringify!(_VipsSource),
61735            "::",
61736            stringify!(is_pipe)
61737        )
61738    );
61739    assert_eq!(
61740        unsafe { ::std::ptr::addr_of!((*ptr).read_position) as usize - ptr as usize },
61741        120usize,
61742        concat!(
61743            "Offset of field: ",
61744            stringify!(_VipsSource),
61745            "::",
61746            stringify!(read_position)
61747        )
61748    );
61749    assert_eq!(
61750        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
61751        128usize,
61752        concat!(
61753            "Offset of field: ",
61754            stringify!(_VipsSource),
61755            "::",
61756            stringify!(length)
61757        )
61758    );
61759    assert_eq!(
61760        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
61761        136usize,
61762        concat!(
61763            "Offset of field: ",
61764            stringify!(_VipsSource),
61765            "::",
61766            stringify!(data)
61767        )
61768    );
61769    assert_eq!(
61770        unsafe { ::std::ptr::addr_of!((*ptr).header_bytes) as usize - ptr as usize },
61771        144usize,
61772        concat!(
61773            "Offset of field: ",
61774            stringify!(_VipsSource),
61775            "::",
61776            stringify!(header_bytes)
61777        )
61778    );
61779    assert_eq!(
61780        unsafe { ::std::ptr::addr_of!((*ptr).sniff) as usize - ptr as usize },
61781        152usize,
61782        concat!(
61783            "Offset of field: ",
61784            stringify!(_VipsSource),
61785            "::",
61786            stringify!(sniff)
61787        )
61788    );
61789    assert_eq!(
61790        unsafe { ::std::ptr::addr_of!((*ptr).blob) as usize - ptr as usize },
61791        160usize,
61792        concat!(
61793            "Offset of field: ",
61794            stringify!(_VipsSource),
61795            "::",
61796            stringify!(blob)
61797        )
61798    );
61799    assert_eq!(
61800        unsafe { ::std::ptr::addr_of!((*ptr).mmap_baseaddr) as usize - ptr as usize },
61801        168usize,
61802        concat!(
61803            "Offset of field: ",
61804            stringify!(_VipsSource),
61805            "::",
61806            stringify!(mmap_baseaddr)
61807        )
61808    );
61809    assert_eq!(
61810        unsafe { ::std::ptr::addr_of!((*ptr).mmap_length) as usize - ptr as usize },
61811        176usize,
61812        concat!(
61813            "Offset of field: ",
61814            stringify!(_VipsSource),
61815            "::",
61816            stringify!(mmap_length)
61817        )
61818    );
61819}
61820#[repr(C)]
61821#[derive(Debug, Copy, Clone, PartialEq, Eq)]
61822pub struct _VipsSourceClass {
61823    pub parent_class: VipsConnectionClass,
61824    pub read: ::std::option::Option<
61825        unsafe extern "C" fn(
61826            arg1: *mut VipsSource,
61827            arg2: *mut ::std::os::raw::c_void,
61828            arg3: size_t,
61829        ) -> gint64,
61830    >,
61831    pub seek: ::std::option::Option<
61832        unsafe extern "C" fn(
61833            arg1: *mut VipsSource,
61834            arg2: gint64,
61835            arg3: ::std::os::raw::c_int,
61836        ) -> gint64,
61837    >,
61838}
61839#[test]
61840fn bindgen_test_layout__VipsSourceClass() {
61841    const UNINIT: ::std::mem::MaybeUninit<_VipsSourceClass> = ::std::mem::MaybeUninit::uninit();
61842    let ptr = UNINIT.as_ptr();
61843    assert_eq!(
61844        ::std::mem::size_of::<_VipsSourceClass>(),
61845        344usize,
61846        concat!("Size of: ", stringify!(_VipsSourceClass))
61847    );
61848    assert_eq!(
61849        ::std::mem::align_of::<_VipsSourceClass>(),
61850        8usize,
61851        concat!("Alignment of ", stringify!(_VipsSourceClass))
61852    );
61853    assert_eq!(
61854        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
61855        0usize,
61856        concat!(
61857            "Offset of field: ",
61858            stringify!(_VipsSourceClass),
61859            "::",
61860            stringify!(parent_class)
61861        )
61862    );
61863    assert_eq!(
61864        unsafe { ::std::ptr::addr_of!((*ptr).read) as usize - ptr as usize },
61865        328usize,
61866        concat!(
61867            "Offset of field: ",
61868            stringify!(_VipsSourceClass),
61869            "::",
61870            stringify!(read)
61871        )
61872    );
61873    assert_eq!(
61874        unsafe { ::std::ptr::addr_of!((*ptr).seek) as usize - ptr as usize },
61875        336usize,
61876        concat!(
61877            "Offset of field: ",
61878            stringify!(_VipsSourceClass),
61879            "::",
61880            stringify!(seek)
61881        )
61882    );
61883}
61884pub type VipsSourceClass = _VipsSourceClass;
61885extern "C" {
61886    pub fn vips_source_get_type() -> GType;
61887}
61888extern "C" {
61889    pub fn vips_source_new_from_descriptor(descriptor: ::std::os::raw::c_int) -> *mut VipsSource;
61890}
61891extern "C" {
61892    pub fn vips_source_new_from_file(filename: *const ::std::os::raw::c_char) -> *mut VipsSource;
61893}
61894extern "C" {
61895    pub fn vips_source_new_from_blob(blob: *mut VipsBlob) -> *mut VipsSource;
61896}
61897extern "C" {
61898    pub fn vips_source_new_from_target(target: *mut VipsTarget) -> *mut VipsSource;
61899}
61900extern "C" {
61901    pub fn vips_source_new_from_memory(
61902        data: *const ::std::os::raw::c_void,
61903        size: size_t,
61904    ) -> *mut VipsSource;
61905}
61906extern "C" {
61907    pub fn vips_source_new_from_options(options: *const ::std::os::raw::c_char) -> *mut VipsSource;
61908}
61909extern "C" {
61910    pub fn vips_source_minimise(source: *mut VipsSource);
61911}
61912extern "C" {
61913    pub fn vips_source_unminimise(source: *mut VipsSource) -> ::std::os::raw::c_int;
61914}
61915extern "C" {
61916    pub fn vips_source_decode(source: *mut VipsSource) -> ::std::os::raw::c_int;
61917}
61918extern "C" {
61919    pub fn vips_source_read(
61920        source: *mut VipsSource,
61921        data: *mut ::std::os::raw::c_void,
61922        length: size_t,
61923    ) -> gint64;
61924}
61925extern "C" {
61926    pub fn vips_source_is_mappable(source: *mut VipsSource) -> gboolean;
61927}
61928extern "C" {
61929    pub fn vips_source_is_file(source: *mut VipsSource) -> gboolean;
61930}
61931extern "C" {
61932    pub fn vips_source_map(
61933        source: *mut VipsSource,
61934        length: *mut size_t,
61935    ) -> *const ::std::os::raw::c_void;
61936}
61937extern "C" {
61938    pub fn vips_source_map_blob(source: *mut VipsSource) -> *mut VipsBlob;
61939}
61940extern "C" {
61941    pub fn vips_source_seek(
61942        source: *mut VipsSource,
61943        offset: gint64,
61944        whence: ::std::os::raw::c_int,
61945    ) -> gint64;
61946}
61947extern "C" {
61948    pub fn vips_source_rewind(source: *mut VipsSource) -> ::std::os::raw::c_int;
61949}
61950extern "C" {
61951    pub fn vips_source_sniff_at_most(
61952        source: *mut VipsSource,
61953        data: *mut *mut ::std::os::raw::c_uchar,
61954        length: size_t,
61955    ) -> gint64;
61956}
61957extern "C" {
61958    pub fn vips_source_sniff(
61959        source: *mut VipsSource,
61960        length: size_t,
61961    ) -> *mut ::std::os::raw::c_uchar;
61962}
61963extern "C" {
61964    pub fn vips_source_length(source: *mut VipsSource) -> gint64;
61965}
61966#[repr(C)]
61967#[derive(Debug, Copy, Clone, PartialEq, Eq)]
61968pub struct _VipsSourceCustom {
61969    pub parent_object: VipsSource,
61970}
61971#[test]
61972fn bindgen_test_layout__VipsSourceCustom() {
61973    const UNINIT: ::std::mem::MaybeUninit<_VipsSourceCustom> = ::std::mem::MaybeUninit::uninit();
61974    let ptr = UNINIT.as_ptr();
61975    assert_eq!(
61976        ::std::mem::size_of::<_VipsSourceCustom>(),
61977        184usize,
61978        concat!("Size of: ", stringify!(_VipsSourceCustom))
61979    );
61980    assert_eq!(
61981        ::std::mem::align_of::<_VipsSourceCustom>(),
61982        8usize,
61983        concat!("Alignment of ", stringify!(_VipsSourceCustom))
61984    );
61985    assert_eq!(
61986        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
61987        0usize,
61988        concat!(
61989            "Offset of field: ",
61990            stringify!(_VipsSourceCustom),
61991            "::",
61992            stringify!(parent_object)
61993        )
61994    );
61995}
61996pub type VipsSourceCustom = _VipsSourceCustom;
61997#[repr(C)]
61998#[derive(Debug, Copy, Clone, PartialEq, Eq)]
61999pub struct _VipsSourceCustomClass {
62000    pub parent_class: VipsSourceClass,
62001    pub read: ::std::option::Option<
62002        unsafe extern "C" fn(
62003            arg1: *mut VipsSourceCustom,
62004            arg2: *mut ::std::os::raw::c_void,
62005            arg3: gint64,
62006        ) -> gint64,
62007    >,
62008    pub seek: ::std::option::Option<
62009        unsafe extern "C" fn(
62010            arg1: *mut VipsSourceCustom,
62011            arg2: gint64,
62012            arg3: ::std::os::raw::c_int,
62013        ) -> gint64,
62014    >,
62015}
62016#[test]
62017fn bindgen_test_layout__VipsSourceCustomClass() {
62018    const UNINIT: ::std::mem::MaybeUninit<_VipsSourceCustomClass> =
62019        ::std::mem::MaybeUninit::uninit();
62020    let ptr = UNINIT.as_ptr();
62021    assert_eq!(
62022        ::std::mem::size_of::<_VipsSourceCustomClass>(),
62023        360usize,
62024        concat!("Size of: ", stringify!(_VipsSourceCustomClass))
62025    );
62026    assert_eq!(
62027        ::std::mem::align_of::<_VipsSourceCustomClass>(),
62028        8usize,
62029        concat!("Alignment of ", stringify!(_VipsSourceCustomClass))
62030    );
62031    assert_eq!(
62032        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
62033        0usize,
62034        concat!(
62035            "Offset of field: ",
62036            stringify!(_VipsSourceCustomClass),
62037            "::",
62038            stringify!(parent_class)
62039        )
62040    );
62041    assert_eq!(
62042        unsafe { ::std::ptr::addr_of!((*ptr).read) as usize - ptr as usize },
62043        344usize,
62044        concat!(
62045            "Offset of field: ",
62046            stringify!(_VipsSourceCustomClass),
62047            "::",
62048            stringify!(read)
62049        )
62050    );
62051    assert_eq!(
62052        unsafe { ::std::ptr::addr_of!((*ptr).seek) as usize - ptr as usize },
62053        352usize,
62054        concat!(
62055            "Offset of field: ",
62056            stringify!(_VipsSourceCustomClass),
62057            "::",
62058            stringify!(seek)
62059        )
62060    );
62061}
62062pub type VipsSourceCustomClass = _VipsSourceCustomClass;
62063extern "C" {
62064    pub fn vips_source_custom_get_type() -> GType;
62065}
62066extern "C" {
62067    pub fn vips_source_custom_new() -> *mut VipsSourceCustom;
62068}
62069#[repr(C)]
62070#[derive(Debug, Copy, Clone, PartialEq, Eq)]
62071pub struct _VipsGInputStream {
62072    pub parent_instance: GInputStream,
62073    pub source: *mut VipsSource,
62074}
62075#[test]
62076fn bindgen_test_layout__VipsGInputStream() {
62077    const UNINIT: ::std::mem::MaybeUninit<_VipsGInputStream> = ::std::mem::MaybeUninit::uninit();
62078    let ptr = UNINIT.as_ptr();
62079    assert_eq!(
62080        ::std::mem::size_of::<_VipsGInputStream>(),
62081        40usize,
62082        concat!("Size of: ", stringify!(_VipsGInputStream))
62083    );
62084    assert_eq!(
62085        ::std::mem::align_of::<_VipsGInputStream>(),
62086        8usize,
62087        concat!("Alignment of ", stringify!(_VipsGInputStream))
62088    );
62089    assert_eq!(
62090        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
62091        0usize,
62092        concat!(
62093            "Offset of field: ",
62094            stringify!(_VipsGInputStream),
62095            "::",
62096            stringify!(parent_instance)
62097        )
62098    );
62099    assert_eq!(
62100        unsafe { ::std::ptr::addr_of!((*ptr).source) as usize - ptr as usize },
62101        32usize,
62102        concat!(
62103            "Offset of field: ",
62104            stringify!(_VipsGInputStream),
62105            "::",
62106            stringify!(source)
62107        )
62108    );
62109}
62110pub type VipsGInputStream = _VipsGInputStream;
62111#[repr(C)]
62112#[derive(Debug, Copy, Clone, PartialEq, Eq)]
62113pub struct _VipsGInputStreamClass {
62114    pub parent_class: GInputStreamClass,
62115}
62116#[test]
62117fn bindgen_test_layout__VipsGInputStreamClass() {
62118    const UNINIT: ::std::mem::MaybeUninit<_VipsGInputStreamClass> =
62119        ::std::mem::MaybeUninit::uninit();
62120    let ptr = UNINIT.as_ptr();
62121    assert_eq!(
62122        ::std::mem::size_of::<_VipsGInputStreamClass>(),
62123        248usize,
62124        concat!("Size of: ", stringify!(_VipsGInputStreamClass))
62125    );
62126    assert_eq!(
62127        ::std::mem::align_of::<_VipsGInputStreamClass>(),
62128        8usize,
62129        concat!("Alignment of ", stringify!(_VipsGInputStreamClass))
62130    );
62131    assert_eq!(
62132        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
62133        0usize,
62134        concat!(
62135            "Offset of field: ",
62136            stringify!(_VipsGInputStreamClass),
62137            "::",
62138            stringify!(parent_class)
62139        )
62140    );
62141}
62142pub type VipsGInputStreamClass = _VipsGInputStreamClass;
62143extern "C" {
62144    pub fn vips_g_input_stream_new_from_source(source: *mut VipsSource) -> *mut GInputStream;
62145}
62146#[repr(C)]
62147#[derive(Debug, Copy, Clone, PartialEq, Eq)]
62148pub struct _VipsSourceGInputStream {
62149    pub parent_instance: VipsSource,
62150    pub stream: *mut GInputStream,
62151    pub seekable: *mut GSeekable,
62152    pub info: *mut GFileInfo,
62153}
62154#[test]
62155fn bindgen_test_layout__VipsSourceGInputStream() {
62156    const UNINIT: ::std::mem::MaybeUninit<_VipsSourceGInputStream> =
62157        ::std::mem::MaybeUninit::uninit();
62158    let ptr = UNINIT.as_ptr();
62159    assert_eq!(
62160        ::std::mem::size_of::<_VipsSourceGInputStream>(),
62161        208usize,
62162        concat!("Size of: ", stringify!(_VipsSourceGInputStream))
62163    );
62164    assert_eq!(
62165        ::std::mem::align_of::<_VipsSourceGInputStream>(),
62166        8usize,
62167        concat!("Alignment of ", stringify!(_VipsSourceGInputStream))
62168    );
62169    assert_eq!(
62170        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
62171        0usize,
62172        concat!(
62173            "Offset of field: ",
62174            stringify!(_VipsSourceGInputStream),
62175            "::",
62176            stringify!(parent_instance)
62177        )
62178    );
62179    assert_eq!(
62180        unsafe { ::std::ptr::addr_of!((*ptr).stream) as usize - ptr as usize },
62181        184usize,
62182        concat!(
62183            "Offset of field: ",
62184            stringify!(_VipsSourceGInputStream),
62185            "::",
62186            stringify!(stream)
62187        )
62188    );
62189    assert_eq!(
62190        unsafe { ::std::ptr::addr_of!((*ptr).seekable) as usize - ptr as usize },
62191        192usize,
62192        concat!(
62193            "Offset of field: ",
62194            stringify!(_VipsSourceGInputStream),
62195            "::",
62196            stringify!(seekable)
62197        )
62198    );
62199    assert_eq!(
62200        unsafe { ::std::ptr::addr_of!((*ptr).info) as usize - ptr as usize },
62201        200usize,
62202        concat!(
62203            "Offset of field: ",
62204            stringify!(_VipsSourceGInputStream),
62205            "::",
62206            stringify!(info)
62207        )
62208    );
62209}
62210pub type VipsSourceGInputStream = _VipsSourceGInputStream;
62211#[repr(C)]
62212#[derive(Debug, Copy, Clone, PartialEq, Eq)]
62213pub struct _VipsSourceGInputStreamClass {
62214    pub parent_class: VipsSourceClass,
62215}
62216#[test]
62217fn bindgen_test_layout__VipsSourceGInputStreamClass() {
62218    const UNINIT: ::std::mem::MaybeUninit<_VipsSourceGInputStreamClass> =
62219        ::std::mem::MaybeUninit::uninit();
62220    let ptr = UNINIT.as_ptr();
62221    assert_eq!(
62222        ::std::mem::size_of::<_VipsSourceGInputStreamClass>(),
62223        344usize,
62224        concat!("Size of: ", stringify!(_VipsSourceGInputStreamClass))
62225    );
62226    assert_eq!(
62227        ::std::mem::align_of::<_VipsSourceGInputStreamClass>(),
62228        8usize,
62229        concat!("Alignment of ", stringify!(_VipsSourceGInputStreamClass))
62230    );
62231    assert_eq!(
62232        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
62233        0usize,
62234        concat!(
62235            "Offset of field: ",
62236            stringify!(_VipsSourceGInputStreamClass),
62237            "::",
62238            stringify!(parent_class)
62239        )
62240    );
62241}
62242pub type VipsSourceGInputStreamClass = _VipsSourceGInputStreamClass;
62243extern "C" {
62244    pub fn vips_source_g_input_stream_new(stream: *mut GInputStream)
62245        -> *mut VipsSourceGInputStream;
62246}
62247#[repr(C)]
62248#[derive(Debug, Copy, Clone, PartialEq, Eq)]
62249pub struct _VipsTarget {
62250    pub parent_object: VipsConnection,
62251    pub memory: gboolean,
62252    pub ended: gboolean,
62253    pub memory_buffer: *mut GString,
62254    pub blob: *mut VipsBlob,
62255    pub output_buffer: [::std::os::raw::c_uchar; 8500usize],
62256    pub write_point: ::std::os::raw::c_int,
62257    pub position: off_t,
62258    pub delete_on_close: gboolean,
62259    pub delete_on_close_filename: *mut ::std::os::raw::c_char,
62260}
62261#[test]
62262fn bindgen_test_layout__VipsTarget() {
62263    const UNINIT: ::std::mem::MaybeUninit<_VipsTarget> = ::std::mem::MaybeUninit::uninit();
62264    let ptr = UNINIT.as_ptr();
62265    assert_eq!(
62266        ::std::mem::size_of::<_VipsTarget>(),
62267        8656usize,
62268        concat!("Size of: ", stringify!(_VipsTarget))
62269    );
62270    assert_eq!(
62271        ::std::mem::align_of::<_VipsTarget>(),
62272        8usize,
62273        concat!("Alignment of ", stringify!(_VipsTarget))
62274    );
62275    assert_eq!(
62276        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
62277        0usize,
62278        concat!(
62279            "Offset of field: ",
62280            stringify!(_VipsTarget),
62281            "::",
62282            stringify!(parent_object)
62283        )
62284    );
62285    assert_eq!(
62286        unsafe { ::std::ptr::addr_of!((*ptr).memory) as usize - ptr as usize },
62287        104usize,
62288        concat!(
62289            "Offset of field: ",
62290            stringify!(_VipsTarget),
62291            "::",
62292            stringify!(memory)
62293        )
62294    );
62295    assert_eq!(
62296        unsafe { ::std::ptr::addr_of!((*ptr).ended) as usize - ptr as usize },
62297        108usize,
62298        concat!(
62299            "Offset of field: ",
62300            stringify!(_VipsTarget),
62301            "::",
62302            stringify!(ended)
62303        )
62304    );
62305    assert_eq!(
62306        unsafe { ::std::ptr::addr_of!((*ptr).memory_buffer) as usize - ptr as usize },
62307        112usize,
62308        concat!(
62309            "Offset of field: ",
62310            stringify!(_VipsTarget),
62311            "::",
62312            stringify!(memory_buffer)
62313        )
62314    );
62315    assert_eq!(
62316        unsafe { ::std::ptr::addr_of!((*ptr).blob) as usize - ptr as usize },
62317        120usize,
62318        concat!(
62319            "Offset of field: ",
62320            stringify!(_VipsTarget),
62321            "::",
62322            stringify!(blob)
62323        )
62324    );
62325    assert_eq!(
62326        unsafe { ::std::ptr::addr_of!((*ptr).output_buffer) as usize - ptr as usize },
62327        128usize,
62328        concat!(
62329            "Offset of field: ",
62330            stringify!(_VipsTarget),
62331            "::",
62332            stringify!(output_buffer)
62333        )
62334    );
62335    assert_eq!(
62336        unsafe { ::std::ptr::addr_of!((*ptr).write_point) as usize - ptr as usize },
62337        8628usize,
62338        concat!(
62339            "Offset of field: ",
62340            stringify!(_VipsTarget),
62341            "::",
62342            stringify!(write_point)
62343        )
62344    );
62345    assert_eq!(
62346        unsafe { ::std::ptr::addr_of!((*ptr).position) as usize - ptr as usize },
62347        8632usize,
62348        concat!(
62349            "Offset of field: ",
62350            stringify!(_VipsTarget),
62351            "::",
62352            stringify!(position)
62353        )
62354    );
62355    assert_eq!(
62356        unsafe { ::std::ptr::addr_of!((*ptr).delete_on_close) as usize - ptr as usize },
62357        8640usize,
62358        concat!(
62359            "Offset of field: ",
62360            stringify!(_VipsTarget),
62361            "::",
62362            stringify!(delete_on_close)
62363        )
62364    );
62365    assert_eq!(
62366        unsafe { ::std::ptr::addr_of!((*ptr).delete_on_close_filename) as usize - ptr as usize },
62367        8648usize,
62368        concat!(
62369            "Offset of field: ",
62370            stringify!(_VipsTarget),
62371            "::",
62372            stringify!(delete_on_close_filename)
62373        )
62374    );
62375}
62376#[repr(C)]
62377#[derive(Debug, Copy, Clone, PartialEq, Eq)]
62378pub struct _VipsTargetClass {
62379    pub parent_class: VipsConnectionClass,
62380    pub write: ::std::option::Option<
62381        unsafe extern "C" fn(
62382            arg1: *mut VipsTarget,
62383            arg2: *const ::std::os::raw::c_void,
62384            arg3: size_t,
62385        ) -> gint64,
62386    >,
62387    pub finish: ::std::option::Option<unsafe extern "C" fn(arg1: *mut VipsTarget)>,
62388    pub read: ::std::option::Option<
62389        unsafe extern "C" fn(
62390            arg1: *mut VipsTarget,
62391            arg2: *mut ::std::os::raw::c_void,
62392            arg3: size_t,
62393        ) -> gint64,
62394    >,
62395    pub seek: ::std::option::Option<
62396        unsafe extern "C" fn(
62397            arg1: *mut VipsTarget,
62398            offset: off_t,
62399            whence: ::std::os::raw::c_int,
62400        ) -> off_t,
62401    >,
62402    pub end:
62403        ::std::option::Option<unsafe extern "C" fn(arg1: *mut VipsTarget) -> ::std::os::raw::c_int>,
62404}
62405#[test]
62406fn bindgen_test_layout__VipsTargetClass() {
62407    const UNINIT: ::std::mem::MaybeUninit<_VipsTargetClass> = ::std::mem::MaybeUninit::uninit();
62408    let ptr = UNINIT.as_ptr();
62409    assert_eq!(
62410        ::std::mem::size_of::<_VipsTargetClass>(),
62411        368usize,
62412        concat!("Size of: ", stringify!(_VipsTargetClass))
62413    );
62414    assert_eq!(
62415        ::std::mem::align_of::<_VipsTargetClass>(),
62416        8usize,
62417        concat!("Alignment of ", stringify!(_VipsTargetClass))
62418    );
62419    assert_eq!(
62420        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
62421        0usize,
62422        concat!(
62423            "Offset of field: ",
62424            stringify!(_VipsTargetClass),
62425            "::",
62426            stringify!(parent_class)
62427        )
62428    );
62429    assert_eq!(
62430        unsafe { ::std::ptr::addr_of!((*ptr).write) as usize - ptr as usize },
62431        328usize,
62432        concat!(
62433            "Offset of field: ",
62434            stringify!(_VipsTargetClass),
62435            "::",
62436            stringify!(write)
62437        )
62438    );
62439    assert_eq!(
62440        unsafe { ::std::ptr::addr_of!((*ptr).finish) as usize - ptr as usize },
62441        336usize,
62442        concat!(
62443            "Offset of field: ",
62444            stringify!(_VipsTargetClass),
62445            "::",
62446            stringify!(finish)
62447        )
62448    );
62449    assert_eq!(
62450        unsafe { ::std::ptr::addr_of!((*ptr).read) as usize - ptr as usize },
62451        344usize,
62452        concat!(
62453            "Offset of field: ",
62454            stringify!(_VipsTargetClass),
62455            "::",
62456            stringify!(read)
62457        )
62458    );
62459    assert_eq!(
62460        unsafe { ::std::ptr::addr_of!((*ptr).seek) as usize - ptr as usize },
62461        352usize,
62462        concat!(
62463            "Offset of field: ",
62464            stringify!(_VipsTargetClass),
62465            "::",
62466            stringify!(seek)
62467        )
62468    );
62469    assert_eq!(
62470        unsafe { ::std::ptr::addr_of!((*ptr).end) as usize - ptr as usize },
62471        360usize,
62472        concat!(
62473            "Offset of field: ",
62474            stringify!(_VipsTargetClass),
62475            "::",
62476            stringify!(end)
62477        )
62478    );
62479}
62480pub type VipsTargetClass = _VipsTargetClass;
62481extern "C" {
62482    pub fn vips_target_get_type() -> GType;
62483}
62484extern "C" {
62485    pub fn vips_target_new_to_descriptor(descriptor: ::std::os::raw::c_int) -> *mut VipsTarget;
62486}
62487extern "C" {
62488    pub fn vips_target_new_to_file(filename: *const ::std::os::raw::c_char) -> *mut VipsTarget;
62489}
62490extern "C" {
62491    pub fn vips_target_new_to_memory() -> *mut VipsTarget;
62492}
62493extern "C" {
62494    pub fn vips_target_new_temp(target: *mut VipsTarget) -> *mut VipsTarget;
62495}
62496extern "C" {
62497    pub fn vips_target_write(
62498        target: *mut VipsTarget,
62499        data: *const ::std::os::raw::c_void,
62500        length: size_t,
62501    ) -> ::std::os::raw::c_int;
62502}
62503extern "C" {
62504    pub fn vips_target_read(
62505        target: *mut VipsTarget,
62506        buffer: *mut ::std::os::raw::c_void,
62507        length: size_t,
62508    ) -> gint64;
62509}
62510extern "C" {
62511    pub fn vips_target_seek(
62512        target: *mut VipsTarget,
62513        offset: off_t,
62514        whence: ::std::os::raw::c_int,
62515    ) -> off_t;
62516}
62517extern "C" {
62518    pub fn vips_target_end(target: *mut VipsTarget) -> ::std::os::raw::c_int;
62519}
62520extern "C" {
62521    pub fn vips_target_finish(target: *mut VipsTarget);
62522}
62523extern "C" {
62524    pub fn vips_target_steal(
62525        target: *mut VipsTarget,
62526        length: *mut size_t,
62527    ) -> *mut ::std::os::raw::c_uchar;
62528}
62529extern "C" {
62530    pub fn vips_target_steal_text(target: *mut VipsTarget) -> *mut ::std::os::raw::c_char;
62531}
62532extern "C" {
62533    pub fn vips_target_putc(
62534        target: *mut VipsTarget,
62535        ch: ::std::os::raw::c_int,
62536    ) -> ::std::os::raw::c_int;
62537}
62538extern "C" {
62539    pub fn vips_target_writes(
62540        target: *mut VipsTarget,
62541        str_: *const ::std::os::raw::c_char,
62542    ) -> ::std::os::raw::c_int;
62543}
62544extern "C" {
62545    pub fn vips_target_writef(
62546        target: *mut VipsTarget,
62547        fmt: *const ::std::os::raw::c_char,
62548        ...
62549    ) -> ::std::os::raw::c_int;
62550}
62551extern "C" {
62552    pub fn vips_target_write_amp(
62553        target: *mut VipsTarget,
62554        str_: *const ::std::os::raw::c_char,
62555    ) -> ::std::os::raw::c_int;
62556}
62557#[repr(C)]
62558#[derive(Debug, Copy, Clone, PartialEq, Eq)]
62559pub struct _VipsTargetCustom {
62560    pub parent_object: VipsTarget,
62561}
62562#[test]
62563fn bindgen_test_layout__VipsTargetCustom() {
62564    const UNINIT: ::std::mem::MaybeUninit<_VipsTargetCustom> = ::std::mem::MaybeUninit::uninit();
62565    let ptr = UNINIT.as_ptr();
62566    assert_eq!(
62567        ::std::mem::size_of::<_VipsTargetCustom>(),
62568        8656usize,
62569        concat!("Size of: ", stringify!(_VipsTargetCustom))
62570    );
62571    assert_eq!(
62572        ::std::mem::align_of::<_VipsTargetCustom>(),
62573        8usize,
62574        concat!("Alignment of ", stringify!(_VipsTargetCustom))
62575    );
62576    assert_eq!(
62577        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
62578        0usize,
62579        concat!(
62580            "Offset of field: ",
62581            stringify!(_VipsTargetCustom),
62582            "::",
62583            stringify!(parent_object)
62584        )
62585    );
62586}
62587pub type VipsTargetCustom = _VipsTargetCustom;
62588#[repr(C)]
62589#[derive(Debug, Copy, Clone, PartialEq, Eq)]
62590pub struct _VipsTargetCustomClass {
62591    pub parent_class: VipsTargetClass,
62592    pub write: ::std::option::Option<
62593        unsafe extern "C" fn(
62594            arg1: *mut VipsTargetCustom,
62595            arg2: *const ::std::os::raw::c_void,
62596            arg3: gint64,
62597        ) -> gint64,
62598    >,
62599    pub finish: ::std::option::Option<unsafe extern "C" fn(arg1: *mut VipsTargetCustom)>,
62600    pub read: ::std::option::Option<
62601        unsafe extern "C" fn(
62602            arg1: *mut VipsTargetCustom,
62603            arg2: *mut ::std::os::raw::c_void,
62604            arg3: gint64,
62605        ) -> gint64,
62606    >,
62607    pub seek: ::std::option::Option<
62608        unsafe extern "C" fn(
62609            arg1: *mut VipsTargetCustom,
62610            arg2: gint64,
62611            arg3: ::std::os::raw::c_int,
62612        ) -> gint64,
62613    >,
62614    pub end: ::std::option::Option<
62615        unsafe extern "C" fn(arg1: *mut VipsTargetCustom) -> ::std::os::raw::c_int,
62616    >,
62617}
62618#[test]
62619fn bindgen_test_layout__VipsTargetCustomClass() {
62620    const UNINIT: ::std::mem::MaybeUninit<_VipsTargetCustomClass> =
62621        ::std::mem::MaybeUninit::uninit();
62622    let ptr = UNINIT.as_ptr();
62623    assert_eq!(
62624        ::std::mem::size_of::<_VipsTargetCustomClass>(),
62625        408usize,
62626        concat!("Size of: ", stringify!(_VipsTargetCustomClass))
62627    );
62628    assert_eq!(
62629        ::std::mem::align_of::<_VipsTargetCustomClass>(),
62630        8usize,
62631        concat!("Alignment of ", stringify!(_VipsTargetCustomClass))
62632    );
62633    assert_eq!(
62634        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
62635        0usize,
62636        concat!(
62637            "Offset of field: ",
62638            stringify!(_VipsTargetCustomClass),
62639            "::",
62640            stringify!(parent_class)
62641        )
62642    );
62643    assert_eq!(
62644        unsafe { ::std::ptr::addr_of!((*ptr).write) as usize - ptr as usize },
62645        368usize,
62646        concat!(
62647            "Offset of field: ",
62648            stringify!(_VipsTargetCustomClass),
62649            "::",
62650            stringify!(write)
62651        )
62652    );
62653    assert_eq!(
62654        unsafe { ::std::ptr::addr_of!((*ptr).finish) as usize - ptr as usize },
62655        376usize,
62656        concat!(
62657            "Offset of field: ",
62658            stringify!(_VipsTargetCustomClass),
62659            "::",
62660            stringify!(finish)
62661        )
62662    );
62663    assert_eq!(
62664        unsafe { ::std::ptr::addr_of!((*ptr).read) as usize - ptr as usize },
62665        384usize,
62666        concat!(
62667            "Offset of field: ",
62668            stringify!(_VipsTargetCustomClass),
62669            "::",
62670            stringify!(read)
62671        )
62672    );
62673    assert_eq!(
62674        unsafe { ::std::ptr::addr_of!((*ptr).seek) as usize - ptr as usize },
62675        392usize,
62676        concat!(
62677            "Offset of field: ",
62678            stringify!(_VipsTargetCustomClass),
62679            "::",
62680            stringify!(seek)
62681        )
62682    );
62683    assert_eq!(
62684        unsafe { ::std::ptr::addr_of!((*ptr).end) as usize - ptr as usize },
62685        400usize,
62686        concat!(
62687            "Offset of field: ",
62688            stringify!(_VipsTargetCustomClass),
62689            "::",
62690            stringify!(end)
62691        )
62692    );
62693}
62694pub type VipsTargetCustomClass = _VipsTargetCustomClass;
62695extern "C" {
62696    pub fn vips_target_custom_get_type() -> GType;
62697}
62698extern "C" {
62699    pub fn vips_target_custom_new() -> *mut VipsTargetCustom;
62700}
62701#[repr(C)]
62702#[derive(Debug, Copy, Clone, PartialEq, Eq)]
62703pub struct _VipsSbuf {
62704    pub parent_object: VipsObject,
62705    pub source: *mut VipsSource,
62706    pub input_buffer: [::std::os::raw::c_uchar; 4097usize],
62707    pub chars_in_buffer: ::std::os::raw::c_int,
62708    pub read_point: ::std::os::raw::c_int,
62709    pub line: [::std::os::raw::c_uchar; 4097usize],
62710}
62711#[test]
62712fn bindgen_test_layout__VipsSbuf() {
62713    const UNINIT: ::std::mem::MaybeUninit<_VipsSbuf> = ::std::mem::MaybeUninit::uninit();
62714    let ptr = UNINIT.as_ptr();
62715    assert_eq!(
62716        ::std::mem::size_of::<_VipsSbuf>(),
62717        8296usize,
62718        concat!("Size of: ", stringify!(_VipsSbuf))
62719    );
62720    assert_eq!(
62721        ::std::mem::align_of::<_VipsSbuf>(),
62722        8usize,
62723        concat!("Alignment of ", stringify!(_VipsSbuf))
62724    );
62725    assert_eq!(
62726        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
62727        0usize,
62728        concat!(
62729            "Offset of field: ",
62730            stringify!(_VipsSbuf),
62731            "::",
62732            stringify!(parent_object)
62733        )
62734    );
62735    assert_eq!(
62736        unsafe { ::std::ptr::addr_of!((*ptr).source) as usize - ptr as usize },
62737        80usize,
62738        concat!(
62739            "Offset of field: ",
62740            stringify!(_VipsSbuf),
62741            "::",
62742            stringify!(source)
62743        )
62744    );
62745    assert_eq!(
62746        unsafe { ::std::ptr::addr_of!((*ptr).input_buffer) as usize - ptr as usize },
62747        88usize,
62748        concat!(
62749            "Offset of field: ",
62750            stringify!(_VipsSbuf),
62751            "::",
62752            stringify!(input_buffer)
62753        )
62754    );
62755    assert_eq!(
62756        unsafe { ::std::ptr::addr_of!((*ptr).chars_in_buffer) as usize - ptr as usize },
62757        4188usize,
62758        concat!(
62759            "Offset of field: ",
62760            stringify!(_VipsSbuf),
62761            "::",
62762            stringify!(chars_in_buffer)
62763        )
62764    );
62765    assert_eq!(
62766        unsafe { ::std::ptr::addr_of!((*ptr).read_point) as usize - ptr as usize },
62767        4192usize,
62768        concat!(
62769            "Offset of field: ",
62770            stringify!(_VipsSbuf),
62771            "::",
62772            stringify!(read_point)
62773        )
62774    );
62775    assert_eq!(
62776        unsafe { ::std::ptr::addr_of!((*ptr).line) as usize - ptr as usize },
62777        4196usize,
62778        concat!(
62779            "Offset of field: ",
62780            stringify!(_VipsSbuf),
62781            "::",
62782            stringify!(line)
62783        )
62784    );
62785}
62786pub type VipsSbuf = _VipsSbuf;
62787#[repr(C)]
62788#[derive(Debug, Copy, Clone, PartialEq, Eq)]
62789pub struct _VipsSbufClass {
62790    pub parent_class: VipsObjectClass,
62791}
62792#[test]
62793fn bindgen_test_layout__VipsSbufClass() {
62794    const UNINIT: ::std::mem::MaybeUninit<_VipsSbufClass> = ::std::mem::MaybeUninit::uninit();
62795    let ptr = UNINIT.as_ptr();
62796    assert_eq!(
62797        ::std::mem::size_of::<_VipsSbufClass>(),
62798        328usize,
62799        concat!("Size of: ", stringify!(_VipsSbufClass))
62800    );
62801    assert_eq!(
62802        ::std::mem::align_of::<_VipsSbufClass>(),
62803        8usize,
62804        concat!("Alignment of ", stringify!(_VipsSbufClass))
62805    );
62806    assert_eq!(
62807        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
62808        0usize,
62809        concat!(
62810            "Offset of field: ",
62811            stringify!(_VipsSbufClass),
62812            "::",
62813            stringify!(parent_class)
62814        )
62815    );
62816}
62817pub type VipsSbufClass = _VipsSbufClass;
62818extern "C" {
62819    pub fn vips_sbuf_get_type() -> GType;
62820}
62821extern "C" {
62822    pub fn vips_sbuf_new_from_source(source: *mut VipsSource) -> *mut VipsSbuf;
62823}
62824extern "C" {
62825    pub fn vips_sbuf_unbuffer(sbuf: *mut VipsSbuf);
62826}
62827extern "C" {
62828    pub fn vips_sbuf_getc(sbuf: *mut VipsSbuf) -> ::std::os::raw::c_int;
62829}
62830extern "C" {
62831    pub fn vips_sbuf_ungetc(sbuf: *mut VipsSbuf);
62832}
62833extern "C" {
62834    pub fn vips_sbuf_require(
62835        sbuf: *mut VipsSbuf,
62836        require: ::std::os::raw::c_int,
62837    ) -> ::std::os::raw::c_int;
62838}
62839extern "C" {
62840    pub fn vips_sbuf_get_line(sbuf: *mut VipsSbuf) -> *const ::std::os::raw::c_char;
62841}
62842extern "C" {
62843    pub fn vips_sbuf_get_line_copy(sbuf: *mut VipsSbuf) -> *mut ::std::os::raw::c_char;
62844}
62845extern "C" {
62846    pub fn vips_sbuf_get_non_whitespace(sbuf: *mut VipsSbuf) -> *const ::std::os::raw::c_char;
62847}
62848extern "C" {
62849    pub fn vips_sbuf_skip_whitespace(sbuf: *mut VipsSbuf) -> ::std::os::raw::c_int;
62850}
62851#[repr(C)]
62852#[derive(Debug, Copy, Clone, PartialEq, Eq)]
62853pub struct _VipsRect {
62854    pub left: ::std::os::raw::c_int,
62855    pub top: ::std::os::raw::c_int,
62856    pub width: ::std::os::raw::c_int,
62857    pub height: ::std::os::raw::c_int,
62858}
62859#[test]
62860fn bindgen_test_layout__VipsRect() {
62861    const UNINIT: ::std::mem::MaybeUninit<_VipsRect> = ::std::mem::MaybeUninit::uninit();
62862    let ptr = UNINIT.as_ptr();
62863    assert_eq!(
62864        ::std::mem::size_of::<_VipsRect>(),
62865        16usize,
62866        concat!("Size of: ", stringify!(_VipsRect))
62867    );
62868    assert_eq!(
62869        ::std::mem::align_of::<_VipsRect>(),
62870        4usize,
62871        concat!("Alignment of ", stringify!(_VipsRect))
62872    );
62873    assert_eq!(
62874        unsafe { ::std::ptr::addr_of!((*ptr).left) as usize - ptr as usize },
62875        0usize,
62876        concat!(
62877            "Offset of field: ",
62878            stringify!(_VipsRect),
62879            "::",
62880            stringify!(left)
62881        )
62882    );
62883    assert_eq!(
62884        unsafe { ::std::ptr::addr_of!((*ptr).top) as usize - ptr as usize },
62885        4usize,
62886        concat!(
62887            "Offset of field: ",
62888            stringify!(_VipsRect),
62889            "::",
62890            stringify!(top)
62891        )
62892    );
62893    assert_eq!(
62894        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
62895        8usize,
62896        concat!(
62897            "Offset of field: ",
62898            stringify!(_VipsRect),
62899            "::",
62900            stringify!(width)
62901        )
62902    );
62903    assert_eq!(
62904        unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
62905        12usize,
62906        concat!(
62907            "Offset of field: ",
62908            stringify!(_VipsRect),
62909            "::",
62910            stringify!(height)
62911        )
62912    );
62913}
62914pub type VipsRect = _VipsRect;
62915extern "C" {
62916    pub fn vips_rect_isempty(r: *const VipsRect) -> gboolean;
62917}
62918extern "C" {
62919    pub fn vips_rect_includespoint(
62920        r: *const VipsRect,
62921        x: ::std::os::raw::c_int,
62922        y: ::std::os::raw::c_int,
62923    ) -> gboolean;
62924}
62925extern "C" {
62926    pub fn vips_rect_includesrect(r1: *const VipsRect, r2: *const VipsRect) -> gboolean;
62927}
62928extern "C" {
62929    pub fn vips_rect_equalsrect(r1: *const VipsRect, r2: *const VipsRect) -> gboolean;
62930}
62931extern "C" {
62932    pub fn vips_rect_overlapsrect(r1: *const VipsRect, r2: *const VipsRect) -> gboolean;
62933}
62934extern "C" {
62935    pub fn vips_rect_marginadjust(r: *mut VipsRect, n: ::std::os::raw::c_int);
62936}
62937extern "C" {
62938    pub fn vips_rect_intersectrect(r1: *const VipsRect, r2: *const VipsRect, out: *mut VipsRect);
62939}
62940extern "C" {
62941    pub fn vips_rect_unionrect(r1: *const VipsRect, r2: *const VipsRect, out: *mut VipsRect);
62942}
62943extern "C" {
62944    pub fn vips_rect_dup(r: *const VipsRect) -> *mut VipsRect;
62945}
62946extern "C" {
62947    pub fn vips_rect_normalise(r: *mut VipsRect);
62948}
62949#[repr(C)]
62950#[derive(Debug, Copy, Clone, PartialEq, Eq)]
62951pub struct VipsWindow {
62952    pub ref_count: ::std::os::raw::c_int,
62953    pub im: *mut _VipsImage,
62954    pub top: ::std::os::raw::c_int,
62955    pub height: ::std::os::raw::c_int,
62956    pub data: *mut VipsPel,
62957    pub baseaddr: *mut ::std::os::raw::c_void,
62958    pub length: size_t,
62959}
62960#[test]
62961fn bindgen_test_layout_VipsWindow() {
62962    const UNINIT: ::std::mem::MaybeUninit<VipsWindow> = ::std::mem::MaybeUninit::uninit();
62963    let ptr = UNINIT.as_ptr();
62964    assert_eq!(
62965        ::std::mem::size_of::<VipsWindow>(),
62966        48usize,
62967        concat!("Size of: ", stringify!(VipsWindow))
62968    );
62969    assert_eq!(
62970        ::std::mem::align_of::<VipsWindow>(),
62971        8usize,
62972        concat!("Alignment of ", stringify!(VipsWindow))
62973    );
62974    assert_eq!(
62975        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
62976        0usize,
62977        concat!(
62978            "Offset of field: ",
62979            stringify!(VipsWindow),
62980            "::",
62981            stringify!(ref_count)
62982        )
62983    );
62984    assert_eq!(
62985        unsafe { ::std::ptr::addr_of!((*ptr).im) as usize - ptr as usize },
62986        8usize,
62987        concat!(
62988            "Offset of field: ",
62989            stringify!(VipsWindow),
62990            "::",
62991            stringify!(im)
62992        )
62993    );
62994    assert_eq!(
62995        unsafe { ::std::ptr::addr_of!((*ptr).top) as usize - ptr as usize },
62996        16usize,
62997        concat!(
62998            "Offset of field: ",
62999            stringify!(VipsWindow),
63000            "::",
63001            stringify!(top)
63002        )
63003    );
63004    assert_eq!(
63005        unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
63006        20usize,
63007        concat!(
63008            "Offset of field: ",
63009            stringify!(VipsWindow),
63010            "::",
63011            stringify!(height)
63012        )
63013    );
63014    assert_eq!(
63015        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
63016        24usize,
63017        concat!(
63018            "Offset of field: ",
63019            stringify!(VipsWindow),
63020            "::",
63021            stringify!(data)
63022        )
63023    );
63024    assert_eq!(
63025        unsafe { ::std::ptr::addr_of!((*ptr).baseaddr) as usize - ptr as usize },
63026        32usize,
63027        concat!(
63028            "Offset of field: ",
63029            stringify!(VipsWindow),
63030            "::",
63031            stringify!(baseaddr)
63032        )
63033    );
63034    assert_eq!(
63035        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
63036        40usize,
63037        concat!(
63038            "Offset of field: ",
63039            stringify!(VipsWindow),
63040            "::",
63041            stringify!(length)
63042        )
63043    );
63044}
63045extern "C" {
63046    pub fn vips_window_unref(window: *mut VipsWindow) -> ::std::os::raw::c_int;
63047}
63048extern "C" {
63049    pub fn vips_window_print(window: *mut VipsWindow);
63050}
63051#[repr(C)]
63052#[derive(Debug, Copy, Clone, PartialEq, Eq)]
63053pub struct VipsBufferThread {
63054    pub hash: *mut GHashTable,
63055    pub thread: *mut GThread,
63056}
63057#[test]
63058fn bindgen_test_layout_VipsBufferThread() {
63059    const UNINIT: ::std::mem::MaybeUninit<VipsBufferThread> = ::std::mem::MaybeUninit::uninit();
63060    let ptr = UNINIT.as_ptr();
63061    assert_eq!(
63062        ::std::mem::size_of::<VipsBufferThread>(),
63063        16usize,
63064        concat!("Size of: ", stringify!(VipsBufferThread))
63065    );
63066    assert_eq!(
63067        ::std::mem::align_of::<VipsBufferThread>(),
63068        8usize,
63069        concat!("Alignment of ", stringify!(VipsBufferThread))
63070    );
63071    assert_eq!(
63072        unsafe { ::std::ptr::addr_of!((*ptr).hash) as usize - ptr as usize },
63073        0usize,
63074        concat!(
63075            "Offset of field: ",
63076            stringify!(VipsBufferThread),
63077            "::",
63078            stringify!(hash)
63079        )
63080    );
63081    assert_eq!(
63082        unsafe { ::std::ptr::addr_of!((*ptr).thread) as usize - ptr as usize },
63083        8usize,
63084        concat!(
63085            "Offset of field: ",
63086            stringify!(VipsBufferThread),
63087            "::",
63088            stringify!(thread)
63089        )
63090    );
63091}
63092#[repr(C)]
63093#[derive(Debug, Copy, Clone, PartialEq, Eq)]
63094pub struct _VipsBufferCache {
63095    pub buffers: *mut GSList,
63096    pub thread: *mut GThread,
63097    pub im: *mut _VipsImage,
63098    pub buffer_thread: *mut VipsBufferThread,
63099    pub reserve: *mut GSList,
63100    pub n_reserve: ::std::os::raw::c_int,
63101}
63102#[test]
63103fn bindgen_test_layout__VipsBufferCache() {
63104    const UNINIT: ::std::mem::MaybeUninit<_VipsBufferCache> = ::std::mem::MaybeUninit::uninit();
63105    let ptr = UNINIT.as_ptr();
63106    assert_eq!(
63107        ::std::mem::size_of::<_VipsBufferCache>(),
63108        48usize,
63109        concat!("Size of: ", stringify!(_VipsBufferCache))
63110    );
63111    assert_eq!(
63112        ::std::mem::align_of::<_VipsBufferCache>(),
63113        8usize,
63114        concat!("Alignment of ", stringify!(_VipsBufferCache))
63115    );
63116    assert_eq!(
63117        unsafe { ::std::ptr::addr_of!((*ptr).buffers) as usize - ptr as usize },
63118        0usize,
63119        concat!(
63120            "Offset of field: ",
63121            stringify!(_VipsBufferCache),
63122            "::",
63123            stringify!(buffers)
63124        )
63125    );
63126    assert_eq!(
63127        unsafe { ::std::ptr::addr_of!((*ptr).thread) as usize - ptr as usize },
63128        8usize,
63129        concat!(
63130            "Offset of field: ",
63131            stringify!(_VipsBufferCache),
63132            "::",
63133            stringify!(thread)
63134        )
63135    );
63136    assert_eq!(
63137        unsafe { ::std::ptr::addr_of!((*ptr).im) as usize - ptr as usize },
63138        16usize,
63139        concat!(
63140            "Offset of field: ",
63141            stringify!(_VipsBufferCache),
63142            "::",
63143            stringify!(im)
63144        )
63145    );
63146    assert_eq!(
63147        unsafe { ::std::ptr::addr_of!((*ptr).buffer_thread) as usize - ptr as usize },
63148        24usize,
63149        concat!(
63150            "Offset of field: ",
63151            stringify!(_VipsBufferCache),
63152            "::",
63153            stringify!(buffer_thread)
63154        )
63155    );
63156    assert_eq!(
63157        unsafe { ::std::ptr::addr_of!((*ptr).reserve) as usize - ptr as usize },
63158        32usize,
63159        concat!(
63160            "Offset of field: ",
63161            stringify!(_VipsBufferCache),
63162            "::",
63163            stringify!(reserve)
63164        )
63165    );
63166    assert_eq!(
63167        unsafe { ::std::ptr::addr_of!((*ptr).n_reserve) as usize - ptr as usize },
63168        40usize,
63169        concat!(
63170            "Offset of field: ",
63171            stringify!(_VipsBufferCache),
63172            "::",
63173            stringify!(n_reserve)
63174        )
63175    );
63176}
63177pub type VipsBufferCache = _VipsBufferCache;
63178#[repr(C)]
63179#[derive(Debug, Copy, Clone, PartialEq, Eq)]
63180pub struct _VipsBuffer {
63181    pub ref_count: ::std::os::raw::c_int,
63182    pub im: *mut _VipsImage,
63183    pub area: VipsRect,
63184    pub done: gboolean,
63185    pub cache: *mut VipsBufferCache,
63186    pub buf: *mut VipsPel,
63187    pub bsize: size_t,
63188}
63189#[test]
63190fn bindgen_test_layout__VipsBuffer() {
63191    const UNINIT: ::std::mem::MaybeUninit<_VipsBuffer> = ::std::mem::MaybeUninit::uninit();
63192    let ptr = UNINIT.as_ptr();
63193    assert_eq!(
63194        ::std::mem::size_of::<_VipsBuffer>(),
63195        64usize,
63196        concat!("Size of: ", stringify!(_VipsBuffer))
63197    );
63198    assert_eq!(
63199        ::std::mem::align_of::<_VipsBuffer>(),
63200        8usize,
63201        concat!("Alignment of ", stringify!(_VipsBuffer))
63202    );
63203    assert_eq!(
63204        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
63205        0usize,
63206        concat!(
63207            "Offset of field: ",
63208            stringify!(_VipsBuffer),
63209            "::",
63210            stringify!(ref_count)
63211        )
63212    );
63213    assert_eq!(
63214        unsafe { ::std::ptr::addr_of!((*ptr).im) as usize - ptr as usize },
63215        8usize,
63216        concat!(
63217            "Offset of field: ",
63218            stringify!(_VipsBuffer),
63219            "::",
63220            stringify!(im)
63221        )
63222    );
63223    assert_eq!(
63224        unsafe { ::std::ptr::addr_of!((*ptr).area) as usize - ptr as usize },
63225        16usize,
63226        concat!(
63227            "Offset of field: ",
63228            stringify!(_VipsBuffer),
63229            "::",
63230            stringify!(area)
63231        )
63232    );
63233    assert_eq!(
63234        unsafe { ::std::ptr::addr_of!((*ptr).done) as usize - ptr as usize },
63235        32usize,
63236        concat!(
63237            "Offset of field: ",
63238            stringify!(_VipsBuffer),
63239            "::",
63240            stringify!(done)
63241        )
63242    );
63243    assert_eq!(
63244        unsafe { ::std::ptr::addr_of!((*ptr).cache) as usize - ptr as usize },
63245        40usize,
63246        concat!(
63247            "Offset of field: ",
63248            stringify!(_VipsBuffer),
63249            "::",
63250            stringify!(cache)
63251        )
63252    );
63253    assert_eq!(
63254        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
63255        48usize,
63256        concat!(
63257            "Offset of field: ",
63258            stringify!(_VipsBuffer),
63259            "::",
63260            stringify!(buf)
63261        )
63262    );
63263    assert_eq!(
63264        unsafe { ::std::ptr::addr_of!((*ptr).bsize) as usize - ptr as usize },
63265        56usize,
63266        concat!(
63267            "Offset of field: ",
63268            stringify!(_VipsBuffer),
63269            "::",
63270            stringify!(bsize)
63271        )
63272    );
63273}
63274pub type VipsBuffer = _VipsBuffer;
63275extern "C" {
63276    pub fn vips_buffer_dump_all();
63277}
63278extern "C" {
63279    pub fn vips_buffer_done(buffer: *mut VipsBuffer);
63280}
63281extern "C" {
63282    pub fn vips_buffer_undone(buffer: *mut VipsBuffer);
63283}
63284extern "C" {
63285    pub fn vips_buffer_unref(buffer: *mut VipsBuffer);
63286}
63287extern "C" {
63288    pub fn vips_buffer_new(im: *mut _VipsImage, area: *mut VipsRect) -> *mut VipsBuffer;
63289}
63290extern "C" {
63291    pub fn vips_buffer_ref(im: *mut _VipsImage, area: *mut VipsRect) -> *mut VipsBuffer;
63292}
63293extern "C" {
63294    pub fn vips_buffer_unref_ref(
63295        buffer: *mut VipsBuffer,
63296        im: *mut _VipsImage,
63297        area: *mut VipsRect,
63298    ) -> *mut VipsBuffer;
63299}
63300extern "C" {
63301    pub fn vips_buffer_print(buffer: *mut VipsBuffer);
63302}
63303extern "C" {
63304    pub fn vips__render_shutdown();
63305}
63306pub const _RegionType_VIPS_REGION_NONE: _RegionType = 0;
63307pub const _RegionType_VIPS_REGION_BUFFER: _RegionType = 1;
63308pub const _RegionType_VIPS_REGION_OTHER_REGION: _RegionType = 2;
63309pub const _RegionType_VIPS_REGION_OTHER_IMAGE: _RegionType = 3;
63310pub const _RegionType_VIPS_REGION_WINDOW: _RegionType = 4;
63311pub type _RegionType = ::std::os::raw::c_uint;
63312pub use self::_RegionType as RegionType;
63313extern "C" {
63314    pub fn vips__region_take_ownership(reg: *mut _VipsRegion);
63315}
63316extern "C" {
63317    pub fn vips__region_check_ownership(reg: *mut _VipsRegion);
63318}
63319extern "C" {
63320    pub fn vips__region_no_ownership(reg: *mut _VipsRegion);
63321}
63322pub type VipsRegionFillFn = ::std::option::Option<
63323    unsafe extern "C" fn(
63324        arg1: *mut _VipsRegion,
63325        arg2: *mut ::std::os::raw::c_void,
63326    ) -> ::std::os::raw::c_int,
63327>;
63328extern "C" {
63329    pub fn vips_region_fill(
63330        reg: *mut _VipsRegion,
63331        r: *const VipsRect,
63332        fn_: VipsRegionFillFn,
63333        a: *mut ::std::os::raw::c_void,
63334    ) -> ::std::os::raw::c_int;
63335}
63336extern "C" {
63337    pub fn vips__image_wio_output(image: *mut _VipsImage) -> ::std::os::raw::c_int;
63338}
63339extern "C" {
63340    pub fn vips__image_pio_output(image: *mut _VipsImage) -> ::std::os::raw::c_int;
63341}
63342extern "C" {
63343    pub fn vips__argument_get_instance(
63344        argument_class: *mut VipsArgumentClass,
63345        object: *mut VipsObject,
63346    ) -> *mut VipsArgumentInstance;
63347}
63348extern "C" {
63349    pub fn vips__argument_table_lookup(
63350        table: *mut VipsArgumentTable,
63351        pspec: *mut GParamSpec,
63352    ) -> *mut VipsArgument;
63353}
63354extern "C" {
63355    pub fn vips__demand_hint_array(
63356        image: *mut _VipsImage,
63357        hint: ::std::os::raw::c_int,
63358        in_: *mut *mut _VipsImage,
63359    );
63360}
63361extern "C" {
63362    pub fn vips__image_copy_fields_array(
63363        out: *mut _VipsImage,
63364        in_: *mut *mut _VipsImage,
63365    ) -> ::std::os::raw::c_int;
63366}
63367extern "C" {
63368    pub fn vips__region_count_pixels(
63369        region: *mut _VipsRegion,
63370        nickname: *const ::std::os::raw::c_char,
63371    );
63372}
63373extern "C" {
63374    pub fn vips_region_dump_all();
63375}
63376extern "C" {
63377    pub fn vips_region_prepare_many(
63378        reg: *mut *mut _VipsRegion,
63379        r: *const VipsRect,
63380    ) -> ::std::os::raw::c_int;
63381}
63382extern "C" {
63383    pub fn vips__view_image(image: *mut _VipsImage) -> ::std::os::raw::c_int;
63384}
63385extern "C" {
63386    pub static mut _vips__argument_id: ::std::os::raw::c_int;
63387}
63388extern "C" {
63389    pub fn vips__meta_init();
63390}
63391#[repr(C)]
63392#[derive(Debug, Copy, Clone, PartialEq, Eq)]
63393pub struct im__INTMASK {
63394    pub xsize: ::std::os::raw::c_int,
63395    pub ysize: ::std::os::raw::c_int,
63396    pub scale: ::std::os::raw::c_int,
63397    pub offset: ::std::os::raw::c_int,
63398    pub coeff: *mut ::std::os::raw::c_int,
63399    pub filename: *mut ::std::os::raw::c_char,
63400}
63401#[test]
63402fn bindgen_test_layout_im__INTMASK() {
63403    const UNINIT: ::std::mem::MaybeUninit<im__INTMASK> = ::std::mem::MaybeUninit::uninit();
63404    let ptr = UNINIT.as_ptr();
63405    assert_eq!(
63406        ::std::mem::size_of::<im__INTMASK>(),
63407        32usize,
63408        concat!("Size of: ", stringify!(im__INTMASK))
63409    );
63410    assert_eq!(
63411        ::std::mem::align_of::<im__INTMASK>(),
63412        8usize,
63413        concat!("Alignment of ", stringify!(im__INTMASK))
63414    );
63415    assert_eq!(
63416        unsafe { ::std::ptr::addr_of!((*ptr).xsize) as usize - ptr as usize },
63417        0usize,
63418        concat!(
63419            "Offset of field: ",
63420            stringify!(im__INTMASK),
63421            "::",
63422            stringify!(xsize)
63423        )
63424    );
63425    assert_eq!(
63426        unsafe { ::std::ptr::addr_of!((*ptr).ysize) as usize - ptr as usize },
63427        4usize,
63428        concat!(
63429            "Offset of field: ",
63430            stringify!(im__INTMASK),
63431            "::",
63432            stringify!(ysize)
63433        )
63434    );
63435    assert_eq!(
63436        unsafe { ::std::ptr::addr_of!((*ptr).scale) as usize - ptr as usize },
63437        8usize,
63438        concat!(
63439            "Offset of field: ",
63440            stringify!(im__INTMASK),
63441            "::",
63442            stringify!(scale)
63443        )
63444    );
63445    assert_eq!(
63446        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
63447        12usize,
63448        concat!(
63449            "Offset of field: ",
63450            stringify!(im__INTMASK),
63451            "::",
63452            stringify!(offset)
63453        )
63454    );
63455    assert_eq!(
63456        unsafe { ::std::ptr::addr_of!((*ptr).coeff) as usize - ptr as usize },
63457        16usize,
63458        concat!(
63459            "Offset of field: ",
63460            stringify!(im__INTMASK),
63461            "::",
63462            stringify!(coeff)
63463        )
63464    );
63465    assert_eq!(
63466        unsafe { ::std::ptr::addr_of!((*ptr).filename) as usize - ptr as usize },
63467        24usize,
63468        concat!(
63469            "Offset of field: ",
63470            stringify!(im__INTMASK),
63471            "::",
63472            stringify!(filename)
63473        )
63474    );
63475}
63476pub type INTMASK = im__INTMASK;
63477#[repr(C)]
63478#[derive(Debug, Copy, Clone, PartialEq)]
63479pub struct im__DOUBLEMASK {
63480    pub xsize: ::std::os::raw::c_int,
63481    pub ysize: ::std::os::raw::c_int,
63482    pub scale: f64,
63483    pub offset: f64,
63484    pub coeff: *mut f64,
63485    pub filename: *mut ::std::os::raw::c_char,
63486}
63487#[test]
63488fn bindgen_test_layout_im__DOUBLEMASK() {
63489    const UNINIT: ::std::mem::MaybeUninit<im__DOUBLEMASK> = ::std::mem::MaybeUninit::uninit();
63490    let ptr = UNINIT.as_ptr();
63491    assert_eq!(
63492        ::std::mem::size_of::<im__DOUBLEMASK>(),
63493        40usize,
63494        concat!("Size of: ", stringify!(im__DOUBLEMASK))
63495    );
63496    assert_eq!(
63497        ::std::mem::align_of::<im__DOUBLEMASK>(),
63498        8usize,
63499        concat!("Alignment of ", stringify!(im__DOUBLEMASK))
63500    );
63501    assert_eq!(
63502        unsafe { ::std::ptr::addr_of!((*ptr).xsize) as usize - ptr as usize },
63503        0usize,
63504        concat!(
63505            "Offset of field: ",
63506            stringify!(im__DOUBLEMASK),
63507            "::",
63508            stringify!(xsize)
63509        )
63510    );
63511    assert_eq!(
63512        unsafe { ::std::ptr::addr_of!((*ptr).ysize) as usize - ptr as usize },
63513        4usize,
63514        concat!(
63515            "Offset of field: ",
63516            stringify!(im__DOUBLEMASK),
63517            "::",
63518            stringify!(ysize)
63519        )
63520    );
63521    assert_eq!(
63522        unsafe { ::std::ptr::addr_of!((*ptr).scale) as usize - ptr as usize },
63523        8usize,
63524        concat!(
63525            "Offset of field: ",
63526            stringify!(im__DOUBLEMASK),
63527            "::",
63528            stringify!(scale)
63529        )
63530    );
63531    assert_eq!(
63532        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
63533        16usize,
63534        concat!(
63535            "Offset of field: ",
63536            stringify!(im__DOUBLEMASK),
63537            "::",
63538            stringify!(offset)
63539        )
63540    );
63541    assert_eq!(
63542        unsafe { ::std::ptr::addr_of!((*ptr).coeff) as usize - ptr as usize },
63543        24usize,
63544        concat!(
63545            "Offset of field: ",
63546            stringify!(im__DOUBLEMASK),
63547            "::",
63548            stringify!(coeff)
63549        )
63550    );
63551    assert_eq!(
63552        unsafe { ::std::ptr::addr_of!((*ptr).filename) as usize - ptr as usize },
63553        32usize,
63554        concat!(
63555            "Offset of field: ",
63556            stringify!(im__DOUBLEMASK),
63557            "::",
63558            stringify!(filename)
63559        )
63560    );
63561}
63562pub type DOUBLEMASK = im__DOUBLEMASK;
63563extern "C" {
63564    pub fn im_create_imask(
63565        filename: *const ::std::os::raw::c_char,
63566        xsize: ::std::os::raw::c_int,
63567        ysize: ::std::os::raw::c_int,
63568    ) -> *mut INTMASK;
63569}
63570extern "C" {
63571    pub fn im_create_imaskv(
63572        filename: *const ::std::os::raw::c_char,
63573        xsize: ::std::os::raw::c_int,
63574        ysize: ::std::os::raw::c_int,
63575        ...
63576    ) -> *mut INTMASK;
63577}
63578extern "C" {
63579    pub fn im_create_dmask(
63580        filename: *const ::std::os::raw::c_char,
63581        xsize: ::std::os::raw::c_int,
63582        ysize: ::std::os::raw::c_int,
63583    ) -> *mut DOUBLEMASK;
63584}
63585extern "C" {
63586    pub fn im_create_dmaskv(
63587        filename: *const ::std::os::raw::c_char,
63588        xsize: ::std::os::raw::c_int,
63589        ysize: ::std::os::raw::c_int,
63590        ...
63591    ) -> *mut DOUBLEMASK;
63592}
63593extern "C" {
63594    pub fn im_read_imask(filename: *const ::std::os::raw::c_char) -> *mut INTMASK;
63595}
63596extern "C" {
63597    pub fn im_read_dmask(filename: *const ::std::os::raw::c_char) -> *mut DOUBLEMASK;
63598}
63599extern "C" {
63600    pub fn im_print_imask(in_: *mut INTMASK);
63601}
63602extern "C" {
63603    pub fn im_print_dmask(in_: *mut DOUBLEMASK);
63604}
63605extern "C" {
63606    pub fn im_write_imask(in_: *mut INTMASK) -> ::std::os::raw::c_int;
63607}
63608extern "C" {
63609    pub fn im_write_dmask(in_: *mut DOUBLEMASK) -> ::std::os::raw::c_int;
63610}
63611extern "C" {
63612    pub fn im_write_imask_name(
63613        in_: *mut INTMASK,
63614        filename: *const ::std::os::raw::c_char,
63615    ) -> ::std::os::raw::c_int;
63616}
63617extern "C" {
63618    pub fn im_write_dmask_name(
63619        in_: *mut DOUBLEMASK,
63620        filename: *const ::std::os::raw::c_char,
63621    ) -> ::std::os::raw::c_int;
63622}
63623extern "C" {
63624    pub fn im_free_imask(in_: *mut INTMASK) -> ::std::os::raw::c_int;
63625}
63626extern "C" {
63627    pub fn im_free_dmask(in_: *mut DOUBLEMASK) -> ::std::os::raw::c_int;
63628}
63629extern "C" {
63630    pub fn im_log_imask(
63631        filename: *const ::std::os::raw::c_char,
63632        sigma: f64,
63633        min_ampl: f64,
63634    ) -> *mut INTMASK;
63635}
63636extern "C" {
63637    pub fn im_log_dmask(
63638        filename: *const ::std::os::raw::c_char,
63639        sigma: f64,
63640        min_ampl: f64,
63641    ) -> *mut DOUBLEMASK;
63642}
63643extern "C" {
63644    pub fn im_gauss_imask(
63645        filename: *const ::std::os::raw::c_char,
63646        sigma: f64,
63647        min_ampl: f64,
63648    ) -> *mut INTMASK;
63649}
63650extern "C" {
63651    pub fn im_gauss_imask_sep(
63652        filename: *const ::std::os::raw::c_char,
63653        sigma: f64,
63654        min_ampl: f64,
63655    ) -> *mut INTMASK;
63656}
63657extern "C" {
63658    pub fn im_gauss_dmask(
63659        filename: *const ::std::os::raw::c_char,
63660        sigma: f64,
63661        min_ampl: f64,
63662    ) -> *mut DOUBLEMASK;
63663}
63664extern "C" {
63665    pub fn im_gauss_dmask_sep(
63666        filename: *const ::std::os::raw::c_char,
63667        sigma: f64,
63668        min_ampl: f64,
63669    ) -> *mut DOUBLEMASK;
63670}
63671extern "C" {
63672    pub fn im_dup_imask(in_: *mut INTMASK, filename: *const ::std::os::raw::c_char)
63673        -> *mut INTMASK;
63674}
63675extern "C" {
63676    pub fn im_dup_dmask(
63677        in_: *mut DOUBLEMASK,
63678        filename: *const ::std::os::raw::c_char,
63679    ) -> *mut DOUBLEMASK;
63680}
63681extern "C" {
63682    pub fn im_scale_dmask(
63683        in_: *mut DOUBLEMASK,
63684        filename: *const ::std::os::raw::c_char,
63685    ) -> *mut INTMASK;
63686}
63687extern "C" {
63688    pub fn im_norm_dmask(mask: *mut DOUBLEMASK);
63689}
63690extern "C" {
63691    pub fn im_imask2dmask(
63692        in_: *mut INTMASK,
63693        filename: *const ::std::os::raw::c_char,
63694    ) -> *mut DOUBLEMASK;
63695}
63696extern "C" {
63697    pub fn im_dmask2imask(
63698        in_: *mut DOUBLEMASK,
63699        filename: *const ::std::os::raw::c_char,
63700    ) -> *mut INTMASK;
63701}
63702extern "C" {
63703    pub fn im_rotate_imask90(
63704        in_: *mut INTMASK,
63705        filename: *const ::std::os::raw::c_char,
63706    ) -> *mut INTMASK;
63707}
63708extern "C" {
63709    pub fn im_rotate_imask45(
63710        in_: *mut INTMASK,
63711        filename: *const ::std::os::raw::c_char,
63712    ) -> *mut INTMASK;
63713}
63714extern "C" {
63715    pub fn im_rotate_dmask90(
63716        in_: *mut DOUBLEMASK,
63717        filename: *const ::std::os::raw::c_char,
63718    ) -> *mut DOUBLEMASK;
63719}
63720extern "C" {
63721    pub fn im_rotate_dmask45(
63722        in_: *mut DOUBLEMASK,
63723        filename: *const ::std::os::raw::c_char,
63724    ) -> *mut DOUBLEMASK;
63725}
63726extern "C" {
63727    pub fn im_mattrn(
63728        in_: *mut DOUBLEMASK,
63729        filename: *const ::std::os::raw::c_char,
63730    ) -> *mut DOUBLEMASK;
63731}
63732extern "C" {
63733    pub fn im_matcat(
63734        top: *mut DOUBLEMASK,
63735        bottom: *mut DOUBLEMASK,
63736        filename: *const ::std::os::raw::c_char,
63737    ) -> *mut DOUBLEMASK;
63738}
63739extern "C" {
63740    pub fn im_matmul(
63741        in1: *mut DOUBLEMASK,
63742        in2: *mut DOUBLEMASK,
63743        filename: *const ::std::os::raw::c_char,
63744    ) -> *mut DOUBLEMASK;
63745}
63746extern "C" {
63747    pub fn im_lu_decomp(
63748        mat: *const DOUBLEMASK,
63749        filename: *const ::std::os::raw::c_char,
63750    ) -> *mut DOUBLEMASK;
63751}
63752extern "C" {
63753    pub fn im_lu_solve(lu: *const DOUBLEMASK, vec: *mut f64) -> ::std::os::raw::c_int;
63754}
63755extern "C" {
63756    pub fn im_matinv(
63757        mat: *const DOUBLEMASK,
63758        filename: *const ::std::os::raw::c_char,
63759    ) -> *mut DOUBLEMASK;
63760}
63761extern "C" {
63762    pub fn im_matinv_inplace(mat: *mut DOUBLEMASK) -> ::std::os::raw::c_int;
63763}
63764extern "C" {
63765    pub fn im_local_dmask(out: *mut _VipsImage, mask: *mut DOUBLEMASK) -> *mut DOUBLEMASK;
63766}
63767extern "C" {
63768    pub fn im_local_imask(out: *mut _VipsImage, mask: *mut INTMASK) -> *mut INTMASK;
63769}
63770pub const VipsRegionShrink_VIPS_REGION_SHRINK_MEAN: VipsRegionShrink = 0;
63771pub const VipsRegionShrink_VIPS_REGION_SHRINK_MEDIAN: VipsRegionShrink = 1;
63772pub const VipsRegionShrink_VIPS_REGION_SHRINK_MODE: VipsRegionShrink = 2;
63773pub const VipsRegionShrink_VIPS_REGION_SHRINK_MAX: VipsRegionShrink = 3;
63774pub const VipsRegionShrink_VIPS_REGION_SHRINK_MIN: VipsRegionShrink = 4;
63775pub const VipsRegionShrink_VIPS_REGION_SHRINK_NEAREST: VipsRegionShrink = 5;
63776pub const VipsRegionShrink_VIPS_REGION_SHRINK_LAST: VipsRegionShrink = 6;
63777pub type VipsRegionShrink = ::std::os::raw::c_uint;
63778#[repr(C)]
63779#[derive(Debug, Copy, Clone, PartialEq, Eq)]
63780pub struct _VipsRegion {
63781    pub parent_object: VipsObject,
63782    pub im: *mut VipsImage,
63783    pub valid: VipsRect,
63784    pub type_: RegionType,
63785    pub data: *mut VipsPel,
63786    pub bpl: ::std::os::raw::c_int,
63787    pub seq: *mut ::std::os::raw::c_void,
63788    pub thread: *mut GThread,
63789    pub window: *mut VipsWindow,
63790    pub buffer: *mut VipsBuffer,
63791    pub invalid: gboolean,
63792}
63793#[test]
63794fn bindgen_test_layout__VipsRegion() {
63795    const UNINIT: ::std::mem::MaybeUninit<_VipsRegion> = ::std::mem::MaybeUninit::uninit();
63796    let ptr = UNINIT.as_ptr();
63797    assert_eq!(
63798        ::std::mem::size_of::<_VipsRegion>(),
63799        168usize,
63800        concat!("Size of: ", stringify!(_VipsRegion))
63801    );
63802    assert_eq!(
63803        ::std::mem::align_of::<_VipsRegion>(),
63804        8usize,
63805        concat!("Alignment of ", stringify!(_VipsRegion))
63806    );
63807    assert_eq!(
63808        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
63809        0usize,
63810        concat!(
63811            "Offset of field: ",
63812            stringify!(_VipsRegion),
63813            "::",
63814            stringify!(parent_object)
63815        )
63816    );
63817    assert_eq!(
63818        unsafe { ::std::ptr::addr_of!((*ptr).im) as usize - ptr as usize },
63819        80usize,
63820        concat!(
63821            "Offset of field: ",
63822            stringify!(_VipsRegion),
63823            "::",
63824            stringify!(im)
63825        )
63826    );
63827    assert_eq!(
63828        unsafe { ::std::ptr::addr_of!((*ptr).valid) as usize - ptr as usize },
63829        88usize,
63830        concat!(
63831            "Offset of field: ",
63832            stringify!(_VipsRegion),
63833            "::",
63834            stringify!(valid)
63835        )
63836    );
63837    assert_eq!(
63838        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
63839        104usize,
63840        concat!(
63841            "Offset of field: ",
63842            stringify!(_VipsRegion),
63843            "::",
63844            stringify!(type_)
63845        )
63846    );
63847    assert_eq!(
63848        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
63849        112usize,
63850        concat!(
63851            "Offset of field: ",
63852            stringify!(_VipsRegion),
63853            "::",
63854            stringify!(data)
63855        )
63856    );
63857    assert_eq!(
63858        unsafe { ::std::ptr::addr_of!((*ptr).bpl) as usize - ptr as usize },
63859        120usize,
63860        concat!(
63861            "Offset of field: ",
63862            stringify!(_VipsRegion),
63863            "::",
63864            stringify!(bpl)
63865        )
63866    );
63867    assert_eq!(
63868        unsafe { ::std::ptr::addr_of!((*ptr).seq) as usize - ptr as usize },
63869        128usize,
63870        concat!(
63871            "Offset of field: ",
63872            stringify!(_VipsRegion),
63873            "::",
63874            stringify!(seq)
63875        )
63876    );
63877    assert_eq!(
63878        unsafe { ::std::ptr::addr_of!((*ptr).thread) as usize - ptr as usize },
63879        136usize,
63880        concat!(
63881            "Offset of field: ",
63882            stringify!(_VipsRegion),
63883            "::",
63884            stringify!(thread)
63885        )
63886    );
63887    assert_eq!(
63888        unsafe { ::std::ptr::addr_of!((*ptr).window) as usize - ptr as usize },
63889        144usize,
63890        concat!(
63891            "Offset of field: ",
63892            stringify!(_VipsRegion),
63893            "::",
63894            stringify!(window)
63895        )
63896    );
63897    assert_eq!(
63898        unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
63899        152usize,
63900        concat!(
63901            "Offset of field: ",
63902            stringify!(_VipsRegion),
63903            "::",
63904            stringify!(buffer)
63905        )
63906    );
63907    assert_eq!(
63908        unsafe { ::std::ptr::addr_of!((*ptr).invalid) as usize - ptr as usize },
63909        160usize,
63910        concat!(
63911            "Offset of field: ",
63912            stringify!(_VipsRegion),
63913            "::",
63914            stringify!(invalid)
63915        )
63916    );
63917}
63918#[repr(C)]
63919#[derive(Debug, Copy, Clone, PartialEq, Eq)]
63920pub struct _VipsRegionClass {
63921    pub parent_class: VipsObjectClass,
63922}
63923#[test]
63924fn bindgen_test_layout__VipsRegionClass() {
63925    const UNINIT: ::std::mem::MaybeUninit<_VipsRegionClass> = ::std::mem::MaybeUninit::uninit();
63926    let ptr = UNINIT.as_ptr();
63927    assert_eq!(
63928        ::std::mem::size_of::<_VipsRegionClass>(),
63929        328usize,
63930        concat!("Size of: ", stringify!(_VipsRegionClass))
63931    );
63932    assert_eq!(
63933        ::std::mem::align_of::<_VipsRegionClass>(),
63934        8usize,
63935        concat!("Alignment of ", stringify!(_VipsRegionClass))
63936    );
63937    assert_eq!(
63938        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
63939        0usize,
63940        concat!(
63941            "Offset of field: ",
63942            stringify!(_VipsRegionClass),
63943            "::",
63944            stringify!(parent_class)
63945        )
63946    );
63947}
63948pub type VipsRegionClass = _VipsRegionClass;
63949extern "C" {
63950    pub fn vips_region_get_type() -> GType;
63951}
63952extern "C" {
63953    pub fn vips_region_new(image: *mut VipsImage) -> *mut VipsRegion;
63954}
63955extern "C" {
63956    pub fn vips_region_buffer(reg: *mut VipsRegion, r: *const VipsRect) -> ::std::os::raw::c_int;
63957}
63958extern "C" {
63959    pub fn vips_region_image(reg: *mut VipsRegion, r: *const VipsRect) -> ::std::os::raw::c_int;
63960}
63961extern "C" {
63962    pub fn vips_region_region(
63963        reg: *mut VipsRegion,
63964        dest: *mut VipsRegion,
63965        r: *const VipsRect,
63966        x: ::std::os::raw::c_int,
63967        y: ::std::os::raw::c_int,
63968    ) -> ::std::os::raw::c_int;
63969}
63970extern "C" {
63971    pub fn vips_region_equalsregion(
63972        reg1: *mut VipsRegion,
63973        reg2: *mut VipsRegion,
63974    ) -> ::std::os::raw::c_int;
63975}
63976extern "C" {
63977    pub fn vips_region_position(
63978        reg: *mut VipsRegion,
63979        x: ::std::os::raw::c_int,
63980        y: ::std::os::raw::c_int,
63981    ) -> ::std::os::raw::c_int;
63982}
63983extern "C" {
63984    pub fn vips_region_paint(
63985        reg: *mut VipsRegion,
63986        r: *const VipsRect,
63987        value: ::std::os::raw::c_int,
63988    );
63989}
63990extern "C" {
63991    pub fn vips_region_paint_pel(reg: *mut VipsRegion, r: *const VipsRect, ink: *const VipsPel);
63992}
63993extern "C" {
63994    pub fn vips_region_black(reg: *mut VipsRegion);
63995}
63996extern "C" {
63997    pub fn vips_region_copy(
63998        reg: *mut VipsRegion,
63999        dest: *mut VipsRegion,
64000        r: *const VipsRect,
64001        x: ::std::os::raw::c_int,
64002        y: ::std::os::raw::c_int,
64003    );
64004}
64005extern "C" {
64006    pub fn vips_region_shrink_method(
64007        from: *mut VipsRegion,
64008        to: *mut VipsRegion,
64009        target: *const VipsRect,
64010        method: VipsRegionShrink,
64011    ) -> ::std::os::raw::c_int;
64012}
64013extern "C" {
64014    pub fn vips_region_shrink(
64015        from: *mut VipsRegion,
64016        to: *mut VipsRegion,
64017        target: *const VipsRect,
64018    ) -> ::std::os::raw::c_int;
64019}
64020extern "C" {
64021    pub fn vips_region_prepare(reg: *mut VipsRegion, r: *const VipsRect) -> ::std::os::raw::c_int;
64022}
64023extern "C" {
64024    pub fn vips_region_prepare_to(
64025        reg: *mut VipsRegion,
64026        dest: *mut VipsRegion,
64027        r: *const VipsRect,
64028        x: ::std::os::raw::c_int,
64029        y: ::std::os::raw::c_int,
64030    ) -> ::std::os::raw::c_int;
64031}
64032extern "C" {
64033    pub fn vips_region_fetch(
64034        region: *mut VipsRegion,
64035        left: ::std::os::raw::c_int,
64036        top: ::std::os::raw::c_int,
64037        width: ::std::os::raw::c_int,
64038        height: ::std::os::raw::c_int,
64039        len: *mut size_t,
64040    ) -> *mut VipsPel;
64041}
64042extern "C" {
64043    pub fn vips_region_width(region: *mut VipsRegion) -> ::std::os::raw::c_int;
64044}
64045extern "C" {
64046    pub fn vips_region_height(region: *mut VipsRegion) -> ::std::os::raw::c_int;
64047}
64048extern "C" {
64049    pub fn vips_region_invalidate(reg: *mut VipsRegion);
64050}
64051pub const VipsDemandStyle_VIPS_DEMAND_STYLE_ERROR: VipsDemandStyle = -1;
64052pub const VipsDemandStyle_VIPS_DEMAND_STYLE_SMALLTILE: VipsDemandStyle = 0;
64053pub const VipsDemandStyle_VIPS_DEMAND_STYLE_FATSTRIP: VipsDemandStyle = 1;
64054pub const VipsDemandStyle_VIPS_DEMAND_STYLE_THINSTRIP: VipsDemandStyle = 2;
64055pub const VipsDemandStyle_VIPS_DEMAND_STYLE_ANY: VipsDemandStyle = 3;
64056pub type VipsDemandStyle = ::std::os::raw::c_int;
64057pub const VipsImageType_VIPS_IMAGE_ERROR: VipsImageType = -1;
64058pub const VipsImageType_VIPS_IMAGE_NONE: VipsImageType = 0;
64059pub const VipsImageType_VIPS_IMAGE_SETBUF: VipsImageType = 1;
64060pub const VipsImageType_VIPS_IMAGE_SETBUF_FOREIGN: VipsImageType = 2;
64061pub const VipsImageType_VIPS_IMAGE_OPENIN: VipsImageType = 3;
64062pub const VipsImageType_VIPS_IMAGE_MMAPIN: VipsImageType = 4;
64063pub const VipsImageType_VIPS_IMAGE_MMAPINRW: VipsImageType = 5;
64064pub const VipsImageType_VIPS_IMAGE_OPENOUT: VipsImageType = 6;
64065pub const VipsImageType_VIPS_IMAGE_PARTIAL: VipsImageType = 7;
64066pub type VipsImageType = ::std::os::raw::c_int;
64067pub const VipsInterpretation_VIPS_INTERPRETATION_ERROR: VipsInterpretation = -1;
64068pub const VipsInterpretation_VIPS_INTERPRETATION_MULTIBAND: VipsInterpretation = 0;
64069pub const VipsInterpretation_VIPS_INTERPRETATION_B_W: VipsInterpretation = 1;
64070pub const VipsInterpretation_VIPS_INTERPRETATION_HISTOGRAM: VipsInterpretation = 10;
64071pub const VipsInterpretation_VIPS_INTERPRETATION_XYZ: VipsInterpretation = 12;
64072pub const VipsInterpretation_VIPS_INTERPRETATION_LAB: VipsInterpretation = 13;
64073pub const VipsInterpretation_VIPS_INTERPRETATION_CMYK: VipsInterpretation = 15;
64074pub const VipsInterpretation_VIPS_INTERPRETATION_LABQ: VipsInterpretation = 16;
64075pub const VipsInterpretation_VIPS_INTERPRETATION_RGB: VipsInterpretation = 17;
64076pub const VipsInterpretation_VIPS_INTERPRETATION_CMC: VipsInterpretation = 18;
64077pub const VipsInterpretation_VIPS_INTERPRETATION_LCH: VipsInterpretation = 19;
64078pub const VipsInterpretation_VIPS_INTERPRETATION_LABS: VipsInterpretation = 21;
64079pub const VipsInterpretation_VIPS_INTERPRETATION_sRGB: VipsInterpretation = 22;
64080pub const VipsInterpretation_VIPS_INTERPRETATION_YXY: VipsInterpretation = 23;
64081pub const VipsInterpretation_VIPS_INTERPRETATION_FOURIER: VipsInterpretation = 24;
64082pub const VipsInterpretation_VIPS_INTERPRETATION_RGB16: VipsInterpretation = 25;
64083pub const VipsInterpretation_VIPS_INTERPRETATION_GREY16: VipsInterpretation = 26;
64084pub const VipsInterpretation_VIPS_INTERPRETATION_MATRIX: VipsInterpretation = 27;
64085pub const VipsInterpretation_VIPS_INTERPRETATION_scRGB: VipsInterpretation = 28;
64086pub const VipsInterpretation_VIPS_INTERPRETATION_HSV: VipsInterpretation = 29;
64087pub const VipsInterpretation_VIPS_INTERPRETATION_LAST: VipsInterpretation = 30;
64088pub type VipsInterpretation = ::std::os::raw::c_int;
64089pub const VipsBandFormat_VIPS_FORMAT_NOTSET: VipsBandFormat = -1;
64090pub const VipsBandFormat_VIPS_FORMAT_UCHAR: VipsBandFormat = 0;
64091pub const VipsBandFormat_VIPS_FORMAT_CHAR: VipsBandFormat = 1;
64092pub const VipsBandFormat_VIPS_FORMAT_USHORT: VipsBandFormat = 2;
64093pub const VipsBandFormat_VIPS_FORMAT_SHORT: VipsBandFormat = 3;
64094pub const VipsBandFormat_VIPS_FORMAT_UINT: VipsBandFormat = 4;
64095pub const VipsBandFormat_VIPS_FORMAT_INT: VipsBandFormat = 5;
64096pub const VipsBandFormat_VIPS_FORMAT_FLOAT: VipsBandFormat = 6;
64097pub const VipsBandFormat_VIPS_FORMAT_COMPLEX: VipsBandFormat = 7;
64098pub const VipsBandFormat_VIPS_FORMAT_DOUBLE: VipsBandFormat = 8;
64099pub const VipsBandFormat_VIPS_FORMAT_DPCOMPLEX: VipsBandFormat = 9;
64100pub const VipsBandFormat_VIPS_FORMAT_LAST: VipsBandFormat = 10;
64101pub type VipsBandFormat = ::std::os::raw::c_int;
64102pub const VipsCoding_VIPS_CODING_ERROR: VipsCoding = -1;
64103pub const VipsCoding_VIPS_CODING_NONE: VipsCoding = 0;
64104pub const VipsCoding_VIPS_CODING_LABQ: VipsCoding = 2;
64105pub const VipsCoding_VIPS_CODING_RAD: VipsCoding = 6;
64106pub const VipsCoding_VIPS_CODING_LAST: VipsCoding = 7;
64107pub type VipsCoding = ::std::os::raw::c_int;
64108pub const VipsAccess_VIPS_ACCESS_RANDOM: VipsAccess = 0;
64109pub const VipsAccess_VIPS_ACCESS_SEQUENTIAL: VipsAccess = 1;
64110pub const VipsAccess_VIPS_ACCESS_SEQUENTIAL_UNBUFFERED: VipsAccess = 2;
64111pub const VipsAccess_VIPS_ACCESS_LAST: VipsAccess = 3;
64112pub type VipsAccess = ::std::os::raw::c_uint;
64113pub type VipsStartFn = ::std::option::Option<
64114    unsafe extern "C" fn(
64115        out: *mut VipsImage,
64116        a: *mut ::std::os::raw::c_void,
64117        b: *mut ::std::os::raw::c_void,
64118    ) -> *mut ::std::os::raw::c_void,
64119>;
64120pub type VipsGenerateFn = ::std::option::Option<
64121    unsafe extern "C" fn(
64122        out: *mut VipsRegion,
64123        seq: *mut ::std::os::raw::c_void,
64124        a: *mut ::std::os::raw::c_void,
64125        b: *mut ::std::os::raw::c_void,
64126        stop: *mut gboolean,
64127    ) -> ::std::os::raw::c_int,
64128>;
64129pub type VipsStopFn = ::std::option::Option<
64130    unsafe extern "C" fn(
64131        seq: *mut ::std::os::raw::c_void,
64132        a: *mut ::std::os::raw::c_void,
64133        b: *mut ::std::os::raw::c_void,
64134    ) -> ::std::os::raw::c_int,
64135>;
64136#[repr(C)]
64137#[derive(Debug, Copy, Clone, PartialEq, Eq)]
64138pub struct _VipsProgress {
64139    pub im: *mut VipsImage,
64140    pub run: ::std::os::raw::c_int,
64141    pub eta: ::std::os::raw::c_int,
64142    pub tpels: gint64,
64143    pub npels: gint64,
64144    pub percent: ::std::os::raw::c_int,
64145    pub start: *mut GTimer,
64146}
64147#[test]
64148fn bindgen_test_layout__VipsProgress() {
64149    const UNINIT: ::std::mem::MaybeUninit<_VipsProgress> = ::std::mem::MaybeUninit::uninit();
64150    let ptr = UNINIT.as_ptr();
64151    assert_eq!(
64152        ::std::mem::size_of::<_VipsProgress>(),
64153        48usize,
64154        concat!("Size of: ", stringify!(_VipsProgress))
64155    );
64156    assert_eq!(
64157        ::std::mem::align_of::<_VipsProgress>(),
64158        8usize,
64159        concat!("Alignment of ", stringify!(_VipsProgress))
64160    );
64161    assert_eq!(
64162        unsafe { ::std::ptr::addr_of!((*ptr).im) as usize - ptr as usize },
64163        0usize,
64164        concat!(
64165            "Offset of field: ",
64166            stringify!(_VipsProgress),
64167            "::",
64168            stringify!(im)
64169        )
64170    );
64171    assert_eq!(
64172        unsafe { ::std::ptr::addr_of!((*ptr).run) as usize - ptr as usize },
64173        8usize,
64174        concat!(
64175            "Offset of field: ",
64176            stringify!(_VipsProgress),
64177            "::",
64178            stringify!(run)
64179        )
64180    );
64181    assert_eq!(
64182        unsafe { ::std::ptr::addr_of!((*ptr).eta) as usize - ptr as usize },
64183        12usize,
64184        concat!(
64185            "Offset of field: ",
64186            stringify!(_VipsProgress),
64187            "::",
64188            stringify!(eta)
64189        )
64190    );
64191    assert_eq!(
64192        unsafe { ::std::ptr::addr_of!((*ptr).tpels) as usize - ptr as usize },
64193        16usize,
64194        concat!(
64195            "Offset of field: ",
64196            stringify!(_VipsProgress),
64197            "::",
64198            stringify!(tpels)
64199        )
64200    );
64201    assert_eq!(
64202        unsafe { ::std::ptr::addr_of!((*ptr).npels) as usize - ptr as usize },
64203        24usize,
64204        concat!(
64205            "Offset of field: ",
64206            stringify!(_VipsProgress),
64207            "::",
64208            stringify!(npels)
64209        )
64210    );
64211    assert_eq!(
64212        unsafe { ::std::ptr::addr_of!((*ptr).percent) as usize - ptr as usize },
64213        32usize,
64214        concat!(
64215            "Offset of field: ",
64216            stringify!(_VipsProgress),
64217            "::",
64218            stringify!(percent)
64219        )
64220    );
64221    assert_eq!(
64222        unsafe { ::std::ptr::addr_of!((*ptr).start) as usize - ptr as usize },
64223        40usize,
64224        concat!(
64225            "Offset of field: ",
64226            stringify!(_VipsProgress),
64227            "::",
64228            stringify!(start)
64229        )
64230    );
64231}
64232pub type VipsProgress = _VipsProgress;
64233#[repr(C)]
64234#[derive(Debug, Copy, Clone, PartialEq)]
64235pub struct _VipsImage {
64236    pub parent_instance: VipsObject,
64237    pub Xsize: ::std::os::raw::c_int,
64238    pub Ysize: ::std::os::raw::c_int,
64239    pub Bands: ::std::os::raw::c_int,
64240    pub BandFmt: VipsBandFormat,
64241    pub Coding: VipsCoding,
64242    pub Type: VipsInterpretation,
64243    pub Xres: f64,
64244    pub Yres: f64,
64245    pub Xoffset: ::std::os::raw::c_int,
64246    pub Yoffset: ::std::os::raw::c_int,
64247    pub Length: ::std::os::raw::c_int,
64248    pub Compression: ::std::os::raw::c_short,
64249    pub Level: ::std::os::raw::c_short,
64250    pub Bbits: ::std::os::raw::c_int,
64251    pub time: *mut VipsProgress,
64252    pub Hist: *mut ::std::os::raw::c_char,
64253    pub filename: *mut ::std::os::raw::c_char,
64254    pub data: *mut VipsPel,
64255    pub kill: ::std::os::raw::c_int,
64256    pub Xres_float: f32,
64257    pub Yres_float: f32,
64258    pub mode: *mut ::std::os::raw::c_char,
64259    pub dtype: VipsImageType,
64260    pub fd: ::std::os::raw::c_int,
64261    pub baseaddr: *mut ::std::os::raw::c_void,
64262    pub length: size_t,
64263    pub magic: guint32,
64264    pub start_fn: VipsStartFn,
64265    pub generate_fn: VipsGenerateFn,
64266    pub stop_fn: VipsStopFn,
64267    pub client1: *mut ::std::os::raw::c_void,
64268    pub client2: *mut ::std::os::raw::c_void,
64269    pub sslock: *mut GMutex,
64270    pub regions: *mut GSList,
64271    pub dhint: VipsDemandStyle,
64272    pub meta: *mut GHashTable,
64273    pub meta_traverse: *mut GSList,
64274    pub sizeof_header: gint64,
64275    pub windows: *mut GSList,
64276    pub upstream: *mut GSList,
64277    pub downstream: *mut GSList,
64278    pub serial: ::std::os::raw::c_int,
64279    pub history_list: *mut GSList,
64280    pub progress_signal: *mut VipsImage,
64281    pub file_length: gint64,
64282    pub hint_set: gboolean,
64283    pub delete_on_close: gboolean,
64284    pub delete_on_close_filename: *mut ::std::os::raw::c_char,
64285}
64286#[test]
64287fn bindgen_test_layout__VipsImage() {
64288    const UNINIT: ::std::mem::MaybeUninit<_VipsImage> = ::std::mem::MaybeUninit::uninit();
64289    let ptr = UNINIT.as_ptr();
64290    assert_eq!(
64291        ::std::mem::size_of::<_VipsImage>(),
64292        392usize,
64293        concat!("Size of: ", stringify!(_VipsImage))
64294    );
64295    assert_eq!(
64296        ::std::mem::align_of::<_VipsImage>(),
64297        8usize,
64298        concat!("Alignment of ", stringify!(_VipsImage))
64299    );
64300    assert_eq!(
64301        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
64302        0usize,
64303        concat!(
64304            "Offset of field: ",
64305            stringify!(_VipsImage),
64306            "::",
64307            stringify!(parent_instance)
64308        )
64309    );
64310    assert_eq!(
64311        unsafe { ::std::ptr::addr_of!((*ptr).Xsize) as usize - ptr as usize },
64312        80usize,
64313        concat!(
64314            "Offset of field: ",
64315            stringify!(_VipsImage),
64316            "::",
64317            stringify!(Xsize)
64318        )
64319    );
64320    assert_eq!(
64321        unsafe { ::std::ptr::addr_of!((*ptr).Ysize) as usize - ptr as usize },
64322        84usize,
64323        concat!(
64324            "Offset of field: ",
64325            stringify!(_VipsImage),
64326            "::",
64327            stringify!(Ysize)
64328        )
64329    );
64330    assert_eq!(
64331        unsafe { ::std::ptr::addr_of!((*ptr).Bands) as usize - ptr as usize },
64332        88usize,
64333        concat!(
64334            "Offset of field: ",
64335            stringify!(_VipsImage),
64336            "::",
64337            stringify!(Bands)
64338        )
64339    );
64340    assert_eq!(
64341        unsafe { ::std::ptr::addr_of!((*ptr).BandFmt) as usize - ptr as usize },
64342        92usize,
64343        concat!(
64344            "Offset of field: ",
64345            stringify!(_VipsImage),
64346            "::",
64347            stringify!(BandFmt)
64348        )
64349    );
64350    assert_eq!(
64351        unsafe { ::std::ptr::addr_of!((*ptr).Coding) as usize - ptr as usize },
64352        96usize,
64353        concat!(
64354            "Offset of field: ",
64355            stringify!(_VipsImage),
64356            "::",
64357            stringify!(Coding)
64358        )
64359    );
64360    assert_eq!(
64361        unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize },
64362        100usize,
64363        concat!(
64364            "Offset of field: ",
64365            stringify!(_VipsImage),
64366            "::",
64367            stringify!(Type)
64368        )
64369    );
64370    assert_eq!(
64371        unsafe { ::std::ptr::addr_of!((*ptr).Xres) as usize - ptr as usize },
64372        104usize,
64373        concat!(
64374            "Offset of field: ",
64375            stringify!(_VipsImage),
64376            "::",
64377            stringify!(Xres)
64378        )
64379    );
64380    assert_eq!(
64381        unsafe { ::std::ptr::addr_of!((*ptr).Yres) as usize - ptr as usize },
64382        112usize,
64383        concat!(
64384            "Offset of field: ",
64385            stringify!(_VipsImage),
64386            "::",
64387            stringify!(Yres)
64388        )
64389    );
64390    assert_eq!(
64391        unsafe { ::std::ptr::addr_of!((*ptr).Xoffset) as usize - ptr as usize },
64392        120usize,
64393        concat!(
64394            "Offset of field: ",
64395            stringify!(_VipsImage),
64396            "::",
64397            stringify!(Xoffset)
64398        )
64399    );
64400    assert_eq!(
64401        unsafe { ::std::ptr::addr_of!((*ptr).Yoffset) as usize - ptr as usize },
64402        124usize,
64403        concat!(
64404            "Offset of field: ",
64405            stringify!(_VipsImage),
64406            "::",
64407            stringify!(Yoffset)
64408        )
64409    );
64410    assert_eq!(
64411        unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize },
64412        128usize,
64413        concat!(
64414            "Offset of field: ",
64415            stringify!(_VipsImage),
64416            "::",
64417            stringify!(Length)
64418        )
64419    );
64420    assert_eq!(
64421        unsafe { ::std::ptr::addr_of!((*ptr).Compression) as usize - ptr as usize },
64422        132usize,
64423        concat!(
64424            "Offset of field: ",
64425            stringify!(_VipsImage),
64426            "::",
64427            stringify!(Compression)
64428        )
64429    );
64430    assert_eq!(
64431        unsafe { ::std::ptr::addr_of!((*ptr).Level) as usize - ptr as usize },
64432        134usize,
64433        concat!(
64434            "Offset of field: ",
64435            stringify!(_VipsImage),
64436            "::",
64437            stringify!(Level)
64438        )
64439    );
64440    assert_eq!(
64441        unsafe { ::std::ptr::addr_of!((*ptr).Bbits) as usize - ptr as usize },
64442        136usize,
64443        concat!(
64444            "Offset of field: ",
64445            stringify!(_VipsImage),
64446            "::",
64447            stringify!(Bbits)
64448        )
64449    );
64450    assert_eq!(
64451        unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize },
64452        144usize,
64453        concat!(
64454            "Offset of field: ",
64455            stringify!(_VipsImage),
64456            "::",
64457            stringify!(time)
64458        )
64459    );
64460    assert_eq!(
64461        unsafe { ::std::ptr::addr_of!((*ptr).Hist) as usize - ptr as usize },
64462        152usize,
64463        concat!(
64464            "Offset of field: ",
64465            stringify!(_VipsImage),
64466            "::",
64467            stringify!(Hist)
64468        )
64469    );
64470    assert_eq!(
64471        unsafe { ::std::ptr::addr_of!((*ptr).filename) as usize - ptr as usize },
64472        160usize,
64473        concat!(
64474            "Offset of field: ",
64475            stringify!(_VipsImage),
64476            "::",
64477            stringify!(filename)
64478        )
64479    );
64480    assert_eq!(
64481        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
64482        168usize,
64483        concat!(
64484            "Offset of field: ",
64485            stringify!(_VipsImage),
64486            "::",
64487            stringify!(data)
64488        )
64489    );
64490    assert_eq!(
64491        unsafe { ::std::ptr::addr_of!((*ptr).kill) as usize - ptr as usize },
64492        176usize,
64493        concat!(
64494            "Offset of field: ",
64495            stringify!(_VipsImage),
64496            "::",
64497            stringify!(kill)
64498        )
64499    );
64500    assert_eq!(
64501        unsafe { ::std::ptr::addr_of!((*ptr).Xres_float) as usize - ptr as usize },
64502        180usize,
64503        concat!(
64504            "Offset of field: ",
64505            stringify!(_VipsImage),
64506            "::",
64507            stringify!(Xres_float)
64508        )
64509    );
64510    assert_eq!(
64511        unsafe { ::std::ptr::addr_of!((*ptr).Yres_float) as usize - ptr as usize },
64512        184usize,
64513        concat!(
64514            "Offset of field: ",
64515            stringify!(_VipsImage),
64516            "::",
64517            stringify!(Yres_float)
64518        )
64519    );
64520    assert_eq!(
64521        unsafe { ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize },
64522        192usize,
64523        concat!(
64524            "Offset of field: ",
64525            stringify!(_VipsImage),
64526            "::",
64527            stringify!(mode)
64528        )
64529    );
64530    assert_eq!(
64531        unsafe { ::std::ptr::addr_of!((*ptr).dtype) as usize - ptr as usize },
64532        200usize,
64533        concat!(
64534            "Offset of field: ",
64535            stringify!(_VipsImage),
64536            "::",
64537            stringify!(dtype)
64538        )
64539    );
64540    assert_eq!(
64541        unsafe { ::std::ptr::addr_of!((*ptr).fd) as usize - ptr as usize },
64542        204usize,
64543        concat!(
64544            "Offset of field: ",
64545            stringify!(_VipsImage),
64546            "::",
64547            stringify!(fd)
64548        )
64549    );
64550    assert_eq!(
64551        unsafe { ::std::ptr::addr_of!((*ptr).baseaddr) as usize - ptr as usize },
64552        208usize,
64553        concat!(
64554            "Offset of field: ",
64555            stringify!(_VipsImage),
64556            "::",
64557            stringify!(baseaddr)
64558        )
64559    );
64560    assert_eq!(
64561        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
64562        216usize,
64563        concat!(
64564            "Offset of field: ",
64565            stringify!(_VipsImage),
64566            "::",
64567            stringify!(length)
64568        )
64569    );
64570    assert_eq!(
64571        unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize },
64572        224usize,
64573        concat!(
64574            "Offset of field: ",
64575            stringify!(_VipsImage),
64576            "::",
64577            stringify!(magic)
64578        )
64579    );
64580    assert_eq!(
64581        unsafe { ::std::ptr::addr_of!((*ptr).start_fn) as usize - ptr as usize },
64582        232usize,
64583        concat!(
64584            "Offset of field: ",
64585            stringify!(_VipsImage),
64586            "::",
64587            stringify!(start_fn)
64588        )
64589    );
64590    assert_eq!(
64591        unsafe { ::std::ptr::addr_of!((*ptr).generate_fn) as usize - ptr as usize },
64592        240usize,
64593        concat!(
64594            "Offset of field: ",
64595            stringify!(_VipsImage),
64596            "::",
64597            stringify!(generate_fn)
64598        )
64599    );
64600    assert_eq!(
64601        unsafe { ::std::ptr::addr_of!((*ptr).stop_fn) as usize - ptr as usize },
64602        248usize,
64603        concat!(
64604            "Offset of field: ",
64605            stringify!(_VipsImage),
64606            "::",
64607            stringify!(stop_fn)
64608        )
64609    );
64610    assert_eq!(
64611        unsafe { ::std::ptr::addr_of!((*ptr).client1) as usize - ptr as usize },
64612        256usize,
64613        concat!(
64614            "Offset of field: ",
64615            stringify!(_VipsImage),
64616            "::",
64617            stringify!(client1)
64618        )
64619    );
64620    assert_eq!(
64621        unsafe { ::std::ptr::addr_of!((*ptr).client2) as usize - ptr as usize },
64622        264usize,
64623        concat!(
64624            "Offset of field: ",
64625            stringify!(_VipsImage),
64626            "::",
64627            stringify!(client2)
64628        )
64629    );
64630    assert_eq!(
64631        unsafe { ::std::ptr::addr_of!((*ptr).sslock) as usize - ptr as usize },
64632        272usize,
64633        concat!(
64634            "Offset of field: ",
64635            stringify!(_VipsImage),
64636            "::",
64637            stringify!(sslock)
64638        )
64639    );
64640    assert_eq!(
64641        unsafe { ::std::ptr::addr_of!((*ptr).regions) as usize - ptr as usize },
64642        280usize,
64643        concat!(
64644            "Offset of field: ",
64645            stringify!(_VipsImage),
64646            "::",
64647            stringify!(regions)
64648        )
64649    );
64650    assert_eq!(
64651        unsafe { ::std::ptr::addr_of!((*ptr).dhint) as usize - ptr as usize },
64652        288usize,
64653        concat!(
64654            "Offset of field: ",
64655            stringify!(_VipsImage),
64656            "::",
64657            stringify!(dhint)
64658        )
64659    );
64660    assert_eq!(
64661        unsafe { ::std::ptr::addr_of!((*ptr).meta) as usize - ptr as usize },
64662        296usize,
64663        concat!(
64664            "Offset of field: ",
64665            stringify!(_VipsImage),
64666            "::",
64667            stringify!(meta)
64668        )
64669    );
64670    assert_eq!(
64671        unsafe { ::std::ptr::addr_of!((*ptr).meta_traverse) as usize - ptr as usize },
64672        304usize,
64673        concat!(
64674            "Offset of field: ",
64675            stringify!(_VipsImage),
64676            "::",
64677            stringify!(meta_traverse)
64678        )
64679    );
64680    assert_eq!(
64681        unsafe { ::std::ptr::addr_of!((*ptr).sizeof_header) as usize - ptr as usize },
64682        312usize,
64683        concat!(
64684            "Offset of field: ",
64685            stringify!(_VipsImage),
64686            "::",
64687            stringify!(sizeof_header)
64688        )
64689    );
64690    assert_eq!(
64691        unsafe { ::std::ptr::addr_of!((*ptr).windows) as usize - ptr as usize },
64692        320usize,
64693        concat!(
64694            "Offset of field: ",
64695            stringify!(_VipsImage),
64696            "::",
64697            stringify!(windows)
64698        )
64699    );
64700    assert_eq!(
64701        unsafe { ::std::ptr::addr_of!((*ptr).upstream) as usize - ptr as usize },
64702        328usize,
64703        concat!(
64704            "Offset of field: ",
64705            stringify!(_VipsImage),
64706            "::",
64707            stringify!(upstream)
64708        )
64709    );
64710    assert_eq!(
64711        unsafe { ::std::ptr::addr_of!((*ptr).downstream) as usize - ptr as usize },
64712        336usize,
64713        concat!(
64714            "Offset of field: ",
64715            stringify!(_VipsImage),
64716            "::",
64717            stringify!(downstream)
64718        )
64719    );
64720    assert_eq!(
64721        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
64722        344usize,
64723        concat!(
64724            "Offset of field: ",
64725            stringify!(_VipsImage),
64726            "::",
64727            stringify!(serial)
64728        )
64729    );
64730    assert_eq!(
64731        unsafe { ::std::ptr::addr_of!((*ptr).history_list) as usize - ptr as usize },
64732        352usize,
64733        concat!(
64734            "Offset of field: ",
64735            stringify!(_VipsImage),
64736            "::",
64737            stringify!(history_list)
64738        )
64739    );
64740    assert_eq!(
64741        unsafe { ::std::ptr::addr_of!((*ptr).progress_signal) as usize - ptr as usize },
64742        360usize,
64743        concat!(
64744            "Offset of field: ",
64745            stringify!(_VipsImage),
64746            "::",
64747            stringify!(progress_signal)
64748        )
64749    );
64750    assert_eq!(
64751        unsafe { ::std::ptr::addr_of!((*ptr).file_length) as usize - ptr as usize },
64752        368usize,
64753        concat!(
64754            "Offset of field: ",
64755            stringify!(_VipsImage),
64756            "::",
64757            stringify!(file_length)
64758        )
64759    );
64760    assert_eq!(
64761        unsafe { ::std::ptr::addr_of!((*ptr).hint_set) as usize - ptr as usize },
64762        376usize,
64763        concat!(
64764            "Offset of field: ",
64765            stringify!(_VipsImage),
64766            "::",
64767            stringify!(hint_set)
64768        )
64769    );
64770    assert_eq!(
64771        unsafe { ::std::ptr::addr_of!((*ptr).delete_on_close) as usize - ptr as usize },
64772        380usize,
64773        concat!(
64774            "Offset of field: ",
64775            stringify!(_VipsImage),
64776            "::",
64777            stringify!(delete_on_close)
64778        )
64779    );
64780    assert_eq!(
64781        unsafe { ::std::ptr::addr_of!((*ptr).delete_on_close_filename) as usize - ptr as usize },
64782        384usize,
64783        concat!(
64784            "Offset of field: ",
64785            stringify!(_VipsImage),
64786            "::",
64787            stringify!(delete_on_close_filename)
64788        )
64789    );
64790}
64791#[repr(C)]
64792#[derive(Debug, Copy, Clone, PartialEq, Eq)]
64793pub struct _VipsImageClass {
64794    pub parent_class: VipsObjectClass,
64795    pub preeval: ::std::option::Option<
64796        unsafe extern "C" fn(
64797            image: *mut VipsImage,
64798            progress: *mut VipsProgress,
64799            data: *mut ::std::os::raw::c_void,
64800        ),
64801    >,
64802    pub eval: ::std::option::Option<
64803        unsafe extern "C" fn(
64804            image: *mut VipsImage,
64805            progress: *mut VipsProgress,
64806            data: *mut ::std::os::raw::c_void,
64807        ),
64808    >,
64809    pub posteval: ::std::option::Option<
64810        unsafe extern "C" fn(
64811            image: *mut VipsImage,
64812            progress: *mut VipsProgress,
64813            data: *mut ::std::os::raw::c_void,
64814        ),
64815    >,
64816    pub written: ::std::option::Option<
64817        unsafe extern "C" fn(
64818            image: *mut VipsImage,
64819            result: *mut ::std::os::raw::c_int,
64820            data: *mut ::std::os::raw::c_void,
64821        ),
64822    >,
64823    pub invalidate: ::std::option::Option<
64824        unsafe extern "C" fn(image: *mut VipsImage, data: *mut ::std::os::raw::c_void),
64825    >,
64826    pub minimise: ::std::option::Option<
64827        unsafe extern "C" fn(image: *mut VipsImage, data: *mut ::std::os::raw::c_void),
64828    >,
64829}
64830#[test]
64831fn bindgen_test_layout__VipsImageClass() {
64832    const UNINIT: ::std::mem::MaybeUninit<_VipsImageClass> = ::std::mem::MaybeUninit::uninit();
64833    let ptr = UNINIT.as_ptr();
64834    assert_eq!(
64835        ::std::mem::size_of::<_VipsImageClass>(),
64836        376usize,
64837        concat!("Size of: ", stringify!(_VipsImageClass))
64838    );
64839    assert_eq!(
64840        ::std::mem::align_of::<_VipsImageClass>(),
64841        8usize,
64842        concat!("Alignment of ", stringify!(_VipsImageClass))
64843    );
64844    assert_eq!(
64845        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
64846        0usize,
64847        concat!(
64848            "Offset of field: ",
64849            stringify!(_VipsImageClass),
64850            "::",
64851            stringify!(parent_class)
64852        )
64853    );
64854    assert_eq!(
64855        unsafe { ::std::ptr::addr_of!((*ptr).preeval) as usize - ptr as usize },
64856        328usize,
64857        concat!(
64858            "Offset of field: ",
64859            stringify!(_VipsImageClass),
64860            "::",
64861            stringify!(preeval)
64862        )
64863    );
64864    assert_eq!(
64865        unsafe { ::std::ptr::addr_of!((*ptr).eval) as usize - ptr as usize },
64866        336usize,
64867        concat!(
64868            "Offset of field: ",
64869            stringify!(_VipsImageClass),
64870            "::",
64871            stringify!(eval)
64872        )
64873    );
64874    assert_eq!(
64875        unsafe { ::std::ptr::addr_of!((*ptr).posteval) as usize - ptr as usize },
64876        344usize,
64877        concat!(
64878            "Offset of field: ",
64879            stringify!(_VipsImageClass),
64880            "::",
64881            stringify!(posteval)
64882        )
64883    );
64884    assert_eq!(
64885        unsafe { ::std::ptr::addr_of!((*ptr).written) as usize - ptr as usize },
64886        352usize,
64887        concat!(
64888            "Offset of field: ",
64889            stringify!(_VipsImageClass),
64890            "::",
64891            stringify!(written)
64892        )
64893    );
64894    assert_eq!(
64895        unsafe { ::std::ptr::addr_of!((*ptr).invalidate) as usize - ptr as usize },
64896        360usize,
64897        concat!(
64898            "Offset of field: ",
64899            stringify!(_VipsImageClass),
64900            "::",
64901            stringify!(invalidate)
64902        )
64903    );
64904    assert_eq!(
64905        unsafe { ::std::ptr::addr_of!((*ptr).minimise) as usize - ptr as usize },
64906        368usize,
64907        concat!(
64908            "Offset of field: ",
64909            stringify!(_VipsImageClass),
64910            "::",
64911            stringify!(minimise)
64912        )
64913    );
64914}
64915pub type VipsImageClass = _VipsImageClass;
64916extern "C" {
64917    pub fn vips_image_get_type() -> GType;
64918}
64919extern "C" {
64920    pub fn vips_progress_set(progress: gboolean);
64921}
64922extern "C" {
64923    pub fn vips_image_invalidate_all(image: *mut VipsImage);
64924}
64925extern "C" {
64926    pub fn vips_image_minimise_all(image: *mut VipsImage);
64927}
64928extern "C" {
64929    pub fn vips_image_is_sequential(image: *mut VipsImage) -> gboolean;
64930}
64931extern "C" {
64932    pub fn vips_image_set_progress(image: *mut VipsImage, progress: gboolean);
64933}
64934extern "C" {
64935    pub fn vips_image_iskilled(image: *mut VipsImage) -> gboolean;
64936}
64937extern "C" {
64938    pub fn vips_image_set_kill(image: *mut VipsImage, kill: gboolean);
64939}
64940extern "C" {
64941    pub fn vips_filename_get_filename(
64942        vips_filename: *const ::std::os::raw::c_char,
64943    ) -> *mut ::std::os::raw::c_char;
64944}
64945extern "C" {
64946    pub fn vips_filename_get_options(
64947        vips_filename: *const ::std::os::raw::c_char,
64948    ) -> *mut ::std::os::raw::c_char;
64949}
64950extern "C" {
64951    pub fn vips_image_new() -> *mut VipsImage;
64952}
64953extern "C" {
64954    pub fn vips_image_new_memory() -> *mut VipsImage;
64955}
64956extern "C" {
64957    pub fn vips_image_memory() -> *mut VipsImage;
64958}
64959extern "C" {
64960    pub fn vips_image_new_from_file(name: *const ::std::os::raw::c_char, ...) -> *mut VipsImage;
64961}
64962extern "C" {
64963    pub fn vips_image_new_from_file_RW(filename: *const ::std::os::raw::c_char) -> *mut VipsImage;
64964}
64965extern "C" {
64966    pub fn vips_image_new_from_file_raw(
64967        filename: *const ::std::os::raw::c_char,
64968        xsize: ::std::os::raw::c_int,
64969        ysize: ::std::os::raw::c_int,
64970        bands: ::std::os::raw::c_int,
64971        offset: guint64,
64972    ) -> *mut VipsImage;
64973}
64974extern "C" {
64975    pub fn vips_image_new_from_memory(
64976        data: *const ::std::os::raw::c_void,
64977        size: size_t,
64978        width: ::std::os::raw::c_int,
64979        height: ::std::os::raw::c_int,
64980        bands: ::std::os::raw::c_int,
64981        format: VipsBandFormat,
64982    ) -> *mut VipsImage;
64983}
64984extern "C" {
64985    pub fn vips_image_new_from_memory_copy(
64986        data: *const ::std::os::raw::c_void,
64987        size: size_t,
64988        width: ::std::os::raw::c_int,
64989        height: ::std::os::raw::c_int,
64990        bands: ::std::os::raw::c_int,
64991        format: VipsBandFormat,
64992    ) -> *mut VipsImage;
64993}
64994extern "C" {
64995    pub fn vips_image_new_from_buffer(
64996        buf: *const ::std::os::raw::c_void,
64997        len: size_t,
64998        option_string: *const ::std::os::raw::c_char,
64999        ...
65000    ) -> *mut VipsImage;
65001}
65002extern "C" {
65003    pub fn vips_image_new_from_source(
65004        source: *mut VipsSource,
65005        option_string: *const ::std::os::raw::c_char,
65006        ...
65007    ) -> *mut VipsImage;
65008}
65009extern "C" {
65010    pub fn vips_image_new_matrix(
65011        width: ::std::os::raw::c_int,
65012        height: ::std::os::raw::c_int,
65013    ) -> *mut VipsImage;
65014}
65015extern "C" {
65016    pub fn vips_image_new_matrixv(
65017        width: ::std::os::raw::c_int,
65018        height: ::std::os::raw::c_int,
65019        ...
65020    ) -> *mut VipsImage;
65021}
65022extern "C" {
65023    pub fn vips_image_new_matrix_from_array(
65024        width: ::std::os::raw::c_int,
65025        height: ::std::os::raw::c_int,
65026        array: *const f64,
65027        size: ::std::os::raw::c_int,
65028    ) -> *mut VipsImage;
65029}
65030extern "C" {
65031    pub fn vips_image_matrix_from_array(
65032        width: ::std::os::raw::c_int,
65033        height: ::std::os::raw::c_int,
65034        array: *const f64,
65035        size: ::std::os::raw::c_int,
65036    ) -> *mut VipsImage;
65037}
65038extern "C" {
65039    pub fn vips_image_new_from_image(
65040        image: *mut VipsImage,
65041        c: *const f64,
65042        n: ::std::os::raw::c_int,
65043    ) -> *mut VipsImage;
65044}
65045extern "C" {
65046    pub fn vips_image_new_from_image1(image: *mut VipsImage, c: f64) -> *mut VipsImage;
65047}
65048extern "C" {
65049    pub fn vips_image_set_delete_on_close(image: *mut VipsImage, delete_on_close: gboolean);
65050}
65051extern "C" {
65052    pub fn vips_get_disc_threshold() -> guint64;
65053}
65054extern "C" {
65055    pub fn vips_image_new_temp_file(format: *const ::std::os::raw::c_char) -> *mut VipsImage;
65056}
65057extern "C" {
65058    pub fn vips_image_write(image: *mut VipsImage, out: *mut VipsImage) -> ::std::os::raw::c_int;
65059}
65060extern "C" {
65061    pub fn vips_image_write_to_file(
65062        image: *mut VipsImage,
65063        name: *const ::std::os::raw::c_char,
65064        ...
65065    ) -> ::std::os::raw::c_int;
65066}
65067extern "C" {
65068    pub fn vips_image_write_to_buffer(
65069        in_: *mut VipsImage,
65070        suffix: *const ::std::os::raw::c_char,
65071        buf: *mut *mut ::std::os::raw::c_void,
65072        size: *mut size_t,
65073        ...
65074    ) -> ::std::os::raw::c_int;
65075}
65076extern "C" {
65077    pub fn vips_image_write_to_target(
65078        in_: *mut VipsImage,
65079        suffix: *const ::std::os::raw::c_char,
65080        target: *mut VipsTarget,
65081        ...
65082    ) -> ::std::os::raw::c_int;
65083}
65084extern "C" {
65085    pub fn vips_image_write_to_memory(
65086        in_: *mut VipsImage,
65087        size: *mut size_t,
65088    ) -> *mut ::std::os::raw::c_void;
65089}
65090extern "C" {
65091    pub fn vips_image_decode_predict(
65092        in_: *mut VipsImage,
65093        bands: *mut ::std::os::raw::c_int,
65094        format: *mut VipsBandFormat,
65095    ) -> ::std::os::raw::c_int;
65096}
65097extern "C" {
65098    pub fn vips_image_decode(
65099        in_: *mut VipsImage,
65100        out: *mut *mut VipsImage,
65101    ) -> ::std::os::raw::c_int;
65102}
65103extern "C" {
65104    pub fn vips_image_encode(
65105        in_: *mut VipsImage,
65106        out: *mut *mut VipsImage,
65107        coding: VipsCoding,
65108    ) -> ::std::os::raw::c_int;
65109}
65110extern "C" {
65111    pub fn vips_image_isMSBfirst(image: *mut VipsImage) -> gboolean;
65112}
65113extern "C" {
65114    pub fn vips_image_isfile(image: *mut VipsImage) -> gboolean;
65115}
65116extern "C" {
65117    pub fn vips_image_ispartial(image: *mut VipsImage) -> gboolean;
65118}
65119extern "C" {
65120    pub fn vips_image_hasalpha(image: *mut VipsImage) -> gboolean;
65121}
65122extern "C" {
65123    pub fn vips_image_copy_memory(image: *mut VipsImage) -> *mut VipsImage;
65124}
65125extern "C" {
65126    pub fn vips_image_wio_input(image: *mut VipsImage) -> ::std::os::raw::c_int;
65127}
65128extern "C" {
65129    pub fn vips_image_pio_input(image: *mut VipsImage) -> ::std::os::raw::c_int;
65130}
65131extern "C" {
65132    pub fn vips_image_pio_output(image: *mut VipsImage) -> ::std::os::raw::c_int;
65133}
65134extern "C" {
65135    pub fn vips_image_inplace(image: *mut VipsImage) -> ::std::os::raw::c_int;
65136}
65137extern "C" {
65138    pub fn vips_image_write_prepare(image: *mut VipsImage) -> ::std::os::raw::c_int;
65139}
65140extern "C" {
65141    pub fn vips_image_write_line(
65142        image: *mut VipsImage,
65143        ypos: ::std::os::raw::c_int,
65144        linebuffer: *mut VipsPel,
65145    ) -> ::std::os::raw::c_int;
65146}
65147extern "C" {
65148    pub fn vips_band_format_isint(format: VipsBandFormat) -> gboolean;
65149}
65150extern "C" {
65151    pub fn vips_band_format_isuint(format: VipsBandFormat) -> gboolean;
65152}
65153extern "C" {
65154    pub fn vips_band_format_is8bit(format: VipsBandFormat) -> gboolean;
65155}
65156extern "C" {
65157    pub fn vips_band_format_isfloat(format: VipsBandFormat) -> gboolean;
65158}
65159extern "C" {
65160    pub fn vips_band_format_iscomplex(format: VipsBandFormat) -> gboolean;
65161}
65162extern "C" {
65163    pub fn vips_system(cmd_format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
65164}
65165extern "C" {
65166    pub fn vips_array_image_new(
65167        array: *mut *mut VipsImage,
65168        n: ::std::os::raw::c_int,
65169    ) -> *mut VipsArrayImage;
65170}
65171extern "C" {
65172    pub fn vips_array_image_newv(n: ::std::os::raw::c_int, ...) -> *mut VipsArrayImage;
65173}
65174extern "C" {
65175    pub fn vips_array_image_new_from_string(
65176        string: *const ::std::os::raw::c_char,
65177        flags: VipsAccess,
65178    ) -> *mut VipsArrayImage;
65179}
65180extern "C" {
65181    pub fn vips_array_image_empty() -> *mut VipsArrayImage;
65182}
65183extern "C" {
65184    pub fn vips_array_image_append(
65185        array: *mut VipsArrayImage,
65186        image: *mut VipsImage,
65187    ) -> *mut VipsArrayImage;
65188}
65189extern "C" {
65190    pub fn vips_array_image_get(
65191        array: *mut VipsArrayImage,
65192        n: *mut ::std::os::raw::c_int,
65193    ) -> *mut *mut VipsImage;
65194}
65195extern "C" {
65196    pub fn vips_value_get_array_image(
65197        value: *const GValue,
65198        n: *mut ::std::os::raw::c_int,
65199    ) -> *mut *mut VipsImage;
65200}
65201extern "C" {
65202    pub fn vips_value_set_array_image(value: *mut GValue, n: ::std::os::raw::c_int);
65203}
65204extern "C" {
65205    pub fn vips_reorder_prepare_many(
65206        image: *mut VipsImage,
65207        regions: *mut *mut VipsRegion,
65208        r: *mut VipsRect,
65209    ) -> ::std::os::raw::c_int;
65210}
65211extern "C" {
65212    pub fn vips_reorder_margin_hint(image: *mut VipsImage, margin: ::std::os::raw::c_int);
65213}
65214extern "C" {
65215    pub fn vips_image_free_buffer(image: *mut VipsImage, buffer: *mut ::std::os::raw::c_void);
65216}
65217extern "C" {
65218    pub fn vips_malloc(object: *mut VipsObject, size: size_t) -> *mut ::std::os::raw::c_void;
65219}
65220extern "C" {
65221    pub fn vips_strdup(
65222        object: *mut VipsObject,
65223        str_: *const ::std::os::raw::c_char,
65224    ) -> *mut ::std::os::raw::c_char;
65225}
65226extern "C" {
65227    pub fn vips_tracked_free(s: *mut ::std::os::raw::c_void);
65228}
65229extern "C" {
65230    pub fn vips_tracked_aligned_free(s: *mut ::std::os::raw::c_void);
65231}
65232extern "C" {
65233    pub fn vips_tracked_malloc(size: size_t) -> *mut ::std::os::raw::c_void;
65234}
65235extern "C" {
65236    pub fn vips_tracked_aligned_alloc(size: size_t, align: size_t) -> *mut ::std::os::raw::c_void;
65237}
65238extern "C" {
65239    pub fn vips_tracked_get_mem() -> size_t;
65240}
65241extern "C" {
65242    pub fn vips_tracked_get_mem_highwater() -> size_t;
65243}
65244extern "C" {
65245    pub fn vips_tracked_get_allocs() -> ::std::os::raw::c_int;
65246}
65247extern "C" {
65248    pub fn vips_tracked_open(
65249        pathname: *const ::std::os::raw::c_char,
65250        flags: ::std::os::raw::c_int,
65251        mode: ::std::os::raw::c_int,
65252    ) -> ::std::os::raw::c_int;
65253}
65254extern "C" {
65255    pub fn vips_tracked_close(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
65256}
65257extern "C" {
65258    pub fn vips_tracked_get_files() -> ::std::os::raw::c_int;
65259}
65260extern "C" {
65261    pub fn vips_error_buffer() -> *const ::std::os::raw::c_char;
65262}
65263extern "C" {
65264    pub fn vips_error_buffer_copy() -> *mut ::std::os::raw::c_char;
65265}
65266extern "C" {
65267    pub fn vips_error_clear();
65268}
65269extern "C" {
65270    pub fn vips_error_freeze();
65271}
65272extern "C" {
65273    pub fn vips_error_thaw();
65274}
65275extern "C" {
65276    pub fn vips_error(
65277        domain: *const ::std::os::raw::c_char,
65278        fmt: *const ::std::os::raw::c_char,
65279        ...
65280    );
65281}
65282extern "C" {
65283    pub fn vips_verror(
65284        domain: *const ::std::os::raw::c_char,
65285        fmt: *const ::std::os::raw::c_char,
65286        ap: va_list,
65287    );
65288}
65289extern "C" {
65290    pub fn vips_error_system(
65291        err: ::std::os::raw::c_int,
65292        domain: *const ::std::os::raw::c_char,
65293        fmt: *const ::std::os::raw::c_char,
65294        ...
65295    );
65296}
65297extern "C" {
65298    pub fn vips_verror_system(
65299        err: ::std::os::raw::c_int,
65300        domain: *const ::std::os::raw::c_char,
65301        fmt: *const ::std::os::raw::c_char,
65302        ap: va_list,
65303    );
65304}
65305extern "C" {
65306    pub fn vips_error_g(error: *mut *mut GError);
65307}
65308extern "C" {
65309    pub fn vips_g_error(error: *mut *mut GError);
65310}
65311extern "C" {
65312    pub fn vips_error_exit(fmt: *const ::std::os::raw::c_char, ...) -> !;
65313}
65314extern "C" {
65315    pub fn vips_check_uncoded(
65316        domain: *const ::std::os::raw::c_char,
65317        im: *mut VipsImage,
65318    ) -> ::std::os::raw::c_int;
65319}
65320extern "C" {
65321    pub fn vips_check_coding(
65322        domain: *const ::std::os::raw::c_char,
65323        im: *mut VipsImage,
65324        coding: VipsCoding,
65325    ) -> ::std::os::raw::c_int;
65326}
65327extern "C" {
65328    pub fn vips_check_coding_known(
65329        domain: *const ::std::os::raw::c_char,
65330        im: *mut VipsImage,
65331    ) -> ::std::os::raw::c_int;
65332}
65333extern "C" {
65334    pub fn vips_check_coding_noneorlabq(
65335        domain: *const ::std::os::raw::c_char,
65336        im: *mut VipsImage,
65337    ) -> ::std::os::raw::c_int;
65338}
65339extern "C" {
65340    pub fn vips_check_coding_same(
65341        domain: *const ::std::os::raw::c_char,
65342        im1: *mut VipsImage,
65343        im2: *mut VipsImage,
65344    ) -> ::std::os::raw::c_int;
65345}
65346extern "C" {
65347    pub fn vips_check_mono(
65348        domain: *const ::std::os::raw::c_char,
65349        im: *mut VipsImage,
65350    ) -> ::std::os::raw::c_int;
65351}
65352extern "C" {
65353    pub fn vips_check_bands(
65354        domain: *const ::std::os::raw::c_char,
65355        im: *mut VipsImage,
65356        bands: ::std::os::raw::c_int,
65357    ) -> ::std::os::raw::c_int;
65358}
65359extern "C" {
65360    pub fn vips_check_bands_1or3(
65361        domain: *const ::std::os::raw::c_char,
65362        im: *mut VipsImage,
65363    ) -> ::std::os::raw::c_int;
65364}
65365extern "C" {
65366    pub fn vips_check_bands_atleast(
65367        domain: *const ::std::os::raw::c_char,
65368        im: *mut VipsImage,
65369        bands: ::std::os::raw::c_int,
65370    ) -> ::std::os::raw::c_int;
65371}
65372extern "C" {
65373    pub fn vips_check_bands_1orn(
65374        domain: *const ::std::os::raw::c_char,
65375        im1: *mut VipsImage,
65376        im2: *mut VipsImage,
65377    ) -> ::std::os::raw::c_int;
65378}
65379extern "C" {
65380    pub fn vips_check_bands_1orn_unary(
65381        domain: *const ::std::os::raw::c_char,
65382        im: *mut VipsImage,
65383        n: ::std::os::raw::c_int,
65384    ) -> ::std::os::raw::c_int;
65385}
65386extern "C" {
65387    pub fn vips_check_bands_same(
65388        domain: *const ::std::os::raw::c_char,
65389        im1: *mut VipsImage,
65390        im2: *mut VipsImage,
65391    ) -> ::std::os::raw::c_int;
65392}
65393extern "C" {
65394    pub fn vips_check_bandno(
65395        domain: *const ::std::os::raw::c_char,
65396        im: *mut VipsImage,
65397        bandno: ::std::os::raw::c_int,
65398    ) -> ::std::os::raw::c_int;
65399}
65400extern "C" {
65401    pub fn vips_check_int(
65402        domain: *const ::std::os::raw::c_char,
65403        im: *mut VipsImage,
65404    ) -> ::std::os::raw::c_int;
65405}
65406extern "C" {
65407    pub fn vips_check_uint(
65408        domain: *const ::std::os::raw::c_char,
65409        im: *mut VipsImage,
65410    ) -> ::std::os::raw::c_int;
65411}
65412extern "C" {
65413    pub fn vips_check_uintorf(
65414        domain: *const ::std::os::raw::c_char,
65415        im: *mut VipsImage,
65416    ) -> ::std::os::raw::c_int;
65417}
65418extern "C" {
65419    pub fn vips_check_noncomplex(
65420        domain: *const ::std::os::raw::c_char,
65421        im: *mut VipsImage,
65422    ) -> ::std::os::raw::c_int;
65423}
65424extern "C" {
65425    pub fn vips_check_complex(
65426        domain: *const ::std::os::raw::c_char,
65427        im: *mut VipsImage,
65428    ) -> ::std::os::raw::c_int;
65429}
65430extern "C" {
65431    pub fn vips_check_twocomponents(
65432        domain: *const ::std::os::raw::c_char,
65433        im: *mut VipsImage,
65434    ) -> ::std::os::raw::c_int;
65435}
65436extern "C" {
65437    pub fn vips_check_format(
65438        domain: *const ::std::os::raw::c_char,
65439        im: *mut VipsImage,
65440        fmt: VipsBandFormat,
65441    ) -> ::std::os::raw::c_int;
65442}
65443extern "C" {
65444    pub fn vips_check_u8or16(
65445        domain: *const ::std::os::raw::c_char,
65446        im: *mut VipsImage,
65447    ) -> ::std::os::raw::c_int;
65448}
65449extern "C" {
65450    pub fn vips_check_8or16(
65451        domain: *const ::std::os::raw::c_char,
65452        im: *mut VipsImage,
65453    ) -> ::std::os::raw::c_int;
65454}
65455extern "C" {
65456    pub fn vips_check_u8or16orf(
65457        domain: *const ::std::os::raw::c_char,
65458        im: *mut VipsImage,
65459    ) -> ::std::os::raw::c_int;
65460}
65461extern "C" {
65462    pub fn vips_check_format_same(
65463        domain: *const ::std::os::raw::c_char,
65464        im1: *mut VipsImage,
65465        im2: *mut VipsImage,
65466    ) -> ::std::os::raw::c_int;
65467}
65468extern "C" {
65469    pub fn vips_check_size_same(
65470        domain: *const ::std::os::raw::c_char,
65471        im1: *mut VipsImage,
65472        im2: *mut VipsImage,
65473    ) -> ::std::os::raw::c_int;
65474}
65475extern "C" {
65476    pub fn vips_check_oddsquare(
65477        domain: *const ::std::os::raw::c_char,
65478        im: *mut VipsImage,
65479    ) -> ::std::os::raw::c_int;
65480}
65481extern "C" {
65482    pub fn vips_check_vector_length(
65483        domain: *const ::std::os::raw::c_char,
65484        n: ::std::os::raw::c_int,
65485        len: ::std::os::raw::c_int,
65486    ) -> ::std::os::raw::c_int;
65487}
65488extern "C" {
65489    pub fn vips_check_vector(
65490        domain: *const ::std::os::raw::c_char,
65491        n: ::std::os::raw::c_int,
65492        im: *mut VipsImage,
65493    ) -> ::std::os::raw::c_int;
65494}
65495extern "C" {
65496    pub fn vips_check_hist(
65497        domain: *const ::std::os::raw::c_char,
65498        im: *mut VipsImage,
65499    ) -> ::std::os::raw::c_int;
65500}
65501extern "C" {
65502    pub fn vips_check_matrix(
65503        domain: *const ::std::os::raw::c_char,
65504        im: *mut VipsImage,
65505        out: *mut *mut VipsImage,
65506    ) -> ::std::os::raw::c_int;
65507}
65508extern "C" {
65509    pub fn vips_check_separable(
65510        domain: *const ::std::os::raw::c_char,
65511        im: *mut VipsImage,
65512    ) -> ::std::os::raw::c_int;
65513}
65514extern "C" {
65515    pub fn vips_check_precision_intfloat(
65516        domain: *const ::std::os::raw::c_char,
65517        precision: VipsPrecision,
65518    ) -> ::std::os::raw::c_int;
65519}
65520pub const VipsFormatFlags_VIPS_FORMAT_NONE: VipsFormatFlags = 0;
65521pub const VipsFormatFlags_VIPS_FORMAT_PARTIAL: VipsFormatFlags = 1;
65522pub const VipsFormatFlags_VIPS_FORMAT_BIGENDIAN: VipsFormatFlags = 2;
65523pub type VipsFormatFlags = ::std::os::raw::c_uint;
65524#[repr(C)]
65525#[derive(Debug, Copy, Clone, PartialEq, Eq)]
65526pub struct _VipsFormat {
65527    pub parent_object: VipsObject,
65528}
65529#[test]
65530fn bindgen_test_layout__VipsFormat() {
65531    const UNINIT: ::std::mem::MaybeUninit<_VipsFormat> = ::std::mem::MaybeUninit::uninit();
65532    let ptr = UNINIT.as_ptr();
65533    assert_eq!(
65534        ::std::mem::size_of::<_VipsFormat>(),
65535        80usize,
65536        concat!("Size of: ", stringify!(_VipsFormat))
65537    );
65538    assert_eq!(
65539        ::std::mem::align_of::<_VipsFormat>(),
65540        8usize,
65541        concat!("Alignment of ", stringify!(_VipsFormat))
65542    );
65543    assert_eq!(
65544        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
65545        0usize,
65546        concat!(
65547            "Offset of field: ",
65548            stringify!(_VipsFormat),
65549            "::",
65550            stringify!(parent_object)
65551        )
65552    );
65553}
65554pub type VipsFormat = _VipsFormat;
65555#[repr(C)]
65556#[derive(Debug, Copy, Clone, PartialEq, Eq)]
65557pub struct _VipsFormatClass {
65558    pub parent_class: VipsObjectClass,
65559    pub is_a: ::std::option::Option<
65560        unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char) -> gboolean,
65561    >,
65562    pub header: ::std::option::Option<
65563        unsafe extern "C" fn(
65564            arg1: *const ::std::os::raw::c_char,
65565            arg2: *mut VipsImage,
65566        ) -> ::std::os::raw::c_int,
65567    >,
65568    pub load: ::std::option::Option<
65569        unsafe extern "C" fn(
65570            arg1: *const ::std::os::raw::c_char,
65571            arg2: *mut VipsImage,
65572        ) -> ::std::os::raw::c_int,
65573    >,
65574    pub save: ::std::option::Option<
65575        unsafe extern "C" fn(
65576            arg1: *mut VipsImage,
65577            arg2: *const ::std::os::raw::c_char,
65578        ) -> ::std::os::raw::c_int,
65579    >,
65580    pub get_flags: ::std::option::Option<
65581        unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char) -> VipsFormatFlags,
65582    >,
65583    pub priority: ::std::os::raw::c_int,
65584    pub suffs: *mut *const ::std::os::raw::c_char,
65585}
65586#[test]
65587fn bindgen_test_layout__VipsFormatClass() {
65588    const UNINIT: ::std::mem::MaybeUninit<_VipsFormatClass> = ::std::mem::MaybeUninit::uninit();
65589    let ptr = UNINIT.as_ptr();
65590    assert_eq!(
65591        ::std::mem::size_of::<_VipsFormatClass>(),
65592        384usize,
65593        concat!("Size of: ", stringify!(_VipsFormatClass))
65594    );
65595    assert_eq!(
65596        ::std::mem::align_of::<_VipsFormatClass>(),
65597        8usize,
65598        concat!("Alignment of ", stringify!(_VipsFormatClass))
65599    );
65600    assert_eq!(
65601        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
65602        0usize,
65603        concat!(
65604            "Offset of field: ",
65605            stringify!(_VipsFormatClass),
65606            "::",
65607            stringify!(parent_class)
65608        )
65609    );
65610    assert_eq!(
65611        unsafe { ::std::ptr::addr_of!((*ptr).is_a) as usize - ptr as usize },
65612        328usize,
65613        concat!(
65614            "Offset of field: ",
65615            stringify!(_VipsFormatClass),
65616            "::",
65617            stringify!(is_a)
65618        )
65619    );
65620    assert_eq!(
65621        unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize },
65622        336usize,
65623        concat!(
65624            "Offset of field: ",
65625            stringify!(_VipsFormatClass),
65626            "::",
65627            stringify!(header)
65628        )
65629    );
65630    assert_eq!(
65631        unsafe { ::std::ptr::addr_of!((*ptr).load) as usize - ptr as usize },
65632        344usize,
65633        concat!(
65634            "Offset of field: ",
65635            stringify!(_VipsFormatClass),
65636            "::",
65637            stringify!(load)
65638        )
65639    );
65640    assert_eq!(
65641        unsafe { ::std::ptr::addr_of!((*ptr).save) as usize - ptr as usize },
65642        352usize,
65643        concat!(
65644            "Offset of field: ",
65645            stringify!(_VipsFormatClass),
65646            "::",
65647            stringify!(save)
65648        )
65649    );
65650    assert_eq!(
65651        unsafe { ::std::ptr::addr_of!((*ptr).get_flags) as usize - ptr as usize },
65652        360usize,
65653        concat!(
65654            "Offset of field: ",
65655            stringify!(_VipsFormatClass),
65656            "::",
65657            stringify!(get_flags)
65658        )
65659    );
65660    assert_eq!(
65661        unsafe { ::std::ptr::addr_of!((*ptr).priority) as usize - ptr as usize },
65662        368usize,
65663        concat!(
65664            "Offset of field: ",
65665            stringify!(_VipsFormatClass),
65666            "::",
65667            stringify!(priority)
65668        )
65669    );
65670    assert_eq!(
65671        unsafe { ::std::ptr::addr_of!((*ptr).suffs) as usize - ptr as usize },
65672        376usize,
65673        concat!(
65674            "Offset of field: ",
65675            stringify!(_VipsFormatClass),
65676            "::",
65677            stringify!(suffs)
65678        )
65679    );
65680}
65681pub type VipsFormatClass = _VipsFormatClass;
65682extern "C" {
65683    pub fn vips_format_get_type() -> GType;
65684}
65685extern "C" {
65686    pub fn vips_format_map(
65687        fn_: VipsSListMap2Fn,
65688        a: *mut ::std::os::raw::c_void,
65689        b: *mut ::std::os::raw::c_void,
65690    ) -> *mut ::std::os::raw::c_void;
65691}
65692extern "C" {
65693    pub fn vips_format_for_file(filename: *const ::std::os::raw::c_char) -> *mut VipsFormatClass;
65694}
65695extern "C" {
65696    pub fn vips_format_for_name(filename: *const ::std::os::raw::c_char) -> *mut VipsFormatClass;
65697}
65698extern "C" {
65699    pub fn vips_format_get_flags(
65700        format: *mut VipsFormatClass,
65701        filename: *const ::std::os::raw::c_char,
65702    ) -> VipsFormatFlags;
65703}
65704extern "C" {
65705    pub fn vips_format_read(
65706        filename: *const ::std::os::raw::c_char,
65707        out: *mut VipsImage,
65708    ) -> ::std::os::raw::c_int;
65709}
65710extern "C" {
65711    pub fn vips_format_write(
65712        in_: *mut VipsImage,
65713        filename: *const ::std::os::raw::c_char,
65714    ) -> ::std::os::raw::c_int;
65715}
65716pub type VipsRegionWrite = ::std::option::Option<
65717    unsafe extern "C" fn(
65718        region: *mut VipsRegion,
65719        area: *mut VipsRect,
65720        a: *mut ::std::os::raw::c_void,
65721    ) -> ::std::os::raw::c_int,
65722>;
65723extern "C" {
65724    pub fn vips_sink_disc(
65725        im: *mut VipsImage,
65726        write_fn: VipsRegionWrite,
65727        a: *mut ::std::os::raw::c_void,
65728    ) -> ::std::os::raw::c_int;
65729}
65730extern "C" {
65731    pub fn vips_sink(
65732        im: *mut VipsImage,
65733        start_fn: VipsStartFn,
65734        generate_fn: VipsGenerateFn,
65735        stop_fn: VipsStopFn,
65736        a: *mut ::std::os::raw::c_void,
65737        b: *mut ::std::os::raw::c_void,
65738    ) -> ::std::os::raw::c_int;
65739}
65740extern "C" {
65741    pub fn vips_sink_tile(
65742        im: *mut VipsImage,
65743        tile_width: ::std::os::raw::c_int,
65744        tile_height: ::std::os::raw::c_int,
65745        start_fn: VipsStartFn,
65746        generate_fn: VipsGenerateFn,
65747        stop_fn: VipsStopFn,
65748        a: *mut ::std::os::raw::c_void,
65749        b: *mut ::std::os::raw::c_void,
65750    ) -> ::std::os::raw::c_int;
65751}
65752pub type VipsSinkNotify = ::std::option::Option<
65753    unsafe extern "C" fn(im: *mut VipsImage, rect: *mut VipsRect, a: *mut ::std::os::raw::c_void),
65754>;
65755extern "C" {
65756    pub fn vips_sink_screen(
65757        in_: *mut VipsImage,
65758        out: *mut VipsImage,
65759        mask: *mut VipsImage,
65760        tile_width: ::std::os::raw::c_int,
65761        tile_height: ::std::os::raw::c_int,
65762        max_tiles: ::std::os::raw::c_int,
65763        priority: ::std::os::raw::c_int,
65764        notify_fn: VipsSinkNotify,
65765        a: *mut ::std::os::raw::c_void,
65766    ) -> ::std::os::raw::c_int;
65767}
65768extern "C" {
65769    pub fn vips_sink_memory(im: *mut VipsImage) -> ::std::os::raw::c_int;
65770}
65771extern "C" {
65772    pub fn vips_start_one(
65773        out: *mut VipsImage,
65774        a: *mut ::std::os::raw::c_void,
65775        b: *mut ::std::os::raw::c_void,
65776    ) -> *mut ::std::os::raw::c_void;
65777}
65778extern "C" {
65779    pub fn vips_stop_one(
65780        seq: *mut ::std::os::raw::c_void,
65781        a: *mut ::std::os::raw::c_void,
65782        b: *mut ::std::os::raw::c_void,
65783    ) -> ::std::os::raw::c_int;
65784}
65785extern "C" {
65786    pub fn vips_start_many(
65787        out: *mut VipsImage,
65788        a: *mut ::std::os::raw::c_void,
65789        b: *mut ::std::os::raw::c_void,
65790    ) -> *mut ::std::os::raw::c_void;
65791}
65792extern "C" {
65793    pub fn vips_stop_many(
65794        seq: *mut ::std::os::raw::c_void,
65795        a: *mut ::std::os::raw::c_void,
65796        b: *mut ::std::os::raw::c_void,
65797    ) -> ::std::os::raw::c_int;
65798}
65799extern "C" {
65800    pub fn vips_allocate_input_array(out: *mut VipsImage, ...) -> *mut *mut VipsImage;
65801}
65802extern "C" {
65803    pub fn vips_image_generate(
65804        image: *mut VipsImage,
65805        start_fn: VipsStartFn,
65806        generate_fn: VipsGenerateFn,
65807        stop_fn: VipsStopFn,
65808        a: *mut ::std::os::raw::c_void,
65809        b: *mut ::std::os::raw::c_void,
65810    ) -> ::std::os::raw::c_int;
65811}
65812extern "C" {
65813    pub fn vips_image_pipeline_array(
65814        image: *mut VipsImage,
65815        hint: VipsDemandStyle,
65816        in_: *mut *mut VipsImage,
65817    ) -> ::std::os::raw::c_int;
65818}
65819extern "C" {
65820    pub fn vips_image_pipelinev(
65821        image: *mut VipsImage,
65822        hint: VipsDemandStyle,
65823        ...
65824    ) -> ::std::os::raw::c_int;
65825}
65826#[repr(C)]
65827#[derive(Debug, Copy, Clone, PartialEq, Eq)]
65828pub struct _VipsInterpolate {
65829    pub parent_object: VipsObject,
65830}
65831#[test]
65832fn bindgen_test_layout__VipsInterpolate() {
65833    const UNINIT: ::std::mem::MaybeUninit<_VipsInterpolate> = ::std::mem::MaybeUninit::uninit();
65834    let ptr = UNINIT.as_ptr();
65835    assert_eq!(
65836        ::std::mem::size_of::<_VipsInterpolate>(),
65837        80usize,
65838        concat!("Size of: ", stringify!(_VipsInterpolate))
65839    );
65840    assert_eq!(
65841        ::std::mem::align_of::<_VipsInterpolate>(),
65842        8usize,
65843        concat!("Alignment of ", stringify!(_VipsInterpolate))
65844    );
65845    assert_eq!(
65846        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
65847        0usize,
65848        concat!(
65849            "Offset of field: ",
65850            stringify!(_VipsInterpolate),
65851            "::",
65852            stringify!(parent_object)
65853        )
65854    );
65855}
65856pub type VipsInterpolate = _VipsInterpolate;
65857pub type VipsInterpolateMethod = ::std::option::Option<
65858    unsafe extern "C" fn(
65859        interpolate: *mut VipsInterpolate,
65860        out: *mut ::std::os::raw::c_void,
65861        in_: *mut VipsRegion,
65862        x: f64,
65863        y: f64,
65864    ),
65865>;
65866#[repr(C)]
65867#[derive(Debug, Copy, Clone, PartialEq, Eq)]
65868pub struct _VipsInterpolateClass {
65869    pub parent_class: VipsObjectClass,
65870    pub interpolate: VipsInterpolateMethod,
65871    pub get_window_size: ::std::option::Option<
65872        unsafe extern "C" fn(interpolate: *mut VipsInterpolate) -> ::std::os::raw::c_int,
65873    >,
65874    pub window_size: ::std::os::raw::c_int,
65875    pub get_window_offset: ::std::option::Option<
65876        unsafe extern "C" fn(interpolate: *mut VipsInterpolate) -> ::std::os::raw::c_int,
65877    >,
65878    pub window_offset: ::std::os::raw::c_int,
65879}
65880#[test]
65881fn bindgen_test_layout__VipsInterpolateClass() {
65882    const UNINIT: ::std::mem::MaybeUninit<_VipsInterpolateClass> =
65883        ::std::mem::MaybeUninit::uninit();
65884    let ptr = UNINIT.as_ptr();
65885    assert_eq!(
65886        ::std::mem::size_of::<_VipsInterpolateClass>(),
65887        368usize,
65888        concat!("Size of: ", stringify!(_VipsInterpolateClass))
65889    );
65890    assert_eq!(
65891        ::std::mem::align_of::<_VipsInterpolateClass>(),
65892        8usize,
65893        concat!("Alignment of ", stringify!(_VipsInterpolateClass))
65894    );
65895    assert_eq!(
65896        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
65897        0usize,
65898        concat!(
65899            "Offset of field: ",
65900            stringify!(_VipsInterpolateClass),
65901            "::",
65902            stringify!(parent_class)
65903        )
65904    );
65905    assert_eq!(
65906        unsafe { ::std::ptr::addr_of!((*ptr).interpolate) as usize - ptr as usize },
65907        328usize,
65908        concat!(
65909            "Offset of field: ",
65910            stringify!(_VipsInterpolateClass),
65911            "::",
65912            stringify!(interpolate)
65913        )
65914    );
65915    assert_eq!(
65916        unsafe { ::std::ptr::addr_of!((*ptr).get_window_size) as usize - ptr as usize },
65917        336usize,
65918        concat!(
65919            "Offset of field: ",
65920            stringify!(_VipsInterpolateClass),
65921            "::",
65922            stringify!(get_window_size)
65923        )
65924    );
65925    assert_eq!(
65926        unsafe { ::std::ptr::addr_of!((*ptr).window_size) as usize - ptr as usize },
65927        344usize,
65928        concat!(
65929            "Offset of field: ",
65930            stringify!(_VipsInterpolateClass),
65931            "::",
65932            stringify!(window_size)
65933        )
65934    );
65935    assert_eq!(
65936        unsafe { ::std::ptr::addr_of!((*ptr).get_window_offset) as usize - ptr as usize },
65937        352usize,
65938        concat!(
65939            "Offset of field: ",
65940            stringify!(_VipsInterpolateClass),
65941            "::",
65942            stringify!(get_window_offset)
65943        )
65944    );
65945    assert_eq!(
65946        unsafe { ::std::ptr::addr_of!((*ptr).window_offset) as usize - ptr as usize },
65947        360usize,
65948        concat!(
65949            "Offset of field: ",
65950            stringify!(_VipsInterpolateClass),
65951            "::",
65952            stringify!(window_offset)
65953        )
65954    );
65955}
65956pub type VipsInterpolateClass = _VipsInterpolateClass;
65957extern "C" {
65958    pub fn vips_interpolate_get_type() -> GType;
65959}
65960extern "C" {
65961    pub fn vips_interpolate(
65962        interpolate: *mut VipsInterpolate,
65963        out: *mut ::std::os::raw::c_void,
65964        in_: *mut VipsRegion,
65965        x: f64,
65966        y: f64,
65967    );
65968}
65969extern "C" {
65970    pub fn vips_interpolate_get_method(interpolate: *mut VipsInterpolate) -> VipsInterpolateMethod;
65971}
65972extern "C" {
65973    pub fn vips_interpolate_get_window_size(
65974        interpolate: *mut VipsInterpolate,
65975    ) -> ::std::os::raw::c_int;
65976}
65977extern "C" {
65978    pub fn vips_interpolate_get_window_offset(
65979        interpolate: *mut VipsInterpolate,
65980    ) -> ::std::os::raw::c_int;
65981}
65982extern "C" {
65983    pub fn vips_interpolate_nearest_static() -> *mut VipsInterpolate;
65984}
65985extern "C" {
65986    pub fn vips_interpolate_bilinear_static() -> *mut VipsInterpolate;
65987}
65988extern "C" {
65989    pub fn vips_interpolate_new(nickname: *const ::std::os::raw::c_char) -> *mut VipsInterpolate;
65990}
65991extern "C" {
65992    pub fn vips_g_mutex_new() -> *mut GMutex;
65993}
65994extern "C" {
65995    pub fn vips_g_mutex_free(arg1: *mut GMutex);
65996}
65997extern "C" {
65998    pub fn vips_g_cond_new() -> *mut GCond;
65999}
66000extern "C" {
66001    pub fn vips_g_cond_free(arg1: *mut GCond);
66002}
66003extern "C" {
66004    pub fn vips_g_thread_new(
66005        arg1: *const ::std::os::raw::c_char,
66006        arg2: GThreadFunc,
66007        arg3: gpointer,
66008    ) -> *mut GThread;
66009}
66010extern "C" {
66011    pub fn vips_thread_isvips() -> gboolean;
66012}
66013extern "C" {
66014    pub fn vips_thread_execute(
66015        domain: *const ::std::os::raw::c_char,
66016        func: GFunc,
66017        data: gpointer,
66018    ) -> ::std::os::raw::c_int;
66019}
66020#[repr(C)]
66021#[derive(Debug, Copy, Clone)]
66022pub struct _VipsThreadset {
66023    _unused: [u8; 0],
66024}
66025pub type VipsThreadset = _VipsThreadset;
66026extern "C" {
66027    pub fn vips_threadset_new(max_threads: ::std::os::raw::c_int) -> *mut VipsThreadset;
66028}
66029extern "C" {
66030    pub fn vips_threadset_run(
66031        set: *mut VipsThreadset,
66032        domain: *const ::std::os::raw::c_char,
66033        func: GFunc,
66034        data: gpointer,
66035    ) -> ::std::os::raw::c_int;
66036}
66037extern "C" {
66038    pub fn vips_threadset_free(set: *mut VipsThreadset);
66039}
66040#[repr(C)]
66041#[derive(Debug, Copy, Clone, PartialEq, Eq)]
66042pub struct VipsSemaphore {
66043    pub name: *mut ::std::os::raw::c_char,
66044    pub v: ::std::os::raw::c_int,
66045    pub mutex: *mut GMutex,
66046    pub cond: *mut GCond,
66047}
66048#[test]
66049fn bindgen_test_layout_VipsSemaphore() {
66050    const UNINIT: ::std::mem::MaybeUninit<VipsSemaphore> = ::std::mem::MaybeUninit::uninit();
66051    let ptr = UNINIT.as_ptr();
66052    assert_eq!(
66053        ::std::mem::size_of::<VipsSemaphore>(),
66054        32usize,
66055        concat!("Size of: ", stringify!(VipsSemaphore))
66056    );
66057    assert_eq!(
66058        ::std::mem::align_of::<VipsSemaphore>(),
66059        8usize,
66060        concat!("Alignment of ", stringify!(VipsSemaphore))
66061    );
66062    assert_eq!(
66063        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
66064        0usize,
66065        concat!(
66066            "Offset of field: ",
66067            stringify!(VipsSemaphore),
66068            "::",
66069            stringify!(name)
66070        )
66071    );
66072    assert_eq!(
66073        unsafe { ::std::ptr::addr_of!((*ptr).v) as usize - ptr as usize },
66074        8usize,
66075        concat!(
66076            "Offset of field: ",
66077            stringify!(VipsSemaphore),
66078            "::",
66079            stringify!(v)
66080        )
66081    );
66082    assert_eq!(
66083        unsafe { ::std::ptr::addr_of!((*ptr).mutex) as usize - ptr as usize },
66084        16usize,
66085        concat!(
66086            "Offset of field: ",
66087            stringify!(VipsSemaphore),
66088            "::",
66089            stringify!(mutex)
66090        )
66091    );
66092    assert_eq!(
66093        unsafe { ::std::ptr::addr_of!((*ptr).cond) as usize - ptr as usize },
66094        24usize,
66095        concat!(
66096            "Offset of field: ",
66097            stringify!(VipsSemaphore),
66098            "::",
66099            stringify!(cond)
66100        )
66101    );
66102}
66103extern "C" {
66104    pub fn vips_semaphore_up(s: *mut VipsSemaphore) -> ::std::os::raw::c_int;
66105}
66106extern "C" {
66107    pub fn vips_semaphore_upn(
66108        s: *mut VipsSemaphore,
66109        n: ::std::os::raw::c_int,
66110    ) -> ::std::os::raw::c_int;
66111}
66112extern "C" {
66113    pub fn vips_semaphore_down(s: *mut VipsSemaphore) -> ::std::os::raw::c_int;
66114}
66115extern "C" {
66116    pub fn vips_semaphore_downn(
66117        s: *mut VipsSemaphore,
66118        n: ::std::os::raw::c_int,
66119    ) -> ::std::os::raw::c_int;
66120}
66121extern "C" {
66122    pub fn vips_semaphore_down_timeout(
66123        s: *mut VipsSemaphore,
66124        timeout: gint64,
66125    ) -> ::std::os::raw::c_int;
66126}
66127extern "C" {
66128    pub fn vips_semaphore_destroy(s: *mut VipsSemaphore);
66129}
66130extern "C" {
66131    pub fn vips_semaphore_init(
66132        s: *mut VipsSemaphore,
66133        v: ::std::os::raw::c_int,
66134        name: *mut ::std::os::raw::c_char,
66135    );
66136}
66137#[repr(C)]
66138#[derive(Debug, Copy, Clone, PartialEq, Eq)]
66139pub struct _VipsThreadState {
66140    pub parent_object: VipsObject,
66141    pub im: *mut VipsImage,
66142    pub reg: *mut VipsRegion,
66143    pub pos: VipsRect,
66144    pub x: ::std::os::raw::c_int,
66145    pub y: ::std::os::raw::c_int,
66146    pub stop: gboolean,
66147    pub a: *mut ::std::os::raw::c_void,
66148    pub stall: gboolean,
66149}
66150#[test]
66151fn bindgen_test_layout__VipsThreadState() {
66152    const UNINIT: ::std::mem::MaybeUninit<_VipsThreadState> = ::std::mem::MaybeUninit::uninit();
66153    let ptr = UNINIT.as_ptr();
66154    assert_eq!(
66155        ::std::mem::size_of::<_VipsThreadState>(),
66156        144usize,
66157        concat!("Size of: ", stringify!(_VipsThreadState))
66158    );
66159    assert_eq!(
66160        ::std::mem::align_of::<_VipsThreadState>(),
66161        8usize,
66162        concat!("Alignment of ", stringify!(_VipsThreadState))
66163    );
66164    assert_eq!(
66165        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
66166        0usize,
66167        concat!(
66168            "Offset of field: ",
66169            stringify!(_VipsThreadState),
66170            "::",
66171            stringify!(parent_object)
66172        )
66173    );
66174    assert_eq!(
66175        unsafe { ::std::ptr::addr_of!((*ptr).im) as usize - ptr as usize },
66176        80usize,
66177        concat!(
66178            "Offset of field: ",
66179            stringify!(_VipsThreadState),
66180            "::",
66181            stringify!(im)
66182        )
66183    );
66184    assert_eq!(
66185        unsafe { ::std::ptr::addr_of!((*ptr).reg) as usize - ptr as usize },
66186        88usize,
66187        concat!(
66188            "Offset of field: ",
66189            stringify!(_VipsThreadState),
66190            "::",
66191            stringify!(reg)
66192        )
66193    );
66194    assert_eq!(
66195        unsafe { ::std::ptr::addr_of!((*ptr).pos) as usize - ptr as usize },
66196        96usize,
66197        concat!(
66198            "Offset of field: ",
66199            stringify!(_VipsThreadState),
66200            "::",
66201            stringify!(pos)
66202        )
66203    );
66204    assert_eq!(
66205        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
66206        112usize,
66207        concat!(
66208            "Offset of field: ",
66209            stringify!(_VipsThreadState),
66210            "::",
66211            stringify!(x)
66212        )
66213    );
66214    assert_eq!(
66215        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
66216        116usize,
66217        concat!(
66218            "Offset of field: ",
66219            stringify!(_VipsThreadState),
66220            "::",
66221            stringify!(y)
66222        )
66223    );
66224    assert_eq!(
66225        unsafe { ::std::ptr::addr_of!((*ptr).stop) as usize - ptr as usize },
66226        120usize,
66227        concat!(
66228            "Offset of field: ",
66229            stringify!(_VipsThreadState),
66230            "::",
66231            stringify!(stop)
66232        )
66233    );
66234    assert_eq!(
66235        unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize },
66236        128usize,
66237        concat!(
66238            "Offset of field: ",
66239            stringify!(_VipsThreadState),
66240            "::",
66241            stringify!(a)
66242        )
66243    );
66244    assert_eq!(
66245        unsafe { ::std::ptr::addr_of!((*ptr).stall) as usize - ptr as usize },
66246        136usize,
66247        concat!(
66248            "Offset of field: ",
66249            stringify!(_VipsThreadState),
66250            "::",
66251            stringify!(stall)
66252        )
66253    );
66254}
66255pub type VipsThreadState = _VipsThreadState;
66256#[repr(C)]
66257#[derive(Debug, Copy, Clone, PartialEq, Eq)]
66258pub struct _VipsThreadStateClass {
66259    pub parent_class: VipsObjectClass,
66260}
66261#[test]
66262fn bindgen_test_layout__VipsThreadStateClass() {
66263    const UNINIT: ::std::mem::MaybeUninit<_VipsThreadStateClass> =
66264        ::std::mem::MaybeUninit::uninit();
66265    let ptr = UNINIT.as_ptr();
66266    assert_eq!(
66267        ::std::mem::size_of::<_VipsThreadStateClass>(),
66268        328usize,
66269        concat!("Size of: ", stringify!(_VipsThreadStateClass))
66270    );
66271    assert_eq!(
66272        ::std::mem::align_of::<_VipsThreadStateClass>(),
66273        8usize,
66274        concat!("Alignment of ", stringify!(_VipsThreadStateClass))
66275    );
66276    assert_eq!(
66277        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
66278        0usize,
66279        concat!(
66280            "Offset of field: ",
66281            stringify!(_VipsThreadStateClass),
66282            "::",
66283            stringify!(parent_class)
66284        )
66285    );
66286}
66287pub type VipsThreadStateClass = _VipsThreadStateClass;
66288extern "C" {
66289    pub fn vips_thread_state_set(
66290        object: *mut VipsObject,
66291        a: *mut ::std::os::raw::c_void,
66292        b: *mut ::std::os::raw::c_void,
66293    ) -> *mut ::std::os::raw::c_void;
66294}
66295extern "C" {
66296    pub fn vips_thread_state_get_type() -> GType;
66297}
66298extern "C" {
66299    pub fn vips_thread_state_new(
66300        im: *mut VipsImage,
66301        a: *mut ::std::os::raw::c_void,
66302    ) -> *mut VipsThreadState;
66303}
66304pub type VipsThreadStartFn = ::std::option::Option<
66305    unsafe extern "C" fn(
66306        im: *mut VipsImage,
66307        a: *mut ::std::os::raw::c_void,
66308    ) -> *mut VipsThreadState,
66309>;
66310pub type VipsThreadpoolAllocateFn = ::std::option::Option<
66311    unsafe extern "C" fn(
66312        state: *mut VipsThreadState,
66313        a: *mut ::std::os::raw::c_void,
66314        stop: *mut gboolean,
66315    ) -> ::std::os::raw::c_int,
66316>;
66317pub type VipsThreadpoolWorkFn = ::std::option::Option<
66318    unsafe extern "C" fn(
66319        state: *mut VipsThreadState,
66320        a: *mut ::std::os::raw::c_void,
66321    ) -> ::std::os::raw::c_int,
66322>;
66323pub type VipsThreadpoolProgressFn = ::std::option::Option<
66324    unsafe extern "C" fn(a: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
66325>;
66326extern "C" {
66327    pub fn vips_threadpool_run(
66328        im: *mut VipsImage,
66329        start: VipsThreadStartFn,
66330        allocate: VipsThreadpoolAllocateFn,
66331        work: VipsThreadpoolWorkFn,
66332        progress: VipsThreadpoolProgressFn,
66333        a: *mut ::std::os::raw::c_void,
66334    ) -> ::std::os::raw::c_int;
66335}
66336extern "C" {
66337    pub fn vips_get_tile_size(
66338        im: *mut VipsImage,
66339        tile_width: *mut ::std::os::raw::c_int,
66340        tile_height: *mut ::std::os::raw::c_int,
66341        n_lines: *mut ::std::os::raw::c_int,
66342    );
66343}
66344extern "C" {
66345    pub fn vips_format_sizeof(format: VipsBandFormat) -> guint64;
66346}
66347extern "C" {
66348    pub fn vips_format_sizeof_unsafe(format: VipsBandFormat) -> guint64;
66349}
66350extern "C" {
66351    pub fn vips_interpretation_max_alpha(interpretation: VipsInterpretation) -> f64;
66352}
66353extern "C" {
66354    pub fn vips_image_get_width(image: *const VipsImage) -> ::std::os::raw::c_int;
66355}
66356extern "C" {
66357    pub fn vips_image_get_height(image: *const VipsImage) -> ::std::os::raw::c_int;
66358}
66359extern "C" {
66360    pub fn vips_image_get_bands(image: *const VipsImage) -> ::std::os::raw::c_int;
66361}
66362extern "C" {
66363    pub fn vips_image_get_format(image: *const VipsImage) -> VipsBandFormat;
66364}
66365extern "C" {
66366    pub fn vips_image_get_format_max(format: VipsBandFormat) -> f64;
66367}
66368extern "C" {
66369    pub fn vips_image_guess_format(image: *const VipsImage) -> VipsBandFormat;
66370}
66371extern "C" {
66372    pub fn vips_image_get_coding(image: *const VipsImage) -> VipsCoding;
66373}
66374extern "C" {
66375    pub fn vips_image_get_interpretation(image: *const VipsImage) -> VipsInterpretation;
66376}
66377extern "C" {
66378    pub fn vips_image_guess_interpretation(image: *const VipsImage) -> VipsInterpretation;
66379}
66380extern "C" {
66381    pub fn vips_image_get_xres(image: *const VipsImage) -> f64;
66382}
66383extern "C" {
66384    pub fn vips_image_get_yres(image: *const VipsImage) -> f64;
66385}
66386extern "C" {
66387    pub fn vips_image_get_xoffset(image: *const VipsImage) -> ::std::os::raw::c_int;
66388}
66389extern "C" {
66390    pub fn vips_image_get_yoffset(image: *const VipsImage) -> ::std::os::raw::c_int;
66391}
66392extern "C" {
66393    pub fn vips_image_get_filename(image: *const VipsImage) -> *const ::std::os::raw::c_char;
66394}
66395extern "C" {
66396    pub fn vips_image_get_mode(image: *const VipsImage) -> *const ::std::os::raw::c_char;
66397}
66398extern "C" {
66399    pub fn vips_image_get_scale(image: *const VipsImage) -> f64;
66400}
66401extern "C" {
66402    pub fn vips_image_get_offset(image: *const VipsImage) -> f64;
66403}
66404extern "C" {
66405    pub fn vips_image_get_page_height(image: *mut VipsImage) -> ::std::os::raw::c_int;
66406}
66407extern "C" {
66408    pub fn vips_image_get_n_pages(image: *mut VipsImage) -> ::std::os::raw::c_int;
66409}
66410extern "C" {
66411    pub fn vips_image_get_n_subifds(image: *mut VipsImage) -> ::std::os::raw::c_int;
66412}
66413extern "C" {
66414    pub fn vips_image_get_orientation(image: *mut VipsImage) -> ::std::os::raw::c_int;
66415}
66416extern "C" {
66417    pub fn vips_image_get_orientation_swap(image: *mut VipsImage) -> gboolean;
66418}
66419extern "C" {
66420    pub fn vips_image_get_concurrency(
66421        image: *mut VipsImage,
66422        default_concurrency: ::std::os::raw::c_int,
66423    ) -> ::std::os::raw::c_int;
66424}
66425extern "C" {
66426    pub fn vips_image_get_data(image: *mut VipsImage) -> *const ::std::os::raw::c_void;
66427}
66428extern "C" {
66429    pub fn vips_image_init_fields(
66430        image: *mut VipsImage,
66431        xsize: ::std::os::raw::c_int,
66432        ysize: ::std::os::raw::c_int,
66433        bands: ::std::os::raw::c_int,
66434        format: VipsBandFormat,
66435        coding: VipsCoding,
66436        interpretation: VipsInterpretation,
66437        xres: f64,
66438        yres: f64,
66439    );
66440}
66441extern "C" {
66442    pub fn vips_image_set(
66443        image: *mut VipsImage,
66444        name: *const ::std::os::raw::c_char,
66445        value: *mut GValue,
66446    );
66447}
66448extern "C" {
66449    pub fn vips_image_get(
66450        image: *const VipsImage,
66451        name: *const ::std::os::raw::c_char,
66452        value_copy: *mut GValue,
66453    ) -> ::std::os::raw::c_int;
66454}
66455extern "C" {
66456    pub fn vips_image_get_as_string(
66457        image: *const VipsImage,
66458        name: *const ::std::os::raw::c_char,
66459        out: *mut *mut ::std::os::raw::c_char,
66460    ) -> ::std::os::raw::c_int;
66461}
66462extern "C" {
66463    pub fn vips_image_get_typeof(
66464        image: *const VipsImage,
66465        name: *const ::std::os::raw::c_char,
66466    ) -> GType;
66467}
66468extern "C" {
66469    pub fn vips_image_remove(
66470        image: *mut VipsImage,
66471        name: *const ::std::os::raw::c_char,
66472    ) -> gboolean;
66473}
66474pub type VipsImageMapFn = ::std::option::Option<
66475    unsafe extern "C" fn(
66476        image: *mut VipsImage,
66477        name: *const ::std::os::raw::c_char,
66478        value: *mut GValue,
66479        a: *mut ::std::os::raw::c_void,
66480    ) -> *mut ::std::os::raw::c_void,
66481>;
66482extern "C" {
66483    pub fn vips_image_map(
66484        image: *mut VipsImage,
66485        fn_: VipsImageMapFn,
66486        a: *mut ::std::os::raw::c_void,
66487    ) -> *mut ::std::os::raw::c_void;
66488}
66489extern "C" {
66490    pub fn vips_image_get_fields(image: *mut VipsImage) -> *mut *mut gchar;
66491}
66492extern "C" {
66493    pub fn vips_image_set_area(
66494        image: *mut VipsImage,
66495        name: *const ::std::os::raw::c_char,
66496        free_fn: VipsCallbackFn,
66497        data: *mut ::std::os::raw::c_void,
66498    );
66499}
66500extern "C" {
66501    pub fn vips_image_get_area(
66502        image: *const VipsImage,
66503        name: *const ::std::os::raw::c_char,
66504        data: *mut *const ::std::os::raw::c_void,
66505    ) -> ::std::os::raw::c_int;
66506}
66507extern "C" {
66508    pub fn vips_image_set_blob(
66509        image: *mut VipsImage,
66510        name: *const ::std::os::raw::c_char,
66511        free_fn: VipsCallbackFn,
66512        data: *const ::std::os::raw::c_void,
66513        length: size_t,
66514    );
66515}
66516extern "C" {
66517    pub fn vips_image_set_blob_copy(
66518        image: *mut VipsImage,
66519        name: *const ::std::os::raw::c_char,
66520        data: *const ::std::os::raw::c_void,
66521        length: size_t,
66522    );
66523}
66524extern "C" {
66525    pub fn vips_image_get_blob(
66526        image: *const VipsImage,
66527        name: *const ::std::os::raw::c_char,
66528        data: *mut *const ::std::os::raw::c_void,
66529        length: *mut size_t,
66530    ) -> ::std::os::raw::c_int;
66531}
66532extern "C" {
66533    pub fn vips_image_get_int(
66534        image: *const VipsImage,
66535        name: *const ::std::os::raw::c_char,
66536        out: *mut ::std::os::raw::c_int,
66537    ) -> ::std::os::raw::c_int;
66538}
66539extern "C" {
66540    pub fn vips_image_set_int(
66541        image: *mut VipsImage,
66542        name: *const ::std::os::raw::c_char,
66543        i: ::std::os::raw::c_int,
66544    );
66545}
66546extern "C" {
66547    pub fn vips_image_get_double(
66548        image: *const VipsImage,
66549        name: *const ::std::os::raw::c_char,
66550        out: *mut f64,
66551    ) -> ::std::os::raw::c_int;
66552}
66553extern "C" {
66554    pub fn vips_image_set_double(
66555        image: *mut VipsImage,
66556        name: *const ::std::os::raw::c_char,
66557        d: f64,
66558    );
66559}
66560extern "C" {
66561    pub fn vips_image_get_string(
66562        image: *const VipsImage,
66563        name: *const ::std::os::raw::c_char,
66564        out: *mut *const ::std::os::raw::c_char,
66565    ) -> ::std::os::raw::c_int;
66566}
66567extern "C" {
66568    pub fn vips_image_set_string(
66569        image: *mut VipsImage,
66570        name: *const ::std::os::raw::c_char,
66571        str_: *const ::std::os::raw::c_char,
66572    );
66573}
66574extern "C" {
66575    pub fn vips_image_print_field(image: *const VipsImage, name: *const ::std::os::raw::c_char);
66576}
66577extern "C" {
66578    pub fn vips_image_get_image(
66579        image: *const VipsImage,
66580        name: *const ::std::os::raw::c_char,
66581        out: *mut *mut VipsImage,
66582    ) -> ::std::os::raw::c_int;
66583}
66584extern "C" {
66585    pub fn vips_image_set_image(
66586        image: *mut VipsImage,
66587        name: *const ::std::os::raw::c_char,
66588        im: *mut VipsImage,
66589    );
66590}
66591extern "C" {
66592    pub fn vips_image_set_array_int(
66593        image: *mut VipsImage,
66594        name: *const ::std::os::raw::c_char,
66595        array: *const ::std::os::raw::c_int,
66596        n: ::std::os::raw::c_int,
66597    );
66598}
66599extern "C" {
66600    pub fn vips_image_get_array_int(
66601        image: *mut VipsImage,
66602        name: *const ::std::os::raw::c_char,
66603        out: *mut *mut ::std::os::raw::c_int,
66604        n: *mut ::std::os::raw::c_int,
66605    ) -> ::std::os::raw::c_int;
66606}
66607extern "C" {
66608    pub fn vips_image_get_array_double(
66609        image: *mut VipsImage,
66610        name: *const ::std::os::raw::c_char,
66611        out: *mut *mut f64,
66612        n: *mut ::std::os::raw::c_int,
66613    ) -> ::std::os::raw::c_int;
66614}
66615extern "C" {
66616    pub fn vips_image_set_array_double(
66617        image: *mut VipsImage,
66618        name: *const ::std::os::raw::c_char,
66619        array: *const f64,
66620        n: ::std::os::raw::c_int,
66621    );
66622}
66623extern "C" {
66624    pub fn vips_image_history_printf(
66625        image: *mut VipsImage,
66626        format: *const ::std::os::raw::c_char,
66627        ...
66628    ) -> ::std::os::raw::c_int;
66629}
66630extern "C" {
66631    pub fn vips_image_history_args(
66632        image: *mut VipsImage,
66633        name: *const ::std::os::raw::c_char,
66634        argc: ::std::os::raw::c_int,
66635        argv: *mut *mut ::std::os::raw::c_char,
66636    ) -> ::std::os::raw::c_int;
66637}
66638extern "C" {
66639    pub fn vips_image_get_history(image: *mut VipsImage) -> *const ::std::os::raw::c_char;
66640}
66641pub const VipsOperationFlags_VIPS_OPERATION_NONE: VipsOperationFlags = 0;
66642pub const VipsOperationFlags_VIPS_OPERATION_SEQUENTIAL: VipsOperationFlags = 1;
66643pub const VipsOperationFlags_VIPS_OPERATION_SEQUENTIAL_UNBUFFERED: VipsOperationFlags = 2;
66644pub const VipsOperationFlags_VIPS_OPERATION_NOCACHE: VipsOperationFlags = 4;
66645pub const VipsOperationFlags_VIPS_OPERATION_DEPRECATED: VipsOperationFlags = 8;
66646pub const VipsOperationFlags_VIPS_OPERATION_UNTRUSTED: VipsOperationFlags = 16;
66647pub const VipsOperationFlags_VIPS_OPERATION_BLOCKED: VipsOperationFlags = 32;
66648pub const VipsOperationFlags_VIPS_OPERATION_REVALIDATE: VipsOperationFlags = 64;
66649pub type VipsOperationFlags = ::std::os::raw::c_uint;
66650pub type VipsOperationBuildFn =
66651    ::std::option::Option<unsafe extern "C" fn(object: *mut VipsObject) -> gboolean>;
66652#[repr(C)]
66653#[derive(Debug, Copy, Clone, PartialEq, Eq)]
66654pub struct _VipsOperation {
66655    pub parent_instance: VipsObject,
66656    pub hash: guint,
66657    pub found_hash: gboolean,
66658    pub pixels: ::std::os::raw::c_int,
66659}
66660#[test]
66661fn bindgen_test_layout__VipsOperation() {
66662    const UNINIT: ::std::mem::MaybeUninit<_VipsOperation> = ::std::mem::MaybeUninit::uninit();
66663    let ptr = UNINIT.as_ptr();
66664    assert_eq!(
66665        ::std::mem::size_of::<_VipsOperation>(),
66666        96usize,
66667        concat!("Size of: ", stringify!(_VipsOperation))
66668    );
66669    assert_eq!(
66670        ::std::mem::align_of::<_VipsOperation>(),
66671        8usize,
66672        concat!("Alignment of ", stringify!(_VipsOperation))
66673    );
66674    assert_eq!(
66675        unsafe { ::std::ptr::addr_of!((*ptr).parent_instance) as usize - ptr as usize },
66676        0usize,
66677        concat!(
66678            "Offset of field: ",
66679            stringify!(_VipsOperation),
66680            "::",
66681            stringify!(parent_instance)
66682        )
66683    );
66684    assert_eq!(
66685        unsafe { ::std::ptr::addr_of!((*ptr).hash) as usize - ptr as usize },
66686        80usize,
66687        concat!(
66688            "Offset of field: ",
66689            stringify!(_VipsOperation),
66690            "::",
66691            stringify!(hash)
66692        )
66693    );
66694    assert_eq!(
66695        unsafe { ::std::ptr::addr_of!((*ptr).found_hash) as usize - ptr as usize },
66696        84usize,
66697        concat!(
66698            "Offset of field: ",
66699            stringify!(_VipsOperation),
66700            "::",
66701            stringify!(found_hash)
66702        )
66703    );
66704    assert_eq!(
66705        unsafe { ::std::ptr::addr_of!((*ptr).pixels) as usize - ptr as usize },
66706        88usize,
66707        concat!(
66708            "Offset of field: ",
66709            stringify!(_VipsOperation),
66710            "::",
66711            stringify!(pixels)
66712        )
66713    );
66714}
66715pub type VipsOperation = _VipsOperation;
66716#[repr(C)]
66717#[derive(Debug, Copy, Clone, PartialEq, Eq)]
66718pub struct _VipsOperationClass {
66719    pub parent_class: VipsObjectClass,
66720    pub usage: ::std::option::Option<
66721        unsafe extern "C" fn(cls: *mut _VipsOperationClass, buf: *mut VipsBuf),
66722    >,
66723    pub get_flags: ::std::option::Option<
66724        unsafe extern "C" fn(operation: *mut VipsOperation) -> VipsOperationFlags,
66725    >,
66726    pub flags: VipsOperationFlags,
66727    pub invalidate: ::std::option::Option<unsafe extern "C" fn(operation: *mut VipsOperation)>,
66728}
66729#[test]
66730fn bindgen_test_layout__VipsOperationClass() {
66731    const UNINIT: ::std::mem::MaybeUninit<_VipsOperationClass> = ::std::mem::MaybeUninit::uninit();
66732    let ptr = UNINIT.as_ptr();
66733    assert_eq!(
66734        ::std::mem::size_of::<_VipsOperationClass>(),
66735        360usize,
66736        concat!("Size of: ", stringify!(_VipsOperationClass))
66737    );
66738    assert_eq!(
66739        ::std::mem::align_of::<_VipsOperationClass>(),
66740        8usize,
66741        concat!("Alignment of ", stringify!(_VipsOperationClass))
66742    );
66743    assert_eq!(
66744        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
66745        0usize,
66746        concat!(
66747            "Offset of field: ",
66748            stringify!(_VipsOperationClass),
66749            "::",
66750            stringify!(parent_class)
66751        )
66752    );
66753    assert_eq!(
66754        unsafe { ::std::ptr::addr_of!((*ptr).usage) as usize - ptr as usize },
66755        328usize,
66756        concat!(
66757            "Offset of field: ",
66758            stringify!(_VipsOperationClass),
66759            "::",
66760            stringify!(usage)
66761        )
66762    );
66763    assert_eq!(
66764        unsafe { ::std::ptr::addr_of!((*ptr).get_flags) as usize - ptr as usize },
66765        336usize,
66766        concat!(
66767            "Offset of field: ",
66768            stringify!(_VipsOperationClass),
66769            "::",
66770            stringify!(get_flags)
66771        )
66772    );
66773    assert_eq!(
66774        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
66775        344usize,
66776        concat!(
66777            "Offset of field: ",
66778            stringify!(_VipsOperationClass),
66779            "::",
66780            stringify!(flags)
66781        )
66782    );
66783    assert_eq!(
66784        unsafe { ::std::ptr::addr_of!((*ptr).invalidate) as usize - ptr as usize },
66785        352usize,
66786        concat!(
66787            "Offset of field: ",
66788            stringify!(_VipsOperationClass),
66789            "::",
66790            stringify!(invalidate)
66791        )
66792    );
66793}
66794pub type VipsOperationClass = _VipsOperationClass;
66795extern "C" {
66796    pub fn vips_operation_get_type() -> GType;
66797}
66798extern "C" {
66799    pub fn vips_operation_get_flags(operation: *mut VipsOperation) -> VipsOperationFlags;
66800}
66801extern "C" {
66802    pub fn vips_operation_class_print_usage(operation_class: *mut VipsOperationClass);
66803}
66804extern "C" {
66805    pub fn vips_operation_invalidate(operation: *mut VipsOperation);
66806}
66807extern "C" {
66808    pub fn vips_operation_call_valist(
66809        operation: *mut VipsOperation,
66810        ap: va_list,
66811    ) -> ::std::os::raw::c_int;
66812}
66813extern "C" {
66814    pub fn vips_operation_new(name: *const ::std::os::raw::c_char) -> *mut VipsOperation;
66815}
66816extern "C" {
66817    pub fn vips_call_required_optional(
66818        operation: *mut *mut VipsOperation,
66819        required: va_list,
66820        optional: va_list,
66821    ) -> ::std::os::raw::c_int;
66822}
66823extern "C" {
66824    pub fn vips_call(operation_name: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
66825}
66826extern "C" {
66827    pub fn vips_call_split(
66828        operation_name: *const ::std::os::raw::c_char,
66829        optional: va_list,
66830        ...
66831    ) -> ::std::os::raw::c_int;
66832}
66833extern "C" {
66834    pub fn vips_call_split_option_string(
66835        operation_name: *const ::std::os::raw::c_char,
66836        option_string: *const ::std::os::raw::c_char,
66837        optional: va_list,
66838        ...
66839    ) -> ::std::os::raw::c_int;
66840}
66841extern "C" {
66842    pub fn vips_call_options(group: *mut GOptionGroup, operation: *mut VipsOperation);
66843}
66844extern "C" {
66845    pub fn vips_call_argv(
66846        operation: *mut VipsOperation,
66847        argc: ::std::os::raw::c_int,
66848        argv: *mut *mut ::std::os::raw::c_char,
66849    ) -> ::std::os::raw::c_int;
66850}
66851extern "C" {
66852    pub fn vips_cache_drop_all();
66853}
66854extern "C" {
66855    pub fn vips_cache_operation_lookup(operation: *mut VipsOperation) -> *mut VipsOperation;
66856}
66857extern "C" {
66858    pub fn vips_cache_operation_add(operation: *mut VipsOperation);
66859}
66860extern "C" {
66861    pub fn vips_cache_operation_buildp(operation: *mut *mut VipsOperation)
66862        -> ::std::os::raw::c_int;
66863}
66864extern "C" {
66865    pub fn vips_cache_operation_build(operation: *mut VipsOperation) -> *mut VipsOperation;
66866}
66867extern "C" {
66868    pub fn vips_cache_print();
66869}
66870extern "C" {
66871    pub fn vips_cache_set_max(max: ::std::os::raw::c_int);
66872}
66873extern "C" {
66874    pub fn vips_cache_set_max_mem(max_mem: size_t);
66875}
66876extern "C" {
66877    pub fn vips_cache_get_max() -> ::std::os::raw::c_int;
66878}
66879extern "C" {
66880    pub fn vips_cache_get_size() -> ::std::os::raw::c_int;
66881}
66882extern "C" {
66883    pub fn vips_cache_get_max_mem() -> size_t;
66884}
66885extern "C" {
66886    pub fn vips_cache_get_max_files() -> ::std::os::raw::c_int;
66887}
66888extern "C" {
66889    pub fn vips_cache_set_max_files(max_files: ::std::os::raw::c_int);
66890}
66891extern "C" {
66892    pub fn vips_cache_set_dump(dump: gboolean);
66893}
66894extern "C" {
66895    pub fn vips_cache_set_trace(trace: gboolean);
66896}
66897extern "C" {
66898    pub fn vips_concurrency_set(concurrency: ::std::os::raw::c_int);
66899}
66900extern "C" {
66901    pub fn vips_concurrency_get() -> ::std::os::raw::c_int;
66902}
66903extern "C" {
66904    pub fn vips_operation_block_set(name: *const ::std::os::raw::c_char, state: gboolean);
66905}
66906#[repr(C)]
66907#[derive(Debug, Copy, Clone, PartialEq, Eq)]
66908pub struct _VipsForeign {
66909    pub parent_object: VipsOperation,
66910}
66911#[test]
66912fn bindgen_test_layout__VipsForeign() {
66913    const UNINIT: ::std::mem::MaybeUninit<_VipsForeign> = ::std::mem::MaybeUninit::uninit();
66914    let ptr = UNINIT.as_ptr();
66915    assert_eq!(
66916        ::std::mem::size_of::<_VipsForeign>(),
66917        96usize,
66918        concat!("Size of: ", stringify!(_VipsForeign))
66919    );
66920    assert_eq!(
66921        ::std::mem::align_of::<_VipsForeign>(),
66922        8usize,
66923        concat!("Alignment of ", stringify!(_VipsForeign))
66924    );
66925    assert_eq!(
66926        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
66927        0usize,
66928        concat!(
66929            "Offset of field: ",
66930            stringify!(_VipsForeign),
66931            "::",
66932            stringify!(parent_object)
66933        )
66934    );
66935}
66936pub type VipsForeign = _VipsForeign;
66937#[repr(C)]
66938#[derive(Debug, Copy, Clone, PartialEq, Eq)]
66939pub struct _VipsForeignClass {
66940    pub parent_class: VipsOperationClass,
66941    pub priority: ::std::os::raw::c_int,
66942    pub suffs: *mut *const ::std::os::raw::c_char,
66943}
66944#[test]
66945fn bindgen_test_layout__VipsForeignClass() {
66946    const UNINIT: ::std::mem::MaybeUninit<_VipsForeignClass> = ::std::mem::MaybeUninit::uninit();
66947    let ptr = UNINIT.as_ptr();
66948    assert_eq!(
66949        ::std::mem::size_of::<_VipsForeignClass>(),
66950        376usize,
66951        concat!("Size of: ", stringify!(_VipsForeignClass))
66952    );
66953    assert_eq!(
66954        ::std::mem::align_of::<_VipsForeignClass>(),
66955        8usize,
66956        concat!("Alignment of ", stringify!(_VipsForeignClass))
66957    );
66958    assert_eq!(
66959        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
66960        0usize,
66961        concat!(
66962            "Offset of field: ",
66963            stringify!(_VipsForeignClass),
66964            "::",
66965            stringify!(parent_class)
66966        )
66967    );
66968    assert_eq!(
66969        unsafe { ::std::ptr::addr_of!((*ptr).priority) as usize - ptr as usize },
66970        360usize,
66971        concat!(
66972            "Offset of field: ",
66973            stringify!(_VipsForeignClass),
66974            "::",
66975            stringify!(priority)
66976        )
66977    );
66978    assert_eq!(
66979        unsafe { ::std::ptr::addr_of!((*ptr).suffs) as usize - ptr as usize },
66980        368usize,
66981        concat!(
66982            "Offset of field: ",
66983            stringify!(_VipsForeignClass),
66984            "::",
66985            stringify!(suffs)
66986        )
66987    );
66988}
66989pub type VipsForeignClass = _VipsForeignClass;
66990extern "C" {
66991    pub fn vips_foreign_get_type() -> GType;
66992}
66993extern "C" {
66994    pub fn vips_foreign_map(
66995        base: *const ::std::os::raw::c_char,
66996        fn_: VipsSListMap2Fn,
66997        a: *mut ::std::os::raw::c_void,
66998        b: *mut ::std::os::raw::c_void,
66999    ) -> *mut ::std::os::raw::c_void;
67000}
67001pub const VipsForeignFlags_VIPS_FOREIGN_NONE: VipsForeignFlags = 0;
67002pub const VipsForeignFlags_VIPS_FOREIGN_PARTIAL: VipsForeignFlags = 1;
67003pub const VipsForeignFlags_VIPS_FOREIGN_BIGENDIAN: VipsForeignFlags = 2;
67004pub const VipsForeignFlags_VIPS_FOREIGN_SEQUENTIAL: VipsForeignFlags = 4;
67005pub const VipsForeignFlags_VIPS_FOREIGN_ALL: VipsForeignFlags = 7;
67006pub type VipsForeignFlags = ::std::os::raw::c_uint;
67007pub const VipsFailOn_VIPS_FAIL_ON_NONE: VipsFailOn = 0;
67008pub const VipsFailOn_VIPS_FAIL_ON_TRUNCATED: VipsFailOn = 1;
67009pub const VipsFailOn_VIPS_FAIL_ON_ERROR: VipsFailOn = 2;
67010pub const VipsFailOn_VIPS_FAIL_ON_WARNING: VipsFailOn = 3;
67011pub const VipsFailOn_VIPS_FAIL_ON_LAST: VipsFailOn = 4;
67012pub type VipsFailOn = ::std::os::raw::c_uint;
67013#[repr(C)]
67014#[derive(Debug, Copy, Clone, PartialEq, Eq)]
67015pub struct _VipsForeignLoad {
67016    pub parent_object: VipsForeign,
67017    pub memory: gboolean,
67018    pub access: VipsAccess,
67019    pub flags: VipsForeignFlags,
67020    pub fail_on: VipsFailOn,
67021    pub fail: gboolean,
67022    pub sequential: gboolean,
67023    pub out: *mut VipsImage,
67024    pub real: *mut VipsImage,
67025    pub nocache: gboolean,
67026    pub disc: gboolean,
67027    pub error: gboolean,
67028    pub revalidate: gboolean,
67029}
67030#[test]
67031fn bindgen_test_layout__VipsForeignLoad() {
67032    const UNINIT: ::std::mem::MaybeUninit<_VipsForeignLoad> = ::std::mem::MaybeUninit::uninit();
67033    let ptr = UNINIT.as_ptr();
67034    assert_eq!(
67035        ::std::mem::size_of::<_VipsForeignLoad>(),
67036        152usize,
67037        concat!("Size of: ", stringify!(_VipsForeignLoad))
67038    );
67039    assert_eq!(
67040        ::std::mem::align_of::<_VipsForeignLoad>(),
67041        8usize,
67042        concat!("Alignment of ", stringify!(_VipsForeignLoad))
67043    );
67044    assert_eq!(
67045        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
67046        0usize,
67047        concat!(
67048            "Offset of field: ",
67049            stringify!(_VipsForeignLoad),
67050            "::",
67051            stringify!(parent_object)
67052        )
67053    );
67054    assert_eq!(
67055        unsafe { ::std::ptr::addr_of!((*ptr).memory) as usize - ptr as usize },
67056        96usize,
67057        concat!(
67058            "Offset of field: ",
67059            stringify!(_VipsForeignLoad),
67060            "::",
67061            stringify!(memory)
67062        )
67063    );
67064    assert_eq!(
67065        unsafe { ::std::ptr::addr_of!((*ptr).access) as usize - ptr as usize },
67066        100usize,
67067        concat!(
67068            "Offset of field: ",
67069            stringify!(_VipsForeignLoad),
67070            "::",
67071            stringify!(access)
67072        )
67073    );
67074    assert_eq!(
67075        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
67076        104usize,
67077        concat!(
67078            "Offset of field: ",
67079            stringify!(_VipsForeignLoad),
67080            "::",
67081            stringify!(flags)
67082        )
67083    );
67084    assert_eq!(
67085        unsafe { ::std::ptr::addr_of!((*ptr).fail_on) as usize - ptr as usize },
67086        108usize,
67087        concat!(
67088            "Offset of field: ",
67089            stringify!(_VipsForeignLoad),
67090            "::",
67091            stringify!(fail_on)
67092        )
67093    );
67094    assert_eq!(
67095        unsafe { ::std::ptr::addr_of!((*ptr).fail) as usize - ptr as usize },
67096        112usize,
67097        concat!(
67098            "Offset of field: ",
67099            stringify!(_VipsForeignLoad),
67100            "::",
67101            stringify!(fail)
67102        )
67103    );
67104    assert_eq!(
67105        unsafe { ::std::ptr::addr_of!((*ptr).sequential) as usize - ptr as usize },
67106        116usize,
67107        concat!(
67108            "Offset of field: ",
67109            stringify!(_VipsForeignLoad),
67110            "::",
67111            stringify!(sequential)
67112        )
67113    );
67114    assert_eq!(
67115        unsafe { ::std::ptr::addr_of!((*ptr).out) as usize - ptr as usize },
67116        120usize,
67117        concat!(
67118            "Offset of field: ",
67119            stringify!(_VipsForeignLoad),
67120            "::",
67121            stringify!(out)
67122        )
67123    );
67124    assert_eq!(
67125        unsafe { ::std::ptr::addr_of!((*ptr).real) as usize - ptr as usize },
67126        128usize,
67127        concat!(
67128            "Offset of field: ",
67129            stringify!(_VipsForeignLoad),
67130            "::",
67131            stringify!(real)
67132        )
67133    );
67134    assert_eq!(
67135        unsafe { ::std::ptr::addr_of!((*ptr).nocache) as usize - ptr as usize },
67136        136usize,
67137        concat!(
67138            "Offset of field: ",
67139            stringify!(_VipsForeignLoad),
67140            "::",
67141            stringify!(nocache)
67142        )
67143    );
67144    assert_eq!(
67145        unsafe { ::std::ptr::addr_of!((*ptr).disc) as usize - ptr as usize },
67146        140usize,
67147        concat!(
67148            "Offset of field: ",
67149            stringify!(_VipsForeignLoad),
67150            "::",
67151            stringify!(disc)
67152        )
67153    );
67154    assert_eq!(
67155        unsafe { ::std::ptr::addr_of!((*ptr).error) as usize - ptr as usize },
67156        144usize,
67157        concat!(
67158            "Offset of field: ",
67159            stringify!(_VipsForeignLoad),
67160            "::",
67161            stringify!(error)
67162        )
67163    );
67164    assert_eq!(
67165        unsafe { ::std::ptr::addr_of!((*ptr).revalidate) as usize - ptr as usize },
67166        148usize,
67167        concat!(
67168            "Offset of field: ",
67169            stringify!(_VipsForeignLoad),
67170            "::",
67171            stringify!(revalidate)
67172        )
67173    );
67174}
67175pub type VipsForeignLoad = _VipsForeignLoad;
67176#[repr(C)]
67177#[derive(Debug, Copy, Clone, PartialEq, Eq)]
67178pub struct _VipsForeignLoadClass {
67179    pub parent_class: VipsForeignClass,
67180    pub is_a: ::std::option::Option<
67181        unsafe extern "C" fn(filename: *const ::std::os::raw::c_char) -> gboolean,
67182    >,
67183    pub is_a_buffer: ::std::option::Option<
67184        unsafe extern "C" fn(data: *const ::std::os::raw::c_void, size: size_t) -> gboolean,
67185    >,
67186    pub is_a_source:
67187        ::std::option::Option<unsafe extern "C" fn(source: *mut VipsSource) -> gboolean>,
67188    pub get_flags_filename: ::std::option::Option<
67189        unsafe extern "C" fn(filename: *const ::std::os::raw::c_char) -> VipsForeignFlags,
67190    >,
67191    pub get_flags:
67192        ::std::option::Option<unsafe extern "C" fn(load: *mut VipsForeignLoad) -> VipsForeignFlags>,
67193    pub header: ::std::option::Option<
67194        unsafe extern "C" fn(load: *mut VipsForeignLoad) -> ::std::os::raw::c_int,
67195    >,
67196    pub load: ::std::option::Option<
67197        unsafe extern "C" fn(load: *mut VipsForeignLoad) -> ::std::os::raw::c_int,
67198    >,
67199}
67200#[test]
67201fn bindgen_test_layout__VipsForeignLoadClass() {
67202    const UNINIT: ::std::mem::MaybeUninit<_VipsForeignLoadClass> =
67203        ::std::mem::MaybeUninit::uninit();
67204    let ptr = UNINIT.as_ptr();
67205    assert_eq!(
67206        ::std::mem::size_of::<_VipsForeignLoadClass>(),
67207        432usize,
67208        concat!("Size of: ", stringify!(_VipsForeignLoadClass))
67209    );
67210    assert_eq!(
67211        ::std::mem::align_of::<_VipsForeignLoadClass>(),
67212        8usize,
67213        concat!("Alignment of ", stringify!(_VipsForeignLoadClass))
67214    );
67215    assert_eq!(
67216        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
67217        0usize,
67218        concat!(
67219            "Offset of field: ",
67220            stringify!(_VipsForeignLoadClass),
67221            "::",
67222            stringify!(parent_class)
67223        )
67224    );
67225    assert_eq!(
67226        unsafe { ::std::ptr::addr_of!((*ptr).is_a) as usize - ptr as usize },
67227        376usize,
67228        concat!(
67229            "Offset of field: ",
67230            stringify!(_VipsForeignLoadClass),
67231            "::",
67232            stringify!(is_a)
67233        )
67234    );
67235    assert_eq!(
67236        unsafe { ::std::ptr::addr_of!((*ptr).is_a_buffer) as usize - ptr as usize },
67237        384usize,
67238        concat!(
67239            "Offset of field: ",
67240            stringify!(_VipsForeignLoadClass),
67241            "::",
67242            stringify!(is_a_buffer)
67243        )
67244    );
67245    assert_eq!(
67246        unsafe { ::std::ptr::addr_of!((*ptr).is_a_source) as usize - ptr as usize },
67247        392usize,
67248        concat!(
67249            "Offset of field: ",
67250            stringify!(_VipsForeignLoadClass),
67251            "::",
67252            stringify!(is_a_source)
67253        )
67254    );
67255    assert_eq!(
67256        unsafe { ::std::ptr::addr_of!((*ptr).get_flags_filename) as usize - ptr as usize },
67257        400usize,
67258        concat!(
67259            "Offset of field: ",
67260            stringify!(_VipsForeignLoadClass),
67261            "::",
67262            stringify!(get_flags_filename)
67263        )
67264    );
67265    assert_eq!(
67266        unsafe { ::std::ptr::addr_of!((*ptr).get_flags) as usize - ptr as usize },
67267        408usize,
67268        concat!(
67269            "Offset of field: ",
67270            stringify!(_VipsForeignLoadClass),
67271            "::",
67272            stringify!(get_flags)
67273        )
67274    );
67275    assert_eq!(
67276        unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize },
67277        416usize,
67278        concat!(
67279            "Offset of field: ",
67280            stringify!(_VipsForeignLoadClass),
67281            "::",
67282            stringify!(header)
67283        )
67284    );
67285    assert_eq!(
67286        unsafe { ::std::ptr::addr_of!((*ptr).load) as usize - ptr as usize },
67287        424usize,
67288        concat!(
67289            "Offset of field: ",
67290            stringify!(_VipsForeignLoadClass),
67291            "::",
67292            stringify!(load)
67293        )
67294    );
67295}
67296pub type VipsForeignLoadClass = _VipsForeignLoadClass;
67297extern "C" {
67298    pub fn vips_foreign_load_get_type() -> GType;
67299}
67300extern "C" {
67301    pub fn vips_foreign_find_load(
67302        filename: *const ::std::os::raw::c_char,
67303    ) -> *const ::std::os::raw::c_char;
67304}
67305extern "C" {
67306    pub fn vips_foreign_find_load_buffer(
67307        data: *const ::std::os::raw::c_void,
67308        size: size_t,
67309    ) -> *const ::std::os::raw::c_char;
67310}
67311extern "C" {
67312    pub fn vips_foreign_find_load_source(source: *mut VipsSource) -> *const ::std::os::raw::c_char;
67313}
67314extern "C" {
67315    pub fn vips_foreign_flags(
67316        loader: *const ::std::os::raw::c_char,
67317        filename: *const ::std::os::raw::c_char,
67318    ) -> VipsForeignFlags;
67319}
67320extern "C" {
67321    pub fn vips_foreign_is_a(
67322        loader: *const ::std::os::raw::c_char,
67323        filename: *const ::std::os::raw::c_char,
67324    ) -> gboolean;
67325}
67326extern "C" {
67327    pub fn vips_foreign_is_a_buffer(
67328        loader: *const ::std::os::raw::c_char,
67329        data: *const ::std::os::raw::c_void,
67330        size: size_t,
67331    ) -> gboolean;
67332}
67333extern "C" {
67334    pub fn vips_foreign_is_a_source(
67335        loader: *const ::std::os::raw::c_char,
67336        source: *mut VipsSource,
67337    ) -> gboolean;
67338}
67339extern "C" {
67340    pub fn vips_foreign_load_invalidate(image: *mut VipsImage);
67341}
67342pub const VipsSaveable_VIPS_SAVEABLE_MONO: VipsSaveable = 0;
67343pub const VipsSaveable_VIPS_SAVEABLE_RGB: VipsSaveable = 1;
67344pub const VipsSaveable_VIPS_SAVEABLE_RGBA: VipsSaveable = 2;
67345pub const VipsSaveable_VIPS_SAVEABLE_RGBA_ONLY: VipsSaveable = 3;
67346pub const VipsSaveable_VIPS_SAVEABLE_RGB_CMYK: VipsSaveable = 4;
67347pub const VipsSaveable_VIPS_SAVEABLE_ANY: VipsSaveable = 5;
67348pub const VipsSaveable_VIPS_SAVEABLE_LAST: VipsSaveable = 6;
67349pub type VipsSaveable = ::std::os::raw::c_uint;
67350pub const VipsForeignKeep_VIPS_FOREIGN_KEEP_NONE: VipsForeignKeep = 0;
67351pub const VipsForeignKeep_VIPS_FOREIGN_KEEP_EXIF: VipsForeignKeep = 1;
67352pub const VipsForeignKeep_VIPS_FOREIGN_KEEP_XMP: VipsForeignKeep = 2;
67353pub const VipsForeignKeep_VIPS_FOREIGN_KEEP_IPTC: VipsForeignKeep = 4;
67354pub const VipsForeignKeep_VIPS_FOREIGN_KEEP_ICC: VipsForeignKeep = 8;
67355pub const VipsForeignKeep_VIPS_FOREIGN_KEEP_OTHER: VipsForeignKeep = 16;
67356pub const VipsForeignKeep_VIPS_FOREIGN_KEEP_ALL: VipsForeignKeep = 31;
67357pub type VipsForeignKeep = ::std::os::raw::c_uint;
67358#[repr(C)]
67359#[derive(Debug, Copy, Clone, PartialEq, Eq)]
67360pub struct _VipsForeignSave {
67361    pub parent_object: VipsForeign,
67362    pub strip: gboolean,
67363    pub keep: VipsForeignKeep,
67364    pub profile: *mut ::std::os::raw::c_char,
67365    pub background: *mut VipsArrayDouble,
67366    pub page_height: ::std::os::raw::c_int,
67367    pub in_: *mut VipsImage,
67368    pub ready: *mut VipsImage,
67369}
67370#[test]
67371fn bindgen_test_layout__VipsForeignSave() {
67372    const UNINIT: ::std::mem::MaybeUninit<_VipsForeignSave> = ::std::mem::MaybeUninit::uninit();
67373    let ptr = UNINIT.as_ptr();
67374    assert_eq!(
67375        ::std::mem::size_of::<_VipsForeignSave>(),
67376        144usize,
67377        concat!("Size of: ", stringify!(_VipsForeignSave))
67378    );
67379    assert_eq!(
67380        ::std::mem::align_of::<_VipsForeignSave>(),
67381        8usize,
67382        concat!("Alignment of ", stringify!(_VipsForeignSave))
67383    );
67384    assert_eq!(
67385        unsafe { ::std::ptr::addr_of!((*ptr).parent_object) as usize - ptr as usize },
67386        0usize,
67387        concat!(
67388            "Offset of field: ",
67389            stringify!(_VipsForeignSave),
67390            "::",
67391            stringify!(parent_object)
67392        )
67393    );
67394    assert_eq!(
67395        unsafe { ::std::ptr::addr_of!((*ptr).strip) as usize - ptr as usize },
67396        96usize,
67397        concat!(
67398            "Offset of field: ",
67399            stringify!(_VipsForeignSave),
67400            "::",
67401            stringify!(strip)
67402        )
67403    );
67404    assert_eq!(
67405        unsafe { ::std::ptr::addr_of!((*ptr).keep) as usize - ptr as usize },
67406        100usize,
67407        concat!(
67408            "Offset of field: ",
67409            stringify!(_VipsForeignSave),
67410            "::",
67411            stringify!(keep)
67412        )
67413    );
67414    assert_eq!(
67415        unsafe { ::std::ptr::addr_of!((*ptr).profile) as usize - ptr as usize },
67416        104usize,
67417        concat!(
67418            "Offset of field: ",
67419            stringify!(_VipsForeignSave),
67420            "::",
67421            stringify!(profile)
67422        )
67423    );
67424    assert_eq!(
67425        unsafe { ::std::ptr::addr_of!((*ptr).background) as usize - ptr as usize },
67426        112usize,
67427        concat!(
67428            "Offset of field: ",
67429            stringify!(_VipsForeignSave),
67430            "::",
67431            stringify!(background)
67432        )
67433    );
67434    assert_eq!(
67435        unsafe { ::std::ptr::addr_of!((*ptr).page_height) as usize - ptr as usize },
67436        120usize,
67437        concat!(
67438            "Offset of field: ",
67439            stringify!(_VipsForeignSave),
67440            "::",
67441            stringify!(page_height)
67442        )
67443    );
67444    assert_eq!(
67445        unsafe { ::std::ptr::addr_of!((*ptr).in_) as usize - ptr as usize },
67446        128usize,
67447        concat!(
67448            "Offset of field: ",
67449            stringify!(_VipsForeignSave),
67450            "::",
67451            stringify!(in_)
67452        )
67453    );
67454    assert_eq!(
67455        unsafe { ::std::ptr::addr_of!((*ptr).ready) as usize - ptr as usize },
67456        136usize,
67457        concat!(
67458            "Offset of field: ",
67459            stringify!(_VipsForeignSave),
67460            "::",
67461            stringify!(ready)
67462        )
67463    );
67464}
67465pub type VipsForeignSave = _VipsForeignSave;
67466#[repr(C)]
67467#[derive(Debug, Copy, Clone, PartialEq, Eq)]
67468pub struct _VipsForeignSaveClass {
67469    pub parent_class: VipsForeignClass,
67470    pub saveable: VipsSaveable,
67471    pub format_table: *mut VipsBandFormat,
67472    pub coding: [gboolean; 7usize],
67473}
67474#[test]
67475fn bindgen_test_layout__VipsForeignSaveClass() {
67476    const UNINIT: ::std::mem::MaybeUninit<_VipsForeignSaveClass> =
67477        ::std::mem::MaybeUninit::uninit();
67478    let ptr = UNINIT.as_ptr();
67479    assert_eq!(
67480        ::std::mem::size_of::<_VipsForeignSaveClass>(),
67481        424usize,
67482        concat!("Size of: ", stringify!(_VipsForeignSaveClass))
67483    );
67484    assert_eq!(
67485        ::std::mem::align_of::<_VipsForeignSaveClass>(),
67486        8usize,
67487        concat!("Alignment of ", stringify!(_VipsForeignSaveClass))
67488    );
67489    assert_eq!(
67490        unsafe { ::std::ptr::addr_of!((*ptr).parent_class) as usize - ptr as usize },
67491        0usize,
67492        concat!(
67493            "Offset of field: ",
67494            stringify!(_VipsForeignSaveClass),
67495            "::",
67496            stringify!(parent_class)
67497        )
67498    );
67499    assert_eq!(
67500        unsafe { ::std::ptr::addr_of!((*ptr).saveable) as usize - ptr as usize },
67501        376usize,
67502        concat!(
67503            "Offset of field: ",
67504            stringify!(_VipsForeignSaveClass),
67505            "::",
67506            stringify!(saveable)
67507        )
67508    );
67509    assert_eq!(
67510        unsafe { ::std::ptr::addr_of!((*ptr).format_table) as usize - ptr as usize },
67511        384usize,
67512        concat!(
67513            "Offset of field: ",
67514            stringify!(_VipsForeignSaveClass),
67515            "::",
67516            stringify!(format_table)
67517        )
67518    );
67519    assert_eq!(
67520        unsafe { ::std::ptr::addr_of!((*ptr).coding) as usize - ptr as usize },
67521        392usize,
67522        concat!(
67523            "Offset of field: ",
67524            stringify!(_VipsForeignSaveClass),
67525            "::",
67526            stringify!(coding)
67527        )
67528    );
67529}
67530pub type VipsForeignSaveClass = _VipsForeignSaveClass;
67531extern "C" {
67532    pub fn vips_foreign_save_get_type() -> GType;
67533}
67534extern "C" {
67535    pub fn vips_foreign_find_save(
67536        filename: *const ::std::os::raw::c_char,
67537    ) -> *const ::std::os::raw::c_char;
67538}
67539extern "C" {
67540    pub fn vips_foreign_get_suffixes() -> *mut *mut gchar;
67541}
67542extern "C" {
67543    pub fn vips_foreign_find_save_buffer(
67544        suffix: *const ::std::os::raw::c_char,
67545    ) -> *const ::std::os::raw::c_char;
67546}
67547extern "C" {
67548    pub fn vips_foreign_find_save_target(
67549        suffix: *const ::std::os::raw::c_char,
67550    ) -> *const ::std::os::raw::c_char;
67551}
67552extern "C" {
67553    pub fn vips_vipsload(
67554        filename: *const ::std::os::raw::c_char,
67555        out: *mut *mut VipsImage,
67556        ...
67557    ) -> ::std::os::raw::c_int;
67558}
67559extern "C" {
67560    pub fn vips_vipsload_source(
67561        source: *mut VipsSource,
67562        out: *mut *mut VipsImage,
67563        ...
67564    ) -> ::std::os::raw::c_int;
67565}
67566extern "C" {
67567    pub fn vips_vipssave(
67568        in_: *mut VipsImage,
67569        filename: *const ::std::os::raw::c_char,
67570        ...
67571    ) -> ::std::os::raw::c_int;
67572}
67573extern "C" {
67574    pub fn vips_vipssave_target(
67575        in_: *mut VipsImage,
67576        target: *mut VipsTarget,
67577        ...
67578    ) -> ::std::os::raw::c_int;
67579}
67580extern "C" {
67581    pub fn vips_openslideload(
67582        filename: *const ::std::os::raw::c_char,
67583        out: *mut *mut VipsImage,
67584        ...
67585    ) -> ::std::os::raw::c_int;
67586}
67587extern "C" {
67588    pub fn vips_openslideload_source(
67589        source: *mut VipsSource,
67590        out: *mut *mut VipsImage,
67591        ...
67592    ) -> ::std::os::raw::c_int;
67593}
67594pub const VipsForeignSubsample_VIPS_FOREIGN_SUBSAMPLE_AUTO: VipsForeignSubsample = 0;
67595pub const VipsForeignSubsample_VIPS_FOREIGN_SUBSAMPLE_ON: VipsForeignSubsample = 1;
67596pub const VipsForeignSubsample_VIPS_FOREIGN_SUBSAMPLE_OFF: VipsForeignSubsample = 2;
67597pub const VipsForeignSubsample_VIPS_FOREIGN_SUBSAMPLE_LAST: VipsForeignSubsample = 3;
67598pub type VipsForeignSubsample = ::std::os::raw::c_uint;
67599pub const VipsForeignJpegSubsample_VIPS_FOREIGN_JPEG_SUBSAMPLE_AUTO: VipsForeignJpegSubsample = 0;
67600pub const VipsForeignJpegSubsample_VIPS_FOREIGN_JPEG_SUBSAMPLE_ON: VipsForeignJpegSubsample = 1;
67601pub const VipsForeignJpegSubsample_VIPS_FOREIGN_JPEG_SUBSAMPLE_OFF: VipsForeignJpegSubsample = 2;
67602pub const VipsForeignJpegSubsample_VIPS_FOREIGN_JPEG_SUBSAMPLE_LAST: VipsForeignJpegSubsample = 3;
67603pub type VipsForeignJpegSubsample = ::std::os::raw::c_uint;
67604extern "C" {
67605    pub fn vips_jpegload(
67606        filename: *const ::std::os::raw::c_char,
67607        out: *mut *mut VipsImage,
67608        ...
67609    ) -> ::std::os::raw::c_int;
67610}
67611extern "C" {
67612    pub fn vips_jpegload_buffer(
67613        buf: *mut ::std::os::raw::c_void,
67614        len: size_t,
67615        out: *mut *mut VipsImage,
67616        ...
67617    ) -> ::std::os::raw::c_int;
67618}
67619extern "C" {
67620    pub fn vips_jpegload_source(
67621        source: *mut VipsSource,
67622        out: *mut *mut VipsImage,
67623        ...
67624    ) -> ::std::os::raw::c_int;
67625}
67626extern "C" {
67627    pub fn vips_jpegsave_target(
67628        in_: *mut VipsImage,
67629        target: *mut VipsTarget,
67630        ...
67631    ) -> ::std::os::raw::c_int;
67632}
67633extern "C" {
67634    pub fn vips_jpegsave(
67635        in_: *mut VipsImage,
67636        filename: *const ::std::os::raw::c_char,
67637        ...
67638    ) -> ::std::os::raw::c_int;
67639}
67640extern "C" {
67641    pub fn vips_jpegsave_buffer(
67642        in_: *mut VipsImage,
67643        buf: *mut *mut ::std::os::raw::c_void,
67644        len: *mut size_t,
67645        ...
67646    ) -> ::std::os::raw::c_int;
67647}
67648extern "C" {
67649    pub fn vips_jpegsave_mime(in_: *mut VipsImage, ...) -> ::std::os::raw::c_int;
67650}
67651pub const VipsForeignWebpPreset_VIPS_FOREIGN_WEBP_PRESET_DEFAULT: VipsForeignWebpPreset = 0;
67652pub const VipsForeignWebpPreset_VIPS_FOREIGN_WEBP_PRESET_PICTURE: VipsForeignWebpPreset = 1;
67653pub const VipsForeignWebpPreset_VIPS_FOREIGN_WEBP_PRESET_PHOTO: VipsForeignWebpPreset = 2;
67654pub const VipsForeignWebpPreset_VIPS_FOREIGN_WEBP_PRESET_DRAWING: VipsForeignWebpPreset = 3;
67655pub const VipsForeignWebpPreset_VIPS_FOREIGN_WEBP_PRESET_ICON: VipsForeignWebpPreset = 4;
67656pub const VipsForeignWebpPreset_VIPS_FOREIGN_WEBP_PRESET_TEXT: VipsForeignWebpPreset = 5;
67657pub const VipsForeignWebpPreset_VIPS_FOREIGN_WEBP_PRESET_LAST: VipsForeignWebpPreset = 6;
67658pub type VipsForeignWebpPreset = ::std::os::raw::c_uint;
67659extern "C" {
67660    pub fn vips_webpload_source(
67661        source: *mut VipsSource,
67662        out: *mut *mut VipsImage,
67663        ...
67664    ) -> ::std::os::raw::c_int;
67665}
67666extern "C" {
67667    pub fn vips_webpload(
67668        filename: *const ::std::os::raw::c_char,
67669        out: *mut *mut VipsImage,
67670        ...
67671    ) -> ::std::os::raw::c_int;
67672}
67673extern "C" {
67674    pub fn vips_webpload_buffer(
67675        buf: *mut ::std::os::raw::c_void,
67676        len: size_t,
67677        out: *mut *mut VipsImage,
67678        ...
67679    ) -> ::std::os::raw::c_int;
67680}
67681extern "C" {
67682    pub fn vips_webpsave_target(
67683        in_: *mut VipsImage,
67684        target: *mut VipsTarget,
67685        ...
67686    ) -> ::std::os::raw::c_int;
67687}
67688extern "C" {
67689    pub fn vips_webpsave(
67690        in_: *mut VipsImage,
67691        filename: *const ::std::os::raw::c_char,
67692        ...
67693    ) -> ::std::os::raw::c_int;
67694}
67695extern "C" {
67696    pub fn vips_webpsave_buffer(
67697        in_: *mut VipsImage,
67698        buf: *mut *mut ::std::os::raw::c_void,
67699        len: *mut size_t,
67700        ...
67701    ) -> ::std::os::raw::c_int;
67702}
67703extern "C" {
67704    pub fn vips_webpsave_mime(in_: *mut VipsImage, ...) -> ::std::os::raw::c_int;
67705}
67706pub const VipsForeignTiffCompression_VIPS_FOREIGN_TIFF_COMPRESSION_NONE:
67707    VipsForeignTiffCompression = 0;
67708pub const VipsForeignTiffCompression_VIPS_FOREIGN_TIFF_COMPRESSION_JPEG:
67709    VipsForeignTiffCompression = 1;
67710pub const VipsForeignTiffCompression_VIPS_FOREIGN_TIFF_COMPRESSION_DEFLATE:
67711    VipsForeignTiffCompression = 2;
67712pub const VipsForeignTiffCompression_VIPS_FOREIGN_TIFF_COMPRESSION_PACKBITS:
67713    VipsForeignTiffCompression = 3;
67714pub const VipsForeignTiffCompression_VIPS_FOREIGN_TIFF_COMPRESSION_CCITTFAX4:
67715    VipsForeignTiffCompression = 4;
67716pub const VipsForeignTiffCompression_VIPS_FOREIGN_TIFF_COMPRESSION_LZW: VipsForeignTiffCompression =
67717    5;
67718pub const VipsForeignTiffCompression_VIPS_FOREIGN_TIFF_COMPRESSION_WEBP:
67719    VipsForeignTiffCompression = 6;
67720pub const VipsForeignTiffCompression_VIPS_FOREIGN_TIFF_COMPRESSION_ZSTD:
67721    VipsForeignTiffCompression = 7;
67722pub const VipsForeignTiffCompression_VIPS_FOREIGN_TIFF_COMPRESSION_JP2K:
67723    VipsForeignTiffCompression = 8;
67724pub const VipsForeignTiffCompression_VIPS_FOREIGN_TIFF_COMPRESSION_LAST:
67725    VipsForeignTiffCompression = 9;
67726pub type VipsForeignTiffCompression = ::std::os::raw::c_uint;
67727pub const VipsForeignTiffPredictor_VIPS_FOREIGN_TIFF_PREDICTOR_NONE: VipsForeignTiffPredictor = 1;
67728pub const VipsForeignTiffPredictor_VIPS_FOREIGN_TIFF_PREDICTOR_HORIZONTAL:
67729    VipsForeignTiffPredictor = 2;
67730pub const VipsForeignTiffPredictor_VIPS_FOREIGN_TIFF_PREDICTOR_FLOAT: VipsForeignTiffPredictor = 3;
67731pub const VipsForeignTiffPredictor_VIPS_FOREIGN_TIFF_PREDICTOR_LAST: VipsForeignTiffPredictor = 4;
67732pub type VipsForeignTiffPredictor = ::std::os::raw::c_uint;
67733pub const VipsForeignTiffResunit_VIPS_FOREIGN_TIFF_RESUNIT_CM: VipsForeignTiffResunit = 0;
67734pub const VipsForeignTiffResunit_VIPS_FOREIGN_TIFF_RESUNIT_INCH: VipsForeignTiffResunit = 1;
67735pub const VipsForeignTiffResunit_VIPS_FOREIGN_TIFF_RESUNIT_LAST: VipsForeignTiffResunit = 2;
67736pub type VipsForeignTiffResunit = ::std::os::raw::c_uint;
67737extern "C" {
67738    pub fn vips_tiffload(
67739        filename: *const ::std::os::raw::c_char,
67740        out: *mut *mut VipsImage,
67741        ...
67742    ) -> ::std::os::raw::c_int;
67743}
67744extern "C" {
67745    pub fn vips_tiffload_buffer(
67746        buf: *mut ::std::os::raw::c_void,
67747        len: size_t,
67748        out: *mut *mut VipsImage,
67749        ...
67750    ) -> ::std::os::raw::c_int;
67751}
67752extern "C" {
67753    pub fn vips_tiffload_source(
67754        source: *mut VipsSource,
67755        out: *mut *mut VipsImage,
67756        ...
67757    ) -> ::std::os::raw::c_int;
67758}
67759extern "C" {
67760    pub fn vips_tiffsave(
67761        in_: *mut VipsImage,
67762        filename: *const ::std::os::raw::c_char,
67763        ...
67764    ) -> ::std::os::raw::c_int;
67765}
67766extern "C" {
67767    pub fn vips_tiffsave_buffer(
67768        in_: *mut VipsImage,
67769        buf: *mut *mut ::std::os::raw::c_void,
67770        len: *mut size_t,
67771        ...
67772    ) -> ::std::os::raw::c_int;
67773}
67774extern "C" {
67775    pub fn vips_tiffsave_target(
67776        in_: *mut VipsImage,
67777        target: *mut VipsTarget,
67778        ...
67779    ) -> ::std::os::raw::c_int;
67780}
67781extern "C" {
67782    pub fn vips_openexrload(
67783        filename: *const ::std::os::raw::c_char,
67784        out: *mut *mut VipsImage,
67785        ...
67786    ) -> ::std::os::raw::c_int;
67787}
67788extern "C" {
67789    pub fn vips_fitsload(
67790        filename: *const ::std::os::raw::c_char,
67791        out: *mut *mut VipsImage,
67792        ...
67793    ) -> ::std::os::raw::c_int;
67794}
67795extern "C" {
67796    pub fn vips_fitssave(
67797        in_: *mut VipsImage,
67798        filename: *const ::std::os::raw::c_char,
67799        ...
67800    ) -> ::std::os::raw::c_int;
67801}
67802extern "C" {
67803    pub fn vips_analyzeload(
67804        filename: *const ::std::os::raw::c_char,
67805        out: *mut *mut VipsImage,
67806        ...
67807    ) -> ::std::os::raw::c_int;
67808}
67809extern "C" {
67810    pub fn vips_rawload(
67811        filename: *const ::std::os::raw::c_char,
67812        out: *mut *mut VipsImage,
67813        width: ::std::os::raw::c_int,
67814        height: ::std::os::raw::c_int,
67815        bands: ::std::os::raw::c_int,
67816        ...
67817    ) -> ::std::os::raw::c_int;
67818}
67819extern "C" {
67820    pub fn vips_rawsave(
67821        in_: *mut VipsImage,
67822        filename: *const ::std::os::raw::c_char,
67823        ...
67824    ) -> ::std::os::raw::c_int;
67825}
67826extern "C" {
67827    pub fn vips_rawsave_fd(
67828        in_: *mut VipsImage,
67829        fd: ::std::os::raw::c_int,
67830        ...
67831    ) -> ::std::os::raw::c_int;
67832}
67833extern "C" {
67834    pub fn vips_csvload(
67835        filename: *const ::std::os::raw::c_char,
67836        out: *mut *mut VipsImage,
67837        ...
67838    ) -> ::std::os::raw::c_int;
67839}
67840extern "C" {
67841    pub fn vips_csvload_source(
67842        source: *mut VipsSource,
67843        out: *mut *mut VipsImage,
67844        ...
67845    ) -> ::std::os::raw::c_int;
67846}
67847extern "C" {
67848    pub fn vips_csvsave(
67849        in_: *mut VipsImage,
67850        filename: *const ::std::os::raw::c_char,
67851        ...
67852    ) -> ::std::os::raw::c_int;
67853}
67854extern "C" {
67855    pub fn vips_csvsave_target(
67856        in_: *mut VipsImage,
67857        target: *mut VipsTarget,
67858        ...
67859    ) -> ::std::os::raw::c_int;
67860}
67861extern "C" {
67862    pub fn vips_matrixload(
67863        filename: *const ::std::os::raw::c_char,
67864        out: *mut *mut VipsImage,
67865        ...
67866    ) -> ::std::os::raw::c_int;
67867}
67868extern "C" {
67869    pub fn vips_matrixload_source(
67870        source: *mut VipsSource,
67871        out: *mut *mut VipsImage,
67872        ...
67873    ) -> ::std::os::raw::c_int;
67874}
67875extern "C" {
67876    pub fn vips_matrixsave(
67877        in_: *mut VipsImage,
67878        filename: *const ::std::os::raw::c_char,
67879        ...
67880    ) -> ::std::os::raw::c_int;
67881}
67882extern "C" {
67883    pub fn vips_matrixsave_target(
67884        in_: *mut VipsImage,
67885        target: *mut VipsTarget,
67886        ...
67887    ) -> ::std::os::raw::c_int;
67888}
67889extern "C" {
67890    pub fn vips_matrixprint(in_: *mut VipsImage, ...) -> ::std::os::raw::c_int;
67891}
67892extern "C" {
67893    pub fn vips_magickload(
67894        filename: *const ::std::os::raw::c_char,
67895        out: *mut *mut VipsImage,
67896        ...
67897    ) -> ::std::os::raw::c_int;
67898}
67899extern "C" {
67900    pub fn vips_magickload_buffer(
67901        buf: *mut ::std::os::raw::c_void,
67902        len: size_t,
67903        out: *mut *mut VipsImage,
67904        ...
67905    ) -> ::std::os::raw::c_int;
67906}
67907extern "C" {
67908    pub fn vips_magicksave(
67909        in_: *mut VipsImage,
67910        filename: *const ::std::os::raw::c_char,
67911        ...
67912    ) -> ::std::os::raw::c_int;
67913}
67914extern "C" {
67915    pub fn vips_magicksave_buffer(
67916        in_: *mut VipsImage,
67917        buf: *mut *mut ::std::os::raw::c_void,
67918        len: *mut size_t,
67919        ...
67920    ) -> ::std::os::raw::c_int;
67921}
67922pub const VipsForeignPngFilter_VIPS_FOREIGN_PNG_FILTER_NONE: VipsForeignPngFilter = 8;
67923pub const VipsForeignPngFilter_VIPS_FOREIGN_PNG_FILTER_SUB: VipsForeignPngFilter = 16;
67924pub const VipsForeignPngFilter_VIPS_FOREIGN_PNG_FILTER_UP: VipsForeignPngFilter = 32;
67925pub const VipsForeignPngFilter_VIPS_FOREIGN_PNG_FILTER_AVG: VipsForeignPngFilter = 64;
67926pub const VipsForeignPngFilter_VIPS_FOREIGN_PNG_FILTER_PAETH: VipsForeignPngFilter = 128;
67927pub const VipsForeignPngFilter_VIPS_FOREIGN_PNG_FILTER_ALL: VipsForeignPngFilter = 248;
67928pub type VipsForeignPngFilter = ::std::os::raw::c_uint;
67929extern "C" {
67930    pub fn vips_pngload_source(
67931        source: *mut VipsSource,
67932        out: *mut *mut VipsImage,
67933        ...
67934    ) -> ::std::os::raw::c_int;
67935}
67936extern "C" {
67937    pub fn vips_pngload(
67938        filename: *const ::std::os::raw::c_char,
67939        out: *mut *mut VipsImage,
67940        ...
67941    ) -> ::std::os::raw::c_int;
67942}
67943extern "C" {
67944    pub fn vips_pngload_buffer(
67945        buf: *mut ::std::os::raw::c_void,
67946        len: size_t,
67947        out: *mut *mut VipsImage,
67948        ...
67949    ) -> ::std::os::raw::c_int;
67950}
67951extern "C" {
67952    pub fn vips_pngsave_target(
67953        in_: *mut VipsImage,
67954        target: *mut VipsTarget,
67955        ...
67956    ) -> ::std::os::raw::c_int;
67957}
67958extern "C" {
67959    pub fn vips_pngsave(
67960        in_: *mut VipsImage,
67961        filename: *const ::std::os::raw::c_char,
67962        ...
67963    ) -> ::std::os::raw::c_int;
67964}
67965extern "C" {
67966    pub fn vips_pngsave_buffer(
67967        in_: *mut VipsImage,
67968        buf: *mut *mut ::std::os::raw::c_void,
67969        len: *mut size_t,
67970        ...
67971    ) -> ::std::os::raw::c_int;
67972}
67973pub const VipsForeignPpmFormat_VIPS_FOREIGN_PPM_FORMAT_PBM: VipsForeignPpmFormat = 0;
67974pub const VipsForeignPpmFormat_VIPS_FOREIGN_PPM_FORMAT_PGM: VipsForeignPpmFormat = 1;
67975pub const VipsForeignPpmFormat_VIPS_FOREIGN_PPM_FORMAT_PPM: VipsForeignPpmFormat = 2;
67976pub const VipsForeignPpmFormat_VIPS_FOREIGN_PPM_FORMAT_PFM: VipsForeignPpmFormat = 3;
67977pub const VipsForeignPpmFormat_VIPS_FOREIGN_PPM_FORMAT_PNM: VipsForeignPpmFormat = 4;
67978pub const VipsForeignPpmFormat_VIPS_FOREIGN_PPM_FORMAT_LAST: VipsForeignPpmFormat = 5;
67979pub type VipsForeignPpmFormat = ::std::os::raw::c_uint;
67980extern "C" {
67981    pub fn vips_ppmload(
67982        filename: *const ::std::os::raw::c_char,
67983        out: *mut *mut VipsImage,
67984        ...
67985    ) -> ::std::os::raw::c_int;
67986}
67987extern "C" {
67988    pub fn vips_ppmload_source(
67989        source: *mut VipsSource,
67990        out: *mut *mut VipsImage,
67991        ...
67992    ) -> ::std::os::raw::c_int;
67993}
67994extern "C" {
67995    pub fn vips_ppmsave(
67996        in_: *mut VipsImage,
67997        filename: *const ::std::os::raw::c_char,
67998        ...
67999    ) -> ::std::os::raw::c_int;
68000}
68001extern "C" {
68002    pub fn vips_ppmsave_target(
68003        in_: *mut VipsImage,
68004        target: *mut VipsTarget,
68005        ...
68006    ) -> ::std::os::raw::c_int;
68007}
68008extern "C" {
68009    pub fn vips_matload(
68010        filename: *const ::std::os::raw::c_char,
68011        out: *mut *mut VipsImage,
68012        ...
68013    ) -> ::std::os::raw::c_int;
68014}
68015extern "C" {
68016    pub fn vips_radload_source(
68017        source: *mut VipsSource,
68018        out: *mut *mut VipsImage,
68019        ...
68020    ) -> ::std::os::raw::c_int;
68021}
68022extern "C" {
68023    pub fn vips_radload(
68024        filename: *const ::std::os::raw::c_char,
68025        out: *mut *mut VipsImage,
68026        ...
68027    ) -> ::std::os::raw::c_int;
68028}
68029extern "C" {
68030    pub fn vips_radload_buffer(
68031        buf: *mut ::std::os::raw::c_void,
68032        len: size_t,
68033        out: *mut *mut VipsImage,
68034        ...
68035    ) -> ::std::os::raw::c_int;
68036}
68037extern "C" {
68038    pub fn vips_radsave(
68039        in_: *mut VipsImage,
68040        filename: *const ::std::os::raw::c_char,
68041        ...
68042    ) -> ::std::os::raw::c_int;
68043}
68044extern "C" {
68045    pub fn vips_radsave_buffer(
68046        in_: *mut VipsImage,
68047        buf: *mut *mut ::std::os::raw::c_void,
68048        len: *mut size_t,
68049        ...
68050    ) -> ::std::os::raw::c_int;
68051}
68052extern "C" {
68053    pub fn vips_radsave_target(
68054        in_: *mut VipsImage,
68055        target: *mut VipsTarget,
68056        ...
68057    ) -> ::std::os::raw::c_int;
68058}
68059extern "C" {
68060    pub fn vips_pdfload(
68061        filename: *const ::std::os::raw::c_char,
68062        out: *mut *mut VipsImage,
68063        ...
68064    ) -> ::std::os::raw::c_int;
68065}
68066extern "C" {
68067    pub fn vips_pdfload_buffer(
68068        buf: *mut ::std::os::raw::c_void,
68069        len: size_t,
68070        out: *mut *mut VipsImage,
68071        ...
68072    ) -> ::std::os::raw::c_int;
68073}
68074extern "C" {
68075    pub fn vips_pdfload_source(
68076        source: *mut VipsSource,
68077        out: *mut *mut VipsImage,
68078        ...
68079    ) -> ::std::os::raw::c_int;
68080}
68081extern "C" {
68082    pub fn vips_svgload(
68083        filename: *const ::std::os::raw::c_char,
68084        out: *mut *mut VipsImage,
68085        ...
68086    ) -> ::std::os::raw::c_int;
68087}
68088extern "C" {
68089    pub fn vips_svgload_buffer(
68090        buf: *mut ::std::os::raw::c_void,
68091        len: size_t,
68092        out: *mut *mut VipsImage,
68093        ...
68094    ) -> ::std::os::raw::c_int;
68095}
68096extern "C" {
68097    pub fn vips_svgload_string(
68098        str_: *const ::std::os::raw::c_char,
68099        out: *mut *mut VipsImage,
68100        ...
68101    ) -> ::std::os::raw::c_int;
68102}
68103extern "C" {
68104    pub fn vips_svgload_source(
68105        source: *mut VipsSource,
68106        out: *mut *mut VipsImage,
68107        ...
68108    ) -> ::std::os::raw::c_int;
68109}
68110extern "C" {
68111    pub fn vips_gifload(
68112        filename: *const ::std::os::raw::c_char,
68113        out: *mut *mut VipsImage,
68114        ...
68115    ) -> ::std::os::raw::c_int;
68116}
68117extern "C" {
68118    pub fn vips_gifload_buffer(
68119        buf: *mut ::std::os::raw::c_void,
68120        len: size_t,
68121        out: *mut *mut VipsImage,
68122        ...
68123    ) -> ::std::os::raw::c_int;
68124}
68125extern "C" {
68126    pub fn vips_gifload_source(
68127        source: *mut VipsSource,
68128        out: *mut *mut VipsImage,
68129        ...
68130    ) -> ::std::os::raw::c_int;
68131}
68132extern "C" {
68133    pub fn vips_gifsave(
68134        in_: *mut VipsImage,
68135        filename: *const ::std::os::raw::c_char,
68136        ...
68137    ) -> ::std::os::raw::c_int;
68138}
68139extern "C" {
68140    pub fn vips_gifsave_buffer(
68141        in_: *mut VipsImage,
68142        buf: *mut *mut ::std::os::raw::c_void,
68143        len: *mut size_t,
68144        ...
68145    ) -> ::std::os::raw::c_int;
68146}
68147extern "C" {
68148    pub fn vips_gifsave_target(
68149        in_: *mut VipsImage,
68150        target: *mut VipsTarget,
68151        ...
68152    ) -> ::std::os::raw::c_int;
68153}
68154extern "C" {
68155    pub fn vips_heifload(
68156        filename: *const ::std::os::raw::c_char,
68157        out: *mut *mut VipsImage,
68158        ...
68159    ) -> ::std::os::raw::c_int;
68160}
68161extern "C" {
68162    pub fn vips_heifload_buffer(
68163        buf: *mut ::std::os::raw::c_void,
68164        len: size_t,
68165        out: *mut *mut VipsImage,
68166        ...
68167    ) -> ::std::os::raw::c_int;
68168}
68169extern "C" {
68170    pub fn vips_heifload_source(
68171        source: *mut VipsSource,
68172        out: *mut *mut VipsImage,
68173        ...
68174    ) -> ::std::os::raw::c_int;
68175}
68176extern "C" {
68177    pub fn vips_heifsave(
68178        in_: *mut VipsImage,
68179        filename: *const ::std::os::raw::c_char,
68180        ...
68181    ) -> ::std::os::raw::c_int;
68182}
68183extern "C" {
68184    pub fn vips_heifsave_buffer(
68185        in_: *mut VipsImage,
68186        buf: *mut *mut ::std::os::raw::c_void,
68187        len: *mut size_t,
68188        ...
68189    ) -> ::std::os::raw::c_int;
68190}
68191extern "C" {
68192    pub fn vips_heifsave_target(
68193        in_: *mut VipsImage,
68194        target: *mut VipsTarget,
68195        ...
68196    ) -> ::std::os::raw::c_int;
68197}
68198extern "C" {
68199    pub fn vips_niftiload(
68200        filename: *const ::std::os::raw::c_char,
68201        out: *mut *mut VipsImage,
68202        ...
68203    ) -> ::std::os::raw::c_int;
68204}
68205extern "C" {
68206    pub fn vips_niftiload_source(
68207        source: *mut VipsSource,
68208        out: *mut *mut VipsImage,
68209        ...
68210    ) -> ::std::os::raw::c_int;
68211}
68212extern "C" {
68213    pub fn vips_niftisave(
68214        in_: *mut VipsImage,
68215        filename: *const ::std::os::raw::c_char,
68216        ...
68217    ) -> ::std::os::raw::c_int;
68218}
68219extern "C" {
68220    pub fn vips_jp2kload(
68221        filename: *const ::std::os::raw::c_char,
68222        out: *mut *mut VipsImage,
68223        ...
68224    ) -> ::std::os::raw::c_int;
68225}
68226extern "C" {
68227    pub fn vips_jp2kload_buffer(
68228        buf: *mut ::std::os::raw::c_void,
68229        len: size_t,
68230        out: *mut *mut VipsImage,
68231        ...
68232    ) -> ::std::os::raw::c_int;
68233}
68234extern "C" {
68235    pub fn vips_jp2kload_source(
68236        source: *mut VipsSource,
68237        out: *mut *mut VipsImage,
68238        ...
68239    ) -> ::std::os::raw::c_int;
68240}
68241extern "C" {
68242    pub fn vips_jp2ksave(
68243        in_: *mut VipsImage,
68244        filename: *const ::std::os::raw::c_char,
68245        ...
68246    ) -> ::std::os::raw::c_int;
68247}
68248extern "C" {
68249    pub fn vips_jp2ksave_buffer(
68250        in_: *mut VipsImage,
68251        buf: *mut *mut ::std::os::raw::c_void,
68252        len: *mut size_t,
68253        ...
68254    ) -> ::std::os::raw::c_int;
68255}
68256extern "C" {
68257    pub fn vips_jp2ksave_target(
68258        in_: *mut VipsImage,
68259        target: *mut VipsTarget,
68260        ...
68261    ) -> ::std::os::raw::c_int;
68262}
68263extern "C" {
68264    pub fn vips_jxlload_source(
68265        source: *mut VipsSource,
68266        out: *mut *mut VipsImage,
68267        ...
68268    ) -> ::std::os::raw::c_int;
68269}
68270extern "C" {
68271    pub fn vips_jxlload_buffer(
68272        buf: *mut ::std::os::raw::c_void,
68273        len: size_t,
68274        out: *mut *mut VipsImage,
68275        ...
68276    ) -> ::std::os::raw::c_int;
68277}
68278extern "C" {
68279    pub fn vips_jxlload(
68280        filename: *const ::std::os::raw::c_char,
68281        out: *mut *mut VipsImage,
68282        ...
68283    ) -> ::std::os::raw::c_int;
68284}
68285extern "C" {
68286    pub fn vips_jxlsave(
68287        in_: *mut VipsImage,
68288        filename: *const ::std::os::raw::c_char,
68289        ...
68290    ) -> ::std::os::raw::c_int;
68291}
68292extern "C" {
68293    pub fn vips_jxlsave_buffer(
68294        in_: *mut VipsImage,
68295        buf: *mut *mut ::std::os::raw::c_void,
68296        len: *mut size_t,
68297        ...
68298    ) -> ::std::os::raw::c_int;
68299}
68300extern "C" {
68301    pub fn vips_jxlsave_target(
68302        in_: *mut VipsImage,
68303        target: *mut VipsTarget,
68304        ...
68305    ) -> ::std::os::raw::c_int;
68306}
68307pub const VipsForeignDzLayout_VIPS_FOREIGN_DZ_LAYOUT_DZ: VipsForeignDzLayout = 0;
68308pub const VipsForeignDzLayout_VIPS_FOREIGN_DZ_LAYOUT_ZOOMIFY: VipsForeignDzLayout = 1;
68309pub const VipsForeignDzLayout_VIPS_FOREIGN_DZ_LAYOUT_GOOGLE: VipsForeignDzLayout = 2;
68310pub const VipsForeignDzLayout_VIPS_FOREIGN_DZ_LAYOUT_IIIF: VipsForeignDzLayout = 3;
68311pub const VipsForeignDzLayout_VIPS_FOREIGN_DZ_LAYOUT_IIIF3: VipsForeignDzLayout = 4;
68312pub const VipsForeignDzLayout_VIPS_FOREIGN_DZ_LAYOUT_LAST: VipsForeignDzLayout = 5;
68313pub type VipsForeignDzLayout = ::std::os::raw::c_uint;
68314pub const VipsForeignDzDepth_VIPS_FOREIGN_DZ_DEPTH_ONEPIXEL: VipsForeignDzDepth = 0;
68315pub const VipsForeignDzDepth_VIPS_FOREIGN_DZ_DEPTH_ONETILE: VipsForeignDzDepth = 1;
68316pub const VipsForeignDzDepth_VIPS_FOREIGN_DZ_DEPTH_ONE: VipsForeignDzDepth = 2;
68317pub const VipsForeignDzDepth_VIPS_FOREIGN_DZ_DEPTH_LAST: VipsForeignDzDepth = 3;
68318pub type VipsForeignDzDepth = ::std::os::raw::c_uint;
68319pub const VipsForeignDzContainer_VIPS_FOREIGN_DZ_CONTAINER_FS: VipsForeignDzContainer = 0;
68320pub const VipsForeignDzContainer_VIPS_FOREIGN_DZ_CONTAINER_ZIP: VipsForeignDzContainer = 1;
68321pub const VipsForeignDzContainer_VIPS_FOREIGN_DZ_CONTAINER_SZI: VipsForeignDzContainer = 2;
68322pub const VipsForeignDzContainer_VIPS_FOREIGN_DZ_CONTAINER_LAST: VipsForeignDzContainer = 3;
68323pub type VipsForeignDzContainer = ::std::os::raw::c_uint;
68324extern "C" {
68325    pub fn vips_dzsave(
68326        in_: *mut VipsImage,
68327        name: *const ::std::os::raw::c_char,
68328        ...
68329    ) -> ::std::os::raw::c_int;
68330}
68331extern "C" {
68332    pub fn vips_dzsave_buffer(
68333        in_: *mut VipsImage,
68334        buf: *mut *mut ::std::os::raw::c_void,
68335        len: *mut size_t,
68336        ...
68337    ) -> ::std::os::raw::c_int;
68338}
68339extern "C" {
68340    pub fn vips_dzsave_target(
68341        in_: *mut VipsImage,
68342        target: *mut VipsTarget,
68343        ...
68344    ) -> ::std::os::raw::c_int;
68345}
68346pub const VipsForeignHeifCompression_VIPS_FOREIGN_HEIF_COMPRESSION_HEVC:
68347    VipsForeignHeifCompression = 1;
68348pub const VipsForeignHeifCompression_VIPS_FOREIGN_HEIF_COMPRESSION_AVC: VipsForeignHeifCompression =
68349    2;
68350pub const VipsForeignHeifCompression_VIPS_FOREIGN_HEIF_COMPRESSION_JPEG:
68351    VipsForeignHeifCompression = 3;
68352pub const VipsForeignHeifCompression_VIPS_FOREIGN_HEIF_COMPRESSION_AV1: VipsForeignHeifCompression =
68353    4;
68354pub const VipsForeignHeifCompression_VIPS_FOREIGN_HEIF_COMPRESSION_LAST:
68355    VipsForeignHeifCompression = 5;
68356pub type VipsForeignHeifCompression = ::std::os::raw::c_uint;
68357pub const VipsForeignHeifEncoder_VIPS_FOREIGN_HEIF_ENCODER_AUTO: VipsForeignHeifEncoder = 0;
68358pub const VipsForeignHeifEncoder_VIPS_FOREIGN_HEIF_ENCODER_AOM: VipsForeignHeifEncoder = 1;
68359pub const VipsForeignHeifEncoder_VIPS_FOREIGN_HEIF_ENCODER_RAV1E: VipsForeignHeifEncoder = 2;
68360pub const VipsForeignHeifEncoder_VIPS_FOREIGN_HEIF_ENCODER_SVT: VipsForeignHeifEncoder = 3;
68361pub const VipsForeignHeifEncoder_VIPS_FOREIGN_HEIF_ENCODER_X265: VipsForeignHeifEncoder = 4;
68362pub const VipsForeignHeifEncoder_VIPS_FOREIGN_HEIF_ENCODER_LAST: VipsForeignHeifEncoder = 5;
68363pub type VipsForeignHeifEncoder = ::std::os::raw::c_uint;
68364extern "C" {
68365    pub fn vips_operation_math_get_type() -> GType;
68366}
68367extern "C" {
68368    pub fn vips_operation_math2_get_type() -> GType;
68369}
68370extern "C" {
68371    pub fn vips_operation_round_get_type() -> GType;
68372}
68373extern "C" {
68374    pub fn vips_operation_relational_get_type() -> GType;
68375}
68376extern "C" {
68377    pub fn vips_operation_boolean_get_type() -> GType;
68378}
68379extern "C" {
68380    pub fn vips_operation_complex_get_type() -> GType;
68381}
68382extern "C" {
68383    pub fn vips_operation_complex2_get_type() -> GType;
68384}
68385extern "C" {
68386    pub fn vips_operation_complexget_get_type() -> GType;
68387}
68388extern "C" {
68389    pub fn vips_precision_get_type() -> GType;
68390}
68391extern "C" {
68392    pub fn vips_intent_get_type() -> GType;
68393}
68394extern "C" {
68395    pub fn vips_pcs_get_type() -> GType;
68396}
68397extern "C" {
68398    pub fn vips_extend_get_type() -> GType;
68399}
68400extern "C" {
68401    pub fn vips_compass_direction_get_type() -> GType;
68402}
68403extern "C" {
68404    pub fn vips_direction_get_type() -> GType;
68405}
68406extern "C" {
68407    pub fn vips_align_get_type() -> GType;
68408}
68409extern "C" {
68410    pub fn vips_angle_get_type() -> GType;
68411}
68412extern "C" {
68413    pub fn vips_angle45_get_type() -> GType;
68414}
68415extern "C" {
68416    pub fn vips_interesting_get_type() -> GType;
68417}
68418extern "C" {
68419    pub fn vips_blend_mode_get_type() -> GType;
68420}
68421extern "C" {
68422    pub fn vips_combine_get_type() -> GType;
68423}
68424extern "C" {
68425    pub fn vips_text_wrap_get_type() -> GType;
68426}
68427extern "C" {
68428    pub fn vips_combine_mode_get_type() -> GType;
68429}
68430extern "C" {
68431    pub fn vips_foreign_flags_get_type() -> GType;
68432}
68433extern "C" {
68434    pub fn vips_fail_on_get_type() -> GType;
68435}
68436extern "C" {
68437    pub fn vips_saveable_get_type() -> GType;
68438}
68439extern "C" {
68440    pub fn vips_foreign_keep_get_type() -> GType;
68441}
68442extern "C" {
68443    pub fn vips_foreign_subsample_get_type() -> GType;
68444}
68445extern "C" {
68446    pub fn vips_foreign_jpeg_subsample_get_type() -> GType;
68447}
68448extern "C" {
68449    pub fn vips_foreign_webp_preset_get_type() -> GType;
68450}
68451extern "C" {
68452    pub fn vips_foreign_tiff_compression_get_type() -> GType;
68453}
68454extern "C" {
68455    pub fn vips_foreign_tiff_predictor_get_type() -> GType;
68456}
68457extern "C" {
68458    pub fn vips_foreign_tiff_resunit_get_type() -> GType;
68459}
68460extern "C" {
68461    pub fn vips_foreign_png_filter_get_type() -> GType;
68462}
68463extern "C" {
68464    pub fn vips_foreign_ppm_format_get_type() -> GType;
68465}
68466extern "C" {
68467    pub fn vips_foreign_dz_layout_get_type() -> GType;
68468}
68469extern "C" {
68470    pub fn vips_foreign_dz_depth_get_type() -> GType;
68471}
68472extern "C" {
68473    pub fn vips_foreign_dz_container_get_type() -> GType;
68474}
68475extern "C" {
68476    pub fn vips_foreign_heif_compression_get_type() -> GType;
68477}
68478extern "C" {
68479    pub fn vips_foreign_heif_encoder_get_type() -> GType;
68480}
68481extern "C" {
68482    pub fn vips_demand_style_get_type() -> GType;
68483}
68484extern "C" {
68485    pub fn vips_image_type_get_type() -> GType;
68486}
68487extern "C" {
68488    pub fn vips_interpretation_get_type() -> GType;
68489}
68490extern "C" {
68491    pub fn vips_band_format_get_type() -> GType;
68492}
68493extern "C" {
68494    pub fn vips_coding_get_type() -> GType;
68495}
68496extern "C" {
68497    pub fn vips_access_get_type() -> GType;
68498}
68499extern "C" {
68500    pub fn vips_operation_morphology_get_type() -> GType;
68501}
68502extern "C" {
68503    pub fn vips_argument_flags_get_type() -> GType;
68504}
68505extern "C" {
68506    pub fn vips_operation_flags_get_type() -> GType;
68507}
68508extern "C" {
68509    pub fn vips_region_shrink_get_type() -> GType;
68510}
68511extern "C" {
68512    pub fn vips_kernel_get_type() -> GType;
68513}
68514extern "C" {
68515    pub fn vips_size_get_type() -> GType;
68516}
68517extern "C" {
68518    pub fn vips_token_get_type() -> GType;
68519}
68520pub const VipsOperationMath_VIPS_OPERATION_MATH_SIN: VipsOperationMath = 0;
68521pub const VipsOperationMath_VIPS_OPERATION_MATH_COS: VipsOperationMath = 1;
68522pub const VipsOperationMath_VIPS_OPERATION_MATH_TAN: VipsOperationMath = 2;
68523pub const VipsOperationMath_VIPS_OPERATION_MATH_ASIN: VipsOperationMath = 3;
68524pub const VipsOperationMath_VIPS_OPERATION_MATH_ACOS: VipsOperationMath = 4;
68525pub const VipsOperationMath_VIPS_OPERATION_MATH_ATAN: VipsOperationMath = 5;
68526pub const VipsOperationMath_VIPS_OPERATION_MATH_LOG: VipsOperationMath = 6;
68527pub const VipsOperationMath_VIPS_OPERATION_MATH_LOG10: VipsOperationMath = 7;
68528pub const VipsOperationMath_VIPS_OPERATION_MATH_EXP: VipsOperationMath = 8;
68529pub const VipsOperationMath_VIPS_OPERATION_MATH_EXP10: VipsOperationMath = 9;
68530pub const VipsOperationMath_VIPS_OPERATION_MATH_SINH: VipsOperationMath = 10;
68531pub const VipsOperationMath_VIPS_OPERATION_MATH_COSH: VipsOperationMath = 11;
68532pub const VipsOperationMath_VIPS_OPERATION_MATH_TANH: VipsOperationMath = 12;
68533pub const VipsOperationMath_VIPS_OPERATION_MATH_ASINH: VipsOperationMath = 13;
68534pub const VipsOperationMath_VIPS_OPERATION_MATH_ACOSH: VipsOperationMath = 14;
68535pub const VipsOperationMath_VIPS_OPERATION_MATH_ATANH: VipsOperationMath = 15;
68536pub const VipsOperationMath_VIPS_OPERATION_MATH_LAST: VipsOperationMath = 16;
68537pub type VipsOperationMath = ::std::os::raw::c_uint;
68538pub const VipsOperationMath2_VIPS_OPERATION_MATH2_POW: VipsOperationMath2 = 0;
68539pub const VipsOperationMath2_VIPS_OPERATION_MATH2_WOP: VipsOperationMath2 = 1;
68540pub const VipsOperationMath2_VIPS_OPERATION_MATH2_ATAN2: VipsOperationMath2 = 2;
68541pub const VipsOperationMath2_VIPS_OPERATION_MATH2_LAST: VipsOperationMath2 = 3;
68542pub type VipsOperationMath2 = ::std::os::raw::c_uint;
68543pub const VipsOperationRound_VIPS_OPERATION_ROUND_RINT: VipsOperationRound = 0;
68544pub const VipsOperationRound_VIPS_OPERATION_ROUND_CEIL: VipsOperationRound = 1;
68545pub const VipsOperationRound_VIPS_OPERATION_ROUND_FLOOR: VipsOperationRound = 2;
68546pub const VipsOperationRound_VIPS_OPERATION_ROUND_LAST: VipsOperationRound = 3;
68547pub type VipsOperationRound = ::std::os::raw::c_uint;
68548pub const VipsOperationRelational_VIPS_OPERATION_RELATIONAL_EQUAL: VipsOperationRelational = 0;
68549pub const VipsOperationRelational_VIPS_OPERATION_RELATIONAL_NOTEQ: VipsOperationRelational = 1;
68550pub const VipsOperationRelational_VIPS_OPERATION_RELATIONAL_LESS: VipsOperationRelational = 2;
68551pub const VipsOperationRelational_VIPS_OPERATION_RELATIONAL_LESSEQ: VipsOperationRelational = 3;
68552pub const VipsOperationRelational_VIPS_OPERATION_RELATIONAL_MORE: VipsOperationRelational = 4;
68553pub const VipsOperationRelational_VIPS_OPERATION_RELATIONAL_MOREEQ: VipsOperationRelational = 5;
68554pub const VipsOperationRelational_VIPS_OPERATION_RELATIONAL_LAST: VipsOperationRelational = 6;
68555pub type VipsOperationRelational = ::std::os::raw::c_uint;
68556pub const VipsOperationBoolean_VIPS_OPERATION_BOOLEAN_AND: VipsOperationBoolean = 0;
68557pub const VipsOperationBoolean_VIPS_OPERATION_BOOLEAN_OR: VipsOperationBoolean = 1;
68558pub const VipsOperationBoolean_VIPS_OPERATION_BOOLEAN_EOR: VipsOperationBoolean = 2;
68559pub const VipsOperationBoolean_VIPS_OPERATION_BOOLEAN_LSHIFT: VipsOperationBoolean = 3;
68560pub const VipsOperationBoolean_VIPS_OPERATION_BOOLEAN_RSHIFT: VipsOperationBoolean = 4;
68561pub const VipsOperationBoolean_VIPS_OPERATION_BOOLEAN_LAST: VipsOperationBoolean = 5;
68562pub type VipsOperationBoolean = ::std::os::raw::c_uint;
68563pub const VipsOperationComplex_VIPS_OPERATION_COMPLEX_POLAR: VipsOperationComplex = 0;
68564pub const VipsOperationComplex_VIPS_OPERATION_COMPLEX_RECT: VipsOperationComplex = 1;
68565pub const VipsOperationComplex_VIPS_OPERATION_COMPLEX_CONJ: VipsOperationComplex = 2;
68566pub const VipsOperationComplex_VIPS_OPERATION_COMPLEX_LAST: VipsOperationComplex = 3;
68567pub type VipsOperationComplex = ::std::os::raw::c_uint;
68568pub const VipsOperationComplex2_VIPS_OPERATION_COMPLEX2_CROSS_PHASE: VipsOperationComplex2 = 0;
68569pub const VipsOperationComplex2_VIPS_OPERATION_COMPLEX2_LAST: VipsOperationComplex2 = 1;
68570pub type VipsOperationComplex2 = ::std::os::raw::c_uint;
68571pub const VipsOperationComplexget_VIPS_OPERATION_COMPLEXGET_REAL: VipsOperationComplexget = 0;
68572pub const VipsOperationComplexget_VIPS_OPERATION_COMPLEXGET_IMAG: VipsOperationComplexget = 1;
68573pub const VipsOperationComplexget_VIPS_OPERATION_COMPLEXGET_LAST: VipsOperationComplexget = 2;
68574pub type VipsOperationComplexget = ::std::os::raw::c_uint;
68575extern "C" {
68576    pub fn vips_add(
68577        left: *mut VipsImage,
68578        right: *mut VipsImage,
68579        out: *mut *mut VipsImage,
68580        ...
68581    ) -> ::std::os::raw::c_int;
68582}
68583extern "C" {
68584    pub fn vips_sum(
68585        in_: *mut *mut VipsImage,
68586        out: *mut *mut VipsImage,
68587        n: ::std::os::raw::c_int,
68588        ...
68589    ) -> ::std::os::raw::c_int;
68590}
68591extern "C" {
68592    pub fn vips_subtract(
68593        in1: *mut VipsImage,
68594        in2: *mut VipsImage,
68595        out: *mut *mut VipsImage,
68596        ...
68597    ) -> ::std::os::raw::c_int;
68598}
68599extern "C" {
68600    pub fn vips_multiply(
68601        left: *mut VipsImage,
68602        right: *mut VipsImage,
68603        out: *mut *mut VipsImage,
68604        ...
68605    ) -> ::std::os::raw::c_int;
68606}
68607extern "C" {
68608    pub fn vips_divide(
68609        left: *mut VipsImage,
68610        right: *mut VipsImage,
68611        out: *mut *mut VipsImage,
68612        ...
68613    ) -> ::std::os::raw::c_int;
68614}
68615extern "C" {
68616    pub fn vips_linear(
68617        in_: *mut VipsImage,
68618        out: *mut *mut VipsImage,
68619        a: *const f64,
68620        b: *const f64,
68621        n: ::std::os::raw::c_int,
68622        ...
68623    ) -> ::std::os::raw::c_int;
68624}
68625extern "C" {
68626    pub fn vips_linear1(
68627        in_: *mut VipsImage,
68628        out: *mut *mut VipsImage,
68629        a: f64,
68630        b: f64,
68631        ...
68632    ) -> ::std::os::raw::c_int;
68633}
68634extern "C" {
68635    pub fn vips_remainder(
68636        left: *mut VipsImage,
68637        right: *mut VipsImage,
68638        out: *mut *mut VipsImage,
68639        ...
68640    ) -> ::std::os::raw::c_int;
68641}
68642extern "C" {
68643    pub fn vips_remainder_const(
68644        in_: *mut VipsImage,
68645        out: *mut *mut VipsImage,
68646        c: *const f64,
68647        n: ::std::os::raw::c_int,
68648        ...
68649    ) -> ::std::os::raw::c_int;
68650}
68651extern "C" {
68652    pub fn vips_remainder_const1(
68653        in_: *mut VipsImage,
68654        out: *mut *mut VipsImage,
68655        c: f64,
68656        ...
68657    ) -> ::std::os::raw::c_int;
68658}
68659extern "C" {
68660    pub fn vips_invert(in_: *mut VipsImage, out: *mut *mut VipsImage, ...)
68661        -> ::std::os::raw::c_int;
68662}
68663extern "C" {
68664    pub fn vips_abs(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68665}
68666extern "C" {
68667    pub fn vips_sign(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68668}
68669extern "C" {
68670    pub fn vips_round(
68671        in_: *mut VipsImage,
68672        out: *mut *mut VipsImage,
68673        round: VipsOperationRound,
68674        ...
68675    ) -> ::std::os::raw::c_int;
68676}
68677extern "C" {
68678    pub fn vips_floor(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68679}
68680extern "C" {
68681    pub fn vips_ceil(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68682}
68683extern "C" {
68684    pub fn vips_rint(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68685}
68686extern "C" {
68687    pub fn vips_math(
68688        in_: *mut VipsImage,
68689        out: *mut *mut VipsImage,
68690        math: VipsOperationMath,
68691        ...
68692    ) -> ::std::os::raw::c_int;
68693}
68694extern "C" {
68695    pub fn vips_sin(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68696}
68697extern "C" {
68698    pub fn vips_cos(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68699}
68700extern "C" {
68701    pub fn vips_tan(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68702}
68703extern "C" {
68704    pub fn vips_asin(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68705}
68706extern "C" {
68707    pub fn vips_acos(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68708}
68709extern "C" {
68710    pub fn vips_atan(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68711}
68712extern "C" {
68713    pub fn vips_exp(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68714}
68715extern "C" {
68716    pub fn vips_exp10(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68717}
68718extern "C" {
68719    pub fn vips_log(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68720}
68721extern "C" {
68722    pub fn vips_log10(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68723}
68724extern "C" {
68725    pub fn vips_sinh(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68726}
68727extern "C" {
68728    pub fn vips_cosh(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68729}
68730extern "C" {
68731    pub fn vips_tanh(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68732}
68733extern "C" {
68734    pub fn vips_asinh(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68735}
68736extern "C" {
68737    pub fn vips_acosh(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68738}
68739extern "C" {
68740    pub fn vips_atanh(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68741}
68742extern "C" {
68743    pub fn vips_complex(
68744        in_: *mut VipsImage,
68745        out: *mut *mut VipsImage,
68746        cmplx: VipsOperationComplex,
68747        ...
68748    ) -> ::std::os::raw::c_int;
68749}
68750extern "C" {
68751    pub fn vips_polar(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68752}
68753extern "C" {
68754    pub fn vips_rect(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68755}
68756extern "C" {
68757    pub fn vips_conj(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68758}
68759extern "C" {
68760    pub fn vips_complex2(
68761        left: *mut VipsImage,
68762        right: *mut VipsImage,
68763        out: *mut *mut VipsImage,
68764        cmplx: VipsOperationComplex2,
68765        ...
68766    ) -> ::std::os::raw::c_int;
68767}
68768extern "C" {
68769    pub fn vips_cross_phase(
68770        left: *mut VipsImage,
68771        right: *mut VipsImage,
68772        out: *mut *mut VipsImage,
68773        ...
68774    ) -> ::std::os::raw::c_int;
68775}
68776extern "C" {
68777    pub fn vips_complexget(
68778        in_: *mut VipsImage,
68779        out: *mut *mut VipsImage,
68780        get: VipsOperationComplexget,
68781        ...
68782    ) -> ::std::os::raw::c_int;
68783}
68784extern "C" {
68785    pub fn vips_real(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68786}
68787extern "C" {
68788    pub fn vips_imag(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
68789}
68790extern "C" {
68791    pub fn vips_complexform(
68792        left: *mut VipsImage,
68793        right: *mut VipsImage,
68794        out: *mut *mut VipsImage,
68795        ...
68796    ) -> ::std::os::raw::c_int;
68797}
68798extern "C" {
68799    pub fn vips_relational(
68800        left: *mut VipsImage,
68801        right: *mut VipsImage,
68802        out: *mut *mut VipsImage,
68803        relational: VipsOperationRelational,
68804        ...
68805    ) -> ::std::os::raw::c_int;
68806}
68807extern "C" {
68808    pub fn vips_equal(
68809        left: *mut VipsImage,
68810        right: *mut VipsImage,
68811        out: *mut *mut VipsImage,
68812        ...
68813    ) -> ::std::os::raw::c_int;
68814}
68815extern "C" {
68816    pub fn vips_notequal(
68817        left: *mut VipsImage,
68818        right: *mut VipsImage,
68819        out: *mut *mut VipsImage,
68820        ...
68821    ) -> ::std::os::raw::c_int;
68822}
68823extern "C" {
68824    pub fn vips_less(
68825        left: *mut VipsImage,
68826        right: *mut VipsImage,
68827        out: *mut *mut VipsImage,
68828        ...
68829    ) -> ::std::os::raw::c_int;
68830}
68831extern "C" {
68832    pub fn vips_lesseq(
68833        left: *mut VipsImage,
68834        right: *mut VipsImage,
68835        out: *mut *mut VipsImage,
68836        ...
68837    ) -> ::std::os::raw::c_int;
68838}
68839extern "C" {
68840    pub fn vips_more(
68841        left: *mut VipsImage,
68842        right: *mut VipsImage,
68843        out: *mut *mut VipsImage,
68844        ...
68845    ) -> ::std::os::raw::c_int;
68846}
68847extern "C" {
68848    pub fn vips_moreeq(
68849        left: *mut VipsImage,
68850        right: *mut VipsImage,
68851        out: *mut *mut VipsImage,
68852        ...
68853    ) -> ::std::os::raw::c_int;
68854}
68855extern "C" {
68856    pub fn vips_relational_const(
68857        in_: *mut VipsImage,
68858        out: *mut *mut VipsImage,
68859        relational: VipsOperationRelational,
68860        c: *const f64,
68861        n: ::std::os::raw::c_int,
68862        ...
68863    ) -> ::std::os::raw::c_int;
68864}
68865extern "C" {
68866    pub fn vips_equal_const(
68867        in_: *mut VipsImage,
68868        out: *mut *mut VipsImage,
68869        c: *const f64,
68870        n: ::std::os::raw::c_int,
68871        ...
68872    ) -> ::std::os::raw::c_int;
68873}
68874extern "C" {
68875    pub fn vips_notequal_const(
68876        in_: *mut VipsImage,
68877        out: *mut *mut VipsImage,
68878        c: *const f64,
68879        n: ::std::os::raw::c_int,
68880        ...
68881    ) -> ::std::os::raw::c_int;
68882}
68883extern "C" {
68884    pub fn vips_less_const(
68885        in_: *mut VipsImage,
68886        out: *mut *mut VipsImage,
68887        c: *const f64,
68888        n: ::std::os::raw::c_int,
68889        ...
68890    ) -> ::std::os::raw::c_int;
68891}
68892extern "C" {
68893    pub fn vips_lesseq_const(
68894        in_: *mut VipsImage,
68895        out: *mut *mut VipsImage,
68896        c: *const f64,
68897        n: ::std::os::raw::c_int,
68898        ...
68899    ) -> ::std::os::raw::c_int;
68900}
68901extern "C" {
68902    pub fn vips_more_const(
68903        in_: *mut VipsImage,
68904        out: *mut *mut VipsImage,
68905        c: *const f64,
68906        n: ::std::os::raw::c_int,
68907        ...
68908    ) -> ::std::os::raw::c_int;
68909}
68910extern "C" {
68911    pub fn vips_moreeq_const(
68912        in_: *mut VipsImage,
68913        out: *mut *mut VipsImage,
68914        c: *const f64,
68915        n: ::std::os::raw::c_int,
68916        ...
68917    ) -> ::std::os::raw::c_int;
68918}
68919extern "C" {
68920    pub fn vips_relational_const1(
68921        in_: *mut VipsImage,
68922        out: *mut *mut VipsImage,
68923        relational: VipsOperationRelational,
68924        c: f64,
68925        ...
68926    ) -> ::std::os::raw::c_int;
68927}
68928extern "C" {
68929    pub fn vips_equal_const1(
68930        in_: *mut VipsImage,
68931        out: *mut *mut VipsImage,
68932        c: f64,
68933        ...
68934    ) -> ::std::os::raw::c_int;
68935}
68936extern "C" {
68937    pub fn vips_notequal_const1(
68938        in_: *mut VipsImage,
68939        out: *mut *mut VipsImage,
68940        c: f64,
68941        ...
68942    ) -> ::std::os::raw::c_int;
68943}
68944extern "C" {
68945    pub fn vips_less_const1(
68946        in_: *mut VipsImage,
68947        out: *mut *mut VipsImage,
68948        c: f64,
68949        ...
68950    ) -> ::std::os::raw::c_int;
68951}
68952extern "C" {
68953    pub fn vips_lesseq_const1(
68954        in_: *mut VipsImage,
68955        out: *mut *mut VipsImage,
68956        c: f64,
68957        ...
68958    ) -> ::std::os::raw::c_int;
68959}
68960extern "C" {
68961    pub fn vips_more_const1(
68962        in_: *mut VipsImage,
68963        out: *mut *mut VipsImage,
68964        c: f64,
68965        ...
68966    ) -> ::std::os::raw::c_int;
68967}
68968extern "C" {
68969    pub fn vips_moreeq_const1(
68970        in_: *mut VipsImage,
68971        out: *mut *mut VipsImage,
68972        c: f64,
68973        ...
68974    ) -> ::std::os::raw::c_int;
68975}
68976extern "C" {
68977    pub fn vips_boolean(
68978        left: *mut VipsImage,
68979        right: *mut VipsImage,
68980        out: *mut *mut VipsImage,
68981        boolean: VipsOperationBoolean,
68982        ...
68983    ) -> ::std::os::raw::c_int;
68984}
68985extern "C" {
68986    pub fn vips_andimage(
68987        left: *mut VipsImage,
68988        right: *mut VipsImage,
68989        out: *mut *mut VipsImage,
68990        ...
68991    ) -> ::std::os::raw::c_int;
68992}
68993extern "C" {
68994    pub fn vips_orimage(
68995        left: *mut VipsImage,
68996        right: *mut VipsImage,
68997        out: *mut *mut VipsImage,
68998        ...
68999    ) -> ::std::os::raw::c_int;
69000}
69001extern "C" {
69002    pub fn vips_eorimage(
69003        left: *mut VipsImage,
69004        right: *mut VipsImage,
69005        out: *mut *mut VipsImage,
69006        ...
69007    ) -> ::std::os::raw::c_int;
69008}
69009extern "C" {
69010    pub fn vips_lshift(
69011        left: *mut VipsImage,
69012        right: *mut VipsImage,
69013        out: *mut *mut VipsImage,
69014        ...
69015    ) -> ::std::os::raw::c_int;
69016}
69017extern "C" {
69018    pub fn vips_rshift(
69019        left: *mut VipsImage,
69020        right: *mut VipsImage,
69021        out: *mut *mut VipsImage,
69022        ...
69023    ) -> ::std::os::raw::c_int;
69024}
69025extern "C" {
69026    pub fn vips_boolean_const(
69027        in_: *mut VipsImage,
69028        out: *mut *mut VipsImage,
69029        boolean: VipsOperationBoolean,
69030        c: *const f64,
69031        n: ::std::os::raw::c_int,
69032        ...
69033    ) -> ::std::os::raw::c_int;
69034}
69035extern "C" {
69036    pub fn vips_andimage_const(
69037        in_: *mut VipsImage,
69038        out: *mut *mut VipsImage,
69039        c: *const f64,
69040        n: ::std::os::raw::c_int,
69041        ...
69042    ) -> ::std::os::raw::c_int;
69043}
69044extern "C" {
69045    pub fn vips_orimage_const(
69046        in_: *mut VipsImage,
69047        out: *mut *mut VipsImage,
69048        c: *const f64,
69049        n: ::std::os::raw::c_int,
69050        ...
69051    ) -> ::std::os::raw::c_int;
69052}
69053extern "C" {
69054    pub fn vips_eorimage_const(
69055        in_: *mut VipsImage,
69056        out: *mut *mut VipsImage,
69057        c: *const f64,
69058        n: ::std::os::raw::c_int,
69059        ...
69060    ) -> ::std::os::raw::c_int;
69061}
69062extern "C" {
69063    pub fn vips_lshift_const(
69064        in_: *mut VipsImage,
69065        out: *mut *mut VipsImage,
69066        c: *const f64,
69067        n: ::std::os::raw::c_int,
69068        ...
69069    ) -> ::std::os::raw::c_int;
69070}
69071extern "C" {
69072    pub fn vips_rshift_const(
69073        in_: *mut VipsImage,
69074        out: *mut *mut VipsImage,
69075        c: *const f64,
69076        n: ::std::os::raw::c_int,
69077        ...
69078    ) -> ::std::os::raw::c_int;
69079}
69080extern "C" {
69081    pub fn vips_boolean_const1(
69082        in_: *mut VipsImage,
69083        out: *mut *mut VipsImage,
69084        boolean: VipsOperationBoolean,
69085        c: f64,
69086        ...
69087    ) -> ::std::os::raw::c_int;
69088}
69089extern "C" {
69090    pub fn vips_andimage_const1(
69091        in_: *mut VipsImage,
69092        out: *mut *mut VipsImage,
69093        c: f64,
69094        ...
69095    ) -> ::std::os::raw::c_int;
69096}
69097extern "C" {
69098    pub fn vips_orimage_const1(
69099        in_: *mut VipsImage,
69100        out: *mut *mut VipsImage,
69101        c: f64,
69102        ...
69103    ) -> ::std::os::raw::c_int;
69104}
69105extern "C" {
69106    pub fn vips_eorimage_const1(
69107        in_: *mut VipsImage,
69108        out: *mut *mut VipsImage,
69109        c: f64,
69110        ...
69111    ) -> ::std::os::raw::c_int;
69112}
69113extern "C" {
69114    pub fn vips_lshift_const1(
69115        in_: *mut VipsImage,
69116        out: *mut *mut VipsImage,
69117        c: f64,
69118        ...
69119    ) -> ::std::os::raw::c_int;
69120}
69121extern "C" {
69122    pub fn vips_rshift_const1(
69123        in_: *mut VipsImage,
69124        out: *mut *mut VipsImage,
69125        c: f64,
69126        ...
69127    ) -> ::std::os::raw::c_int;
69128}
69129extern "C" {
69130    pub fn vips_math2(
69131        left: *mut VipsImage,
69132        right: *mut VipsImage,
69133        out: *mut *mut VipsImage,
69134        math2: VipsOperationMath2,
69135        ...
69136    ) -> ::std::os::raw::c_int;
69137}
69138extern "C" {
69139    pub fn vips_pow(
69140        left: *mut VipsImage,
69141        right: *mut VipsImage,
69142        out: *mut *mut VipsImage,
69143        ...
69144    ) -> ::std::os::raw::c_int;
69145}
69146extern "C" {
69147    pub fn vips_wop(
69148        left: *mut VipsImage,
69149        right: *mut VipsImage,
69150        out: *mut *mut VipsImage,
69151        ...
69152    ) -> ::std::os::raw::c_int;
69153}
69154extern "C" {
69155    pub fn vips_atan2(
69156        left: *mut VipsImage,
69157        right: *mut VipsImage,
69158        out: *mut *mut VipsImage,
69159        ...
69160    ) -> ::std::os::raw::c_int;
69161}
69162extern "C" {
69163    pub fn vips_math2_const(
69164        in_: *mut VipsImage,
69165        out: *mut *mut VipsImage,
69166        math2: VipsOperationMath2,
69167        c: *const f64,
69168        n: ::std::os::raw::c_int,
69169        ...
69170    ) -> ::std::os::raw::c_int;
69171}
69172extern "C" {
69173    pub fn vips_pow_const(
69174        in_: *mut VipsImage,
69175        out: *mut *mut VipsImage,
69176        c: *const f64,
69177        n: ::std::os::raw::c_int,
69178        ...
69179    ) -> ::std::os::raw::c_int;
69180}
69181extern "C" {
69182    pub fn vips_wop_const(
69183        in_: *mut VipsImage,
69184        out: *mut *mut VipsImage,
69185        c: *const f64,
69186        n: ::std::os::raw::c_int,
69187        ...
69188    ) -> ::std::os::raw::c_int;
69189}
69190extern "C" {
69191    pub fn vips_atan2_const(
69192        in_: *mut VipsImage,
69193        out: *mut *mut VipsImage,
69194        c: *const f64,
69195        n: ::std::os::raw::c_int,
69196        ...
69197    ) -> ::std::os::raw::c_int;
69198}
69199extern "C" {
69200    pub fn vips_math2_const1(
69201        in_: *mut VipsImage,
69202        out: *mut *mut VipsImage,
69203        math2: VipsOperationMath2,
69204        c: f64,
69205        ...
69206    ) -> ::std::os::raw::c_int;
69207}
69208extern "C" {
69209    pub fn vips_pow_const1(
69210        in_: *mut VipsImage,
69211        out: *mut *mut VipsImage,
69212        c: f64,
69213        ...
69214    ) -> ::std::os::raw::c_int;
69215}
69216extern "C" {
69217    pub fn vips_wop_const1(
69218        in_: *mut VipsImage,
69219        out: *mut *mut VipsImage,
69220        c: f64,
69221        ...
69222    ) -> ::std::os::raw::c_int;
69223}
69224extern "C" {
69225    pub fn vips_atan2_const1(
69226        in_: *mut VipsImage,
69227        out: *mut *mut VipsImage,
69228        c: f64,
69229        ...
69230    ) -> ::std::os::raw::c_int;
69231}
69232extern "C" {
69233    pub fn vips_avg(in_: *mut VipsImage, out: *mut f64, ...) -> ::std::os::raw::c_int;
69234}
69235extern "C" {
69236    pub fn vips_deviate(in_: *mut VipsImage, out: *mut f64, ...) -> ::std::os::raw::c_int;
69237}
69238extern "C" {
69239    pub fn vips_min(in_: *mut VipsImage, out: *mut f64, ...) -> ::std::os::raw::c_int;
69240}
69241extern "C" {
69242    pub fn vips_max(in_: *mut VipsImage, out: *mut f64, ...) -> ::std::os::raw::c_int;
69243}
69244extern "C" {
69245    pub fn vips_stats(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
69246}
69247extern "C" {
69248    pub fn vips_measure(
69249        in_: *mut VipsImage,
69250        out: *mut *mut VipsImage,
69251        h: ::std::os::raw::c_int,
69252        v: ::std::os::raw::c_int,
69253        ...
69254    ) -> ::std::os::raw::c_int;
69255}
69256extern "C" {
69257    pub fn vips_find_trim(
69258        in_: *mut VipsImage,
69259        left: *mut ::std::os::raw::c_int,
69260        top: *mut ::std::os::raw::c_int,
69261        width: *mut ::std::os::raw::c_int,
69262        height: *mut ::std::os::raw::c_int,
69263        ...
69264    ) -> ::std::os::raw::c_int;
69265}
69266extern "C" {
69267    pub fn vips_getpoint(
69268        in_: *mut VipsImage,
69269        vector: *mut *mut f64,
69270        n: *mut ::std::os::raw::c_int,
69271        x: ::std::os::raw::c_int,
69272        y: ::std::os::raw::c_int,
69273        ...
69274    ) -> ::std::os::raw::c_int;
69275}
69276extern "C" {
69277    pub fn vips_hist_find(
69278        in_: *mut VipsImage,
69279        out: *mut *mut VipsImage,
69280        ...
69281    ) -> ::std::os::raw::c_int;
69282}
69283extern "C" {
69284    pub fn vips_hist_find_ndim(
69285        in_: *mut VipsImage,
69286        out: *mut *mut VipsImage,
69287        ...
69288    ) -> ::std::os::raw::c_int;
69289}
69290extern "C" {
69291    pub fn vips_hist_find_indexed(
69292        in_: *mut VipsImage,
69293        index: *mut VipsImage,
69294        out: *mut *mut VipsImage,
69295        ...
69296    ) -> ::std::os::raw::c_int;
69297}
69298extern "C" {
69299    pub fn vips_hough_line(
69300        in_: *mut VipsImage,
69301        out: *mut *mut VipsImage,
69302        ...
69303    ) -> ::std::os::raw::c_int;
69304}
69305extern "C" {
69306    pub fn vips_hough_circle(
69307        in_: *mut VipsImage,
69308        out: *mut *mut VipsImage,
69309        ...
69310    ) -> ::std::os::raw::c_int;
69311}
69312extern "C" {
69313    pub fn vips_project(
69314        in_: *mut VipsImage,
69315        columns: *mut *mut VipsImage,
69316        rows: *mut *mut VipsImage,
69317        ...
69318    ) -> ::std::os::raw::c_int;
69319}
69320extern "C" {
69321    pub fn vips_profile(
69322        in_: *mut VipsImage,
69323        columns: *mut *mut VipsImage,
69324        rows: *mut *mut VipsImage,
69325        ...
69326    ) -> ::std::os::raw::c_int;
69327}
69328pub const VipsExtend_VIPS_EXTEND_BLACK: VipsExtend = 0;
69329pub const VipsExtend_VIPS_EXTEND_COPY: VipsExtend = 1;
69330pub const VipsExtend_VIPS_EXTEND_REPEAT: VipsExtend = 2;
69331pub const VipsExtend_VIPS_EXTEND_MIRROR: VipsExtend = 3;
69332pub const VipsExtend_VIPS_EXTEND_WHITE: VipsExtend = 4;
69333pub const VipsExtend_VIPS_EXTEND_BACKGROUND: VipsExtend = 5;
69334pub const VipsExtend_VIPS_EXTEND_LAST: VipsExtend = 6;
69335pub type VipsExtend = ::std::os::raw::c_uint;
69336pub const VipsCompassDirection_VIPS_COMPASS_DIRECTION_CENTRE: VipsCompassDirection = 0;
69337pub const VipsCompassDirection_VIPS_COMPASS_DIRECTION_NORTH: VipsCompassDirection = 1;
69338pub const VipsCompassDirection_VIPS_COMPASS_DIRECTION_EAST: VipsCompassDirection = 2;
69339pub const VipsCompassDirection_VIPS_COMPASS_DIRECTION_SOUTH: VipsCompassDirection = 3;
69340pub const VipsCompassDirection_VIPS_COMPASS_DIRECTION_WEST: VipsCompassDirection = 4;
69341pub const VipsCompassDirection_VIPS_COMPASS_DIRECTION_NORTH_EAST: VipsCompassDirection = 5;
69342pub const VipsCompassDirection_VIPS_COMPASS_DIRECTION_SOUTH_EAST: VipsCompassDirection = 6;
69343pub const VipsCompassDirection_VIPS_COMPASS_DIRECTION_SOUTH_WEST: VipsCompassDirection = 7;
69344pub const VipsCompassDirection_VIPS_COMPASS_DIRECTION_NORTH_WEST: VipsCompassDirection = 8;
69345pub const VipsCompassDirection_VIPS_COMPASS_DIRECTION_LAST: VipsCompassDirection = 9;
69346pub type VipsCompassDirection = ::std::os::raw::c_uint;
69347pub const VipsDirection_VIPS_DIRECTION_HORIZONTAL: VipsDirection = 0;
69348pub const VipsDirection_VIPS_DIRECTION_VERTICAL: VipsDirection = 1;
69349pub const VipsDirection_VIPS_DIRECTION_LAST: VipsDirection = 2;
69350pub type VipsDirection = ::std::os::raw::c_uint;
69351pub const VipsAlign_VIPS_ALIGN_LOW: VipsAlign = 0;
69352pub const VipsAlign_VIPS_ALIGN_CENTRE: VipsAlign = 1;
69353pub const VipsAlign_VIPS_ALIGN_HIGH: VipsAlign = 2;
69354pub const VipsAlign_VIPS_ALIGN_LAST: VipsAlign = 3;
69355pub type VipsAlign = ::std::os::raw::c_uint;
69356pub const VipsAngle_VIPS_ANGLE_D0: VipsAngle = 0;
69357pub const VipsAngle_VIPS_ANGLE_D90: VipsAngle = 1;
69358pub const VipsAngle_VIPS_ANGLE_D180: VipsAngle = 2;
69359pub const VipsAngle_VIPS_ANGLE_D270: VipsAngle = 3;
69360pub const VipsAngle_VIPS_ANGLE_LAST: VipsAngle = 4;
69361pub type VipsAngle = ::std::os::raw::c_uint;
69362pub const VipsAngle45_VIPS_ANGLE45_D0: VipsAngle45 = 0;
69363pub const VipsAngle45_VIPS_ANGLE45_D45: VipsAngle45 = 1;
69364pub const VipsAngle45_VIPS_ANGLE45_D90: VipsAngle45 = 2;
69365pub const VipsAngle45_VIPS_ANGLE45_D135: VipsAngle45 = 3;
69366pub const VipsAngle45_VIPS_ANGLE45_D180: VipsAngle45 = 4;
69367pub const VipsAngle45_VIPS_ANGLE45_D225: VipsAngle45 = 5;
69368pub const VipsAngle45_VIPS_ANGLE45_D270: VipsAngle45 = 6;
69369pub const VipsAngle45_VIPS_ANGLE45_D315: VipsAngle45 = 7;
69370pub const VipsAngle45_VIPS_ANGLE45_LAST: VipsAngle45 = 8;
69371pub type VipsAngle45 = ::std::os::raw::c_uint;
69372pub const VipsInteresting_VIPS_INTERESTING_NONE: VipsInteresting = 0;
69373pub const VipsInteresting_VIPS_INTERESTING_CENTRE: VipsInteresting = 1;
69374pub const VipsInteresting_VIPS_INTERESTING_ENTROPY: VipsInteresting = 2;
69375pub const VipsInteresting_VIPS_INTERESTING_ATTENTION: VipsInteresting = 3;
69376pub const VipsInteresting_VIPS_INTERESTING_LOW: VipsInteresting = 4;
69377pub const VipsInteresting_VIPS_INTERESTING_HIGH: VipsInteresting = 5;
69378pub const VipsInteresting_VIPS_INTERESTING_ALL: VipsInteresting = 6;
69379pub const VipsInteresting_VIPS_INTERESTING_LAST: VipsInteresting = 7;
69380pub type VipsInteresting = ::std::os::raw::c_uint;
69381pub const VipsBlendMode_VIPS_BLEND_MODE_CLEAR: VipsBlendMode = 0;
69382pub const VipsBlendMode_VIPS_BLEND_MODE_SOURCE: VipsBlendMode = 1;
69383pub const VipsBlendMode_VIPS_BLEND_MODE_OVER: VipsBlendMode = 2;
69384pub const VipsBlendMode_VIPS_BLEND_MODE_IN: VipsBlendMode = 3;
69385pub const VipsBlendMode_VIPS_BLEND_MODE_OUT: VipsBlendMode = 4;
69386pub const VipsBlendMode_VIPS_BLEND_MODE_ATOP: VipsBlendMode = 5;
69387pub const VipsBlendMode_VIPS_BLEND_MODE_DEST: VipsBlendMode = 6;
69388pub const VipsBlendMode_VIPS_BLEND_MODE_DEST_OVER: VipsBlendMode = 7;
69389pub const VipsBlendMode_VIPS_BLEND_MODE_DEST_IN: VipsBlendMode = 8;
69390pub const VipsBlendMode_VIPS_BLEND_MODE_DEST_OUT: VipsBlendMode = 9;
69391pub const VipsBlendMode_VIPS_BLEND_MODE_DEST_ATOP: VipsBlendMode = 10;
69392pub const VipsBlendMode_VIPS_BLEND_MODE_XOR: VipsBlendMode = 11;
69393pub const VipsBlendMode_VIPS_BLEND_MODE_ADD: VipsBlendMode = 12;
69394pub const VipsBlendMode_VIPS_BLEND_MODE_SATURATE: VipsBlendMode = 13;
69395pub const VipsBlendMode_VIPS_BLEND_MODE_MULTIPLY: VipsBlendMode = 14;
69396pub const VipsBlendMode_VIPS_BLEND_MODE_SCREEN: VipsBlendMode = 15;
69397pub const VipsBlendMode_VIPS_BLEND_MODE_OVERLAY: VipsBlendMode = 16;
69398pub const VipsBlendMode_VIPS_BLEND_MODE_DARKEN: VipsBlendMode = 17;
69399pub const VipsBlendMode_VIPS_BLEND_MODE_LIGHTEN: VipsBlendMode = 18;
69400pub const VipsBlendMode_VIPS_BLEND_MODE_COLOUR_DODGE: VipsBlendMode = 19;
69401pub const VipsBlendMode_VIPS_BLEND_MODE_COLOUR_BURN: VipsBlendMode = 20;
69402pub const VipsBlendMode_VIPS_BLEND_MODE_HARD_LIGHT: VipsBlendMode = 21;
69403pub const VipsBlendMode_VIPS_BLEND_MODE_SOFT_LIGHT: VipsBlendMode = 22;
69404pub const VipsBlendMode_VIPS_BLEND_MODE_DIFFERENCE: VipsBlendMode = 23;
69405pub const VipsBlendMode_VIPS_BLEND_MODE_EXCLUSION: VipsBlendMode = 24;
69406pub const VipsBlendMode_VIPS_BLEND_MODE_LAST: VipsBlendMode = 25;
69407pub type VipsBlendMode = ::std::os::raw::c_uint;
69408extern "C" {
69409    pub fn vips_copy(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
69410}
69411extern "C" {
69412    pub fn vips_tilecache(
69413        in_: *mut VipsImage,
69414        out: *mut *mut VipsImage,
69415        ...
69416    ) -> ::std::os::raw::c_int;
69417}
69418extern "C" {
69419    pub fn vips_linecache(
69420        in_: *mut VipsImage,
69421        out: *mut *mut VipsImage,
69422        ...
69423    ) -> ::std::os::raw::c_int;
69424}
69425extern "C" {
69426    pub fn vips_sequential(
69427        in_: *mut VipsImage,
69428        out: *mut *mut VipsImage,
69429        ...
69430    ) -> ::std::os::raw::c_int;
69431}
69432extern "C" {
69433    pub fn vips_cache(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
69434}
69435extern "C" {
69436    pub fn vips_copy_file(
69437        in_: *mut VipsImage,
69438        out: *mut *mut VipsImage,
69439        ...
69440    ) -> ::std::os::raw::c_int;
69441}
69442extern "C" {
69443    pub fn vips_embed(
69444        in_: *mut VipsImage,
69445        out: *mut *mut VipsImage,
69446        x: ::std::os::raw::c_int,
69447        y: ::std::os::raw::c_int,
69448        width: ::std::os::raw::c_int,
69449        height: ::std::os::raw::c_int,
69450        ...
69451    ) -> ::std::os::raw::c_int;
69452}
69453extern "C" {
69454    pub fn vips_gravity(
69455        in_: *mut VipsImage,
69456        out: *mut *mut VipsImage,
69457        direction: VipsCompassDirection,
69458        width: ::std::os::raw::c_int,
69459        height: ::std::os::raw::c_int,
69460        ...
69461    ) -> ::std::os::raw::c_int;
69462}
69463extern "C" {
69464    pub fn vips_flip(
69465        in_: *mut VipsImage,
69466        out: *mut *mut VipsImage,
69467        direction: VipsDirection,
69468        ...
69469    ) -> ::std::os::raw::c_int;
69470}
69471extern "C" {
69472    pub fn vips_insert(
69473        main: *mut VipsImage,
69474        sub: *mut VipsImage,
69475        out: *mut *mut VipsImage,
69476        x: ::std::os::raw::c_int,
69477        y: ::std::os::raw::c_int,
69478        ...
69479    ) -> ::std::os::raw::c_int;
69480}
69481extern "C" {
69482    pub fn vips_join(
69483        in1: *mut VipsImage,
69484        in2: *mut VipsImage,
69485        out: *mut *mut VipsImage,
69486        direction: VipsDirection,
69487        ...
69488    ) -> ::std::os::raw::c_int;
69489}
69490extern "C" {
69491    pub fn vips_arrayjoin(
69492        in_: *mut *mut VipsImage,
69493        out: *mut *mut VipsImage,
69494        n: ::std::os::raw::c_int,
69495        ...
69496    ) -> ::std::os::raw::c_int;
69497}
69498extern "C" {
69499    pub fn vips_extract_area(
69500        in_: *mut VipsImage,
69501        out: *mut *mut VipsImage,
69502        left: ::std::os::raw::c_int,
69503        top: ::std::os::raw::c_int,
69504        width: ::std::os::raw::c_int,
69505        height: ::std::os::raw::c_int,
69506        ...
69507    ) -> ::std::os::raw::c_int;
69508}
69509extern "C" {
69510    pub fn vips_crop(
69511        in_: *mut VipsImage,
69512        out: *mut *mut VipsImage,
69513        left: ::std::os::raw::c_int,
69514        top: ::std::os::raw::c_int,
69515        width: ::std::os::raw::c_int,
69516        height: ::std::os::raw::c_int,
69517        ...
69518    ) -> ::std::os::raw::c_int;
69519}
69520extern "C" {
69521    pub fn vips_smartcrop(
69522        in_: *mut VipsImage,
69523        out: *mut *mut VipsImage,
69524        width: ::std::os::raw::c_int,
69525        height: ::std::os::raw::c_int,
69526        ...
69527    ) -> ::std::os::raw::c_int;
69528}
69529extern "C" {
69530    pub fn vips_extract_band(
69531        in_: *mut VipsImage,
69532        out: *mut *mut VipsImage,
69533        band: ::std::os::raw::c_int,
69534        ...
69535    ) -> ::std::os::raw::c_int;
69536}
69537extern "C" {
69538    pub fn vips_replicate(
69539        in_: *mut VipsImage,
69540        out: *mut *mut VipsImage,
69541        across: ::std::os::raw::c_int,
69542        down: ::std::os::raw::c_int,
69543        ...
69544    ) -> ::std::os::raw::c_int;
69545}
69546extern "C" {
69547    pub fn vips_grid(
69548        in_: *mut VipsImage,
69549        out: *mut *mut VipsImage,
69550        tile_height: ::std::os::raw::c_int,
69551        across: ::std::os::raw::c_int,
69552        down: ::std::os::raw::c_int,
69553        ...
69554    ) -> ::std::os::raw::c_int;
69555}
69556extern "C" {
69557    pub fn vips_transpose3d(
69558        in_: *mut VipsImage,
69559        out: *mut *mut VipsImage,
69560        ...
69561    ) -> ::std::os::raw::c_int;
69562}
69563extern "C" {
69564    pub fn vips_wrap(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
69565}
69566extern "C" {
69567    pub fn vips_rot(
69568        in_: *mut VipsImage,
69569        out: *mut *mut VipsImage,
69570        angle: VipsAngle,
69571        ...
69572    ) -> ::std::os::raw::c_int;
69573}
69574extern "C" {
69575    pub fn vips_rot90(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
69576}
69577extern "C" {
69578    pub fn vips_rot180(in_: *mut VipsImage, out: *mut *mut VipsImage, ...)
69579        -> ::std::os::raw::c_int;
69580}
69581extern "C" {
69582    pub fn vips_rot270(in_: *mut VipsImage, out: *mut *mut VipsImage, ...)
69583        -> ::std::os::raw::c_int;
69584}
69585extern "C" {
69586    pub fn vips_rot45(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
69587}
69588extern "C" {
69589    pub fn vips_autorot_remove_angle(image: *mut VipsImage);
69590}
69591extern "C" {
69592    pub fn vips_autorot(
69593        in_: *mut VipsImage,
69594        out: *mut *mut VipsImage,
69595        ...
69596    ) -> ::std::os::raw::c_int;
69597}
69598extern "C" {
69599    pub fn vips_zoom(
69600        in_: *mut VipsImage,
69601        out: *mut *mut VipsImage,
69602        xfac: ::std::os::raw::c_int,
69603        yfac: ::std::os::raw::c_int,
69604        ...
69605    ) -> ::std::os::raw::c_int;
69606}
69607extern "C" {
69608    pub fn vips_subsample(
69609        in_: *mut VipsImage,
69610        out: *mut *mut VipsImage,
69611        xfac: ::std::os::raw::c_int,
69612        yfac: ::std::os::raw::c_int,
69613        ...
69614    ) -> ::std::os::raw::c_int;
69615}
69616extern "C" {
69617    pub fn vips_cast(
69618        in_: *mut VipsImage,
69619        out: *mut *mut VipsImage,
69620        format: VipsBandFormat,
69621        ...
69622    ) -> ::std::os::raw::c_int;
69623}
69624extern "C" {
69625    pub fn vips_cast_uchar(
69626        in_: *mut VipsImage,
69627        out: *mut *mut VipsImage,
69628        ...
69629    ) -> ::std::os::raw::c_int;
69630}
69631extern "C" {
69632    pub fn vips_cast_char(
69633        in_: *mut VipsImage,
69634        out: *mut *mut VipsImage,
69635        ...
69636    ) -> ::std::os::raw::c_int;
69637}
69638extern "C" {
69639    pub fn vips_cast_ushort(
69640        in_: *mut VipsImage,
69641        out: *mut *mut VipsImage,
69642        ...
69643    ) -> ::std::os::raw::c_int;
69644}
69645extern "C" {
69646    pub fn vips_cast_short(
69647        in_: *mut VipsImage,
69648        out: *mut *mut VipsImage,
69649        ...
69650    ) -> ::std::os::raw::c_int;
69651}
69652extern "C" {
69653    pub fn vips_cast_uint(
69654        in_: *mut VipsImage,
69655        out: *mut *mut VipsImage,
69656        ...
69657    ) -> ::std::os::raw::c_int;
69658}
69659extern "C" {
69660    pub fn vips_cast_int(
69661        in_: *mut VipsImage,
69662        out: *mut *mut VipsImage,
69663        ...
69664    ) -> ::std::os::raw::c_int;
69665}
69666extern "C" {
69667    pub fn vips_cast_float(
69668        in_: *mut VipsImage,
69669        out: *mut *mut VipsImage,
69670        ...
69671    ) -> ::std::os::raw::c_int;
69672}
69673extern "C" {
69674    pub fn vips_cast_double(
69675        in_: *mut VipsImage,
69676        out: *mut *mut VipsImage,
69677        ...
69678    ) -> ::std::os::raw::c_int;
69679}
69680extern "C" {
69681    pub fn vips_cast_complex(
69682        in_: *mut VipsImage,
69683        out: *mut *mut VipsImage,
69684        ...
69685    ) -> ::std::os::raw::c_int;
69686}
69687extern "C" {
69688    pub fn vips_cast_dpcomplex(
69689        in_: *mut VipsImage,
69690        out: *mut *mut VipsImage,
69691        ...
69692    ) -> ::std::os::raw::c_int;
69693}
69694extern "C" {
69695    pub fn vips_scale(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
69696}
69697extern "C" {
69698    pub fn vips_msb(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
69699}
69700extern "C" {
69701    pub fn vips_byteswap(
69702        in_: *mut VipsImage,
69703        out: *mut *mut VipsImage,
69704        ...
69705    ) -> ::std::os::raw::c_int;
69706}
69707extern "C" {
69708    pub fn vips_bandjoin(
69709        in_: *mut *mut VipsImage,
69710        out: *mut *mut VipsImage,
69711        n: ::std::os::raw::c_int,
69712        ...
69713    ) -> ::std::os::raw::c_int;
69714}
69715extern "C" {
69716    pub fn vips_bandjoin2(
69717        in1: *mut VipsImage,
69718        in2: *mut VipsImage,
69719        out: *mut *mut VipsImage,
69720        ...
69721    ) -> ::std::os::raw::c_int;
69722}
69723extern "C" {
69724    pub fn vips_bandjoin_const(
69725        in_: *mut VipsImage,
69726        out: *mut *mut VipsImage,
69727        c: *mut f64,
69728        n: ::std::os::raw::c_int,
69729        ...
69730    ) -> ::std::os::raw::c_int;
69731}
69732extern "C" {
69733    pub fn vips_bandjoin_const1(
69734        in_: *mut VipsImage,
69735        out: *mut *mut VipsImage,
69736        c: f64,
69737        ...
69738    ) -> ::std::os::raw::c_int;
69739}
69740extern "C" {
69741    pub fn vips_bandrank(
69742        in_: *mut *mut VipsImage,
69743        out: *mut *mut VipsImage,
69744        n: ::std::os::raw::c_int,
69745        ...
69746    ) -> ::std::os::raw::c_int;
69747}
69748extern "C" {
69749    pub fn vips_bandfold(
69750        in_: *mut VipsImage,
69751        out: *mut *mut VipsImage,
69752        ...
69753    ) -> ::std::os::raw::c_int;
69754}
69755extern "C" {
69756    pub fn vips_bandunfold(
69757        in_: *mut VipsImage,
69758        out: *mut *mut VipsImage,
69759        ...
69760    ) -> ::std::os::raw::c_int;
69761}
69762extern "C" {
69763    pub fn vips_bandbool(
69764        in_: *mut VipsImage,
69765        out: *mut *mut VipsImage,
69766        boolean: VipsOperationBoolean,
69767        ...
69768    ) -> ::std::os::raw::c_int;
69769}
69770extern "C" {
69771    pub fn vips_bandand(
69772        in_: *mut VipsImage,
69773        out: *mut *mut VipsImage,
69774        ...
69775    ) -> ::std::os::raw::c_int;
69776}
69777extern "C" {
69778    pub fn vips_bandor(in_: *mut VipsImage, out: *mut *mut VipsImage, ...)
69779        -> ::std::os::raw::c_int;
69780}
69781extern "C" {
69782    pub fn vips_bandeor(
69783        in_: *mut VipsImage,
69784        out: *mut *mut VipsImage,
69785        ...
69786    ) -> ::std::os::raw::c_int;
69787}
69788extern "C" {
69789    pub fn vips_bandmean(
69790        in_: *mut VipsImage,
69791        out: *mut *mut VipsImage,
69792        ...
69793    ) -> ::std::os::raw::c_int;
69794}
69795extern "C" {
69796    pub fn vips_recomb(
69797        in_: *mut VipsImage,
69798        out: *mut *mut VipsImage,
69799        m: *mut VipsImage,
69800        ...
69801    ) -> ::std::os::raw::c_int;
69802}
69803extern "C" {
69804    pub fn vips_ifthenelse(
69805        cond: *mut VipsImage,
69806        in1: *mut VipsImage,
69807        in2: *mut VipsImage,
69808        out: *mut *mut VipsImage,
69809        ...
69810    ) -> ::std::os::raw::c_int;
69811}
69812extern "C" {
69813    pub fn vips_switch(
69814        tests: *mut *mut VipsImage,
69815        out: *mut *mut VipsImage,
69816        n: ::std::os::raw::c_int,
69817        ...
69818    ) -> ::std::os::raw::c_int;
69819}
69820extern "C" {
69821    pub fn vips_flatten(
69822        in_: *mut VipsImage,
69823        out: *mut *mut VipsImage,
69824        ...
69825    ) -> ::std::os::raw::c_int;
69826}
69827extern "C" {
69828    pub fn vips_addalpha(
69829        in_: *mut VipsImage,
69830        out: *mut *mut VipsImage,
69831        ...
69832    ) -> ::std::os::raw::c_int;
69833}
69834extern "C" {
69835    pub fn vips_premultiply(
69836        in_: *mut VipsImage,
69837        out: *mut *mut VipsImage,
69838        ...
69839    ) -> ::std::os::raw::c_int;
69840}
69841extern "C" {
69842    pub fn vips_unpremultiply(
69843        in_: *mut VipsImage,
69844        out: *mut *mut VipsImage,
69845        ...
69846    ) -> ::std::os::raw::c_int;
69847}
69848extern "C" {
69849    pub fn vips_composite(
69850        in_: *mut *mut VipsImage,
69851        out: *mut *mut VipsImage,
69852        n: ::std::os::raw::c_int,
69853        mode: *mut ::std::os::raw::c_int,
69854        ...
69855    ) -> ::std::os::raw::c_int;
69856}
69857extern "C" {
69858    pub fn vips_composite2(
69859        base: *mut VipsImage,
69860        overlay: *mut VipsImage,
69861        out: *mut *mut VipsImage,
69862        mode: VipsBlendMode,
69863        ...
69864    ) -> ::std::os::raw::c_int;
69865}
69866extern "C" {
69867    pub fn vips_falsecolour(
69868        in_: *mut VipsImage,
69869        out: *mut *mut VipsImage,
69870        ...
69871    ) -> ::std::os::raw::c_int;
69872}
69873extern "C" {
69874    pub fn vips_gamma(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
69875}
69876pub const VipsCombine_VIPS_COMBINE_MAX: VipsCombine = 0;
69877pub const VipsCombine_VIPS_COMBINE_SUM: VipsCombine = 1;
69878pub const VipsCombine_VIPS_COMBINE_MIN: VipsCombine = 2;
69879pub const VipsCombine_VIPS_COMBINE_LAST: VipsCombine = 3;
69880pub type VipsCombine = ::std::os::raw::c_uint;
69881extern "C" {
69882    pub fn vips_conv(
69883        in_: *mut VipsImage,
69884        out: *mut *mut VipsImage,
69885        mask: *mut VipsImage,
69886        ...
69887    ) -> ::std::os::raw::c_int;
69888}
69889extern "C" {
69890    pub fn vips_convf(
69891        in_: *mut VipsImage,
69892        out: *mut *mut VipsImage,
69893        mask: *mut VipsImage,
69894        ...
69895    ) -> ::std::os::raw::c_int;
69896}
69897extern "C" {
69898    pub fn vips_convi(
69899        in_: *mut VipsImage,
69900        out: *mut *mut VipsImage,
69901        mask: *mut VipsImage,
69902        ...
69903    ) -> ::std::os::raw::c_int;
69904}
69905extern "C" {
69906    pub fn vips_conva(
69907        in_: *mut VipsImage,
69908        out: *mut *mut VipsImage,
69909        mask: *mut VipsImage,
69910        ...
69911    ) -> ::std::os::raw::c_int;
69912}
69913extern "C" {
69914    pub fn vips_convsep(
69915        in_: *mut VipsImage,
69916        out: *mut *mut VipsImage,
69917        mask: *mut VipsImage,
69918        ...
69919    ) -> ::std::os::raw::c_int;
69920}
69921extern "C" {
69922    pub fn vips_convasep(
69923        in_: *mut VipsImage,
69924        out: *mut *mut VipsImage,
69925        mask: *mut VipsImage,
69926        ...
69927    ) -> ::std::os::raw::c_int;
69928}
69929extern "C" {
69930    pub fn vips_compass(
69931        in_: *mut VipsImage,
69932        out: *mut *mut VipsImage,
69933        mask: *mut VipsImage,
69934        ...
69935    ) -> ::std::os::raw::c_int;
69936}
69937extern "C" {
69938    pub fn vips_gaussblur(
69939        in_: *mut VipsImage,
69940        out: *mut *mut VipsImage,
69941        sigma: f64,
69942        ...
69943    ) -> ::std::os::raw::c_int;
69944}
69945extern "C" {
69946    pub fn vips_sharpen(
69947        in_: *mut VipsImage,
69948        out: *mut *mut VipsImage,
69949        ...
69950    ) -> ::std::os::raw::c_int;
69951}
69952extern "C" {
69953    pub fn vips_spcor(
69954        in_: *mut VipsImage,
69955        ref_: *mut VipsImage,
69956        out: *mut *mut VipsImage,
69957        ...
69958    ) -> ::std::os::raw::c_int;
69959}
69960extern "C" {
69961    pub fn vips_fastcor(
69962        in_: *mut VipsImage,
69963        ref_: *mut VipsImage,
69964        out: *mut *mut VipsImage,
69965        ...
69966    ) -> ::std::os::raw::c_int;
69967}
69968extern "C" {
69969    pub fn vips_sobel(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
69970}
69971extern "C" {
69972    pub fn vips_scharr(in_: *mut VipsImage, out: *mut *mut VipsImage, ...)
69973        -> ::std::os::raw::c_int;
69974}
69975extern "C" {
69976    pub fn vips_prewitt(
69977        in_: *mut VipsImage,
69978        out: *mut *mut VipsImage,
69979        ...
69980    ) -> ::std::os::raw::c_int;
69981}
69982extern "C" {
69983    pub fn vips_canny(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
69984}
69985pub const VipsOperationMorphology_VIPS_OPERATION_MORPHOLOGY_ERODE: VipsOperationMorphology = 0;
69986pub const VipsOperationMorphology_VIPS_OPERATION_MORPHOLOGY_DILATE: VipsOperationMorphology = 1;
69987pub const VipsOperationMorphology_VIPS_OPERATION_MORPHOLOGY_LAST: VipsOperationMorphology = 2;
69988pub type VipsOperationMorphology = ::std::os::raw::c_uint;
69989extern "C" {
69990    pub fn vips_morph(
69991        in_: *mut VipsImage,
69992        out: *mut *mut VipsImage,
69993        mask: *mut VipsImage,
69994        morph: VipsOperationMorphology,
69995        ...
69996    ) -> ::std::os::raw::c_int;
69997}
69998extern "C" {
69999    pub fn vips_rank(
70000        in_: *mut VipsImage,
70001        out: *mut *mut VipsImage,
70002        width: ::std::os::raw::c_int,
70003        height: ::std::os::raw::c_int,
70004        index: ::std::os::raw::c_int,
70005        ...
70006    ) -> ::std::os::raw::c_int;
70007}
70008extern "C" {
70009    pub fn vips_median(
70010        in_: *mut VipsImage,
70011        out: *mut *mut VipsImage,
70012        size: ::std::os::raw::c_int,
70013        ...
70014    ) -> ::std::os::raw::c_int;
70015}
70016extern "C" {
70017    pub fn vips_countlines(
70018        in_: *mut VipsImage,
70019        nolines: *mut f64,
70020        direction: VipsDirection,
70021        ...
70022    ) -> ::std::os::raw::c_int;
70023}
70024extern "C" {
70025    pub fn vips_labelregions(
70026        in_: *mut VipsImage,
70027        mask: *mut *mut VipsImage,
70028        ...
70029    ) -> ::std::os::raw::c_int;
70030}
70031extern "C" {
70032    pub fn vips_fill_nearest(
70033        in_: *mut VipsImage,
70034        out: *mut *mut VipsImage,
70035        ...
70036    ) -> ::std::os::raw::c_int;
70037}
70038extern "C" {
70039    pub fn vips_merge(
70040        ref_: *mut VipsImage,
70041        sec: *mut VipsImage,
70042        out: *mut *mut VipsImage,
70043        direction: VipsDirection,
70044        dx: ::std::os::raw::c_int,
70045        dy: ::std::os::raw::c_int,
70046        ...
70047    ) -> ::std::os::raw::c_int;
70048}
70049extern "C" {
70050    pub fn vips_mosaic(
70051        ref_: *mut VipsImage,
70052        sec: *mut VipsImage,
70053        out: *mut *mut VipsImage,
70054        direction: VipsDirection,
70055        xref: ::std::os::raw::c_int,
70056        yref: ::std::os::raw::c_int,
70057        xsec: ::std::os::raw::c_int,
70058        ysec: ::std::os::raw::c_int,
70059        ...
70060    ) -> ::std::os::raw::c_int;
70061}
70062extern "C" {
70063    pub fn vips_mosaic1(
70064        ref_: *mut VipsImage,
70065        sec: *mut VipsImage,
70066        out: *mut *mut VipsImage,
70067        direction: VipsDirection,
70068        xr1: ::std::os::raw::c_int,
70069        yr1: ::std::os::raw::c_int,
70070        xs1: ::std::os::raw::c_int,
70071        ys1: ::std::os::raw::c_int,
70072        xr2: ::std::os::raw::c_int,
70073        yr2: ::std::os::raw::c_int,
70074        xs2: ::std::os::raw::c_int,
70075        ys2: ::std::os::raw::c_int,
70076        ...
70077    ) -> ::std::os::raw::c_int;
70078}
70079extern "C" {
70080    pub fn vips_match(
70081        ref_: *mut VipsImage,
70082        sec: *mut VipsImage,
70083        out: *mut *mut VipsImage,
70084        xr1: ::std::os::raw::c_int,
70085        yr1: ::std::os::raw::c_int,
70086        xs1: ::std::os::raw::c_int,
70087        ys1: ::std::os::raw::c_int,
70088        xr2: ::std::os::raw::c_int,
70089        yr2: ::std::os::raw::c_int,
70090        xs2: ::std::os::raw::c_int,
70091        ys2: ::std::os::raw::c_int,
70092        ...
70093    ) -> ::std::os::raw::c_int;
70094}
70095extern "C" {
70096    pub fn vips_globalbalance(
70097        in_: *mut VipsImage,
70098        out: *mut *mut VipsImage,
70099        ...
70100    ) -> ::std::os::raw::c_int;
70101}
70102extern "C" {
70103    pub fn vips_remosaic(
70104        in_: *mut VipsImage,
70105        out: *mut *mut VipsImage,
70106        old_str: *const ::std::os::raw::c_char,
70107        new_str: *const ::std::os::raw::c_char,
70108        ...
70109    ) -> ::std::os::raw::c_int;
70110}
70111extern "C" {
70112    pub fn vips_matrixinvert(
70113        m: *mut VipsImage,
70114        out: *mut *mut VipsImage,
70115        ...
70116    ) -> ::std::os::raw::c_int;
70117}
70118extern "C" {
70119    pub fn vips_maplut(
70120        in_: *mut VipsImage,
70121        out: *mut *mut VipsImage,
70122        lut: *mut VipsImage,
70123        ...
70124    ) -> ::std::os::raw::c_int;
70125}
70126extern "C" {
70127    pub fn vips_percent(
70128        in_: *mut VipsImage,
70129        percent: f64,
70130        threshold: *mut ::std::os::raw::c_int,
70131        ...
70132    ) -> ::std::os::raw::c_int;
70133}
70134extern "C" {
70135    pub fn vips_stdif(
70136        in_: *mut VipsImage,
70137        out: *mut *mut VipsImage,
70138        width: ::std::os::raw::c_int,
70139        height: ::std::os::raw::c_int,
70140        ...
70141    ) -> ::std::os::raw::c_int;
70142}
70143extern "C" {
70144    pub fn vips_hist_cum(
70145        in_: *mut VipsImage,
70146        out: *mut *mut VipsImage,
70147        ...
70148    ) -> ::std::os::raw::c_int;
70149}
70150extern "C" {
70151    pub fn vips_hist_norm(
70152        in_: *mut VipsImage,
70153        out: *mut *mut VipsImage,
70154        ...
70155    ) -> ::std::os::raw::c_int;
70156}
70157extern "C" {
70158    pub fn vips_hist_equal(
70159        in_: *mut VipsImage,
70160        out: *mut *mut VipsImage,
70161        ...
70162    ) -> ::std::os::raw::c_int;
70163}
70164extern "C" {
70165    pub fn vips_hist_plot(
70166        in_: *mut VipsImage,
70167        out: *mut *mut VipsImage,
70168        ...
70169    ) -> ::std::os::raw::c_int;
70170}
70171extern "C" {
70172    pub fn vips_hist_match(
70173        in_: *mut VipsImage,
70174        ref_: *mut VipsImage,
70175        out: *mut *mut VipsImage,
70176        ...
70177    ) -> ::std::os::raw::c_int;
70178}
70179extern "C" {
70180    pub fn vips_hist_local(
70181        in_: *mut VipsImage,
70182        out: *mut *mut VipsImage,
70183        width: ::std::os::raw::c_int,
70184        height: ::std::os::raw::c_int,
70185        ...
70186    ) -> ::std::os::raw::c_int;
70187}
70188extern "C" {
70189    pub fn vips_hist_ismonotonic(
70190        in_: *mut VipsImage,
70191        out: *mut gboolean,
70192        ...
70193    ) -> ::std::os::raw::c_int;
70194}
70195extern "C" {
70196    pub fn vips_hist_entropy(in_: *mut VipsImage, out: *mut f64, ...) -> ::std::os::raw::c_int;
70197}
70198extern "C" {
70199    pub fn vips_case(
70200        index: *mut VipsImage,
70201        cases: *mut *mut VipsImage,
70202        out: *mut *mut VipsImage,
70203        n: ::std::os::raw::c_int,
70204        ...
70205    ) -> ::std::os::raw::c_int;
70206}
70207extern "C" {
70208    pub fn vips_fwfft(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
70209}
70210extern "C" {
70211    pub fn vips_invfft(in_: *mut VipsImage, out: *mut *mut VipsImage, ...)
70212        -> ::std::os::raw::c_int;
70213}
70214extern "C" {
70215    pub fn vips_freqmult(
70216        in_: *mut VipsImage,
70217        mask: *mut VipsImage,
70218        out: *mut *mut VipsImage,
70219        ...
70220    ) -> ::std::os::raw::c_int;
70221}
70222extern "C" {
70223    pub fn vips_spectrum(
70224        in_: *mut VipsImage,
70225        out: *mut *mut VipsImage,
70226        ...
70227    ) -> ::std::os::raw::c_int;
70228}
70229extern "C" {
70230    pub fn vips_phasecor(
70231        in1: *mut VipsImage,
70232        in2: *mut VipsImage,
70233        out: *mut *mut VipsImage,
70234        ...
70235    ) -> ::std::os::raw::c_int;
70236}
70237pub const VipsKernel_VIPS_KERNEL_NEAREST: VipsKernel = 0;
70238pub const VipsKernel_VIPS_KERNEL_LINEAR: VipsKernel = 1;
70239pub const VipsKernel_VIPS_KERNEL_CUBIC: VipsKernel = 2;
70240pub const VipsKernel_VIPS_KERNEL_MITCHELL: VipsKernel = 3;
70241pub const VipsKernel_VIPS_KERNEL_LANCZOS2: VipsKernel = 4;
70242pub const VipsKernel_VIPS_KERNEL_LANCZOS3: VipsKernel = 5;
70243pub const VipsKernel_VIPS_KERNEL_LAST: VipsKernel = 6;
70244pub type VipsKernel = ::std::os::raw::c_uint;
70245pub const VipsSize_VIPS_SIZE_BOTH: VipsSize = 0;
70246pub const VipsSize_VIPS_SIZE_UP: VipsSize = 1;
70247pub const VipsSize_VIPS_SIZE_DOWN: VipsSize = 2;
70248pub const VipsSize_VIPS_SIZE_FORCE: VipsSize = 3;
70249pub const VipsSize_VIPS_SIZE_LAST: VipsSize = 4;
70250pub type VipsSize = ::std::os::raw::c_uint;
70251extern "C" {
70252    pub fn vips_shrink(
70253        in_: *mut VipsImage,
70254        out: *mut *mut VipsImage,
70255        hshrink: f64,
70256        vshrink: f64,
70257        ...
70258    ) -> ::std::os::raw::c_int;
70259}
70260extern "C" {
70261    pub fn vips_shrinkh(
70262        in_: *mut VipsImage,
70263        out: *mut *mut VipsImage,
70264        hshrink: ::std::os::raw::c_int,
70265        ...
70266    ) -> ::std::os::raw::c_int;
70267}
70268extern "C" {
70269    pub fn vips_shrinkv(
70270        in_: *mut VipsImage,
70271        out: *mut *mut VipsImage,
70272        vshrink: ::std::os::raw::c_int,
70273        ...
70274    ) -> ::std::os::raw::c_int;
70275}
70276extern "C" {
70277    pub fn vips_reduce(
70278        in_: *mut VipsImage,
70279        out: *mut *mut VipsImage,
70280        hshrink: f64,
70281        vshrink: f64,
70282        ...
70283    ) -> ::std::os::raw::c_int;
70284}
70285extern "C" {
70286    pub fn vips_reduceh(
70287        in_: *mut VipsImage,
70288        out: *mut *mut VipsImage,
70289        hshrink: f64,
70290        ...
70291    ) -> ::std::os::raw::c_int;
70292}
70293extern "C" {
70294    pub fn vips_reducev(
70295        in_: *mut VipsImage,
70296        out: *mut *mut VipsImage,
70297        vshrink: f64,
70298        ...
70299    ) -> ::std::os::raw::c_int;
70300}
70301extern "C" {
70302    pub fn vips_thumbnail(
70303        filename: *const ::std::os::raw::c_char,
70304        out: *mut *mut VipsImage,
70305        width: ::std::os::raw::c_int,
70306        ...
70307    ) -> ::std::os::raw::c_int;
70308}
70309extern "C" {
70310    pub fn vips_thumbnail_buffer(
70311        buf: *mut ::std::os::raw::c_void,
70312        len: size_t,
70313        out: *mut *mut VipsImage,
70314        width: ::std::os::raw::c_int,
70315        ...
70316    ) -> ::std::os::raw::c_int;
70317}
70318extern "C" {
70319    pub fn vips_thumbnail_image(
70320        in_: *mut VipsImage,
70321        out: *mut *mut VipsImage,
70322        width: ::std::os::raw::c_int,
70323        ...
70324    ) -> ::std::os::raw::c_int;
70325}
70326extern "C" {
70327    pub fn vips_thumbnail_source(
70328        source: *mut VipsSource,
70329        out: *mut *mut VipsImage,
70330        width: ::std::os::raw::c_int,
70331        ...
70332    ) -> ::std::os::raw::c_int;
70333}
70334extern "C" {
70335    pub fn vips_similarity(
70336        in_: *mut VipsImage,
70337        out: *mut *mut VipsImage,
70338        ...
70339    ) -> ::std::os::raw::c_int;
70340}
70341extern "C" {
70342    pub fn vips_rotate(
70343        in_: *mut VipsImage,
70344        out: *mut *mut VipsImage,
70345        angle: f64,
70346        ...
70347    ) -> ::std::os::raw::c_int;
70348}
70349extern "C" {
70350    pub fn vips_affine(
70351        in_: *mut VipsImage,
70352        out: *mut *mut VipsImage,
70353        a: f64,
70354        b: f64,
70355        c: f64,
70356        d: f64,
70357        ...
70358    ) -> ::std::os::raw::c_int;
70359}
70360extern "C" {
70361    pub fn vips_resize(
70362        in_: *mut VipsImage,
70363        out: *mut *mut VipsImage,
70364        scale: f64,
70365        ...
70366    ) -> ::std::os::raw::c_int;
70367}
70368extern "C" {
70369    pub fn vips_mapim(
70370        in_: *mut VipsImage,
70371        out: *mut *mut VipsImage,
70372        index: *mut VipsImage,
70373        ...
70374    ) -> ::std::os::raw::c_int;
70375}
70376extern "C" {
70377    pub fn vips_quadratic(
70378        in_: *mut VipsImage,
70379        out: *mut *mut VipsImage,
70380        coeff: *mut VipsImage,
70381        ...
70382    ) -> ::std::os::raw::c_int;
70383}
70384pub const VipsIntent_VIPS_INTENT_PERCEPTUAL: VipsIntent = 0;
70385pub const VipsIntent_VIPS_INTENT_RELATIVE: VipsIntent = 1;
70386pub const VipsIntent_VIPS_INTENT_SATURATION: VipsIntent = 2;
70387pub const VipsIntent_VIPS_INTENT_ABSOLUTE: VipsIntent = 3;
70388pub const VipsIntent_VIPS_INTENT_LAST: VipsIntent = 4;
70389pub type VipsIntent = ::std::os::raw::c_uint;
70390pub const VipsPCS_VIPS_PCS_LAB: VipsPCS = 0;
70391pub const VipsPCS_VIPS_PCS_XYZ: VipsPCS = 1;
70392pub const VipsPCS_VIPS_PCS_LAST: VipsPCS = 2;
70393pub type VipsPCS = ::std::os::raw::c_uint;
70394extern "C" {
70395    pub fn vips_colourspace_issupported(image: *const VipsImage) -> gboolean;
70396}
70397extern "C" {
70398    pub fn vips_colourspace(
70399        in_: *mut VipsImage,
70400        out: *mut *mut VipsImage,
70401        space: VipsInterpretation,
70402        ...
70403    ) -> ::std::os::raw::c_int;
70404}
70405extern "C" {
70406    pub fn vips_LabQ2sRGB(
70407        in_: *mut VipsImage,
70408        out: *mut *mut VipsImage,
70409        ...
70410    ) -> ::std::os::raw::c_int;
70411}
70412extern "C" {
70413    pub fn vips_rad2float(
70414        in_: *mut VipsImage,
70415        out: *mut *mut VipsImage,
70416        ...
70417    ) -> ::std::os::raw::c_int;
70418}
70419extern "C" {
70420    pub fn vips_float2rad(
70421        in_: *mut VipsImage,
70422        out: *mut *mut VipsImage,
70423        ...
70424    ) -> ::std::os::raw::c_int;
70425}
70426extern "C" {
70427    pub fn vips_LabS2LabQ(
70428        in_: *mut VipsImage,
70429        out: *mut *mut VipsImage,
70430        ...
70431    ) -> ::std::os::raw::c_int;
70432}
70433extern "C" {
70434    pub fn vips_LabQ2LabS(
70435        in_: *mut VipsImage,
70436        out: *mut *mut VipsImage,
70437        ...
70438    ) -> ::std::os::raw::c_int;
70439}
70440extern "C" {
70441    pub fn vips_LabQ2Lab(
70442        in_: *mut VipsImage,
70443        out: *mut *mut VipsImage,
70444        ...
70445    ) -> ::std::os::raw::c_int;
70446}
70447extern "C" {
70448    pub fn vips_Lab2LabQ(
70449        in_: *mut VipsImage,
70450        out: *mut *mut VipsImage,
70451        ...
70452    ) -> ::std::os::raw::c_int;
70453}
70454extern "C" {
70455    pub fn vips_LCh2Lab(
70456        in_: *mut VipsImage,
70457        out: *mut *mut VipsImage,
70458        ...
70459    ) -> ::std::os::raw::c_int;
70460}
70461extern "C" {
70462    pub fn vips_Lab2LCh(
70463        in_: *mut VipsImage,
70464        out: *mut *mut VipsImage,
70465        ...
70466    ) -> ::std::os::raw::c_int;
70467}
70468extern "C" {
70469    pub fn vips_Yxy2Lab(
70470        in_: *mut VipsImage,
70471        out: *mut *mut VipsImage,
70472        ...
70473    ) -> ::std::os::raw::c_int;
70474}
70475extern "C" {
70476    pub fn vips_CMC2XYZ(
70477        in_: *mut VipsImage,
70478        out: *mut *mut VipsImage,
70479        ...
70480    ) -> ::std::os::raw::c_int;
70481}
70482extern "C" {
70483    pub fn vips_Lab2XYZ(
70484        in_: *mut VipsImage,
70485        out: *mut *mut VipsImage,
70486        ...
70487    ) -> ::std::os::raw::c_int;
70488}
70489extern "C" {
70490    pub fn vips_XYZ2Lab(
70491        in_: *mut VipsImage,
70492        out: *mut *mut VipsImage,
70493        ...
70494    ) -> ::std::os::raw::c_int;
70495}
70496extern "C" {
70497    pub fn vips_XYZ2scRGB(
70498        in_: *mut VipsImage,
70499        out: *mut *mut VipsImage,
70500        ...
70501    ) -> ::std::os::raw::c_int;
70502}
70503extern "C" {
70504    pub fn vips_scRGB2sRGB(
70505        in_: *mut VipsImage,
70506        out: *mut *mut VipsImage,
70507        ...
70508    ) -> ::std::os::raw::c_int;
70509}
70510extern "C" {
70511    pub fn vips_scRGB2BW(
70512        in_: *mut VipsImage,
70513        out: *mut *mut VipsImage,
70514        ...
70515    ) -> ::std::os::raw::c_int;
70516}
70517extern "C" {
70518    pub fn vips_sRGB2scRGB(
70519        in_: *mut VipsImage,
70520        out: *mut *mut VipsImage,
70521        ...
70522    ) -> ::std::os::raw::c_int;
70523}
70524extern "C" {
70525    pub fn vips_scRGB2XYZ(
70526        in_: *mut VipsImage,
70527        out: *mut *mut VipsImage,
70528        ...
70529    ) -> ::std::os::raw::c_int;
70530}
70531extern "C" {
70532    pub fn vips_HSV2sRGB(
70533        in_: *mut VipsImage,
70534        out: *mut *mut VipsImage,
70535        ...
70536    ) -> ::std::os::raw::c_int;
70537}
70538extern "C" {
70539    pub fn vips_sRGB2HSV(
70540        in_: *mut VipsImage,
70541        out: *mut *mut VipsImage,
70542        ...
70543    ) -> ::std::os::raw::c_int;
70544}
70545extern "C" {
70546    pub fn vips_LCh2CMC(
70547        in_: *mut VipsImage,
70548        out: *mut *mut VipsImage,
70549        ...
70550    ) -> ::std::os::raw::c_int;
70551}
70552extern "C" {
70553    pub fn vips_CMC2LCh(
70554        in_: *mut VipsImage,
70555        out: *mut *mut VipsImage,
70556        ...
70557    ) -> ::std::os::raw::c_int;
70558}
70559extern "C" {
70560    pub fn vips_XYZ2Yxy(
70561        in_: *mut VipsImage,
70562        out: *mut *mut VipsImage,
70563        ...
70564    ) -> ::std::os::raw::c_int;
70565}
70566extern "C" {
70567    pub fn vips_Yxy2XYZ(
70568        in_: *mut VipsImage,
70569        out: *mut *mut VipsImage,
70570        ...
70571    ) -> ::std::os::raw::c_int;
70572}
70573extern "C" {
70574    pub fn vips_LabS2Lab(
70575        in_: *mut VipsImage,
70576        out: *mut *mut VipsImage,
70577        ...
70578    ) -> ::std::os::raw::c_int;
70579}
70580extern "C" {
70581    pub fn vips_Lab2LabS(
70582        in_: *mut VipsImage,
70583        out: *mut *mut VipsImage,
70584        ...
70585    ) -> ::std::os::raw::c_int;
70586}
70587extern "C" {
70588    pub fn vips_CMYK2XYZ(
70589        in_: *mut VipsImage,
70590        out: *mut *mut VipsImage,
70591        ...
70592    ) -> ::std::os::raw::c_int;
70593}
70594extern "C" {
70595    pub fn vips_XYZ2CMYK(
70596        in_: *mut VipsImage,
70597        out: *mut *mut VipsImage,
70598        ...
70599    ) -> ::std::os::raw::c_int;
70600}
70601extern "C" {
70602    pub fn vips_profile_load(
70603        name: *const ::std::os::raw::c_char,
70604        profile: *mut *mut VipsBlob,
70605        ...
70606    ) -> ::std::os::raw::c_int;
70607}
70608extern "C" {
70609    pub fn vips_icc_present() -> ::std::os::raw::c_int;
70610}
70611extern "C" {
70612    pub fn vips_icc_transform(
70613        in_: *mut VipsImage,
70614        out: *mut *mut VipsImage,
70615        output_profile: *const ::std::os::raw::c_char,
70616        ...
70617    ) -> ::std::os::raw::c_int;
70618}
70619extern "C" {
70620    pub fn vips_icc_import(
70621        in_: *mut VipsImage,
70622        out: *mut *mut VipsImage,
70623        ...
70624    ) -> ::std::os::raw::c_int;
70625}
70626extern "C" {
70627    pub fn vips_icc_export(
70628        in_: *mut VipsImage,
70629        out: *mut *mut VipsImage,
70630        ...
70631    ) -> ::std::os::raw::c_int;
70632}
70633extern "C" {
70634    pub fn vips_icc_ac2rc(
70635        in_: *mut VipsImage,
70636        out: *mut *mut VipsImage,
70637        profile_filename: *const ::std::os::raw::c_char,
70638    ) -> ::std::os::raw::c_int;
70639}
70640extern "C" {
70641    pub fn vips_icc_is_compatible_profile(
70642        image: *mut VipsImage,
70643        data: *const ::std::os::raw::c_void,
70644        data_length: size_t,
70645    ) -> gboolean;
70646}
70647extern "C" {
70648    pub fn vips_dE76(
70649        left: *mut VipsImage,
70650        right: *mut VipsImage,
70651        out: *mut *mut VipsImage,
70652        ...
70653    ) -> ::std::os::raw::c_int;
70654}
70655extern "C" {
70656    pub fn vips_dE00(
70657        left: *mut VipsImage,
70658        right: *mut VipsImage,
70659        out: *mut *mut VipsImage,
70660        ...
70661    ) -> ::std::os::raw::c_int;
70662}
70663extern "C" {
70664    pub fn vips_dECMC(
70665        left: *mut VipsImage,
70666        right: *mut VipsImage,
70667        out: *mut *mut VipsImage,
70668        ...
70669    ) -> ::std::os::raw::c_int;
70670}
70671extern "C" {
70672    pub fn vips_col_Lab2XYZ(L: f32, a: f32, b: f32, X: *mut f32, Y: *mut f32, Z: *mut f32);
70673}
70674extern "C" {
70675    pub fn vips_col_XYZ2Lab(X: f32, Y: f32, Z: f32, L: *mut f32, a: *mut f32, b: *mut f32);
70676}
70677extern "C" {
70678    pub fn vips_col_ab2h(a: f64, b: f64) -> f64;
70679}
70680extern "C" {
70681    pub fn vips_col_ab2Ch(a: f32, b: f32, C: *mut f32, h: *mut f32);
70682}
70683extern "C" {
70684    pub fn vips_col_Ch2ab(C: f32, h: f32, a: *mut f32, b: *mut f32);
70685}
70686extern "C" {
70687    pub fn vips_col_L2Lcmc(L: f32) -> f32;
70688}
70689extern "C" {
70690    pub fn vips_col_C2Ccmc(C: f32) -> f32;
70691}
70692extern "C" {
70693    pub fn vips_col_Ch2hcmc(C: f32, h: f32) -> f32;
70694}
70695extern "C" {
70696    pub fn vips_col_make_tables_CMC();
70697}
70698extern "C" {
70699    pub fn vips_col_Lcmc2L(Lcmc: f32) -> f32;
70700}
70701extern "C" {
70702    pub fn vips_col_Ccmc2C(Ccmc: f32) -> f32;
70703}
70704extern "C" {
70705    pub fn vips_col_Chcmc2h(C: f32, hcmc: f32) -> f32;
70706}
70707extern "C" {
70708    pub fn vips_col_sRGB2scRGB_8(
70709        r: ::std::os::raw::c_int,
70710        g: ::std::os::raw::c_int,
70711        b: ::std::os::raw::c_int,
70712        R: *mut f32,
70713        G: *mut f32,
70714        B: *mut f32,
70715    ) -> ::std::os::raw::c_int;
70716}
70717extern "C" {
70718    pub fn vips_col_sRGB2scRGB_16(
70719        r: ::std::os::raw::c_int,
70720        g: ::std::os::raw::c_int,
70721        b: ::std::os::raw::c_int,
70722        R: *mut f32,
70723        G: *mut f32,
70724        B: *mut f32,
70725    ) -> ::std::os::raw::c_int;
70726}
70727extern "C" {
70728    pub fn vips_col_sRGB2scRGB_8_noclip(
70729        r: ::std::os::raw::c_int,
70730        g: ::std::os::raw::c_int,
70731        b: ::std::os::raw::c_int,
70732        R: *mut f32,
70733        G: *mut f32,
70734        B: *mut f32,
70735    ) -> ::std::os::raw::c_int;
70736}
70737extern "C" {
70738    pub fn vips_col_sRGB2scRGB_16_noclip(
70739        r: ::std::os::raw::c_int,
70740        g: ::std::os::raw::c_int,
70741        b: ::std::os::raw::c_int,
70742        R: *mut f32,
70743        G: *mut f32,
70744        B: *mut f32,
70745    ) -> ::std::os::raw::c_int;
70746}
70747extern "C" {
70748    pub fn vips_col_scRGB2XYZ(
70749        R: f32,
70750        G: f32,
70751        B: f32,
70752        X: *mut f32,
70753        Y: *mut f32,
70754        Z: *mut f32,
70755    ) -> ::std::os::raw::c_int;
70756}
70757extern "C" {
70758    pub fn vips_col_XYZ2scRGB(
70759        X: f32,
70760        Y: f32,
70761        Z: f32,
70762        R: *mut f32,
70763        G: *mut f32,
70764        B: *mut f32,
70765    ) -> ::std::os::raw::c_int;
70766}
70767extern "C" {
70768    pub fn vips_col_scRGB2sRGB_8(
70769        R: f32,
70770        G: f32,
70771        B: f32,
70772        r: *mut ::std::os::raw::c_int,
70773        g: *mut ::std::os::raw::c_int,
70774        b: *mut ::std::os::raw::c_int,
70775        og: *mut ::std::os::raw::c_int,
70776    ) -> ::std::os::raw::c_int;
70777}
70778extern "C" {
70779    pub fn vips_col_scRGB2sRGB_16(
70780        R: f32,
70781        G: f32,
70782        B: f32,
70783        r: *mut ::std::os::raw::c_int,
70784        g: *mut ::std::os::raw::c_int,
70785        b: *mut ::std::os::raw::c_int,
70786        og: *mut ::std::os::raw::c_int,
70787    ) -> ::std::os::raw::c_int;
70788}
70789extern "C" {
70790    pub fn vips_col_scRGB2BW_16(
70791        R: f32,
70792        G: f32,
70793        B: f32,
70794        g: *mut ::std::os::raw::c_int,
70795        og: *mut ::std::os::raw::c_int,
70796    ) -> ::std::os::raw::c_int;
70797}
70798extern "C" {
70799    pub fn vips_col_scRGB2BW_8(
70800        R: f32,
70801        G: f32,
70802        B: f32,
70803        g: *mut ::std::os::raw::c_int,
70804        og: *mut ::std::os::raw::c_int,
70805    ) -> ::std::os::raw::c_int;
70806}
70807extern "C" {
70808    pub fn vips_pythagoras(L1: f32, a1: f32, b1: f32, L2: f32, a2: f32, b2: f32) -> f32;
70809}
70810extern "C" {
70811    pub fn vips_col_dE00(L1: f32, a1: f32, b1: f32, L2: f32, a2: f32, b2: f32) -> f32;
70812}
70813pub const VipsCombineMode_VIPS_COMBINE_MODE_SET: VipsCombineMode = 0;
70814pub const VipsCombineMode_VIPS_COMBINE_MODE_ADD: VipsCombineMode = 1;
70815pub const VipsCombineMode_VIPS_COMBINE_MODE_LAST: VipsCombineMode = 2;
70816pub type VipsCombineMode = ::std::os::raw::c_uint;
70817extern "C" {
70818    pub fn vips_draw_rect(
70819        image: *mut VipsImage,
70820        ink: *mut f64,
70821        n: ::std::os::raw::c_int,
70822        left: ::std::os::raw::c_int,
70823        top: ::std::os::raw::c_int,
70824        width: ::std::os::raw::c_int,
70825        height: ::std::os::raw::c_int,
70826        ...
70827    ) -> ::std::os::raw::c_int;
70828}
70829extern "C" {
70830    pub fn vips_draw_rect1(
70831        image: *mut VipsImage,
70832        ink: f64,
70833        left: ::std::os::raw::c_int,
70834        top: ::std::os::raw::c_int,
70835        width: ::std::os::raw::c_int,
70836        height: ::std::os::raw::c_int,
70837        ...
70838    ) -> ::std::os::raw::c_int;
70839}
70840extern "C" {
70841    pub fn vips_draw_point(
70842        image: *mut VipsImage,
70843        ink: *mut f64,
70844        n: ::std::os::raw::c_int,
70845        x: ::std::os::raw::c_int,
70846        y: ::std::os::raw::c_int,
70847        ...
70848    ) -> ::std::os::raw::c_int;
70849}
70850extern "C" {
70851    pub fn vips_draw_point1(
70852        image: *mut VipsImage,
70853        ink: f64,
70854        x: ::std::os::raw::c_int,
70855        y: ::std::os::raw::c_int,
70856        ...
70857    ) -> ::std::os::raw::c_int;
70858}
70859extern "C" {
70860    pub fn vips_draw_image(
70861        image: *mut VipsImage,
70862        sub: *mut VipsImage,
70863        x: ::std::os::raw::c_int,
70864        y: ::std::os::raw::c_int,
70865        ...
70866    ) -> ::std::os::raw::c_int;
70867}
70868extern "C" {
70869    pub fn vips_draw_mask(
70870        image: *mut VipsImage,
70871        ink: *mut f64,
70872        n: ::std::os::raw::c_int,
70873        mask: *mut VipsImage,
70874        x: ::std::os::raw::c_int,
70875        y: ::std::os::raw::c_int,
70876        ...
70877    ) -> ::std::os::raw::c_int;
70878}
70879extern "C" {
70880    pub fn vips_draw_mask1(
70881        image: *mut VipsImage,
70882        ink: f64,
70883        mask: *mut VipsImage,
70884        x: ::std::os::raw::c_int,
70885        y: ::std::os::raw::c_int,
70886        ...
70887    ) -> ::std::os::raw::c_int;
70888}
70889extern "C" {
70890    pub fn vips_draw_line(
70891        image: *mut VipsImage,
70892        ink: *mut f64,
70893        n: ::std::os::raw::c_int,
70894        x1: ::std::os::raw::c_int,
70895        y1: ::std::os::raw::c_int,
70896        x2: ::std::os::raw::c_int,
70897        y2: ::std::os::raw::c_int,
70898        ...
70899    ) -> ::std::os::raw::c_int;
70900}
70901extern "C" {
70902    pub fn vips_draw_line1(
70903        image: *mut VipsImage,
70904        ink: f64,
70905        x1: ::std::os::raw::c_int,
70906        y1: ::std::os::raw::c_int,
70907        x2: ::std::os::raw::c_int,
70908        y2: ::std::os::raw::c_int,
70909        ...
70910    ) -> ::std::os::raw::c_int;
70911}
70912extern "C" {
70913    pub fn vips_draw_circle(
70914        image: *mut VipsImage,
70915        ink: *mut f64,
70916        n: ::std::os::raw::c_int,
70917        cx: ::std::os::raw::c_int,
70918        cy: ::std::os::raw::c_int,
70919        radius: ::std::os::raw::c_int,
70920        ...
70921    ) -> ::std::os::raw::c_int;
70922}
70923extern "C" {
70924    pub fn vips_draw_circle1(
70925        image: *mut VipsImage,
70926        ink: f64,
70927        cx: ::std::os::raw::c_int,
70928        cy: ::std::os::raw::c_int,
70929        radius: ::std::os::raw::c_int,
70930        ...
70931    ) -> ::std::os::raw::c_int;
70932}
70933extern "C" {
70934    pub fn vips_draw_flood(
70935        image: *mut VipsImage,
70936        ink: *mut f64,
70937        n: ::std::os::raw::c_int,
70938        x: ::std::os::raw::c_int,
70939        y: ::std::os::raw::c_int,
70940        ...
70941    ) -> ::std::os::raw::c_int;
70942}
70943extern "C" {
70944    pub fn vips_draw_flood1(
70945        image: *mut VipsImage,
70946        ink: f64,
70947        x: ::std::os::raw::c_int,
70948        y: ::std::os::raw::c_int,
70949        ...
70950    ) -> ::std::os::raw::c_int;
70951}
70952extern "C" {
70953    pub fn vips_draw_smudge(
70954        image: *mut VipsImage,
70955        left: ::std::os::raw::c_int,
70956        top: ::std::os::raw::c_int,
70957        width: ::std::os::raw::c_int,
70958        height: ::std::os::raw::c_int,
70959        ...
70960    ) -> ::std::os::raw::c_int;
70961}
70962pub const VipsTextWrap_VIPS_TEXT_WRAP_WORD: VipsTextWrap = 0;
70963pub const VipsTextWrap_VIPS_TEXT_WRAP_CHAR: VipsTextWrap = 1;
70964pub const VipsTextWrap_VIPS_TEXT_WRAP_WORD_CHAR: VipsTextWrap = 2;
70965pub const VipsTextWrap_VIPS_TEXT_WRAP_NONE: VipsTextWrap = 3;
70966pub const VipsTextWrap_VIPS_TEXT_WRAP_LAST: VipsTextWrap = 4;
70967pub type VipsTextWrap = ::std::os::raw::c_uint;
70968extern "C" {
70969    pub fn vips_black(
70970        out: *mut *mut VipsImage,
70971        width: ::std::os::raw::c_int,
70972        height: ::std::os::raw::c_int,
70973        ...
70974    ) -> ::std::os::raw::c_int;
70975}
70976extern "C" {
70977    pub fn vips_xyz(
70978        out: *mut *mut VipsImage,
70979        width: ::std::os::raw::c_int,
70980        height: ::std::os::raw::c_int,
70981        ...
70982    ) -> ::std::os::raw::c_int;
70983}
70984extern "C" {
70985    pub fn vips_grey(
70986        out: *mut *mut VipsImage,
70987        width: ::std::os::raw::c_int,
70988        height: ::std::os::raw::c_int,
70989        ...
70990    ) -> ::std::os::raw::c_int;
70991}
70992extern "C" {
70993    pub fn vips_gaussmat(
70994        out: *mut *mut VipsImage,
70995        sigma: f64,
70996        min_ampl: f64,
70997        ...
70998    ) -> ::std::os::raw::c_int;
70999}
71000extern "C" {
71001    pub fn vips_logmat(
71002        out: *mut *mut VipsImage,
71003        sigma: f64,
71004        min_ampl: f64,
71005        ...
71006    ) -> ::std::os::raw::c_int;
71007}
71008extern "C" {
71009    pub fn vips_text(
71010        out: *mut *mut VipsImage,
71011        text: *const ::std::os::raw::c_char,
71012        ...
71013    ) -> ::std::os::raw::c_int;
71014}
71015extern "C" {
71016    pub fn vips_gaussnoise(
71017        out: *mut *mut VipsImage,
71018        width: ::std::os::raw::c_int,
71019        height: ::std::os::raw::c_int,
71020        ...
71021    ) -> ::std::os::raw::c_int;
71022}
71023extern "C" {
71024    pub fn vips_eye(
71025        out: *mut *mut VipsImage,
71026        width: ::std::os::raw::c_int,
71027        height: ::std::os::raw::c_int,
71028        ...
71029    ) -> ::std::os::raw::c_int;
71030}
71031extern "C" {
71032    pub fn vips_sines(
71033        out: *mut *mut VipsImage,
71034        width: ::std::os::raw::c_int,
71035        height: ::std::os::raw::c_int,
71036        ...
71037    ) -> ::std::os::raw::c_int;
71038}
71039extern "C" {
71040    pub fn vips_zone(
71041        out: *mut *mut VipsImage,
71042        width: ::std::os::raw::c_int,
71043        height: ::std::os::raw::c_int,
71044        ...
71045    ) -> ::std::os::raw::c_int;
71046}
71047extern "C" {
71048    pub fn vips_identity(out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
71049}
71050extern "C" {
71051    pub fn vips_buildlut(
71052        in_: *mut VipsImage,
71053        out: *mut *mut VipsImage,
71054        ...
71055    ) -> ::std::os::raw::c_int;
71056}
71057extern "C" {
71058    pub fn vips_invertlut(
71059        in_: *mut VipsImage,
71060        out: *mut *mut VipsImage,
71061        ...
71062    ) -> ::std::os::raw::c_int;
71063}
71064extern "C" {
71065    pub fn vips_tonelut(out: *mut *mut VipsImage, ...) -> ::std::os::raw::c_int;
71066}
71067extern "C" {
71068    pub fn vips_mask_ideal(
71069        out: *mut *mut VipsImage,
71070        width: ::std::os::raw::c_int,
71071        height: ::std::os::raw::c_int,
71072        frequency_cutoff: f64,
71073        ...
71074    ) -> ::std::os::raw::c_int;
71075}
71076extern "C" {
71077    pub fn vips_mask_ideal_ring(
71078        out: *mut *mut VipsImage,
71079        width: ::std::os::raw::c_int,
71080        height: ::std::os::raw::c_int,
71081        frequency_cutoff: f64,
71082        ringwidth: f64,
71083        ...
71084    ) -> ::std::os::raw::c_int;
71085}
71086extern "C" {
71087    pub fn vips_mask_ideal_band(
71088        out: *mut *mut VipsImage,
71089        width: ::std::os::raw::c_int,
71090        height: ::std::os::raw::c_int,
71091        frequency_cutoff_x: f64,
71092        frequency_cutoff_y: f64,
71093        radius: f64,
71094        ...
71095    ) -> ::std::os::raw::c_int;
71096}
71097extern "C" {
71098    pub fn vips_mask_butterworth(
71099        out: *mut *mut VipsImage,
71100        width: ::std::os::raw::c_int,
71101        height: ::std::os::raw::c_int,
71102        order: f64,
71103        frequency_cutoff: f64,
71104        amplitude_cutoff: f64,
71105        ...
71106    ) -> ::std::os::raw::c_int;
71107}
71108extern "C" {
71109    pub fn vips_mask_butterworth_ring(
71110        out: *mut *mut VipsImage,
71111        width: ::std::os::raw::c_int,
71112        height: ::std::os::raw::c_int,
71113        order: f64,
71114        frequency_cutoff: f64,
71115        amplitude_cutoff: f64,
71116        ringwidth: f64,
71117        ...
71118    ) -> ::std::os::raw::c_int;
71119}
71120extern "C" {
71121    pub fn vips_mask_butterworth_band(
71122        out: *mut *mut VipsImage,
71123        width: ::std::os::raw::c_int,
71124        height: ::std::os::raw::c_int,
71125        order: f64,
71126        frequency_cutoff_x: f64,
71127        frequency_cutoff_y: f64,
71128        radius: f64,
71129        amplitude_cutoff: f64,
71130        ...
71131    ) -> ::std::os::raw::c_int;
71132}
71133extern "C" {
71134    pub fn vips_mask_gaussian(
71135        out: *mut *mut VipsImage,
71136        width: ::std::os::raw::c_int,
71137        height: ::std::os::raw::c_int,
71138        frequency_cutoff: f64,
71139        amplitude_cutoff: f64,
71140        ...
71141    ) -> ::std::os::raw::c_int;
71142}
71143extern "C" {
71144    pub fn vips_mask_gaussian_ring(
71145        out: *mut *mut VipsImage,
71146        width: ::std::os::raw::c_int,
71147        height: ::std::os::raw::c_int,
71148        frequency_cutoff: f64,
71149        amplitude_cutoff: f64,
71150        ringwidth: f64,
71151        ...
71152    ) -> ::std::os::raw::c_int;
71153}
71154extern "C" {
71155    pub fn vips_mask_gaussian_band(
71156        out: *mut *mut VipsImage,
71157        width: ::std::os::raw::c_int,
71158        height: ::std::os::raw::c_int,
71159        frequency_cutoff_x: f64,
71160        frequency_cutoff_y: f64,
71161        radius: f64,
71162        amplitude_cutoff: f64,
71163        ...
71164    ) -> ::std::os::raw::c_int;
71165}
71166extern "C" {
71167    pub fn vips_mask_fractal(
71168        out: *mut *mut VipsImage,
71169        width: ::std::os::raw::c_int,
71170        height: ::std::os::raw::c_int,
71171        fractal_dimension: f64,
71172        ...
71173    ) -> ::std::os::raw::c_int;
71174}
71175extern "C" {
71176    pub fn vips_fractsurf(
71177        out: *mut *mut VipsImage,
71178        width: ::std::os::raw::c_int,
71179        height: ::std::os::raw::c_int,
71180        fractal_dimension: f64,
71181        ...
71182    ) -> ::std::os::raw::c_int;
71183}
71184extern "C" {
71185    pub fn vips_worley(
71186        out: *mut *mut VipsImage,
71187        width: ::std::os::raw::c_int,
71188        height: ::std::os::raw::c_int,
71189        ...
71190    ) -> ::std::os::raw::c_int;
71191}
71192extern "C" {
71193    pub fn vips_perlin(
71194        out: *mut *mut VipsImage,
71195        width: ::std::os::raw::c_int,
71196        height: ::std::os::raw::c_int,
71197        ...
71198    ) -> ::std::os::raw::c_int;
71199}
71200extern "C" {
71201    pub fn im_video_v4l1(
71202        im: *mut VipsImage,
71203        device: *const ::std::os::raw::c_char,
71204        channel: ::std::os::raw::c_int,
71205        brightness: ::std::os::raw::c_int,
71206        colour: ::std::os::raw::c_int,
71207        contrast: ::std::os::raw::c_int,
71208        hue: ::std::os::raw::c_int,
71209        ngrabs: ::std::os::raw::c_int,
71210    ) -> ::std::os::raw::c_int;
71211}
71212extern "C" {
71213    pub fn im_video_test(
71214        im: *mut VipsImage,
71215        brightness: ::std::os::raw::c_int,
71216        error: ::std::os::raw::c_int,
71217    ) -> ::std::os::raw::c_int;
71218}
71219extern "C" {
71220    pub fn vips_init(argv0: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
71221}
71222extern "C" {
71223    pub fn vips_get_argv0() -> *const ::std::os::raw::c_char;
71224}
71225extern "C" {
71226    pub fn vips_get_prgname() -> *const ::std::os::raw::c_char;
71227}
71228extern "C" {
71229    pub fn vips_shutdown();
71230}
71231extern "C" {
71232    pub fn vips_thread_shutdown();
71233}
71234extern "C" {
71235    pub fn vips_add_option_entries(option_group: *mut GOptionGroup);
71236}
71237extern "C" {
71238    pub fn vips_leak_set(leak: gboolean);
71239}
71240extern "C" {
71241    pub fn vips_block_untrusted_set(state: gboolean);
71242}
71243extern "C" {
71244    pub fn vips_version_string() -> *const ::std::os::raw::c_char;
71245}
71246extern "C" {
71247    pub fn vips_version(flag: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
71248}
71249extern "C" {
71250    pub fn vips_guess_prefix(
71251        argv0: *const ::std::os::raw::c_char,
71252        env_name: *const ::std::os::raw::c_char,
71253    ) -> *const ::std::os::raw::c_char;
71254}
71255extern "C" {
71256    pub fn vips_guess_libdir(
71257        argv0: *const ::std::os::raw::c_char,
71258        env_name: *const ::std::os::raw::c_char,
71259    ) -> *const ::std::os::raw::c_char;
71260}
71261pub type __uint128_t = u128;